深度 | 神经网络和深度学习简史(第二部分):BP算法之后的又一突破——信念网络

深度 | 神经网络和深度学习简史(第二部分):BP算法之后的又一突破——信念网络

深度 | 神经网络和深度学习简史(第二部分):BP算法之后的又一突破——信念网络 深度 | 神经网络和深度学习简史(第二部分):BP算法之后的又一突破——信念网络 聚类,一种很常用的非监督式学习应用 在反向传播算法发现之前和之后,神经网络都还有其他的非监督式应用,最著名的是自组织映射神经网络(SOM,Self Organizing Maps)和自适应共振理论(ART,Adapative Resonance Theory)。SOM能生成低维度的数据表征,便于可视化,而ART能够在不被告知正确分类的情况下,学习对任意输入数据进行分类。如果你想一想就会发现,从未标记数据中能学到很多东西是符合直觉的。假设你有一个数据集,其中有一堆手写数字的数据集,并没有标记每张图片对应着哪个数字。那么,如果一张图片上有数据集中的某个数字,那它看起来与其他大多数拥有同样数字的图片很相似,所以,尽管计算机可能并不知道这些图片对应着哪个数字,但它应该能够发现它们都对应着同一个数字。这样,模式识别就是大多数机器学习要解决的任务,也有可能是人脑强大能力的基础。但是,让我们不要偏离我们的深度学习之旅,回到自编码器上。 自组织映射神经网络:将输入的一个大向量映射到一个神经输出的网格中,在其中,每个输出都是一个聚类。相邻的神经元表示同样的聚类。 正如权重共享一样,关于自编码器最早的讨论是在前面提到过的1986年的反向传播分析中所进行。有了权重共享,它在接下来几年中的更多研究中重新浮出了水面,包括Hinton自己。这篇论文,有一个有趣的标题:《自编码器,最小描述长度和亥姆霍兹自由能》( Autoencoders, Minimum Description Length, and Helmholts Free Energy ),提出「最自然的非监督式学习方法就是使用一个定义概率分布而不是可观测向量的模型」,并使用一个神经网络来学习这种模型。所以,还有一件你能用神经网络来做的奇妙事:对概率分布进行近似。 神经网络迎来信念网络 事实上,在成为1986年讨论反向传播学习算法这篇有重大影响力论文的合作者之前,Hinton在研究一种神经网络方法,可以学习1985年「 A Learning Algorithm for Boltzmann Machines」中的概率分布。 玻尔兹曼机器就是类似神经网络的网络,并有着和感知器(Perceptrons)非常相似的单元,但该机器并不是根据输入和权重来计算输出,在给定相连单元值和权重的情况下,网络中的每个单元都能计算出自身概率,取得值为1或0。因此,这些单元都是随机的——它们依循的是概率分布而非一种已知的决定性方式。玻尔兹曼部分和概率分布有关,它需要考虑系统中粒子的状态,这些状态本身基于粒子的能量和系统本身的热力学温度。这一分布不仅决定了玻尔兹曼机器的数学方法,也决定了其推理方法——网络中的单元本身拥有能量和状况,学习是由最小化系统能量和热力学直接刺激完成的。虽然不太直观,但这种基于能量的推理演绎实际上恰是一种基于能量的模型实例,并能够适用于基于能量的学习理论框架,而很多学习算法都能用这样的框架进行表述。 一个简单的信念,或者说贝叶斯网络——玻尔兹曼机器基本上就是如此,但有着非直接/对称联系和可训练式权重,能够学习特定模式下的概率。 回到玻尔兹曼机器。当这样的单元一起置于网络中,就形成了一张图表,而数据图形模型也是如此。本质上,它们能够做到一些非常类似普通神经网络的事:某些隐藏单元在给定某些代表可见变量的可见单元的已知值(输入——图像像素,文本字符等)后,计算某些隐藏变量的概率(输出——数据分类或数据特征)。以给数字图像分类为例,隐藏变量就是实际的数字值,可见变量是图像的像素;给定数字图像「1」作为输入,可见单元的值就可知,隐藏单元给图像代表「1」的概率进行建模,而这应该会有较高的输出概率。 玻尔兹曼机器实例。每一行都有相关的权重,就像神经网络一样。注意,这里没有分层——所有事都可能跟所有事相关联。我们会在后文讨论这样一种变异的神经网络 因此,对于分类任务,现在有一种计算每种类别概率的好方法了。这非常类似正常分类神经网络实际计算输出的过程,但这些网络有另一个小花招:它们能够得出看似合理的输入数据。这是从相关的概率等式中得来的——网络不只是会学习计算已知可见变量值时的隐藏变量值概率,还能够由已知隐藏变量值反推可见变量值概率。所以,如果我们想得出一幅「1」数字图像,这些跟像素变量相关的单元就知道需要输出概率1,而图像就能够根据概率得出——这些网络会再创建图像模型。虽然可能能够实现目标非常类似普通神经网络的监督式学习,但学习一个好的生成模型的非监督式学习任务——概率性地学习某些数据的隐藏结构——是这些网络普遍所需要的。这些大部分都不是小说,学习算法确实存在,而使其成为可能的特殊公式,正如其论文本身所描述的: 或许,玻尔兹曼机器公式最有趣的方面在于它能够引导出一种(与领域无关的)一般性学习算法,这种算法会以整个网络发展出的一种内部模型(这个模型能够捕获其周围环境的基础结构)的方式修改单元之间的联系强度。在寻找这样一个算法的路上,有一段长时间失败的历史(Newell,1982),而很多人(特别是人工智能领域的人)现在相信不存在这样的算法。 我们就不展开算法的全部细节了,就列出一些亮点:这是最大似然算法的变体,这简单意味着它追求与已知正确值匹配的网络可见单元值(visible unit values)概率的最大化。同时计算每个单元的实际最有可能值 ,计算要求太高,因此,训练吉布斯采样(training Gibbs Sampling)——以随机的单元值网络作为开始,在给定单元连接值的情况下,不断迭代重新给单元赋值——被用来给出一些实际已知值。当使用训练集学习时,设置可见单位值( visible units)从而能够得到当前训练样本的值,这样就通过抽样得到了隐藏单位值。一旦抽取到了一些真实值,我们就可以采取类似反向传播的办法——针对每个权重值求偏导数,然后估算出如何调整权重来增加整个网络做出正确预测的概率。 和神经网络一样,算法既可以在监督(知道隐藏单元值)也可以在无监督方式下完成。尽管这一算法被证明有效(尤其是在面对自编码神经网络解决的「编码」问题时),但很快就看出不是特别有效。Redford M. Neal1992年的论文《 Connectionist learning of belief networks 》论证了需要一种更快的方法,他说:「这些能力使得玻耳兹曼机在许多应用中都非常有吸引力——要不是学习过程通常被认为是慢的要命。」因此,Neal引入了类似信念网络的想法,本质上就像玻耳兹曼机控制、发送连接(所以又有了层次,就像我们之前看过的神经网络一样,而不像上面的玻耳兹曼机控制机概念)。跳出了讨厌的概率数学,这一变化使得网络能以一种更快的学习算法得到训练。洒水器和雨水那一层上面可以视为有一个信念网络——这一术语非常严谨,因为这种基于概率的模型,除了和机器学习领域有着联系,和数学中的概率领域也有着密切的关联。 尽管这种方法比玻尔兹曼机进步,但还是太慢了,正确计算变量间的概率关系的数学需求计算量太大了,而且还没啥简化技巧。Hinton、Neal和其他两位合作者很快在1995年的论文《 The wake sleep algorithm for unsupervised neural networks 》中提出了一些新技巧。这次他们又搞出一个和上个信念网络有些不一样的网络,现在被叫做「亥姆霍兹机」。再次抛开细节不谈,核心的想法就是对隐含变量的估算和对已知变量的逆转生成计算采取两套不同的权重,前者叫做recognition weights,后者叫做generative weights,保留了Neal's信念网络的有方向的特性。这样一来,当用于玻尔兹曼机的那些监督和无监督学习问题时,训练就快得多。 最终,信念网络的训练多少会快些!尽管没那么大的影响力,对信念网络的无监督学习而言,这一算法改进是非常重要的进步,堪比十年前反向传播的突破。不过,目前为止,新的机器学习方法也开始涌现,人们也与开始质疑神经网络,因为大部分的想法似乎基于直觉,而且因为计算机仍旧很难满足它们的计算需求。正如我们将在第三部分中看到的,人工智能寒冬将在几年内到来。(待续) 1. Kurt Hornik, Maxwell Stinchcombe, Halbert White, Multilayer feedforward networks are universal approximators, Neural Networks, Volume 2, Issue 5, 1989, Pages 359 366, ISSN 0893 6080, http://dx.doi.org/10.1016/0893 6080(89)90020 8. 2. LeCun, Y; Boser, B; Denker, J; Henderson, D; Howard, R; Hubbard, W; Jackel, L, “Backpropagation Applied to Handwritten Zip Code Recognition,” in Neural Computation , vol.1, no.4, pp.541 551, Dec. 1989 89 3. D. E. Rumelhart, G. E. Hinton, and R. J. Williams. 1986. Learning internal representations by error propagation. In Parallel distributed processing: explorations in the microstructure of cognition, vol. 1, David E. Rumelhart, James L. McClelland, and CORPORATE PDP Research Group (Eds.). MIT Press, Cambridge, MA, USA 318 362 4. Fukushima, K. (1980), ‘Neocognitron: A Self Organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position’, Biological Cybernetics 36 , 193–202 . 5. Gregory Piatetsky, ‘KDnuggets Exclusive: Interview with Yann LeCun, Deep Learning Expert, Director of Facebook AI Lab’ Feb 20, 2014. http://www.kdnuggets.com/2014/02/exclusive yann lecun deep learning facebook ai lab.html 6. Teuvo Kohonen. 1988. Self organized formation of topologically correct feature maps. In Neurocomputing: foundations of research, James A. Anderson and Edward Rosenfeld (Eds.). MIT Press, Cambridge, MA, USA 509 521. 7. Gail A. Carpenter and Stephen Grossberg. 1988. The ART of Adaptive Pattern Recognition by a Self Organizing Neural Network. Computer 21, 3 (March 1988), 77 88. 8. H. Bourlard and Y. Kamp. 1988. Auto association by multilayer perceptrons and singular value decomposition. Biol. Cybern. 59, 4 5 (September 1988), 291 294. 9. P. Baldi and K. Hornik. 1989. Neural networks and principal component analysis: learning from examples without local minima. Neural Netw. 2, 1 (January 1989), 53 58. 10. Hinton, G. E. & Zemel, R. S. (1993), Autoencoders, Minimum Description Length and Helmholtz Free Energy., in Jack D. Cowan; Gerald Tesauro & Joshua Alspector, ed., ‘NIPS’ , Morgan Kaufmann, , pp. 3 10 . 11. Ackley, D. H., Hinton, G. E., & Sejnowski, T. J. (1985). A learning algorithm for boltzmann machines . Cognitive science, 9(1), 147 169. 12. LeCun, Y., Chopra, S., Hadsell, R., Ranzato, M., & Huang, F. (2006). A tutorial on energy based learning. Predicting structured data, 1, 0. 13. Neal, R. M. (1992). Connectionist learning of belief networks. Artificial intelligence, 56(1), 71 113. 14. Hinton, G. E., Dayan, P., Frey, B. J., & Neal, R. M. (1995). The” wake sleep” algorithm for unsupervised neural networks. Science, 268(5214), 1158 1161. 15. Dayan, P., Hinton, G. E., Neal, R. M., & Zemel, R. S. (1995). The helmholtz machine. Neural computation, 7(5), 889 904. 聚类,一种很常用的非监督式学习应用 在反向传播算法发现之前和之后,神经网络都还有其他的非监督式应用,最著名的是自组织映射神经网络(SOM,Self Organizing Maps)和自适应共振理论(ART,Adapative Resonance Theory)。SOM能生成低维度的数据表征,便于可视化,而ART能够在不被告知正确分类的情况下,学习对任意输入数据进行分类。如果你想一想就会发现,从未标记数据中能学到很多东西是符合直觉的。假设你有一个数据集,其中有一堆手写数字的数据集,并没有标记每张图片对应着哪个数字。那么,如果一张图片上有数据集中的某个数字,那它看起来与其他大多数拥有同样数字的图片很相似,所以,尽管计算机可能并不知道这些图片对应着哪个数字,但它应该能够发现它们都对应着同一个数字。这样,模式识别就是大多数机器学习要解决的任务,也有可能是人脑强大能力的基础。但是,让我们不要偏离我们的深度学习之旅,回到自编码器上。 自组织映射神经网络:将输入的一个大向量映射到一个神经输出的网格中,在其中,每个输出都是一个聚类。相邻的神经元表示同样的聚类。 正如权重共享一样,关于自编码器最早的讨论是在前面提到过的1986年的反向传播分析中所进行。有了权重共享,它在接下来几年中的更多研究中重新浮出了水面,包括Hinton自己。这篇论文,有一个有趣的标题:《自编码器,最小描述长度和亥姆霍兹自由能》( Autoencoders, Minimum Description Length, and Helmholts Free Energy ),提出「最自然的非监督式学习方法就是使用一个定义概率分布而不是可观测向量的模型」,并使用一个神经网络来学习这种模型。所以,还有一件你能用神经网络来做的奇妙事:对概率分布进行近似。 神经网络迎来信念网络 事实上,在成为1986年讨论反向传播学习算法这篇有重大影响力论文的合作者之前,Hinton在研究一种神经网络方法,可以学习1985年「 A Learning Algorithm for Boltzmann Machines」中的概率分布。 玻尔兹曼机器就是类似神经网络的网络,并有着和感知器(Perceptrons)非常相似的单元,但该机器并不是根据输入和权重来计算输出,在给定相连单元值和权重的情况下,网络中的每个单元都能计算出自身概率,取得值为1或0。因此,这些单元都是随机的——它们依循的是概率分布而非一种已知的决定性方式。玻尔兹曼部分和概率分布有关,它需要考虑系统中粒子的状态,这些状态本身基于粒子的能量和系统本身的热力学温度。这一分布不仅决定了玻尔兹曼机器的数学方法,也决定了其推理方法——网络中的单元本身拥有能量和状况,学习是由最小化系统能量和热力学直接刺激完成的。虽然不太直观,但这种基于能量的推理演绎实际上恰是一种基于能量的模型实例,并能够适用于基于能量的学习理论框架,而很多学习算法都能用这样的框架进行表述。 一个简单的信念,或者说贝叶斯网络——玻尔兹曼机器基本上就是如此,但有着非直接/对称联系和可训练式权重,能够学习特定模式下的概率。 回到玻尔兹曼机器。当这样的单元一起置于网络中,就形成了一张图表,而数据图形模型也是如此。本质上,它们能够做到一些非常类似普通神经网络的事:某些隐藏单元在给定某些代表可见变量的可见单元的已知值(输入——图像像素,文本字符等)后,计算某些隐藏变量的概率(输出——数据分类或数据特征)。以给数字图像分类为例,隐藏变量就是实际的数字值,可见变量是图像的像素;给定数字图像「1」作为输入,可见单元的值就可知,隐藏单元给图像代表「1」的概率进行建模,而这应该会有较高的输出概率。 玻尔兹曼机器实例。每一行都有相关的权重,就像神经网络一样。注意,这里没有分层——所有事都可能跟所有事相关联。我们会在后文讨论这样一种变异的神经网络 因此,对于分类任务,现在有一种计算每种类别概率的好方法了。这非常类似正常分类神经网络实际计算输出的过程,但这些网络有另一个小花招:它们能够得出看似合理的输入数据。这是从相关的概率等式中得来的——网络不只是会学习计算已知可见变量值时的隐藏变量值概率,还能够由已知隐藏变量值反推可见变量值概率。所以,如果我们想得出一幅「1」数字图像,这些跟像素变量相关的单元就知道需要输出概率1,而图像就能够根据概率得出——这些网络会再创建图像模型。虽然可能能够实现目标非常类似普通神经网络的监督式学习,但学习一个好的生成模型的非监督式学习任务——概率性地学习某些数据的隐藏结构——是这些网络普遍所需要的。这些大部分都不是小说,学习算法确实存在,而使其成为可能的特殊公式,正如其论文本身所描述的: 或许,玻尔兹曼机器公式最有趣的方面在于它能够引导出一种(与领域无关的)一般性学习算法,这种算法会以整个网络发展出的一种内部模型(这个模型能够捕获其周围环境的基础结构)的方式修改单元之间的联系强度。在寻找这样一个算法的路上,有一段长时间失败的历史(Newell,1982),而很多人(特别是人工智能领域的人)现在相信不存在这样的算法。 我们就不展开算法的全部细节了,就列出一些亮点:这是最大似然算法的变体,这简单意味着它追求与已知正确值匹配的网络可见单元值(visible unit values)概率的最大化。同时计算每个单元的实际最有可能值 ,计算要求太高,因此,训练吉布斯采样(training Gibbs Sampling)——以随机的单元值网络作为开始,在给定单元连接值的情况下,不断迭代重新给单元赋值——被用来给出一些实际已知值。当使用训练集学习时,设置可见单位值( visible units)从而能够得到当前训练样本的值,这样就通过抽样得到了隐藏单位值。一旦抽取到了一些真实值,我们就可以采取类似反向传播的办法——针对每个权重值求偏导数,然后估算出如何调整权重来增加整个网络做出正确预测的概率。 和神经网络一样,算法既可以在监督(知道隐藏单元值)也可以在无监督方式下完成。尽管这一算法被证明有效(尤其是在面对自编码神经网络解决的「编码」问题时),但很快就看出不是特别有效。Redford M. Neal1992年的论文《 Connectionist learning of belief networks 》论证了需要一种更快的方法,他说:「这些能力使得玻耳兹曼机在许多应用中都非常有吸引力——要不是学习过程通常被认为是慢的要命。」因此,Neal引入了类似信念网络的想法,本质上就像玻耳兹曼机控制、发送连接(所以又有了层次,就像我们之前看过的神经网络一样,而不像上面的玻耳兹曼机控制机概念)。跳出了讨厌的概率数学,这一变化使得网络能以一种更快的学习算法得到训练。洒水器和雨水那一层上面可以视为有一个信念网络——这一术语非常严谨,因为这种基于概率的模型,除了和机器学习领域有着联系,和数学中的概率领域也有着密切的关联。 尽管这种方法比玻尔兹曼机进步,但还是太慢了,正确计算变量间的概率关系的数学需求计算量太大了,而且还没啥简化技巧。Hinton、Neal和其他两位合作者很快在1995年的论文《 The wake sleep algorithm for unsupervised neural networks 》中提出了一些新技巧。这次他们又搞出一个和上个信念网络有些不一样的网络,现在被叫做「亥姆霍兹机」。再次抛开细节不谈,核心的想法就是对隐含变量的估算和对已知变量的逆转生成计算采取两套不同的权重,前者叫做recognition weights,后者叫做generative weights,保留了Neal's信念网络的有方向的特性。这样一来,当用于玻尔兹曼机的那些监督和无监督学习问题时,训练就快得多。 最终,信念网络的训练多少会快些!尽管没那么大的影响力,对信念网络的无监督学习而言,这一算法改进是非常重要的进步,堪比十年前反向传播的突破。不过,目前为止,新的机器学习方法也开始涌现,人们也与开始质疑神经网络,因为大部分的想法似乎基于直觉,而且因为计算机仍旧很难满足它们的计算需求。正如我们将在第三部分中看到的,人工智能寒冬将在几年内到来。(待续) 1. Kurt Hornik, Maxwell Stinchcombe, Halbert White, Multilayer feedforward networks are universal approximators, Neural Networks, Volume 2, Issue 5, 1989, Pages 359 366, ISSN 0893 6080, http://dx.doi.org/10.1016/0893 6080(89)90020 8. 2. LeCun, Y; Boser, B; Denker, J; Henderson, D; Howard, R; Hubbard, W; Jackel, L, “Backpropagation Applied to Handwritten Zip Code Recognition,” in Neural Computation , vol.1, no.4, pp.541 551, Dec. 1989 89 3. D. E. Rumelhart, G. E. Hinton, and R. J. Williams. 1986. Learning internal representations by error propagation. In Parallel distributed processing: explorations in the microstructure of cognition, vol. 1, David E. Rumelhart, James L. McClelland, and CORPORATE PDP Research Group (Eds.). MIT Press, Cambridge, MA, USA 318 362 4. Fukushima, K. (1980), ‘Neocognitron: A Self Organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position’, Biological Cybernetics 36 , 193–202 . 5. Gregory Piatetsky, ‘KDnuggets Exclusive: Interview with Yann LeCun, Deep Learning Expert, Director of Facebook AI Lab’ Feb 20, 2014. http://www.kdnuggets.com/2014/02/exclusive yann lecun deep learning facebook ai lab.html 6. Teuvo Kohonen. 1988. Self organized formation of topologically correct feature maps. In Neurocomputing: foundations of research, James A. Anderson and Edward Rosenfeld (Eds.). MIT Press, Cambridge, MA, USA 509 521. 7. Gail A. Carpenter and Stephen Grossberg. 1988. The ART of Adaptive Pattern Recognition by a Self Organizing Neural Network. Computer 21, 3 (March 1988), 77 88. 8. H. Bourlard and Y. Kamp. 1988. Auto association by multilayer perceptrons and singular value decomposition. Biol. Cybern. 59, 4 5 (September 1988), 291 294. 9. P. Baldi and K. Hornik. 1989. Neural networks and principal component analysis: learning from examples without local minima. Neural Netw. 2, 1 (January 1989), 53 58. 10. Hinton, G. E. & Zemel, R. S. (1993), Autoencoders, Minimum Description Length and Helmholtz Free Energy., in Jack D. Cowan; Gerald Tesauro & Joshua Alspector, ed., ‘NIPS’ , Morgan Kaufmann, , pp. 3 10 . 11. Ackley, D. H., Hinton, G. E., & Sejnowski, T. J. (1985). A learning algorithm for boltzmann machines . Cognitive science, 9(1), 147 169. 12. LeCun, Y., Chopra, S., Hadsell, R., Ranzato, M., & Huang, F. (2006). A tutorial on energy based learning. Predicting structured

在 小宇宙note 阅读完整内容