Neural Networks for Machine Learning Lecture 12
课程地址:https://www.coursera.org/learn/neural-networks
老师主页:http://www.cs.toronto.edu/~hinton
备注:笔记内容和图片均参考老师课件。
这一周的内容主要是讲玻尔兹曼机,老师叙述的角度太高层次了,导致完全没听懂,所以我专门写了一篇博客对受限玻尔兹曼机进行讲解,可以看完那篇再学习这周的内容,传送门/),这里主要回顾习题。
习题
选择题 1
玻尔兹曼机与前馈神经网络的区别在于:
- 玻尔兹曼机定义了数据的概率分布,但神经网络定义了数据的确定性转换。
- 玻尔兹曼机中隐藏单元的状态是随机变量,但在神经网络中,它是输入的确定性函数。
- 玻尔兹曼机没有神经网络的隐藏单位。
- 玻尔兹曼机中隐藏单元的状态是输入的确定性函数,并且难以精确计算,但在神经网络中,通过正向传递很容易计算。
玻尔兹曼机是概率模型,定义了概率分布,而前馈神经网络是确定性的转换,所以第一项正确。
由玻尔兹曼机是概率模型可知隐藏单元是随机变量,神经网络中,隐藏单元是确定值,所以第二项正确。
第三项显然是错的。
由玻尔兹曼机是概率模型可得第四项是错的。
选择题 2
在整个讲座中,当谈到玻尔兹曼机时,为什么我们要谈论计算$s_is_j$的期望而不是$s_is_j$的值?
- 可以计算精确值,但计算效率低。
- 无论提供多少计算时间,都无法计算精确值。所以我们所能做的就是计算近似值。
- $s_i,s_j$是随机变量,玻尔兹曼机定义了它们的概率分布,讨论随机变量特定的值是没有意义的。
- 期望仅指所有训练数据的平均值。
玻尔兹曼机是概率模型,定义了$s_i,s_j$的概率分布,所以我们很自然地处理$s_is_j$的期望,因此第三项正确。
选择题 3
在学习RBM时,我们减少了实际粒子的能量并增加了幻想粒子的能量。Brian坚持认为不需要后者。他声称,仅仅减少实际粒子的能量就足够了,并且所有其他状态空间区域的能量都会相对增加。这也可以节省我们从模型分布中抽样的麻烦。这种直觉有什么问题?
- 直觉没有错。这种方法是学习玻尔兹曼机的另一种方法。
- 该模型可以减少实际粒子的能量,使得负粒子的能量也减少。如果发生这种情况,网络就不会学习,所有粒子的能量都会不受限制地减少下去。
- 所有更新的总和必须为零,因此我们需要增加负粒子的能量以平衡事物。
- 由于总能量是恒定的,因此一些粒子必须为其他粒子释放能量以获得能量。
可以参考那边介绍的博客中Gibbs Sampling的方法,如果不减少实际例子的能量,那么一部分Sample就不变了,所以模型就无法学习,因此第二个选项正确。
选择题 4
受限玻尔兹曼机比具有任意连接性的玻尔兹曼机更容易学习。以下哪项是影响因素?
- RBM是更强大的模型,即它们可以比一般BM模型更多的概率分布。
- RBM的任何配置的能量是其状态的线性函数。对于一般BM而言,情况并非如此。
- 在RBM中,隐藏单元之间或可见单元之间没有连接。
- 可以在RBM中运行持久性马尔可夫链,但不能在一般BM中运行。
这个比较简单,受限玻尔兹曼机的特点就是隐藏单元之间或可见单元之间没有连接。
选择题 5
在训练良好的数据生成模型时,PCD是比CD1更好的算法。这意味着从用PCD训练的自由运行的Boltzmann机(经过足够的时间)抽取的样本可能看起来比用CD1训练的相同模型绘制的样本更真实。为什么会这样?
- 在PCD中,在整个学习期间仅使用单个马尔可夫链,而CD1在每次更新中开始新的马尔可夫链。因此,PCD是一种更一致的算法。
- 在PCD中,持久性马尔可夫链可以记住小批量中的正粒子的状态,并在采样时显示它们。但是,CD1会在每次更新时重置Markov链,因此很长时间内无法保留有关数据的信息。
- 在PCD中,许多马尔可夫链在整个学习中使用,而CD1仅使用一个。因此,来自PCD的样品是来自几个模型的样品的平均值。由于模型平均有助于PCD生成更好的样本。
- 在PCD中,持久的马尔可夫链探索了状态空间的不同区域。但是,CD1让Markov链只运行一步。因此,CD1无法在很大程度上探索可能性的空间,并且可能错过增加一些应该不可能的状态的能量。长时间运行机器可能会达到这些状态,导致不切实际的样本。
这个是由于CD1的特点是只训练一步,PCD训练多步,所以PCD探索了多种状态,所以这题最后一个选项正确。
选择题 6
在RBM中,任何配置的能量都是状态的线性函数。
这最终会导致
如果能量是非线性的,例如
对于一些非线性函数$f$和$g$,以下哪一项是正确的。
$ \Delta W _{ij} \propto f( \langle v_i \rangle_{data})g( \langle h_j \rangle_{data}) - f( \langle v_i \rangle_{model})g( \langle h_j \rangle_{model}) $
$ \Delta W _{ij} \propto \langle f(v_i)g(h_j) \rangle_{data} - \langle f(v_i)g(h_j) \rangle_{model} $
$ \Delta W _{ij} \propto \langle f( v_i )\rangle_{data}\langle g( h_j ) \rangle_{data}- \langle f( v_i )\rangle_{model}\langle g( h_j ) \rangle_{model}$
$ΔW_{ij} ∝⟨v _ih_j⟩ _{data} −⟨v_ih _j ⟩_{model}$
由定义
我们来求$ \frac{\partial \log (p(\mathbf{v}))}{\partial W_{ij}} $
倒数第二步是因为
接着对所有点取平均
选择题 7
在RBM中,任何配置的能量都是状态的线性函数。
这最终会导致
如果能量是非线性的,例如
对于一些非线性函数$f$和$g$,以下哪一项是正确的。
- $p(h_j=1|v)= \frac{ 1}{1+\exp \Big(- \sum_i W_{ij}v_i - b_j \Big) }$
- $p(h_j=1|v)= \frac{ 1}{1+\exp \Big((g(0)- g(1))(\sum_i W_{ij}f(v_i) +b_j \Big) }$
- $p(h_j=1|v)= \frac{ 1}{1+\exp \Big(-\sum_i W_{ij}f(v_i) -b_j \Big) }$
- 以上都不正确
同我之前所写的一篇文章,可以推导出条件独立性,即
从而