深度学习入门介绍系列1

深度学习概述


(注:下节开始给大家带来深度学习算法最重要的算法,以及如何使用 Theano来运行这些算法)


深度:
从输入产生一个输出的计算,可以被一个有向图来表达:一个有向图是一个表达计算的图,每个节点表达一个计算元素和一个值(计算结果,就是根据该节点的孩子节点的值计算的)。每一个节点和可能的图结构组成的计算集合就定义了一个函数系列。输入节点没有孩子节点,输出节点没有父亲节点。


下面表达sin(a^2+b/a)的有向图可以通过两个输入节点a,b,一个表达b/a的节点,一个表达a^2的节点,一个表达a^2+b/a的节点,一个表达sin的节点,还有一个附加的输入节点组成。


一个有向图的重要属性是depth,从输入到输出的最长路径。通常的前馈神经网络深度和其层数相同。SVM有两个深度。




深度学习的动机:


深度学习的主要动机包括下面三个部分:
1,深度不足是有害的。
2,大脑是深度学习架构。
3,认知过程是深层次的




深度不足是有害的:
在许多情况下深度2基本是足够(逻辑门,formal neurons, sigmoid-neurons,RBF unit),去表达任何函数了。但是这个是有代价的:图上的节点数目可以增长到很大。理论结果表明当输入的大小指数级增长的时候,存在的函数系列也会相同的增长。这个已经被逻辑门,formal neurons,RBF unit等证实。随后一点,Hastad也证明了当深度是d的时候函数的系列可以被O(N)个节点有效的表达,但是当深度是d-1的时候,节点的个数将是o(2^n).


你可以把深度架构当作是一种因式分解。特别随意的函数不能被深度和浅度的架构表达。但是大多数能够被深度架构有效表达的函数系列,不能被浅度的有效表达。深度表达的存在表明,目标函数的表达依赖某种结构,如果没有合适的结构,它可能不能很好的泛化。


大脑有一个深度的架构:
例如,现代成熟研究的视觉皮层标识,每个区域表达了一个输入,信号从一个地方流到另一个地方。每个层级特称继承性的表达的输入,在不同程度的抽象上。高层的更抽象,低下的更细节。


认知看起来是深度的:
--人类是通过继承全系组织概念的
--人类先学习简单的概念,然后将其组织抽象的概念
--工程上也是将解决方案拆成多个层次的抽象进行处理的


深度学习的突破:


2006年之前,尝试训练一个深层网路学习失败了,因为训练前馈神经网络却产生了比浅度更糟糕的结果。但是2006年的三个论文改变了这一现状,亨特的DBN是其最代表的论文。
--Hinton, G. E., Osindero, S. and Teh, Y., A fast learning algorithm for deep belief nets Neural Computation 18:1527-1554, 2006
--Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, Greedy Layer-Wise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007
--Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCun Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007




这三个论文里体现了下面的三个原则:
--无监督学习特征被用来对每一层进行训练
--除了对上层外,每次训练一层,并使用无监督学习。每层学到的特征作为下层的输入。
--使用监督学习做最后的调优各层的手段。


DBN 使用 RBM来做无监督学习。Bengio的论文讲解了RBMS和autoencoder. Ranzato在卷积架构中使用稀疏编码。  后续将会继续讲解autocode,和卷积架构。




如果大家感兴趣,可以参看 Learning Deep Architectures for AI:http://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/239




你可能感兴趣的:(机器学习)