神经网络可以改变或进化其他神经网络吗?此外,进化算法是否可以应用于进化神经网络?
例如,假设我们有神经网络 A 和 B。神经网络 B 改变了神经网络 A。如果 B“成功”改变它,NN A 将继续存在。
神经网络可以改变或进化其他神经网络吗?此外,进化算法是否可以应用于进化神经网络?
例如,假设我们有神经网络 A 和 B。神经网络 B 改变了神经网络 A。如果 B“成功”改变它,NN A 将继续存在。
是的,正如我们所说,这是一个活跃的研究领域。两者都使用经典算法(决策树、随机森林、贝叶斯集成)以及神经网络。这也可以通过进化算法来完成。在一些情况下,我个人将它们用于超参数调整,其中挤出几个额外的精度点是关键。
这实际上是 Google 正在使用他们的 AutoML 系统所做的事情。他们正在使用神经网络进行架构搜索。
这是一个 Github 存储库,其中包含一些关于您所描述主题的有趣论文和链接:https ://github.com/hibayesian/awesome-automl-papers 。
Neil Slater 说 NEAT 本身不是进化神经网络的神经网络是正确的,我认为最接近问题的框架是 HyperNEAT http://axon.cs.byu.edu/~dan/778/论文/NeuroEvolution/stanley3**.pdf HyperNEAT 的运行方式与您所描述的非常相似,从一万英尺的角度来看,算法如下:1)您在笛卡尔空间中为 rnn 布置节点,2d,3d,无论您的尺寸如何您希望,这组坐标称为基板。2)通过一次传入两个坐标作为输入来查询 cppn,这为 cppn 提供了一个超立方体的搜索空间,该空间是坐标所在维度的 2 倍(对于空间中的基板 > 2d,这非常大) 3) cppn 的输出用于对 rnn 坐标的连接、权重、偏差进行编码 4)然后通过您的适应度函数评估 rnn,但进化(物种形成、繁殖等)在编码 rnn 的 cppn 上运行。所以你进化出一组编码 rnn 或 cnn “表型”的 cppn “基因型”。
NEAT 的第三次迭代是 ES-Hyperneat,您需要在基板中布局的只是输入和输出层(Hyperneat 您必须静态布局基板的所有隐藏节点)。它使用细分树对搜索空间进行细分,并像hyperneat一样用cppn查询这棵树的细分根坐标,沿途检查方差以确定新节点是否在“高信息”拓扑空间中,以“进化” " 隐藏节点进入衬底 (rnn)。