深度学习初步了解
深度学习兴起,源于以下3个方面:
- 更大的数据集
- 新的深度学习技术,如ReLu、DropOut等。
- 新的计算硬件,如GPU等。
传统机器学习局限
传统机器学习在处理原始形态的自然数据方面存在很大的局限性。它需要技艺高超的工程师和经验丰富的领域专家设计特征提取器,将原始数据转化为合适的中间表示形式或特征向量,学习子系统,即分类器,然后对输入模型进行检测或分类。
而深度学习较传统机器学习的一大优势是:它不需要人工设计特征提取器,而是让机器自动学习,然后获取特别适用于变化多端的自然数据。故其具有非常优良的泛化能力和鲁棒性。
深度学习源起
深度学习源于表示学习系统。它是多层表示学习方法,用简单的非线性模块构建而成,这些模块将上一层,即从原始数据开始,转化为更高层、更抽象的表示。如果一个学习系统是由足够多的简单的非线性模块构建是,便具有了学习非常复杂的能力。
对分类问题,高层表示能强调重要的类别信息,同时抑制无光的背景信息。以图像信息为例,利用神经网络,得到的每层特征信息总结如下:
- 第一层学习到的特征为边缘特征;
- 第二层是检测边缘信息按特定方式排列组成的基本图案;
- 第三层则是将基本图案组合起来,对应典型物体的部件;
- …
- 第n层可能就是有相关信息组成的物体。
深度学习的关键:上述每一层特征不是专家设计的,而是使用通用学习方法自动从数据中学到的。而这些特征也是人类无法预估的,完全由机器决定哪些特征是需要的,哪些是抑制的。深度学习只需少量人工介入,非常适合大规模计算系统和海量数据。它将会用在将来生活的方方面面。
深度学习框架 ##
机器学习中,应用最普遍的形式是监督学习。监督学习其框架(流程):收集数据集(打标签,预处理等) –> 训练分类器(分类器选择,训练标准,调参等) –> 得到模型 –> 评估模型(拟合,泛化能力等) –> 调整,重复训训练。
深度学习框架:将简单模块多层堆叠,多数模块具备学习能力,能计算非线性输入-输出映射。通过将每个模块的输入进行变换,提高可选择性和表示的不变形。通过多个非线性层组成的系统可实现非常复杂的函数,能够对类间差异敏感,而对类内差异不敏感。
卷积神经网络
卷积神经网络具有训练简单,泛化能力较强,是一种深度前馈神经网络。其典型特点:局部互联、权值共享、下采样和多个卷积层。其中权值共享可减少参数数目,下采样能够保持局部不变性,多特征图允许不同卷积核作为不同特征提取器,训练时可使用反向传播算法。
卷积神经网络由两种层构成:卷积层和下采样层。卷积层的单元组织为特征图,每个单元通过一组滤波器组的权值连接到上一层特征图的局部小块。而局部小块的加权和将被非线性单元处理。同一特征图的所有单元共享同一套滤波器,而同一层的不同特征图使用不同的滤波器组。其原因:在一组类似图像的数据中,局部像素块具有高度相关性,形成不同的、易检测的基本图案;图像和其他信号的局部统计具有位置无关性。即,如果图像中存在某个基本图案,则该图案可能出现在任意位置,那么不同位置单元共享相同权值可实现在数据的不同位置检测相同“模式”。一张特征图执行的滤波器操作在数学上表示为离散卷积。
卷积层的任务是检测前一层的局部连接特征,而下采样是将语义相似的特征融合为一个。由于相对位置特征形成一个基本团可能会有些变化,可靠检测该图案可以使用粗粒度位置实现。
下采样的方式主要有:取最大值,取平均值,取随机值等。下采样可以降低表示维度,在一定程度上,对平移,形变不敏感。
卷积层-非线性层-下采样层堆叠为一个基本处理栈,在一个完整的网络中可以重复多个基本处理栈后再接入更多的卷积层或全连接层。卷积网络的梯度反向传播过程与普通深度网络一样简单,所有滤波器组的权值都能得到训练。
深度神经网络具有很多自然信号具有复合结构的特性。高层特征可通过低层特征组合得到。图像中,棱边经过局部组合可构成基本图案,而基本图案组合成部件,部件又构成了物体等相似结构。下采样保证新的特征层表示不敏感于前一层元素在位置和表现上的变化。
深度学习反思
深度学习也存在一些难题。如调参技巧,模型训练,模型判断等。在训练过程中,模型可呈现下面三种状态:
- 过拟合模型:模型参数远大于数据量,相当于求解一个欠定方程,存在多解的可能性大;
- 欠拟合模型:模型参数远小于数据量,相当于求解超定方程,可能无解,或者有解但准确率很低;
- 较好模型:模型参数和数据量匹配,相当于解恰定方程,能避免过拟合,又能兼顾准确率,难点是模型参数和数据量匹配如何实现,是一个工程问题。
选择模型处理数据需考虑:越大的模型,越难训练,需要匹配的数据量越大,需通过避免过拟合的方法来训练理想模型。可通过先选择较大数据集进行训练,得模型,然后在用特定数据集进行精调,来得到较为理想的模型。
参考文献:深度学习 21天实站Caffe