第二十章 深度生成模型 Deep Generative Models
2020-4-17 深度学习笔记20 - 深度生成模型 1 (玻尔兹曼机,受限玻尔兹曼机RBM)
2020-4-18 深度学习笔记20 - 深度生成模型 2 (深度信念网络DBN,深度玻尔兹曼机DBM)
2020-4-20 深度学习笔记20 - 深度生成模型 3 (实值数据上的玻尔兹曼机)
卷积玻尔兹曼机Convolutional Boltzmann Machines
我们在第九章中已经讨论过,超高维度输入(如图像)会对机器学习模型的计算、 内存和统计要求造成很大的压力。 通过使用小核的离散卷积来替换矩阵乘法是解决具有空间平移不变性或时间结构的输入问题的标准方式。
卷积方法应用于RBM时效果很好。
深度卷积网络通常需要池化操作,使得每个连续层的空间大小减小。 HonglakL开发了一个称为概率最大池化(probabilistic max pooling)的解决方案。 概率最大池化背后的策略是约束检测器单元,使得一次最多只有一个可以处于活动状态。
HonglakL证明了概率最大池化可以用于构建卷积深度玻尔兹曼机。该模型能够执行诸如填补输入缺失部分的操作。
用于结构化或序列输出的玻尔兹曼机Boltzmann Machines for Structured or Sequential Outputs
在结构化输出场景中,我们希望训练可以从一些输入 x x x映射到一些输出 y y y的模型, y y y的不同条目彼此相关,并且必须遵守一些约束。 例如,在语音合成任务中, y y y是波形,并且整个波形听起来必须像连贯的发音。
表示 y y y中的条目之间关系的自然方式是使用概率分布 p ( y ∣ x ) p(y \mid x) p(y∣x)。 扩展到建模条件分布的玻尔兹曼机可以支持这种概率模型。
使用玻尔兹曼机条件建模的相同工具不仅可以用于结构化输出任务,还可以用于序列建模。
另一个序列建模任务是对构成歌曲音符序列的分布进行建模。 Boulanger-et-al-ICML引入了RNN-RBM序列模型并应用于这个任务。 RNN-RBM由RNN(产生用于每个时间步的RBM参数)组成,是帧序列 x ( t ) x^{(t)} x(t)的生成模型。
其他玻尔兹曼机
高阶玻尔兹曼机,其中能量函数项涉及许多变量的乘积。 隐藏单元和两个不同图像之间的三向交互可以建模从一个视频帧到下一个帧的空间变换 。 通过one-