这是一篇发表于2014年的文章,作者分析了为什么深度学习能够具有好的表达能力,从而能够在图像分类,目标识别,图像分割和目标追踪等方面获得state-of-the-art 。
作者分别从表达学习(Representatin learning)的先验,smoothness和维数灾难,分布式表达,深度和抽象以及disentangling Factors of Variation 五个方面进行了分析。
特别是针对第四点,深度和抽象这一点,作者认为网络的加深能够确保对特征的层层re-use,而且这种深度结构能够逐层的抽象特征,从而达成一定的不变性。
作者首先从单层网络展开的,首先是probabilistic, auto-encoder 和manifold learning三个方面来解释特征学习的。
从概率建模的角度而言,特征学习是在寻找一组潜在的经济性的随机变量的集合,这组参数能够描述观测数据的分布。这里假设观测数据是x,潜在变量是h,于是我们要推理出的分布是p(h|x),是一个后验概率。概率图模型可以从无向图和有向图两个方面来建模,但是这种方法一般比较复杂,而且参数很多的时很难处理。
然后作者介绍了原理简单的auto-encoder,分别介绍了sparse auto-encoder,denosing encoder以及contractIve auto-encoder,他们的区别在于目标函数的正则项是不同的。
最后作者从流形的角度解释表达学习。从个人角度,感觉流形很重要的理论,这个理论直接推动了稀疏表达理论的发展,催生的模型不计其数(包括我发的一篇paper)。流形理论的前提是流形假说,真实世界中的高维数据可以被集中到嵌入其中的一个低维的流形上。于是在表达学习中,我们尝试从输入的高位数据中学习出这样一个低维的表达出来,于是在无监督学习中,我们尝试对数据支持的流形进行学习,找出一种参数化映射出来。下面介绍了集中参数化映射的方法,第一种是邻域图的方法,第二种是非线性流形的方法,第三种就是利用正切空间。
最后作者关注的对deep models的训练,其中最关键的问题就是过拟合问题。为了提高模型的泛化能力,对原始的训练数据进行一定变形(data augmentation).同时,卷积神经网络和pooling操作能够保持输入数据的拓扑结构,基于patch的训练等都有助于训练。