NEAT 中的偏置神经元是如何创建的?
How are the bias neurons created in NEAT?
我正在尝试实现简单的 NEAT。我从各种来源读到 "nodes" 有 4 种类型:输入神经元、隐藏神经元、输出神经元和所谓的偏置神经元。我没有看到第 16 页 this paper 中描述的哪个过程可能会产生偏差神经元。
我知道在变异时可能会创建新的神经元,但它需要两个神经元之间存在现有连接,这两个神经元将被这个新神经元分开(基于 paper already mentioned,第 10 页)。但是,偏置神经元没有 "input" 连接,因此显然无法通过上述方式创建。那么,NEAT具体是如何产生偏置神经元的呢?
NEAT 上下文中的偏置神经元(节点)只是一个始终处于活动状态的特殊输入神经元。它总是包含在构造中,因为它在许多情况下似乎有助于进化。
因此,简而言之,您不会创建偏置神经元,就像您不会创建新的输入或输出节点一样;这些由您的问题定义。
您是正确的,因为标准 NEAT 实现通过拆分现有连接引入了新的隐藏节点。隐藏节点是您将在 NEAT 中创建或破坏的唯一神经元(据我所知,在一般的神经进化中)。
我正在尝试实现简单的 NEAT。我从各种来源读到 "nodes" 有 4 种类型:输入神经元、隐藏神经元、输出神经元和所谓的偏置神经元。我没有看到第 16 页 this paper 中描述的哪个过程可能会产生偏差神经元。
我知道在变异时可能会创建新的神经元,但它需要两个神经元之间存在现有连接,这两个神经元将被这个新神经元分开(基于 paper already mentioned,第 10 页)。但是,偏置神经元没有 "input" 连接,因此显然无法通过上述方式创建。那么,NEAT具体是如何产生偏置神经元的呢?
NEAT 上下文中的偏置神经元(节点)只是一个始终处于活动状态的特殊输入神经元。它总是包含在构造中,因为它在许多情况下似乎有助于进化。
因此,简而言之,您不会创建偏置神经元,就像您不会创建新的输入或输出节点一样;这些由您的问题定义。
您是正确的,因为标准 NEAT 实现通过拆分现有连接引入了新的隐藏节点。隐藏节点是您将在 NEAT 中创建或破坏的唯一神经元(据我所知,在一般的神经进化中)。