通过上一篇对卷积神经网络结构的介绍,大家已经知道卷积神经网络主要包含:卷积、最大池化、Dropout、Flatten、Dense。本文为大家详细介绍卷积。
卷积
卷积是透过两个函数 f 和 g 生成第三个函数的一种数学算子,公式如下:
事实上,卷积就是一种数学运算,跟加减乘除没有本质区别。卷积是将两种信息(f 和 g)混合(叠加)成新信息的一种手段,有利于简化复杂的表达。
图像卷积
在图像中,f 可以理解为原始像素点,负无穷到正无穷就是所有原始像素点叠加,也就是原始图。
g 可以理解为作用点,所有作用点组成卷积核。
卷积核上的每个作用点依次作用(相乘)于原始像素点,然后再叠加(相加)的结果,就是卷积的最终输出(目标像素点),如下图所示:
卷积的意义
在图像上应用卷积时,是在两个维度(水平和竖直方向)上执行卷积。
这时 f 是输入的图像,由三个矩阵(RGB 三通道)构成,其中每个元素都是 0 到 255 之间的一个整数。 g 是卷积核,单个浮点数矩阵。可以将卷积核的大小和模式想象成一个搅拌图像的方法。卷积核的输出是一幅修改后的图像,在深度学习中经常被称作特征图(feature map),每个颜色通道都有一个特征图。
因此,卷积的意义是在提取特征。并且,不同的卷积核,提取的效果也是不一样的,如下图:
注:不同的卷积核,可以是大小不同(3x3,5x5),也可以是值不同。
综上可得:
- 通过卷积运算,可以在图像中提取特征。
- 不同卷积核,提取的特征不一样。
- 提取的特征一样,不同的卷积核,提取的效果也不一样。
为何图像卷积有用
通过上一篇已经了解到,机器在查看图像的时候,不会查看“全局”,相反地,机器更加注重“局部”。
比如,机器想要区分衣服的式样时,它注重的是衣服的外形(边缘),至于衣服的颜色、商标之类的就不那么重要了。如果我们有方法过滤掉这些多余的噪音,那么算法就不会因颜色、商标之类的细节分心了。而卷积就可以提取特征,之所以叫“特征”就是因为它“非全局”。
我们可以利用卷积去掉图像中除了边缘之外的信息,这样就可以帮助机器区分衣服的样式。这也是为什么卷积经常被称为滤波器的原因。
这种将读入输入、变换输入、然后把 feature map 喂给某个算法的手段被称为特征工程。特征工程非常难,很少有人能熟练地在多个领域应用特征工程。因为,每个领域的数据不同,有用的特征也不同,因此,特别依赖于经验。
而上面提到了,不同的卷积核就可以提取不同的特征,那么,我们就可以利用机器,随机生成各种各样的卷积核,来提取各种各样的特征,然后再通过数据训练判断哪个特征是有用的,这就相当于自动找出任务中适合的特征,也就是将特征工程自动化了。
卷积如何处理复杂特征
特征有简单,有复杂,在实际的运用中,会有许多复杂的特征。通过上一篇已经了解到,可以利用级联分类的思想叠加几层的卷积,这样就能处理复杂的特征了。
小结
本文为大家介绍了卷积的相关知识,作为卷积神经网络的重要组成部分,卷积就像排头兵一样,帮网络提取一层层的特征为后面的层服务。下一篇,将为大家带来采样层的讲解,咱们下一篇见。
网友评论