卷积神经网络原理

1.卷积神经网络的发展

        卷积神经网络是专门用来处理图像数据,解决计算机视觉问题的神经网络。1959年Hubel和Wiesel将电极插入了猫后脑勺的基础视觉皮层里,通过实验发现不同神经元会对不同模式感兴趣,有些神经元对端点感兴趣,有些神经元对对角线感兴趣,有些神经元对运动感兴趣。到了1962年有研究发现每个神经元只关注视觉内容的一小部分区域,并不是一个神经元事无巨细地分析整个视觉画面,大脑皮层每一部分神经元只会处理一小部分视觉区域,这个在大脑皮层上的重要发现启发了卷积神经网络中局部感受这个特性。在后续的研究中发现视觉是分层的,简单的神经元只对底层的特征比如光亮、方向、边缘等等感兴趣,经过高级的神经元后,大脑就会对底层特征进行融合与特化最后衍生出纹理等更高层的特征。这个发现启发了卷积神经网络从底层到高层处理特征,从底层的颜色、斑点、边缘等特征到高层对这些特征进行融合与特化,最后到分类层进行了高程度特化进行分类。在此之后有学者根据生物学上的研究与发现提出了与卷积神经网络中计算方法类似的将特征提取分层的结构[5]。直到1998年,Yann Lecun教授提出了卷积神经网络LeNet-5。LeNet-5可以人类对手写数字进行识别,并将这个网络运用在了当时的邮政系统中用于识别数字。AlexNet[6]在22年后问世,作为LeNet的升级版,增加了网络深度和权重参数的数量,在当年的图像分类比赛上以巨大优势夺冠。

        卷积神经网络可以用于解决计算机视觉方方面面的问题,比如图像分类、图像检索、物体检测、图像分割等。近年来也被广泛运用在汽车无人驾驶系统中,进行行人、车辆、交通标志等检测。这种计算可以在本地实现而不用连接互联网进行计算,这就意味着没有网络延迟、带宽限制等约束条件提高了系统的反应速度,同时保证隐私数据不会泄露。卷积神经网络在医疗诊断、天体数据分析等领域也有应用。

2.卷积网络的基本结构

2.1 卷积层

        在传统的全连接神经网络计算中,会将整张图片拉平成一个长向量,与对应的权重点乘求和,得到若干分类器下的值。这样的作法将原先二维的图片转换成向量,丢失了图像的空间信息,卷积神经网络中的卷积层就解决了这个问题。

        卷积运算的原理就是将卷积核上的权重与原图像局部区域上的值依次相乘,再对各个值求和输入到一个新的矩阵上形成特征图。然后卷积核开始以一定步长开始滑动进行下一次的运算。图1.5中左侧浅蓝色区域就是感受野,中间3×3的矩阵就是卷积核,右侧就是特征图。在卷积计算中卷积核一次只对应原图的一小部分区域,这就是局部连接。在完成对整个图像的计算前卷积核上的权重数据不会变化,这就是权值共享。

        现在是第一个卷积核对图像进行卷积生成了第一个特征图,如果我们换一套卷积核的权重再进行卷积运算,就得到了另一个特征图。将不同卷积核计算得出的不同的特征图堆叠起来就能得到一个多通道的特征图。多通道特征图中同一个深度切片得到的特征图都是由同一个卷积核在原图上经过卷积计算得到的值。

        在卷积过程中位于图像边缘的像素值参与的计算次数明显小于中间像素值参与的计算次数。这种对不同位置数据不公平的计算方式会导致图片位于边缘的特征被丢失。为了解决这个问题就应当在原图外围补上0,这就是padding操作。补完0之后原图边缘上的数据也能参与多次计算,这样就避免了边缘特征的丢失。Padding还有一个重要作用就是能增加特征图的维度。如1.5所示5×5的矩阵与3×3的卷积核运算后输出的特征图为3×3,输出的特征图维度小于原图,若经过多次卷积运算后特征图就会变得非常小。在增加了padding后就能提高输出特征图的维度从而缓解这一问题。

        现在的照片一般是彩色图像,彩色图像RGB拥有三个通道,这样输入的是拥有三个通道的矩阵。对于这种输入,卷积核本身也应该有三个通道,为了保证能正常计算,输入的通道数应与卷积核通道数相同。最终得到的特征图是由位于同一片感受野的输入图像和卷积核分别与相应通道做卷积最后求和得到的。

        卷积操作的目的就是将原图中符合卷积核特征的特征提取出来,卷积核相当于定义了一个特征,卷积的操作就相当于在原图上检索提取定义的特征,如果原图上某一部分符合卷积核定义的特征,那么卷积后该部分的取值就会很高。

2.2 池化层

        在卷积层中,每一个卷积核都会输出一个特征图,随着卷积核的增加,特征图的通道数也会越来越多,这样特征图的参数量就会越来越大,经过多层卷积之后参数量就会非常庞大。这时我们可以使用池化层对特征图进行“大而化之”的简化,从不同区域选出能够代表这一区域的数据出来进行下一步的计算。现在常用的池化方式有最大池化和平均池化。最大池化就是在特征图的一个范围内选取出该范围里最大的值,平均池化就是在特征图的一个范围内计算出该范围里所有值的平均值。经过池化操作后,输出的矩阵就会变小,因此池化也叫降采样。池化的计算也类似与卷积计算,但是池化是不需要卷积核权重的,只需要找出最大值或者平均值。

        池化可以将大矩阵变小从而减小参数量,后续操作对小矩阵进行处理就可以。以最大池化为例,池化提取了原来矩阵各部分最大的值,进行大而化之的处理只保留了原图的主要矛盾,这样可以防止过拟合,过滤部分噪音点。最大池化还为卷积神经网络带来了平移不变性,可以将平移特性过滤掉,不管特征出现在哪个位置,都可以提取到该特征。

2.3 全连接层

        全连接层的作用通常是将特征图拉平成一个长向量,输入到多层感知器中进行特征的汇总、分类。全连接层一般位于网络的最后,用于特征的汇总。

2.4 卷积神经网络的特点

       卷积神经网络不同于全连接神经网络,全连接神经网络中的每一个神经元都要处理上一层的全部信息,而在卷积神经网络,每一个神经元只关注前一层的一小部分区域,也叫做局部感受野,这个思想是受到生物学中神经元的启发。第二个特点是:在卷积计算中,一张特征图是由共享同一套权重的卷积核计算出的,称为权值共享。权值共享减少了神经网络的参数量。第三个特点是运用了池化降采样,池化减少了参数量、防止过拟合,同时引入了平移不变性。以上就是卷积神经网络的三大特点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值