The wake-sleep algorithm for unsupervised neural networks 学习
2018-08-29 19:26 雄风狂飙 阅读(300) 评论(0) 收藏 举报这是hinton1995发表的一篇文章,反正没看太懂,先按照自己理解记一下,以后想通了再更新。
abstract
本文主要描述一种非监督学习算法,可以用于多层随机神经网络。自下而上的“识别”网络将输入转化成逐层的隐藏层,而自上而下的“生产”网络依据上层的网络重建网络表示。在“觉醒”阶段,神经元是被“识别”网络驱动的,这个阶段的“生产”网络被用来增加下层重建正确网络状态的概率。在“休眠”阶段,这个过程正好相反。
监督学习面临两个问题:1.需要教师,2.需要一些衡量误差的方式。而"觉醒-休眠“算法正好可以解决这两个问题。有一些方式可以促使隐藏的神经网络提取潜在的结构。在本算法中,这个方式就是经济的描述网络--最小化“描述的长度”可以达到这个目的。【香农信息论】
在“生产”阶段,sigmoid函数被用来计算节点的概率P(s=1)。假设我们知道“生产”阶段的所有权重,我们就可以使用前面的概率计算公式计算最上层的概率分布,然后是第二层的概率分布,而后是再下一层的概率分布。而这个时候根据香农信息熵可以定义一个“描述长度”,依据这个“描述长度”,我们可以定义一个给定阿尔法和输入的“描述长度”。
在“觉醒”阶段,如果“识别”权重是确定的,我们可以通过最小化 阶乘(Q(a|d)C(a,d))来调整“生产”权重,即产生一个局部的delta规则去更新“生产”的权重。
浙公网安备 33010602011771号