深度学习的演化史
Deep learning allows computational models that are composed of multiple processing layers to learn representations of data with multiple levels of abstraction. (Yann LeCun & et.al, 2015)
深度学习是机器学习的一个分支,它的特点是使用足够多的可调节网络参数在大规模的数据中发现和学习隐含的知识结构,让学习到的知识可以用于预测未来的数据。机器学习的训练过程是一个不断自我调节的矫正过程,让模型具有自我优化的能力,让输入和期待的输出结果尽量接近。反向传播算法让深度网络中的训练参数能够根据输入和输出的情况进行自我调节以逐步缩小预测误差,让网络模型最终有能力泛化训练的数据集获得领域知识,并在未出现过的数据中获得好的预测表现。
传统机器学习(Conventional Machine Learning)
机器学习简单说就是一个从输入到输出数据映射关系的学习过程。
对小规模较为干净的数据和经过人工提取的特征数据来说,传统机器学习有好的表现,其模型简单且可解释性强,在统计学和数学上的证明严谨。传统的机器学习算法过于依赖专业知识和人为预处理,许多应用是使用经过特征工程的数据作为输入的线性分类器。然而在大量无结构可言的数据面前,传统机器学习稍显无力。
表征学习(Representation Learning)
一种能够从原始数据中自动发现不同类别的特征的技术。
高维度数据的出现让人们开始寻找一种不用依赖与人类特征工程的方法来发现特征的方法。深度学习便是一种手段,也是表征学习的一种方法,它使用多层表示组成简单但非线性的模块,逐步从较浅层的无意义表示转变到深层的抽象表示。深度学习的特点是从高维度的数据中自动发现隐含的具有代表性的结构,缺点是可解释性不强。
全连接网络(Fully Connected Networks)
全连接网络是线性回归模型的进化,它增加的网络层数提高了它对现实的刻画能力。网络中的输入层通过中间的隐藏层再到输出层,在每一层的输出后面都会有一个激活函数,它的加入引入了模型的非线性特征,让分类的结果的可能性更多。模型使用反向传播算法自我更新,反向传播过程是更新网络参数的方法,得到网络最后一层,即输出层的梯度后,使用链式法则逐渐向前计算更新每一层的参数直至输入层。全连接网络一般使用监督学习的方法,即训练数据带有标签的学习方法。训练前,我们定义好目标函数,代表我们期待的训练结果。在训练过程中,机器会计算目标函数的损失和真实的值、矫正可调节的参数让损失(误差)最小化。最常使用的就是随机梯度下降(Stochastic Gradient Descent),过程包括从输入到输出的结果中获得误差、取样本的平均误差、根据误差计算结果对参数的偏导数,也称梯度。
卷积神经网络(Convolutional Neural Networks)
卷积神经网络的优点是比全连接网络训练更快,同时对训练数据的泛化能力更强,广泛应用在机器视觉上。CNN的卷积层(Convolutional Layer)有两个特点,第一个是特征的局部联系性,第二是位置无关性。换句话说,一个低维特征构成了高维特征,这些高维特征在图片中的位置无关紧要。池化层(Pooling Layer)则将相同的重复特征合并为一个。
递归神经网络(Recurrent Neural Networks)
RNN用于处理有序的输入数据,在输入过程中神经元会隐式记录上一次输入数据的历史状态。RNN的输入参数为截止目前前几个时刻的输入状态,上一个时刻的参数会共享给下一时刻。这样的好处是不需要为输入的一串变长的序列设定固定长度的输入单元。RNN被广泛用于语言处理。
总结
机器学习的演化过程是一个逐步减少人为干扰的过程,让机器从学习被人类精确定义的可量化特征,到独自发现和学习隐式高维的非结构化特征。