建立自己的拓扑结构的现代神经网络

机器算法验证 神经网络
2022-01-24 06:14:46

标准神经网络算法(如反向传播)的一个限制是您必须对您想要多少隐藏层和每层神经元做出设计决定。通常,学习率和泛化对这些选择非常敏感。这就是为什么像级联相关这样的神经网络算法一直引起人们的兴趣的原因。它从最小拓扑(只是输入和输出单元)开始,并随着学习的进展招募新的隐藏单元。

CC-NN 算法由 Fahlman 于 1990 年引入,循环版本于 1991 年引入。最近(1992 年后)有哪些以最小拓扑开始的神经网络算法?


相关问题

CogSci.SE:具有生物学上似是而非的神经发生解释的神经网络

4个回答

这里隐含的问题是如何确定神经网络或机器学习模型的拓扑/结构,以使模型“大小合适”且不会过拟合/欠拟合。

自 1990 年的级联相关以来,现在已经有很多方法可以做到这一点,其中许多具有更好的统计或计算特性:

  • boosting:一次训练一个弱学习者,每个弱学习者都给定一个重新加权的训练集,以便它学习过去学习者没有学过的东西。
  • 稀疏诱导正则化,如套索或自动相关性确定:从大型模型/网络开始,并使用正则化器鼓励不需要的单元“关闭”,让有用的单元保持活跃。
  • 贝叶斯非参数:忘记试图找到“正确”的模型大小。只需使用一个大模型,并注意正则化/贝叶斯,以免过度拟合。例如,可以将具有无限数量的单元和高斯先验的神经网络推导出为高斯过程,结果证明它的训练要简单得多。
  • 深度学习:如另一个答案所述,一次训练一层深度网络。这实际上并没有解决确定每层单元数量的问题——通常这仍然是手动设置或交叉验证。

增强拓扑的神经进化(NEAT)怎么样http://www.cs.ucf.edu/~kstanley/neat.html

它似乎适用于简单的问题,但收敛速度非常慢。

据我了解,当今最前沿的艺术是“无监督特征学习和深度学习”。简而言之:网络正在以无人监督的方式进行训练,一次每一层:

已经提到过 NEAT(具有增强拓扑的神经进化)。在这方面取得了一些进展,包括物种形成和 HyperNEAT。HyperNEAT 使用“元”网络来优化完全连接表型的权重。这赋予了网络“空间意识”,这在图像识别和棋盘游戏类型问题中是无价的。您也不限于 2D。我在 1D 中使用它进行信号分析,向上 2D 是可能的,但处理要求很重。查找 Ken Stanley 的论文,在 Yahoo 上有一个小组。如果您有一个可以通过网络解决的问题,那么 NEAT 和/或 HyperNEAT 很可能适用。