CNN——用来处理图像问题

CNN(Convolutional Neural Network)卷积神经网络

一、引入

   解决图像分类问题,假设图像是固定大小的,并且是一个Tensor(张量:超过二维的矩阵),我们考虑将这个Tensor变为一个多维向量作为网络的输入,同时使用全连接的方式,这样的结果是参数会非常的多,从而产生过拟合的情况。
   这个时候,就要根据图像的特性去对网络进行调整,人类识别物体时大多数情况是根据物体特征来判断的,根据这种的特点,我们可以考虑让一个神经元来处理一个特定的部分(Receptive field),但是这个特定部分可以被多个神经元处理。
   程序处理问题,一般都是规规矩矩的,按照某种特定预设模式,所以对于Receptive field的选择也是根据某种策略,一般是通过kernal size的设置,stride的设置和padding的设置。
   为了更加减少参数的数量,可以通过共享参数来实现,共享参数实际就是用一个filter扫过整张图片,这个过程就叫做卷积。
   Pooling——在卷积后的tensor上根据某些规则在卷积核的范围内选出一个代表。
请添加图片描述    filter的高度就是上一层的channels的数目    网络越深,同样大小的卷积核可以侦测到的图像范围也就越大 在这里插入图片描述

二、CNN做影像识别的过程

在这里插入图片描述
Flatten:将张量拉直成向量

思考

1、为什么参数越多,就会过拟合?
2、如何划分Receptive field会更好?
答:一般用正方形,kernal size一般为3*3,一般使用64或128个神经元去连接。
3、那么使用Receptive field和参数共享,参数数量减少,模型弹性下降,会不会出现覆盖不到最优的情况?
答:CNN就是根据图像的特点进行设计的,所以即使参数很少也能表现的不错,但是放到其他应用场景可能就不太行。
4、难道RGB三个通道之间是没关系的吗?
5、Pooling起什么作用有什么好处?
答:我觉得使用了pooling会使一个卷积核可以侦测到更大的的范围,看的更广了,同时可以减少convolution的次数,但是使用了pooling会使得侦测细节的能力降低。
6、softmax是干嘛的?
答:输出节点的输出值范围映射到[0, 1],并且约束各个输出节点的输出值的和为1的函数
7、卷积的次数是有限的,如果图片比较小,那么卷积的次数不就也非常小?这样会不会影响结果?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值