||
卷积神经网络(CNN)引导:物理机制和算法结构
邹谋炎
中国科学院大学 “现代数字信号处理”课程讲座
2018年6月1日
在人工智能(AI)发展中,卷积神经网络(Convolutional Neural Networks)是实现深度学习的一种重要神经网络结构。人们通过互联网可以找到许多学习资料,介绍CNN的构造、算法和结果。CNN能够完成图像识别和理解,对初学者和研究者来说最基本的需要知道最底层的物理机制。了解物理机制才有把握知识的自由度,是透析各种结构不同CNN的关键,也是获得创造自由的起点。本讲座致力于对CNN的物理机制进行解说。同时介绍相关的背景知识,希望对有兴趣者起到入门引导的作用。
可以用图示方式解说有限离散卷积的计算方法,由“卷积”计算引出对应的“点积”计算;由“点积”定义两个数组的“相似度”。而一个局部图像和一个核(模板)的点积等价于以局部图像为输入的一个神经元,该神经元的各个权值正是核(模板)的各个值。局部图像与模板相似或匹配时,该神经元将产生出最大的输出。一幅输入图像的每个局部通过各自的神经元产生出输出图像,与输入图像和核进行卷积产生输出图像,其结果是等价的。这种情况下,输入图像中如果有与核的图样相匹配的局部图样,在输出图像中将被增强而凸显出来。这是隐藏在CNN中的底层机制。这个机制对一维或高维CNN都是基本的。在神经元的构造中除了点积部分外还引入了置偏和非线性激活函数,有助于加强因匹配得到增强的特征。
一幅输入图像的每个局部通过各自的神经元产生出输出图像,这和输入图像与核进行卷积产生输出图像,其结果等价,从神经网络的角度看,产生出一幅输出图像的各个神经元,其运算是并行的,其权值是共享的,这是CNN的一个特点。通过模板匹配方式能够增强图像中的一类特征,不需要事先进行图像分割,这是CNN的另一个特点。
使用许多个不同的卷积核和同一幅图像进行卷积,就可能凸现和增强该图像与不同模板匹配的特征,这些特征表现在不同卷积核对应的不同输出图像上,这些不同输出图像形成一个有“厚度”的图像组,一起作为CNN构造的一个层。
对有厚度的CNN层进行尺寸缩减是CNN构造的重要步骤。其目的不仅仅是为了减小最终判读的工作量,而更有意义的是为了便于获取图像中更“宏观”或更“综合”的结构特征。尺寸缩减的主要方法是下采样,称为“池化”(Pooling)。例如让图像每4个单元缩减成1个单元,整个图像尺寸就缩减成原来的1/4。有两种典型的下采样方法:在4个单元中取最大值为缩减后的单元值,称为Max-pooling;取4个单元的平均值为缩减后单元值,称为Mean-pooling。
可以想象,在一次Convolution-Pooling后再重复几次Convolution –Pooling 过程,被处理的图像分辨率越来越低,结构特征越来越“粗犷”或更具综合性。为了匹配越来越具综合性的特征,卷积核或模板的图样应该做适应性变化。这样,随着CNN层数增加,原图像中的结构特征,从初级的线条、棱边,到高级的外形和复杂图样,都有可能在CNN中形成一个匹配从初级到高级的图像特征链。如果CNN中原来没有这样一个表征(识别)某个图像的特征链,通过CNN的学习算法我们总是可能建立起这样一个特征链。
很明显,为了CNN能够识别大量不同的图像,在CNN各个层中就必须有若干权(卷积核)能够匹配从初级到综合的、不同的特征,并形成一个表征输入图像特征的一列图像特征链。因此,不同卷积核的数量和图样越丰富、CNN的层数越多,CNN的识别能力就越强。
讲座中包含了便于物理机制解说的若干示意图,包含了多层CNN的结构例子;Softmax分布和图像判读方法;卷积核的选取和生成;CNN学习算法等内容。
必须指出,本讲座以下内容具有创新性(未见文献报道):(1)引入相似度、特征链的概念,据此对CNN物理机制进行清晰解说;(2)卷积核的生成算法。请引用者注明出处。
本讲座适合于初入者和研究者。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 16:12
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社