首页 > 编程知识 正文

卷积神经网络池化层误差,卷积层和池化层的作用

时间:2023-05-04 12:55:17 阅读:132922 作者:129

全连接层到底有什么用?

链接地址: https://www.zhi Hu.com/question/41037974/answer/150522307

全连通层(fully connected layers,FC )在整个卷积神经网络中充当“分类器”。 如果卷积层、池层、激活函数层等操作是将原始数据映射到隐层特征空间,则全连通层起到将学习到的“分布式特征表示”映射到样本标记空间的作用。 在实际使用中,全连接层可以通过卷积操作实现。 与前层为全连接的全连接层,卷积核可以变换为1x1的卷积; 而前层为卷积层的全连接层可以转化为卷积核为hxw的全局卷积,h和w分别为前层卷积结果的高度和宽度(注1)。 由于当前所有连接层参数都是冗馀的,因此最近诸如ResNet和GoogLeNet之类的高性能网络模型不再是FC而是全局平均池化, 利用GAP )融合学习的深度特征,最后将softmax等损失函数作为网络目标函数来指导学习,但是使用GAP而不是FC的网络通常预测性能较高。 有关具体情况,请参阅ECCV'16 (视频)表象性格分析竞赛中获胜的做法。 “冠军之路”apparent个人分析竞赛经验分享-知识专栏项目: deepbimodalregressionforapparentpersonalityanalysis,其中FC 假设我们最近的研究(indefenseoffullyconnectedlayersinvisualrepreect,具体而言,是在ImageNet中预先训练的模型),则ImageNet将访问源域(迁移学习中的sourcent 精细调整是深度学习领域最常用的迁移学习技术。 在微调的情况下,如果目标域的图像和源域的图像差异很大(例如,与ImageNet相比,目标域的图像是风景照片而不是以物体为中心的图像)。 参照下图) ) ) ) ) ) ) )不包含FC的网络的微调结果会比包含FC的网络差。 因此,FC可以被视为模型表示能力的“防火墙”,尤其是在源域和目标域之间的差异较大的情况下,FC可以保持较大的模型容量以确保模型表示能力的转移。 (冗馀参数并非一无是处。 )

关于注1:卷积操作“实现”全连接层,需要再罗嗦一点。

以VGG-16为例,对于224x224x3输入,最后一层卷积能够得到7x7x512的输出,而如果后者层是包含4096个神经元的FC,则该全连接运算过程能够在卷积核为7x7x512x4096的全局迭代中实现该卷积核参数如下。

"过滤器尺寸=7,填充=0,stride=1,D_in=512,D_out=4096 "

经过该卷积操作获得的输出为1x1x4096。

如果要再次重叠2048个FC,可以设置参数“filter size=1,padding=0,stride=1,D_in=4096,D_out=2048”的卷积层操作。

来自: https://www.cn blogs.com/jyxbk/p/7879834.html

关于“卷积”(Convolution )卷积层,首先来看看什么是卷积操作。 下图中的大网格表示图像,颜色填充的网格表示卷积核,卷积核的大小为3*3。 表示执行步长为1的卷积操作时,卷积内核将向右移动一个像素。 移动到边界时返回左端,下移1个单位。 卷积核在每个单元内有权重,下图的卷积核内有9个权重。 在卷积内核移动的过程中将图像上的像素与卷积内核的相应权重相乘,最后将所有乘积相加得到一个输出。 下图经过卷积后为6*4的图。

了解卷积操作后,看看下卷层叠的特点。

局部感知

在以往的神经网络中,由于各神经元与图像上的各像素连接,权重变得庞大,网络训练变得困难。 另一方面,在包括卷积层的神经网络中,在每个神经元的权重的所有数目的情况下,卷积核的大小仅与对应图像部分的像素连接,即使没有神经元。 这样权重的数量大幅减少了。 也可以设置卷积操作的步长大小。 例如,如果将上图中的卷积操作的步长设置为3,则假设每次卷积时没有重叠区域。 在超出边界的部分添加自定义值。 局部感觉如下图所示。

ps:使用局部感知的原因在于,通常认为图像中距离近的部分相关性大,而距离远的部分相关性小。 卷积操作中步长的设定对应于距离的远近。 但是,步骤设置没有值,需要用户尝试。

参数共享

在介绍参数共享之前,应该知道卷积核的权重是通过学习获得的,卷积过程中卷积核的权重不变。 这就是参数共享的思想。 这表明我们在一个卷积核的操作中提取了原图的不同位置

的同样特征。简单来说就是在一幅图片中的不同位置的相同目标,它们的特征是基本相同的。其过程如下图:

多核卷积

如权值共享的部分所说我们用一个卷积核操作只能得到一部分特征可能获取不到全部特征,这么一来我们就引入了多核卷积。用每个卷积核来学习不同的特征(每个卷积核学习到不同的权重)来提取原图特征。

上图的图片经过三个卷积核的卷积操作得到三个特征图。需要注意的是,在多核卷积的过程中每个卷积核的大小应该是相同的。

 

 

2、下采样层(Down—pooling)

下采样层也叫池化层,其具体操作与卷基层的操作基本相同,只不过下采样的卷积核为只取对应位置的最大值、平均值等(最大池化、平均池化),并且不经过反向传播的修改。

 

 

个人理解之所以要加下采样的原因是可以忽略目标的倾斜、旋转之类的相对位置的变化。以此提高精度,同时降低了特征图的维度并且已定成度上可以避免过拟合。

 

 

池化层的作用

来自链接:https://www.zhihu.com/question/36686900/answer/130890492

 

1. invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)
2. 保留主要的特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型泛化能力

(1) translation invariance:
这里举一个直观的例子(数字识别),假设有一个16x16的图片,里面有个数字1,我们需要识别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是图1和图2经过max pooling之后它们都变成了相同的8x8特征矩阵,主要的特征我们捕获到了,同时又将问题的规模从16x16降到了8x8,而且具有平移不变性的特点。图中的a(或b)表示,在原始图片中的这些a(或b)位置,最终都会映射到相同的位置。

(2) rotation invariance:
下图表示汉字“一”的识别,第一张相对于x轴有倾斜角,第二张是平行于x轴,两张图片相当于做了旋转,经过多次max pooling后具有相同的特征

(3) scale invariance:
下图表示数字“0”的识别,第一张的“0”比较大,第二张的“0”进行了较小,相当于作了缩放,同样地,经过多次max pooling后具有相同的特征

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。