卷积神经网络

yummy 阅读:335 2022-03-30 20:35:42 评论:0

卷积神经网络(CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。

应用非常广泛,在计算机视觉中,图像识别方面:在大规模图像分类问题中,卷积神经网络可用于构建阶层分类器、也可以在精细分类识别中用于提取图像的判别特征以供其它分类器进行学习。

物体识别方面:常用的YOLO算法,将物体识别定义为对图像中分割框内各目标出现概率的回归问题,并对所有分割框使用同一个卷积神经网络输出各个目标的概率,中心坐标和框的尺寸。目前基于卷积神经网络的物体识别已经应用于自动驾驶和交通实时监测系统。

还有行为认知、姿态估计、神经风格迁移等。

通过对应用领域的了解,我们对卷积神经网络有了初步的认识。

下面我们来学习一下卷积神经网络的原理。

卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层,通常包含若干个特征平面,每个特征平面由一些矩阵排列的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核,卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值的直接好处就是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也称池化(pooling),通常有最大池化和平均池化两种形式。

QQ图片20220330213828.png

通过图片我们可以清楚看到CNN的构成。

如何理解权值共享呢?直观来说,当从一个大尺寸的图片中随机选取一个8*8的样本,从这个样本中学习到一些特征,我们可以把这些特征作为探测器,应用到图像的其他地方。把特征和原来的图像做卷积就可以在任意位置获得不同特征的激活值。下面通过一个动图更直观的感受特征提取的方式。

584693-20160519134756826-166871751.gif

在通过卷积获得特征后,下一步的我们希望去做分类,我们如果用所有的特征去训练分类器,可能会产生过拟合。为了解决这个问题,我们想到对不同位置的特征进行聚合统计。例如,我们可以计算图像区域上的某个特征的平均值或者最大值。这种聚合就是池化。下图就是池化的动图。

584693-20160519140528154-768367867.gif

前面我们提到过平均池化和最大池化,那么怎么实现的呢?我们先一下看下面的图片。

20160923135714235.png

通过图片,我们可以看到,均值池化的卷积核中每个权值都是0.25,并且步长为2.均值池化的效果相当于把原图模糊缩减至原来的1/4。

左边是最大池化,卷积核中各权值只有一个为1,其余都是0,为1的位置对应inputX被卷积核覆盖部分值最大的位置。并且步长为2,最大池化的效果就是把原图缩减为原来的1/4,并且保留了每个2*2区域最强的输入。



本文 zblog模板 原创,转载保留链接!网址:http://xn--zqqs03dbu6a.cn/?id=9

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。