是否存在具有不同数量神经元的神经网络?

人工智能 神经网络 整洁的 神经进化
2021-11-14 06:38:31

是否有某种类型的神经网络可以在训练时改变神经元的数量?

使用这个想法,当输入的复杂性增加或减少时,网络可以增加或减少神经元的数量。

1个回答

是的,NEAT(增强拓扑的神经进化)在训练期间增加了神经元的数量。更具体地说,NEAT 在训练期间使用进化来引入新的神经元和连接,并且 - 就像进化一样 - 如果突变表现不佳,几代后就会被淘汰。这样,整体性能会随着时间的推移而提高,同时保持您的网络规模(以及运行它的计算能力)最小。还有一种方法可以为该算法添加卷积。

介绍 NEAT 的论文中,作者提到了他们尝试过的一种完全不同的算法,通过选择合理的随机值并对其进行多次训练来优化网络超参数。这也可能会减少这个数字。

此外,还有一个技巧可以暂时关闭网络的特定部分,据说这有助于过度拟合。

基于 ReLU + 反向传播的网络可以在训练期间“关闭”部分网络,因为常数 0 的导数是常数 0。在实践中,您减少了神经元的数量(尽管这被认为是不好的,那是在使用泄漏 ReLU 和 PReLU 时反而)。