欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【深度学习笔记(五)】之卷积神经网络组成介绍

程序员文章站 2022-06-22 17:53:39
一.卷积神经网络(CNN)(一)结构组成 经典的神经网络我们之间已经讲过了,现在我们要讲的是卷积神经网络。 神经网络的结构是: 输入层 + 隐藏层 + 激活函数 + 输出层 卷积神经网络的组成:&...

一. 卷积神经网络(CNN)

(一)结构组成

        经典的神经网络我们之间已经讲过了,现在我们要讲的是卷积神经网络。

        神经网络的结构是:

                输入层 + 隐藏层 + 激活函数 + 输出层

        卷积神经网络的组成:

                输入层 + 卷积层 + 激活函数 + 池化层 + 全连接层
                INPUT + CONV + RELU + POOL + FC

(二)卷积层:

        所谓的卷积类似于图像空间域处理的卷积操作,设置一个小区域的滤波器,将输入的图像按照滤波器的大小来分区域,然后将滤波器在输入图像的每一个区域上滑动,对于每一个区域都产生一个特征值。

        当滤波器把输入图像的所有区域求取了特征值后,就生成了一个特征图。该特征图中存储的就是滤波器在输入图像上产生的每一个特征值。

        可以看到,卷积时边缘信息利用是较少的。为了将这些边缘信息利用起来,在原始输入图像中加上一圈边缘0记作(+pad 1),添加了n层0,记为+pad n。原始图像的边缘现在就不是边缘了,同时,现在的边缘全为0,这些0对于特征值的提取没有意义,因此就算添加了一圈0也没有影响,它们的存在只是为了让原来的图像边缘有更多被计算的机会。

(三)卷积输出特征图尺寸

        该特征图的大小尺寸,是由输入图像的尺寸大小Input,滤波器的尺寸大小Filter,卷积的步长stride以及填充0的宽度pad来决定的。

        Output =( Input + 2 * Pad ) / stride + 1

        Output即为卷积输出的结果尺寸,深度为滤波器的个数。

        如输入图像的尺寸大小为 32 x 32 x 3,滤波器的尺寸大小为5 x 5 x 3。那么特征图的大小是由存储的特征值的多少决定的。

        对于输入图像的尺寸为 32 x 32,填充0的宽度为0,即没有填充,当步长为1时,滤波器 5 x 5在输入图像的每一行只能进行(32 +2 * 0– 5)/1 +1= 28次求取特征值。同理,每一列也是一样的,特征图中特征值的尺寸为 28 x 28个。

        当步长为2时,特征图的尺寸为(32 + 2 * 0 - 5)/2 +1 = 14,其中的除法是要向下取整的,即尺寸为14 x 14。

        当步长选取过大时,得到的特征值很少,但是计算量很小。
        当步长选取很小时,得到的特征值很多,但是计算量很大。

        我们也经常看到输入图像经过滤波器后有好几个特征图,这是因为用了多个滤波器来特征值。有几个滤波器,就有几个特征图。将得到的特征图都堆叠到一起,就得到了卷积层的输出结果。如下图所示,生成了两个特征图。
【深度学习笔记(五)】之卷积神经网络组成介绍

        卷积不仅可以在输入图像上进行,还可以在卷积后的输出特征图上进行。

        如下图所示,第一次卷积操作后,通过6个滤波器,得到了6个特征图组成的卷积结果,再次对特征图进行卷积,通过10个滤波器,得到了10个特征图组成的卷积结果。

【深度学习笔记(五)】之卷积神经网络组成介绍

(四)池化层

        对特征图进行操作,将特征图压缩,也是用与卷积差不多的操作,选取小区域在特征图中滑动,在小区域中求取mean值或者Max值,用来代表这一小区域的特征值,即将这一小区域的特征值压缩为一个值。

(五)全连接层


        卷积神经网络最后的全连接层与经典神经网络的全连接层是一样的,它将前面卷积层,池化层后的特征图提取出来,计算该输入图像属于某个类别的概率。

【深度学习笔记(五)】之卷积神经网络组成介绍


二.卷积神经网络的优势

        经典的神经网络是全连接的网络,每个层次之间都是全连接的,参数非常庞大。

        但是卷积神经网络就将每个特征图的参数实现了共享,即每个特征图中的神经元对应的参数都是一样的

        比如,卷积输出了2个特征图,输入图像的尺寸为 32 x 32 x 3, +pad2,Stride= 1,两个滤波器5 x 5 x 3,则输出的特征图尺寸为32 x 32 x 2,可以得知特征图中的特征值有 32 x 32个,而每一个特征值都是由滤波器对输入图像卷积得来的,即每个特征值对应输入图像中的一个5 x 5 x 3区域,即75个参数,而每个特征值的参数都是不同的,因此如果是全连接的话,共有32 x 32 x 5 x 5 x 3个参数,这个数字太庞大了,对计算效率不利。

        卷积神经网络将每个特征值对应的75个参数都共享了,即每个特征图中32 x 32个特征值的参数都是一样的。那么如果是两个特征图就只需要 75 x 2 = 150个参数。

【深度学习笔记(五)】之卷积神经网络组成介绍

        关注公众号【计算机视觉与深度学习】,获取海量计算机视觉与深度学习资源,实战项目源码,最新论文下载,大厂面试经验!!!​

本文地址:https://blog.csdn.net/Mrwxxxx/article/details/107450596