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


但尽管存在以上缺点 , 玻尔兹曼机仍是一种很聪明的学习方法 , 因为它用两个工作原理相同但在可见神经元上具有不同边界条件的迭代设置(即限制在数据上vs.不予限制) , 取代了反向传播的前向和后向传递 。
玻尔兹曼机可以看作是两种思想的结合:
通过最小化真实数据上的自由能(freeenergy)和最大化负数据上的自由能来学习网络本身产生的数据 。
使用Hopfield能量作为能量函数 , 并使用重复随机更新从能量函数定义的玻尔兹曼分布中采样全局配置 。
第一种关于对比学习的思路可以与许多其他能量函数一起使用 。 例如 , 使用前馈神经网络的输出来定义能量 , 然后通过该网络使用反向传播来计算能量对权重和可见状态的导数 。 然后通过跟踪能量对可见状态的导数来生成负数据 。 另外 , 负数据不必通过从能量函数定义的玻尔兹曼分布中采样数据向量来产生 , 不从均衡分布中采样 , 也能提高具有单个隐藏层的玻尔兹曼机的学习效率 。
在Hinton看来 , 等式2的数学简洁性以及随机更新过程对所有可能的隐藏配置做贝叶斯积分 , 这个过程实在非常优雅 , 所以 , 用只需要传播神经活动的两个解决方案来代替反向传播的前向+反向传播这种想法 , 仍然与马尔可夫链蒙特卡罗(MarkovChainMonteCarlo)的复杂性纠缠在一起 。
简单的局部优度函数比二元随机神经元网络的自由能更易于处理 , FF则对玻尔兹曼机的对比学习与这种函数做了结合 。
FF是GAN的特例GAN(生成对抗网络)使用多层神经网络生成数据 , 并使用多层判别网络来训练其生成模型 , 使其相对于生成模型输出给出导数 , 且该导数是真实数据而非生成数据的概率
GAN很难训练 , 因为判别模型和生成模型相互对抗 。 GAN能生成非常漂亮的图像 , 但会遭受模式崩溃的困扰:可能会存在大片从不生成示例的图像空间区域 。 而且它使用反向传播来适应每个网络 , 因此我们很难看出如何在皮质中实现它们 。
FF可以看作是GAN的一个特例 , 其中判别网络的每个隐藏层对输入的正负都会自己做贪心决策 , 因此不需要反向传播来学习判别模型和生成模型 , 因为它不是学习自己的隐藏表示 , 而是重用判别模型学习的表示 。
生成模型唯一需要学习的是如何将这些隐藏的表示转换为生成的数据 , 如果使用线性变换来计算softmax的对数 , 则不需要反向传播 。 对两个模型使用相同的隐藏表示的一个优点 , 是它消除了当一个模型相对于另一个模型学习太快时出现的问题 , 还避免了模式崩溃 。
FF比SimCLR更容易衡量一致性像SimCLR这类自监督对比方法 , 是通过优化一个目标函数来学习 , 该函数能够支持对同一图像的两种不同剪裁的表示之间的一致性 , 以及来自两幅不同图像的剪裁的表示之间的不一致性 。
这类方法通常使用许多层来提取剪裁的表示 , 并通过反向传播目标函数的导数来训练这些层 。 如果两种剪裁总是以完全相同的方式重叠 , 它们就不起作用 , 因为这样它们就可以简单地报告共享像素的强度并获得完美的一致性 。
但在真实的神经网络中 , 测量两个不同表示之间的一致性并非易事 , 且没办法使用相同的权重同时提取两种剪裁的表示 。
而FF使用不同的方式来衡量一致性 , 这对于真实的神经网络来说似乎更容易 。
许多不同的信息来源为同一组神经元提供输入 。 如果来源就激活哪些神经元达成一致 , 将产生正干扰 , 从而导致高平方活动 , 如果它们有分歧 , 则平方活动将降低 。 通过使用正干扰来测量一致性比比较两个不同的表示向量要灵活得多 , 因为不需要将输入任意分成两个单独的源 。