卷积神经网络再理解

之前因为看过好几次卷积神经网络的视频,最近看了用pytorch搭建一个卷积神经网络的视频,又有了新的理解,所以将之前的知识点也捋一边

一、全连接神经网络的缺点

随着网络层数的增加,偏导连乘也就越多,付出的计算代价也就越大。
紧接着,一个网络层不单止一个神经元,它可能会有多个神经元,那么多个神经元的输出会作为下一级神经元的输入时,就会形成多个复杂的嵌套关系。
而且每一层网络都和相邻层全部连接。但是这样并没有考虑到图片中像素的空间分布,不管两个像素离的很近还是非常远都一视同仁,显然这样做是不合理的。

二、CNN卷积神经网络原理

与全连接神经网络的区别
1)总有只少一个的卷积层,用于特征的提取。
2)卷积层级之间的神经元是局部连接和权值共享的,这样的设计就可以解决全连接神经网络的缺点,减少参数的数量,加快了训练。

2.1输入层

输入有时需要进行预处理,看个人需要

2.2卷积层

卷积层就是去除信息的冗余,通俗一点来说就是压缩提纯。
在这里插入图片描述
卷积核通过与他所覆盖的蓝色矩阵的一部分进行卷积运算,然后把结果映射到绿色矩阵中去。
卷积层的输出变胖的原因:每个卷积层不单止一个卷积核,他可以是多个的。所以大家会看到输出的特征图在“变胖”。
在这里插入图片描述

2.3池化层

一般来说,卷积层后面都会加一个池化层,可以将它理解为对卷积层输出的特征图进一步特征抽样,主要分为两种:
最大池化(Max Pooling)和平均池化(Average Pooling)
在这里插入图片描述

2.4输出层

一般接全连接层+softmax层
softmax层:可以理解每一个节点输出一个概率,所有节点的概率加和等于1,这样就可以做分类。在这里插入图片描述

三、卷积神经网络的超参数设置

卷积核的权值W和偏置b可以根据高斯分布去设置
padding:
目的:1)就是为了保持边界信息,倘若不填充,边界信息被卷积核扫描的次数远比不是中间信息的扫描次数少,这样就降低了边界信息的参考价值。
2)有可能是输入图片的尺寸参差不齐,通过padding来使所有的输入图像尺寸一致,避免训练过程中没必要的错误。
在这里插入图片描述
stride步幅
定义:就是卷积核工作的时候,每次格子的数目,默认是1,但是也可以自己进行设置,步幅越大,扫描的次数就越少,得到的特征也就越“粗糙”。
设置:全靠自己尝试,怎么效果好怎么来

小结:
其实说了这么多,在pytorch或许tensorflow上也就几行代码的事,但是还是要知道里面的知识,便于更好的调参。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值