本文作者 猿辅导研究团队
猿辅导应用研究团队成立于2014年年中,一直从事深度学习在教育领域的应用和研究工作。团队成员均毕业于北京大学、清华大学、上海交大、中科院、中国香港大学等知名高校,大多数拥有硕士或博士学位。研究方向涵盖了图像识别、语音识别、自然语言理解、数据挖掘、深度学习等领域。团队成功运用深度学习技术,从零开始打造出活跃用户过亿的拍照搜题APP――小猿搜题,开源了分布式机器学习系统ytk-learn和分布式通信系统ytk-mp4j。此外,团队自主研发的一系列成果均成功应用到猿辅导公司的产品中。包括:速算应用中的在线手写识别、古诗词背诵中的语音识别、英语口语智能批改、英文手写拍照识别和英语作文智能批改等技术。
卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。
卷积神经网络在 20 世纪 90 年代就已经被广泛应用,但深度学习卷土重来的第一功臣非卷积神经网络莫属,原因之一就是卷积神经网络是非常适合计算机视觉应用的模型。
卷积在工程和数学上都有很多应用——在统计学中,加权的滑动平均是一种卷积;在概率论中,两个统计独立的变量 x 和 y 求和的概率密度函数是 x 和 y 的概率密度函数的卷积;在声学中,回声可以用原声与一个反映各种反射效应的函数相卷积来表示;在电子工程与信号处理中,任意一个线性系统的输出都可以通过将输入信号与系统函数(系统的应激响应)做卷积获得;在物理学中,任何一个线性系统(符合叠加原理)都存在卷积。
卷积提供了能够提升机器学习效果的三个重要方法:稀疏交互(Sparse Interaction)或稀疏连接(Sparse Connectivity)、参数共享(Parameter Sharing)以及等价表达(Equivariant Representation)。此外,卷积也提供了一种使得输入尺寸可变的工作方式。
一个简单的卷积网络由一系列层构成,每层都将上一层的一组隐层输出通过一个可微函数产生一组新的隐层输出。一个典型的卷积网络可以由三种类型的层构成:卷积层(Con-volutional Layer,CONV)配套 ReLU(Rectified Linear Unit,ReLU(x) = max(0,x))、池化层(Pooling Layer,POOL)和全连接层(Fully-Connected Layer,FC,和普通神经网络一致)。
卷积层是卷积网络的核心组成部分,包含了大部分繁重的计算工作。
卷积层的参数由一组可学习的卷积核(Filter)构成。每个卷积核在空间中都是小尺寸的(沿宽和高),但会穿过输入集的整个深度。例如,卷积网络第一层的卷积核尺寸通常为5×5×3(宽、高各 5 像素,深度为彩色图像的 3 个通道)或 3×3×3(宽、高各 3 像素,深度为彩色图像的 3 个通道)。
在前向传播过程中,我们在输入图像上沿宽和高的方向滑动各个卷积核(准确地讲,卷积),并在所有位置上分别计算卷积核和输入之间的点乘。当沿整个输入的宽和高方向滑动卷积核时,我们就会得到一个二维的激活映射(Activation Map),通常也称为特征图或特征映射(Feature Map),表示在每个空间位置上输入对于卷积核的响应。
直观地讲,网络将学习卷积核参数,使得在遇到某种视觉特征(如第一层某些方向上的边缘或某种颜色的斑点,或网络高层中的整个蜂窝状或轮状图案)时被激活。卷积层上的每个卷积核(如:例子 CIFAR-10 中 12 个卷积核)都会产生一个二维的激活映射,我们沿深度方向将这些激活映射排列起来,并将它们作为卷积层的输出。如图 1 所示为一个 5×5×3 的卷积核在 32×32×3 的图像上沿空间维度(宽、高)滑动,遍历空间中的所有点后便生成一个新的尺寸为 28×28×1 的特征图。如图 2 所示为另一个 5×5×3 的卷积核在 32×32×3 的图像上沿空间维度(宽、高)滑动,遍历空间中的所有点后生成另一个新的尺寸为 28×28×1的特征图。如图 3 所示则是 6 个这样的卷积核在输入图像上沿空间维度(宽、高)滑动,遍历空间中的所有点后生成 6 个尺寸为 28×28×1 的特征图,所以最终输出的特征图维度为28 × 28 × 6。
图 1 卷积层中的一个卷积核示例
图 2 卷积层中的两个卷积核示例
图 3 卷积层中的多个卷积核示例
在网络中堆叠 CONV-ReLU 结构。需要注意的是,卷积核的深度需要与输入的特征图的深度一致。如图 4 所示,第一个卷积层的卷积核尺寸为 5 × 5 × 3,其深度与输入图像(32 × 32 × 3)的深度一致;第二个卷积层的卷积核尺寸为 5 × 5 × 6,其深度就需要与第一个CONV-ReLU 输出的特征图(28 × 28 × 6)的深度一致。
图 4 后一个卷积层的卷积核大小需要与前一个卷积层输出的维度一致
如图 5 所示,通过可视化各个卷积层输出的特征图,我们看到随着卷积网络的不断加深,特征图上的响应表现出的语义层次也在不断加深。最初的卷积层通常对图像中的边缘或色斑产生较强的响应,我们认为这个部分抽取的主要是低层特征(Low-Level Feature)。此后的卷积层在低层特征基础上产生的特征图开始出现一些具有一部分语义的图形或纹理。最后的卷积层倾向于对有明确语义的目标产生强响应,认为此时具有了抽取高层特征(High-Level Feature)的能力。
图 5 卷积层可视化
————
本书节选自烫手新书《深度学习核心技术与实践》。毫不夸张地说,这本由猿题库一线深度学习团队精心打磨出来的鸿篇巨著,绝对是当前内容最为系统、全面的一本。体系完整的同时,文字表述也清晰、流畅——不难“啃”是这一领域图书,相当重要的一大优势。如有同感,不妨点击 阅读原文 将她迎娶进门!