跳到主要内容
Sandbox Physics
让一张网络记住图案

热 · 偶然 · 集体行为

Boltzmann 机怎样学会图案的规律

学习图案的网络,为什么需要偶尔随机改变?

学的还有图案出现的频率

给网络看许多小图片,有的是横条纹,有的是竖条纹。我们希望它慢慢发现相邻像素怎样配合,自己运行时也常画出合理的条纹,甚至画出没直接照抄过的一幅。这个任务要学习的是分布,也就是各种可能图案出现的相对频率。

1985 年,David Ackley、Geoffrey Hinton 与 Terrence Sejnowski 发表了 Boltzmann 机的学习算法。他们借用了统计物理研究大量相互作用单元的方法。网络里的单元持续改变状态,学习则慢慢调整连接,让合适的排列出现得更频繁。

来源:[1][2]

允许偶尔往上走一步

先看一群只有开关两种状态的单元。连接在两个方向上同样强,整体排列有一个能量,每次只更新一个单元。温度低时,更新强烈偏向较低能量;温度高时,单元更容易暂时选择局部不利的状态。在人工网络里,“温度”调节的是随机程度,不必对应一块芯片的实际冷热。

偶尔往高处走,可以帮网络离开一个谷。比如两个单元很喜欢同开同关,从全关变成全开,一次只改一个,就得暂时经过一开一关。只肯降低能量的规则可能困在起点,随机更新却有机会穿过中间那一步。

保持温度为正且固定,采样足够久后,各种排列的出现频率服从 Boltzmann 分布:能量低的排列更常见,偏好有多强取决于能量差相对温度的大小。网络不断访问不同状态,才有了可以拿来学习的图案频率。

来源:[1]

让隐藏单元寻找合适的编码

可见单元用来摆数据,比如图片中的像素。隐藏单元也参与相互作用,但训练样本不直接规定它们该开还是该关。网络可以用这些单元表示反复出现的组合,让几个可见像素形成更复杂的配合,即使每条连接仍然只连着一对单元。

1985 年论文里有一个很小的编码任务:两组可见单元要借助更少的隐藏单元传递信息。中间的通道变窄了,网络得找到一套内部编码,保住输入究竟是哪一种。这个例子足够小,研究者能够检查学出的连接,看内部表示是否有用。

来源:[1]

比较样本要求什么,网络自己又会画什么

学习要比较两种统计。第一种,把可见单元固定成训练样本,让隐藏单元继续采样;第二种,放开数据,让整张网络自由运行。对每一条连接,都看看它两端同时开启的频率,在这两种情况下相差多少。

如果看着数据时,两端更常一起开启,就加强这条连接;如果网络自由运行时反而过多地产生这种组合,就减弱它。这样一来,训练样本更容易出现,被网络过分偏爱的其他排列则减少。在平衡条件下,这个频率差给出了改进分布匹配的方向。

两边都得采样充分,比较才有用。网络如果总困在一个谷里,估出的频率会误导学习;隐藏单元还会让训练更难。最初的一般算法计算很慢。它给出的贡献,是从平衡分布出发,明确说明应该比较哪些统计、怎样据此改变连接。

来源:[1][2]

回忆与学习各自回答一个问题

做 Hopfield 回忆实验时,连接已经固定,问题是残缺线索会安顿到哪里。做 Boltzmann 学习时,要慢慢改变连接,让网络长期出现的图案频率接近样本。随机改变状态,和逐渐改变连接,承担的是不同工作。

2024 年物理学奖表彰了 Hopfield 与 Hinton 对人工神经网络的基础贡献。讲到 1985 年的学习结果,Ackley 与 Sejnowski 同样是作者。这里与物理的联系很具体:平衡、涨落和相互作用强度,成了学习数据的方法。调整简单单元之间的联系,就能改变一幅图案出现的可能性。

来源:[3][2]

来源与阅读说明

  1. Ackley, Hinton and Sejnowski (1985), A Learning Algorithm for Boltzmann Machines

    第 2—3 节讲随机更新、平衡,以及固定样本和自由运行时的统计比较;编码例子说明隐藏单元为何有用。

  2. Geoffrey Hinton, Publications on Boltzmann machines

    作者书目列出 1983 年 Hinton 与 Sejnowski 的工作、1985 年三位作者的学习论文,以及 1986 年学习与再学习的论述。

  3. Royal Swedish Academy of Sciences (2024), Physics prize announcement

    用官方公告确认奖项范围与年份,模型机制与完整作者名单回到原论文阅读。

反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策