神经网络和深度学习简史(二)

一、神经网络与计算机视觉



图2.1 Yann LeCun和他的LeNet描述


        随着训练多层神经网络的秘密被揭开,神经网络再一次回到了学术界的面前,Rosenblatt的梦想似乎也正变得唾手可得。直到1989年,一个重要的发现被提出来了,那就是“多层前馈网络是一种通用的逼近器”[1],直至今日,这一发现仍被广大教科书和讲座中被普遍引用着。它 从数学角度证明,多层神经网络本质上可以实现任何一个函数,当然也就包括异或(XOR)问题。

        在数学领域我们可以拥有无穷的记忆和计算能力,但是反馈神经网络真的可以用来描述世界中的任何东西吗?1989,Yann LeCun等人在AT&T公司的Bell实验室给出了肯定的答案,他利用反馈神经网络实现了一个现实生活中的应用,“利用反馈神经网络识别手写编码”[2]。在此之前人们普遍认为计算机正确理解手写数字是一个不可能完成的目标,而该论文的发表则表明了人类对与计算机的认识是不全面的。该算法的数据集来自于美国邮政服务,而该算法的结果完美的论证了神经网络有能力完成识别手写数字的任务。该算法是在由反馈传播神经网络发展到现代深度学习的历史上首个解决了实习问题的算法:


        “传统的模式识别已经证明了,在计算机视觉中通过提取局部特征并将它们组合成高阶特征是很好的算法,通过隐藏本地信息源,可以轻易的将这样的知识构建到网络之中。图像输入的每一个部分都有自己独特的特征,所以我们需要一系列的特征检测器来检测输入图像上的所有特征信息。由于特征的精确位置与分类无关,故此我们可以在检测的过程中舍弃一些位置信息,但是我们必须保留粗略的位置信息,以允许下一层检测更高级、更复杂的特征”(Fukushima 1980; Mozer 1987)



图2.2 神经网络流程


        具体来说:神经网络第一层隐含层是卷积的——神经元仅有一小组权重集(5*5=25),而不是对于图像每个像素有不同权重(40*60=2400),他们应用了相同大小的图像的子集。例如我们可以利用一个学会了如何检测图像中45度线的神经元,来代替利用四个不同的神经元来学习检测四个角中每一个的45度线,该单个神经元可以应用在图像的任何地方。每一层都以相同的方式工作,但是每一层都采用前一隐含层的“本地”特征而不是像素图像本身,因此只能看到图像中较大的连续部分,因为这些部分组合图片中越来越大的子集的信息。最终的两层只是普通的神经网络层,利用有卷积层产生的高阶特征来确定输入的图像对应哪个数字。在这篇1989年的文章中提出的方法日后成为了整个国家阅读检查的基础,我们可以观看Yann LeCun自己的视频介绍:


https://youtu.be/FwFduRA_L6Q(视频来自youtube)



        就算不从数学角度考虑,采取这种方式的好处也是显而易见的:如果没有这些约束,网络将不得不花大量的时间来学习图像的每个部分的简单的东西(诸如检测45度线,小圆圈等)。但在这种约束条件下,每一分简单的特征都只需要一个神经元来学习——并且总体上权重少很多,因此可以更快。另外,由于这些特征的像素精确位置信息无关紧要,所以神经元可以跳过图像的相邻子集——子采样,现在称为pooling层(池采样)。当应用这些权重时,可以进一步减少训练的时间。这两种新型层——卷积层和池层是卷积神经网络(CNNs/ConvNets)和传统神经网络的主要区别。

图2.3 CNN流程


        当时,卷积的思想被称为“共享权重”,其本质是对Rumelhart, Hinton, 和 Williams[3]在1986的反馈神经网络进行了分析和扩展。事实上,Minsky 和 Papert 1969年的对感知机的分析也激发了这个想法的出现。这个想法是由Kunihiko Fukushima独立探索并提出的神经认知概念[4],与他的前任们一样,Kunihiko Fukushima也是在研究大脑得到的灵感,其中内容如下:


        “根据Hubel和Wiesel提出的层次模型,大脑视觉皮层中的神经网络具有层次结构:LGB(外侧膝状体)->简单细胞->复杂细胞->低阶超复合细胞->高阶高复合细胞。该模型还表明高复合细胞和高阶高复杂细胞之间的神经网络具有类似于简单细胞和复杂细胞之间的网络的结构。在该层级模型中,在高层级的细胞通常有选择有复杂特征的刺激的趋势,并且具有更大的接受场,并且对于刺激模式的位置变化更加不敏感......因此我们在模型之中引入了类似的层次结构”。


        在Bell实验室中Yann LeCun作为继任者,坚定的支持了这个想法,而他的检查阅读的工作成果在90年代直接被应用在了商业领域。在有关他的访谈或节目之中经常包含这样一个事实:“20世纪90年代末,有一种系统读取了美国所有支票的10%到20%”[5]。



二、无监督神经网络

     自动化的解决哪些格式化的无聊的阅读检查任务是机器学习一个伟大的应用。也许需要一个不太可预测的程序?我们需要压缩,压缩就意味着可以找到那些可以被重建的原始数据中的较小表示。当算法可以主动忽略数据库方法中的特征时,压缩学习可能会比存储学习的方案有更好的效果。这是很容易实现的,对于确定输入输出层的神经网络,只训练一个很小的隐含层。

图2.4 一个自动编码的神经网络

  

        这是一种自动编码的神经网络,是一种压缩学习。它是一种可以有效的将数据转换(编码)为紧凑格式并回归自身(自动)的

方法。如图所示,输出层的理想输出等于传入到神经网络的输入。由于隐含层的输出比输入层的输出更少,所以隐含层的输出是输入数据的压缩表示,可以在输出层实现数据重建。



图2.5 自动编码压缩器的详细图解

        

        此处有一个地方需要明确:我们唯一需要训练的就是一些输入数据。这与监督学习形成了鲜明的对比:监督学习的输入是输入-输出对(标记数据)的训练集,以便输出一个近似函数,使得该近似函数对于近似的输入可以得到相似的输出。事实上自动编码器并不是监督学习的形式,它是一种无监督学习,无监督学习只需要一组输入数据(未标记的数据),以便在数据内部找到一些隐藏的规律。换句话说无监督模型不会逼近函数,因为它从输入数据导出一个对应的有效表示。这种情况下,这种表示只是一种简单的表示,仍然可以通过该表示重建原始数据,但是我们也可以通过该表示来发现相似的数据组(聚类),或推断一些潜在的未知变量(但是不知道值的变量)。


        

图2.6 聚类,一种常见的无监督学习


        在反向传播算法问世之前甚至之后的一段时间,还有一些对于无监督学习的应用等探索,其中最有名的可能就是自组织映射(Self Organizing Maps)[6]和自适应共振理论(Adapative Resonance Theory)[7]了。自组织映射可以产生良好可视的数据的低维表示。自适应共振理论可以通过学习对任何未知分类的数据进行分类,它的方法就是对未被标记的数据进行学习。假设你有一组手写数字图像的数据集,但却没有每个图像对应的标签,该数据集中的某些数字的图像可能看起来最像其他具有相同数字的图像,尽管计算机可能不知道这些图像具体对应哪个数字,它仍然可以找到对应一个数字图像的全部图像,这正是模式识别,也是机器学习的大部分基础,也可以说是人类伟大智慧的结晶。但是,让我们重回机器学习的道路,重新回到自动编码器来。

        

图2.7 自组织映射 - 将大量输入向量映射到神经元输出网格,其中每个输出是一个簇。 附近的神经元代表类似的集群。


        与权重分享一样,自动编码器的想法首先在1986年反馈神经网络引起的热潮中被提出,并与权重分配一起,在接下来的几年中被更多的研究所重现[8][9]。甚至包括Hinton自己,在题为“Autoencoders, Minimum Description Length, and Helmholts Free Energy”[10]的文章中,Hinton假定无监督学习的自然方式是通过观察向量的概率分布来使用模型,并且通过神经网络来学习这样的一个模型。所以揭开了你可以通过神经网络实现的另外一个酷炫的事:近似概率分布。


三、神经网络与信念神经网络


        事实上,在1986年成为反馈神经网络算法论文的共同作者之前,Hinton在1985年的“A Learning Algorithm for Boltzmann Machines” [11]一文中研究了用于学习概率分布的神经网络方法。玻尔兹曼机是一种类似神经网络的网络,其内部也是由类似感知机的单元组成的。每个单元都可以通过给定链接单元的值和权重来计算该单元具有1或0的概率,而不是感知机中基于输入和权重计算输出。因此,单位是随机的,他们是根据概率分布表现,而不是已知的确定的表现方式。玻尔兹曼部分是指系统中粒子的状态服从由粒子能量和系统热力学组成的概率分布。这种分布不仅定义了玻尔兹曼机中的数学,还解释了为什么网络中的每个单元本身具有能量和状态,以及系统通过使自身能力最小化完成学习过程,该灵感正是来自于热力学。尽管不太直接,但这种基于能量角度的解释可能只是基于能量的模型的一个例子,很多学习算法都可以通过这种基于能量学习的理论框架来表达[12]。


图2.8 一个简单的思路(贝叶斯网络)-玻尔兹曼机通过未定向/对称的链接和可训练的权重,以特定的方式学习概率

        

        回到玻尔兹曼机。当很多这样的单元被放置在一起组成网络时,它们形成一个图形,数据的图形模型基本上也是如此。基本上,它们可以做与常规神经网络非常相似的事情:一些隐藏的单元计算一些隐藏的变量(数据的分类或特征作为输出)的概率,给出代表可见可见变量的可见单元的已知值(图像的像素或文本中的字符作为输入)。 在我们对数字图像进行分类的经典示例中,隐藏变量是实际数字值,可见变量是图像的像素; 给定数字“1”的图像作为输入,可见单元的值是已知的,并且对表示“1”的图像的概率进行建模的隐藏单元应当具有高输出概率。


图2.9 一个玻尔兹曼机的例子。每一行都有一个相关联的权重,就如图一个神经网络医院。注意这里没有图层——一切都可以连接到一切。我们将在稍后讨论这个神经网络......

        

        因此,就分类任务而言,现在我们已经找到了一个很好的方法来计算每个类别的概率。这十分类似计算常规神经网络的输出值,但是这种神经网络巧妙之处在于:它们可以生成看似可信的输入数据。这些网络从涉及到的概率方程出发,不仅在已知可见变量的值的情况下可以学习隐含变量的值的概率,还可以计算出隐藏值的概率。因此,如果我们想生成“1”的数字图像,则对应的像素变量的单元则具有输出1的已知概率,并且可以概率的一幅图像;这些网络是图像生成模型。尽管可以像常规神经网络一样做监督模型学习,但这些网络存在的目的是完成一个更好的生成模型的无监督学习任务,因为这些网络可以概率的学习一些数据的隐藏结构。尽管这些算法提出已久,但是良好的算法和特定的方程可以得到很好的分类效果,正如同论文中所说的:


        “玻尔兹曼机方程中最有趣之处在于,它创造了一个与领域无关的学习算法,修改单元之间的连接强度,使整个网络发展成为一个内部模型,并发现数据结构中的隐藏模型。对于这种算法的的尝试在历史的长河中已经失败了无数次(Newell, 1982),许多人(特别是在人工智能领域)认为这样的算法其实并不存在。”


        即使不深入研究算法的全部细节,我们还可以发现一些亮点:这种算法是最大似然估计算法的变体,简单来说,它通过计算寻找与已知正确值相匹配的可见单位值的最大概率。但同时计算每个单元的实际可能值可能使花销变得很大,因此在吉布斯采样中,以随机的单元值启动整个网络,并且通过迭代的方式将值重新分配给给定他们值的单元,以获取一些实际已知的值。当使用训练集学习时,可见单位被设置为具有当前训练样本的值,因此进行取样以获得隐藏单元的值。 一旦一些“真实”值被采样,我们可以做一些类似于反向传播的操作——对每个权重取一个导数,我们可以做出一些改变使得网络取得更好的效果。

        同神经网络一样,该算法也可以以有监督方式(把已知值作为隐藏单元)或无监督的方式进行。虽然算法被证明是有效的(特别是解决与自动编码神经网络解决相同的“编码”问题时),但是很快它就被证明效果并不理想——Redford M. Neal于1992年发表的论文 “Connectionist learning of belief networks” [13]表明了这种信念网络需要更快的改进方法,论文中写道“这一算法表明玻尔兹曼机在许多应用中都有广阔的应用空间,但它的学习过程实在是过于缓慢了”,因此Neal提出了一个大胆的想法,在信念网络里面引入了一个定向的前行链接的玻尔兹曼机(因此,再次出现分层现象,就像我们之前看到的神经网络一样,而不是上面的玻尔兹曼机流程图)。摆脱了让人困惑的概率数学,这种算法实现了快速的训练和学习方法。而这种方法就被称为信念网络,因为这种基于概率建模的算法与自然界的数学领域和机器学习领域都有很大的关联。




图2.10 信念网络的一种解释

        

        尽管这种改进使得玻尔兹曼机取得了很大的进步,但是它仍然太慢了,这是因为从数学的角度正确推导出变量之间的关系往往需要大量的计算。因此Hinton、Neal以及另外两名联合作者在1995年在论文“The wake-sleep algorithm for unsupervised neural networks”[14]提出了新的改进方案。该方案需要设置一个稍微不同的信念网络,现在被称为“亥姆霍兹机”[15]。该改进算法的关键思想是具有单独的权重集,用于从可见变量(识别权重)推断隐藏变量,反之亦然(生成权重),并保持Neal的置信网络的有向性。 这使得训练可以更快地完成,同时适用于解决玻尔兹曼机的无监督和监督的学习问题。

        最后我们知道,信念网络可以被训练的更快!尽管影响力有限,但是这个算法仍然使无监督模型的信念网络的发展前进了一大步,它可以被视为是已经出版十余年的反馈神经网络的衍生品的存在。但是,在新的机器学习算法出现之前,人们又一次开始对神经网络抱有怀疑的态度,因为这些算法看起来太依赖于人的直觉又无法满足人们的计算需求,我们将在下一步分钟看到,几年之后,新的AI寒冬降临了。

        

  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  2

  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. 


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值