训练完H2之后,我们就可以接分类层softmax,用于多分类任务:
以上的过程就是所谓的无监督预训练。后面接着就是利用上面的参数作为网络的初始值,继续进行神经网络的训练了。
玻尔兹曼机
首先是玻尔兹曼分布,其分布的概率公式如下:
pi
为量子态i的几率,εi
为量子态i的能量,k
为玻尔兹曼常数,T
为系统温度,M
为系统可具有的量子态的总数。
可以看到,εi
越大,pi
越小,也即物理意义为,在保守力场作用下,低能量的状态比高能量的状态拥有更高的分布几率,举个例子,一个大盒子里放有若干个球,球总是倾向于先占据盒子的底部,即重力势能低的位置,也即处于稳态。
然后是BM,BM是玻尔兹曼机,玻尔兹曼机是一种随机神经网络(同时也是递归神经网络),描述一个随机网络主要需要确定两点。
第一个是这个随机网络的概率分布函数,由于网络节点的取值状态是随机的,从贝叶斯网络的观点来看,要描述整个网络,需要三种概率分布,分别是联合概率分布、边缘概率分布(边缘概率分布的边缘源于它是一组概率的加和,通常被放在表的边缘,P(A)=sum(P(B)*P(A|B)+P(C)*P(A|C))
)和条件概率分布。
第二个是这个随机网络的能量函数,随机神经网络根植于统计力学,受统计力学的启发,引入了能量函数。能量函数是描述整个系统状态的一种测度,系统越有序或概率分布越集中,系统的能量越小。反之,系统越无序或者概率分布越趋向于均匀分布,则系统的能量越大(与前面讲过的熵类似)。能量函数的最小值,也就对应了系统的稳态,一般情况下,我们就是要找到系统的稳态,也就是能量函数的最小值。
没有特定限制连接方式的玻尔兹曼机目前为止并没有在机器学习的实际问题中起到什么作用,只是理论上显得有趣。