- Objective:
- Breadcrumb: 多层神经网络
# 概念阐释
玻尔兹曼机(Boltzmann machine)是一种[[RNN 循环神经网络]],由[[Geoffrey Hinton 辛顿]]和谢诺夫斯基在 1985 年发明。之所以叫做玻尔兹曼机是因为这种神经网络借助统计力学的工具进行分析,统计力学的创始人是路德维希 ·玻尔兹曼。
受限玻尔兹曼机(Restricted Boltzmann machine)是一种通过输入数据集学习**概率分布**的[[随机生成神经网络]]。英文中的 **Restricted**是指同一层的节点之间没有连接。受限玻尔兹曼机既可以使用[[Supervised learning 监督学习]],也可以用[[unsupervised learning 无监督学习]],输入的数据是未标记过的,这些数据来自于互联网,可以使学习进度更快。这和我们的[[孩子天生爱学习 大脑皮质|大脑皮层]]很像,也是逐层生长的。
## 受限玻尔兹曼机的特点:
- **权重**:每个节点的边缘都由一个叫做[[weights 权重]]的东西连接,权重在这里代表了被激活的概率。
- **对称性**:一个可见层的节点连接隐藏层的每个节点,这意味着每个神经元既可以影响其他神经元的状态,也可以被其他神经元的状态所影响。
- **FFP 和 FBP**: 玻尔兹曼机与[[perceptron 感知器]]不同,既有前馈传递 FFP,也有反馈传递 FBP;通过两种反馈可以教会玻尔兹曼机识别出模式,而不是预先告知模式。
- RBM 中的节点分为可见层 visible layer和隐藏层 hidden layer
- **可见层**:
- 与输入的数据 data 相对应的神经元层,例如输入数据是一幅图像,每个像素对应一个可见层的神经元;
- 在 RBM 中,可见层的状态可以直接观察和访问,因此称为可见。
- **隐藏层**:
- 是捕捉数据的潜在特征和模式的神经元层;
- 隐藏层的状态在训练中是不可观察的,因此称为隐藏;
- 与单层[[perceptron 感知器]]不同,可以利用多层来捕捉不同的模式和特征。
- 总结:**玻尔兹曼机**本质上是学习数据的概率分布。具有双向连接的神经网络,通过前馈传递(FFP)和反馈传递(FBP)进行信息流动,使用无监督学习来调整权重,从而识别和生成复杂的模式。

# 实例
- Netflix 用于预测用户对电影的评分
- Netflix:用于分析用户喜好
- 可见层:一个人看过的视频
- 隐藏层:每个视频的类型、风格等特征
- RBM:通过调整权重和偏差值来确定这个人喜欢的节目是什么
- 模式识别:
- 手写字体识别(三层隐藏单元的玻尔兹曼机)
# 相关内容
- **模拟退火**:随机跳到一种用线更长的放置方式。这种跳跃的概率,开始时会很大,随后慢慢减小,直至变成零。
- **前馈与反馈会产生“梦境”**?想象玻尔兹曼机看了很多张猫和狗的照片。它会记住这些照片的样子,比如猫有胡子,狗有耳朵(特征)。现在,你让玻尔兹曼机生成一张图片,并告诉它“这张图片里一定要有猫的胡子”。玻尔兹曼机会根据它记住的猫的样子,生成一张带有猫胡子的图片。就像玻尔兹曼机在睡觉时,做梦梦到了有猫胡子的图片。
- **赫布理论**:突触可塑性,若两个神经元同时被激发,它们之间的突触连接应该会增强与玻尔兹曼机的关系?“与玻尔兹曼机学习算法(见方框7.2)十分相似,突触上的赫布可塑性是由输入和输出之间的一致性决定的。”
## 玻尔兹曼机与霍普菲尔德网络的关系
### 共同点
1. **能量函数**:两者都使用能量函数来描述系统的状态,并且系统倾向于演化到能量较低的状态。
2. **双向连接**:两者的神经元之间都是双向连接的。
3. **动力学过程**:系统状态的演化是一个动力学过程,通过逐步调整神经元的状态来达到一个稳定状态。
### 区别
1. **概率性 vs. 确定性**:
- **[[Hopfield Network 霍普菲尔德网络]]**:是一个确定性网络,即在给定输入的情况下,网络总是**以相同的方式演化到一个固定点**(即一个稳定状态或[[attractor 吸引子]])。它主要用于**存储和检索记忆**,类似于一个内容可寻址存储器(Content Addressable Memory)。
- **玻尔兹曼机**:是一个随机网络,其神经元状态是**概率性地更新**的,这意味着系统**在同样的输入条件下可以达到不同的状态**。玻尔兹曼机通过热平衡机制(类似于物理学中的**退火过程**:)来达到全局最优状态。
2. **学习机制**:
- **霍普菲尔德网络**:通常不涉及复杂的学习过程,初始权重可以通过Hebbian学习规则设定,用于存储特定的模式。
- **玻尔兹曼机**:包括复杂的学习过程,通过前馈传递(FFP)和反馈传递(FBP)进行信息流动,使用无监督学习来调整权重,从而识别和生成复杂的模式。
3. **用途和应用**:
- **霍普菲尔德网络**:主要用于记忆存储和模式识别,能够有效地存储和检索离散模式。
- **玻尔兹曼机**:广泛应用于[[特征学习 Feature learning]]习、数据生成和概率分布建模等领域。
# 参考资料
- [what is RBM - Youtube](https://readwise.io/reader/shared/01hznctxy7hxg9gbyehgdsrdc6)
- [玻尔兹曼机简介](https://chatgpt.com/share/e9be4c66-4ade-48a7-ac5c-5a87ee7314f6)
- [玻尔兹曼机-维基百科](https://en.wikipedia.org/wiki/Boltzmann_machine)
- [受限玻尔兹曼机-维基百科](https://zh.wikipedia.org/wiki/%E5%8F%97%E9%99%90%E7%8E%BB%E5%B0%94%E5%85%B9%E6%9B%BC%E6%9C%BA)
- 《深度学习》谢诺夫斯基 07