CNN笔记(CS231N)——卷积神经网络(Convolutional Neural Networks)

卷积神经网络

如今卷积神经网络已经应用到生活的方方面面

我们上次讲了全连接层,全连接层一般作为卷积神经网络的最后一层

卷积层

下面我们来看卷积神经网络中最常用的结构:卷积层。由于输入图片的像素很多,如果我们将每个像素进行全连接的话那我们需要学习十分多的权重,这样不仅需要非常多的训练数据,还可能出现过拟合的问题。因此我们采用的结构是定义一个卷积核,让这个卷积核在图片上进行卷积操作(即让这个核函数在图片上滑动,对卷积窗口对应的原图像素值加权相加,这个权重就是我们需要学习的参数)。需要注意的是图像有三个通道,我们在做卷积操作的时候是定义一个三维的卷积核来将这三个通道的像素值都包含进来进行加权。

当我们卷积操作结束以后我们就得到了一个二维的激活图(activation map),一个核函数对应了一个激活图,表示这个核函数在图中寻找一个特定的特性。因此我们需要很多的核函数来寻找图中不同的特征,我们输出的深度与核函数的个数相同

卷积神经网络就是由这样一层又一层的卷积层叠加而成的

我们查看一个具体网络训练出来的权重结果,我们记得之前在全连接网络中学习到的权重对应的是某个类的一个模板,在卷积神经网络中权重代表着图片的一种特征,那么神经网络浅层对应的就是一些低阶特征(例如边、角),深层网络对应的是高阶特90征(例如一些特殊的形状),因为深层网络将低层网络的特征整合起来,例如将边与角整合起来就能学习到一些形状例如矩形或者圆形

下图是不同核函数与原图卷积得出的激励图,从这个图中我们可以更加明显的看出不同的权重在寻找图中不同的特征

需要注意的是不同的步长和核函数的大小会导致不同的激励图大小

如果不采用任何措施,这样导致的后果就是激励图越来越小,这样在深层网络中特征最终就会消失。因此在实践中我们经常采用zero padding的方法保证输入输出大小相同

以下是对这些参数的一个总结

这种卷积的形式与大脑中神经元的行为非常类似,我们把卷积核的大小也叫作这个神经元的接收域

池化层

在我们得到卷积层输出以后,为了减小运算量,我们常采用池化层的方法来减小特征的维度,池化层实际上就是对图像进行一次下采样

最常用的池化操作是最大池化

下面是一个卷积神经网络的例子,当我们经过几次卷积层+池化层以后我们得到了高维的特征,在最后一层我们不再对其进行卷积操作,而是将所有像素进行全连接操作,再利用ReLU函数处理,得到各个分类的输出值

以下就是对神经网络的总结

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值