peak_ZN

卷积神经网络:卷积与池化

Stride的作用:是成倍缩小尺寸,而这个参数的值就是缩小的具体倍数,比如步幅为2,输出就是输入的1/2;步幅为3,输出就是输入的1/3。

卷积神经网络(CNN)有卷积层和池化层结构,这两层结构是CNN的重要组成部分。

卷积层就是通过若干个卷积核对上一层输入进行扫描,从而在较大程度上提取原始像素矩阵的特征,获得更多图像的抽象特征,卷积层的作用就是获得更多图像的抽象特征。

池化层能够在宽度和高度方向上缩小上一层矩阵的的大小,但深度并不会比上一层更深,此外,池化层能达到减少网络中参数的目的。

用熊大的身份证进行一下简单概括(判断该身份证是否属于熊大):

1、首先需要一张被转换为像素矩阵的熊大照片,该照片记录了熊大的图像特征。这张图像的像素矩阵称为“卷积核”。

2、计算机会用这个“卷积核”即熊大图像的特征扫描身份证这个大图像,寻找是否有某个位置出现了熊大的特征。

3、将卷积核与身份证上某个位置的图像特征进行相似度计算,这个计算就是“卷积”,计算结果也接近1,则代表相似度越大,卷积的越成功。

如果利用卷积核在身份证这个大图像的整个平面上扫描,且没有出现特别强的相似性,则说明身份证上没有熊大的照片出现。熊大图像是否出现在身份证上,只依赖于计算出的相似特征的最大值,即只需要有一个局部图像与熊大照片非常相像,就可以认为身份证上出现了熊大头像。如果最大值不够大,则认为身份证图像中没有出现过熊大的图片。因此,卷积核在图像上不断扫描的过程中,我们只关心卷积计算结果的最大值。这个最大化的操作,就是一种特殊的池化方法,被称为最大值池化。简而言之,卷积就是计算某种局部的相似性,而池化就是将某种最突出的相似性选择出来。

对比卷积和池化,它们有两个核心区别:

1、卷积核的权重需要在人为设定或计算过程中,通过机器学习算法自动优化得到,是一个未知的参数;而池化仅仅是求最大值或平均值,没有未知参数需要估计,也不需要参数优化的过程。因此对于计算机而言,池化是非常简单的操作。

2、不管输入的像素矩阵有多少通道,只要进行卷积运算,一个卷积核参与计算只会产生一个通道;而池化是分层运算,输出的像素矩阵的通道取决于输入像素矩阵的通道。

 卷积

卷积是一种特殊的线性运算,用来代替一般的矩阵乘法运算。在图像处理中,针对图像的像素矩阵,卷积就是用一个卷积核来逐行逐列地扫描像素矩阵,并与像素矩阵中的元素相乘,由此得到新的像素矩阵,这个过程称为卷积。

进行卷积时张量X的维度和卷积核K的维度保持一致,一维张量可表示为向量(有数字组成的数组)、二维张量可表示为矩阵(由向量组成的数组)、三维与更高维的张量可表示为由多个矩阵组成的数组。

卷积运算有3种类型:full卷积、same卷积、valid卷积。

卷积的形式只有same和valid两种。

full卷积的计算过程:K在X上按照先行后列的顺序移动,对应位置元素相乘,最后求和,只要像素矩阵与卷积核元素有一个位置重叠就要计算,并将落在像素矩阵外的元素全部视为0。

same卷积:首先需要为K指定一个起始点,然后将起始点按照先行后列的顺序移动到X的每一个位置处,对应位置的值相乘然后求和。

假设卷积核K的高等于H,宽等于W,起始点的位置可以用如下方式进行确立:

valid卷积(卷积核K没有延伸到X以外的情况):它只考虑X能完全被K覆盖的情况。

以上的例子都是属于单通道卷积。

 但是在实际的生活当中,更为常见的是多通道卷积,如彩色图像,它是3通道的像素矩阵。

深度数等于通道数等于卷积核数:黑白图像则深度为1,因为只有一个通道;彩色图像则深度为3,因为有3个通道。

以下均用valid卷积:

基本的多通道卷积如下:

3行3列2深度的三维张量X与2行2列2深度的三维卷积核K

单个张量与多个卷积核的卷积如下:

多个张量与多个卷积核的卷积如下:

 在每一通道上分别卷积如下:

 将张量与卷积核对应的每一层进行线性运算,但是不将每一层的结果相加。

单个张量与多个卷积核在通道上分别卷积如下:

池化

池化操作是对卷积得到的结果进一步处理,它是将平面内某一位置及其相邻的位置的特征值进行统计汇总,并将汇总后的结果作为这一位置在该平面内的值输出。例如,池化将输入张量每一个位置的矩形区域内的最大值或者平均值作为该位置的输出值,如果取的是最大值,则称最大值池化,如果是平均值,则称为平均值池化。池化操作在图像处理中类似减少样本量的操作。

same池化分为same最大值池化和same平均值池化。

same最大值池化:

与same卷积的操作类似,same最大值池化也需要指定起始点,改起始点位置的设置和same卷积时对起始点位置的设置类似。假设池化窗口的高等于H,宽等于W,则起始点位置确定规则如下:

3行3列1深度的三维张量X和2行2列1深度的三维池化窗口K (在阴影处找最大值)

多通道张量的same的最大值池化:

3行3列2深度的三维张量和2行2列2深度的池化窗口,沿行沿列的移动步长均为2

多个张量的same最大值池化:

same的平均值池化与same的最大值池化类似,只需将最大值变为平均值即可。

valid池化包括valid最大值池化和valid平均值池化。与same池化不同,valid的池化窗口只在张量内移动,其他方面都跟same池化类似。

 

 

 

 

 

 

 

 

 

posted on 2023-04-26 22:19  榫ning  阅读(299)  评论(1编辑  收藏  举报