在训练期间迭代和自适应地增加网络大小

人工智能 神经网络 深度学习 训练 深度神经网络 神经进化
2021-11-10 09:06:12

对于我正在进行的一个实验,我想以一种特殊的方式训练一个深度网络。我想先初始化和训练一个小型网络,然后,我想以一种特定的方式增加网络深度,从而形成一个更大的网络,然后再进行训练。将重复此过程,直到达到所需的深度。如果有人听说过类似的事情并且可以向我指出一些相关的工作,那就太好了。我想在一些论文中我读到了一些关于人们使用类似的相关技术的东西,但我再也找不到它了。

2个回答

您所指的可能是通过增强拓扑NEAT进行的神经进化。Kenneth O. Stanley 的原始论文在这里

NEAT 结合了神经网络和遗传算法。NEAT 没有使用反向传播或梯度下降来“训练”您的网络,而是创建了一组非常简单的神经网络(无连接),并通过适应度评估、交叉变异来进化它们。基因组语法:每个连接基因都有一些设置。入节点、出节点、连接权重、激活和创新。In、OutWeight值与常规神经网络相同。启用禁用基因很好,启用和禁用。创新价值可能是 NEAT 最具定义性的特征,因为它允许不同拓扑的交叉和每个连接的历史跟踪。在此处输入图像描述NEAT 可以改变或改变它的权重和连接,例如,Parent1Parent25 个相同的连接,用创新/ID 号 1 到 5 表示。由于它们具有相同的连接节点,遗传算法将随机选择Parent1 weightParent2 weight多余的和不相交的基因是从更适合的父母那里继承来的。整洁的交叉然后 NEAT 将突变每个基因组,如下图所示。在此处输入图像描述

我还没有阅读任何有关此的相关论文,但我已经看到了一些基于您所描述的实现,任意称为DGNN(动态增长神经网络)

希望这个词可以帮助您的搜索。