深度学习理论篇之 ( 十一) -- 卷积神经网络之风云盛世(三)

2022-06-01 19:51:15 浏览数 (1)

科普知识

计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所 指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提 取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。

前言

卷积神经网络的核心操作是卷积计算(操作),前两篇文章中,我们学习了卷积计算的理论和数学计算,然而在实战中用到卷积的时候却不需要用到这些,理论上说只需要用到卷积的输入参数和输出参数就可以啦,下面就一起来看看吧!

一、卷积计算总结

上周的文章中,我们了解到卷积计算其实就是一个卷积核在原始数据上(例如图像数据)上进行的滑动计算,一般来说,进行卷积后的数据维度都会小于原始数据维度,至于什么叫维度,大家可以简单的理解为长宽高、或者行列数即可,因此卷积操作从某种程度上即实现了数据的降维也实现了特征提取,对了,之前的文章中也忘记介绍什么叫特征提取,我们后文再说,今天我们先来对卷积进行一个总结。

1.1 卷积总结

还记得上周文章最后我们给出的卷积后输出特征图的计算公式吗?再来看一眼吧?

通过这个公式我们可以发现,如果卷积核大小F为1,图像宽高为1,填充参数p为不填充的情况下,此时卷积后得出的特征图大小为1,一般来说这种情况不存在(你想想实际输入的时候图像宽度为1x1的时候,那还有特征一说呢,能不能保留有效信息都是另外一回事呢?),默认是图像的维度都会大于卷积核的尺寸,因此,这样计算下来输出特征图都会比原始输入小,但是,是不是一定会小呢,有没有别的情况呢?当然有了,那就是pad参数的功效了,如果在实战中(也就是在深度学习的框架中,写代码的时候),我们设置pad的值为SAME,那么经过卷积后的特征图就不会减小而是保持与输入数据同一维度,这样的操作通常在于为了用于残差和密集链接网络中(后期我们会介绍这两种网络),为的就是在多层网络中引入前一层或者最原始输入数据,但是通常在引入的时候使用的是加的方式(也就是当前卷积后的结果加上之前的输入,这样做可以达到特征融合的目的),然而,如果使用上述公式的卷积方式,势必造成输入数据与卷积后的数据的维度不一样无法完成加操作,是的,在以后的深度学习框架中,输入维度不同是不可以相加的哦,大家千万记得,因此,数据维度不同的解决办法就有两个,一个是将当前卷积后的特征图进行填充补0使其可以恢复到与输入数据一样的维度,然后执行相加的方式,另一个就是在卷积开始的时候就进行pad设置,使得输出和输入保持同一维度就可以进行相加操作。

其次,我们在之前的文章中也提到,我们的卷积神经网络的输入数据是图像,按照图像数据本身的维度来看应该是WHC(长宽高),因此卷积核的维度也必须有一定的对应关系才可以进行计算,通常卷积核的维度可以随意指定(按照自己的实际需求),但是卷积核还有一个参数就是输入通道数,这个参数的设置在于与输入图像的高度进行对应,通常图像的高度对应与图像的深度,也就是有几个颜色通道(这一点务必牢记,忘记了的可以去之前的我们的图像处理教程看看),因此,输入的图像数据有几个通道数,那么卷积核的输入通道数也要设置为相应的维度,好,于是问题来了,图像进行第一次卷积后得到了输出(特征图),这个输出维度是什么呢?之前讲了特征图的输出维度可以按照上面的公式,但是特征图应该与原始数据还有一个关于深度的维度才对,而且这个深度维度是有卷积核带来的,是的,这也是卷积核除了尺寸大小外特有的深度特征,也叫做滤波器的个数,也可以称之为卷积核的输出维度,这个滤波器的个数的意义在于有多少个这样长宽的卷积核,因此 ,卷积核的维度有四个,分别是:卷积核的大小两个维度,输入维度,输出维度,切记,经过一次卷积操作后的输出数据(特征图)维度包括了长宽和深度(这个深度就是之前卷积核的输出维度)。而下一次卷积操作的输入维度还必须是上一次卷积的输出维度,如此反复即可构建成深度卷积神经网络。小编知道,上面的理论可能有点不太好懂,没关系,我们后期会在实战中进一步讲解,期待大家的关注。

至于之前说的特征提取,其实这个词稍微有点高大上,本意为对输入数据的特征进行提取,其实是对输入数据的另外一种表示(毕竟对原始数据进行了一定的数学计算),如果这个特征是人为设计,那么通常是机器学习的做法,如果是自动提取,那么通常来说是卷积神经网络的做法,但是卷积操作后提取的特征我们有时候很难解释是什么,特别是越高层的卷积操作,因此通过卷积操作后,输入数据变成了另外一种表示,由于卷积核的个数或者说深度有很多,也就有了不同的表示,换句话说也就是数据变成了某种特征,因此卷积操作即可理解为特征提取操作。

至于卷积的知识还有不少,我们以后遇到再一一进行讲解,老铁们先理解目前的知识即可。

END

结语

本期文章我们对卷积的知识进行进一步的分析和讲解,希望大家能够有一定的帮助,后期我们将会搭建基于卷积神经网络模型进行图像识别,大家敬请期待。

编辑:玥怡居士|审核:小圈圈居士

0 人点赞