Hinton 最新研究:神经网络的未来是前向-前向算法( 五 )


该数据集有50,000张32x32的训练图像 , 每个像素具有三个颜色通道 , 因此 , 每个图像都有3072个维度 。 由于这些图像的背景复杂且高度可变 , 并且在训练数据很有限的情况下无法很好地建模 , 除非隐藏层非常小 , 否则包含两到三个隐藏层的全连接网络在使用反向传播进行训练时会严重过拟合 , 因此 , 目前几乎所有研究的结果都是针对卷积网络的 。
反向传播和FF都是用权重衰减来减少过拟合 , Hinton对两种方法训练的网络性能进行了比较 。 对于FF训练的网络 , 测试方法是使用单个前向传播 , 或者让网络对图像和10个标签中的每一个运行10次迭代 , 并在第4到6次迭代中累积标签的能量(即当基于优度的错误最低时) 。
结果 , 虽然FF的测试性能比反向传播差 , 但只稍微差了一点 。 同时 , 二者间的差距不会随着隐藏层的增加而增加 。 不过 , 反向传播可以更快地减少训练误差 。
另外 , 在序列学习上 , Hinton也通过预测序列中下一个字符的任务证明了用FF训练的网络比反向传播更好 。 用FF训练的网络可以生成自己的负数据 , 更符合生物学 。
3FF算法与玻尔兹曼机、GAN、SimCLR的关系Hinton进一步将FF算法与其他已有的对比学习方法做了对比 。 他的结论是:
Hinton 最新研究:神经网络的未来是前向-前向算法】FF是对玻尔兹曼机和简单的局部优度函数的结合;
FF不需要反向传播来学习判别模型和生成模型 , 因此是GAN的一个特例;
在真实的神经网络中 , 与SimCLR这类自监督对比方法相比 , FF能够更好地衡量两种不同表示之间的一致性 。
FF吸收了玻尔兹曼机的对比学习在20世纪80年代初期 , 深度神经网络有两种最被看好的学习方法 , 一个是反向传播 , 另一个便是做无监督对比学习的玻尔兹曼机(BoltzmannMachines) 。
玻尔兹曼机是一个随机二元神经元网络 , 具有成对连接 , 在两个方向上具有相同的权重 。 当它在没有外部输入的情况下自由运行时 , 玻尔兹曼机通过将其设置为开启状态来重复更新每个二元神经元 , 其概率等于它从其他活动神经元接收到的总输入的逻辑 。 这个简单的更新过程最终从平衡分布中采样 , 其中每个全局配置(将二进制状态分配给所有神经元)具有与其负能量成比例的对数概率 。 负能量只是该配置中所有神经元对之间权重的总和 。
玻尔兹曼机中的神经元子集是“可见的” , 二进制数据向量通过将它们夹在可见神经元上呈现给网络 , 然后让它重复更新其余隐藏神经元的状态 。 玻尔兹曼机器学习的目的是使网络运行时可见神经元上二元向量的分布与数据分布自由匹配 。
最令人惊讶的是 , 自由运行的玻尔兹曼机在热平衡时 , 可见神经元上显示的数据分布和模型分布之间的Kullback-Liebler散度具有一个非常简单的导数(对于任何权重):
其中尖括号表示对热平衡时随机波动的期望以及第一项的数据 。
这个结果令人兴奋的地方在于 , 它给出了网络深处权重的导数 , 而无需显式传播误差导数 。 它在清醒和睡眠两个不同阶段传播神经活动 。
但是 , 要在数学上使得学习规则最够简洁 , 代价会非常高 。 它需要一个深度玻尔兹曼机来接近其平衡分布 , 那么它就无法作为一种切合实际的机器学习技术 , 作为一种皮层学习模型也不可信:因为大型网络在感知过程中没有时间接近其平衡分布 。 而且 , 没有证据表明皮层连接的详细对称性 , 也没有明显的方法来学习序列 。 此外 , 如果权重的许多正更新后跟随着大量负更新 , 且负阶段对应于快速眼动睡眠 , 那玻尔兹曼机器学习程序就会失败 。