记录神经网络中一些小知识点

记录神经网络中一些小知识点

作者:xg123321123

出处:http://blog.csdn.net/xg123321123/article/details/52854883

声明:版权所有,转载请联系作者并注明出处

1 Caffe中的blob维度

  • Caffe中的blob具有4个维度,分别是num,channel,width和height;
  • 其中我们在定义各个网络层时,常用到的一个参数numout,就是指定的channel;
  • 比如说,维度为1*3*5*5的数据输入网络(即每次输入一张5*5大小的3通道图),经过一个stride为2,pad为1,kernel为2,numout为2的卷积层后,维度就变成了1*2*3*3;
    • 假如输入有n个通道,计算时,caffe就会对应产生n个filter来与之相乘,然后将得到的这n个乘积加起来,这个计算过程最后产生一个channel;
    • 假如输出的numout为m,就会有m个上述计算过程;
    • 可参考下图
  • 我们经常能看到在一些网络里,使用1*1kernel大小的卷积层来降维,就是这个原因;googlenet里也用来减少网络参数。
    这里写图片描述

2 1*1卷积核的作用

  • 实现跨通道的交互和信息整合。
    • CNN中的卷积大都是多通道的feature map和多通道的卷积核之间的操作(如上面第一点所说,输入多通道的feature map和对应数目的卷积核做卷积求和,然后输出1个通道的feature map);
    • 如果使用1x1的卷积核,这个操作实现的就是多个feature map的线性组合,可以实现feature map在通道个数上的变化;
    • 当接在普通的卷积层的后面,配合激活函数,就可以实现network in network的结构了。
  • 进行卷积核通道数的降维和升维。

    • GoogLeNet中,对于每一个Inception模块(如下图),原始模块是a图,b图中是加入了1×1卷积进行降维的。
    • 以GoogLeNet的3a模块为例,输入的feature map是28×28×192,3a模块中1×1卷积通道为64,3×3卷积通道为128,5×5卷积通道为32,如果是a图结构,那么卷积核参数为1×1×192×64+3×3×192×128+5×5×192×32,而b图对3×3和5×5卷积层前分别加入了通道数为96和16的1×1卷积层,这样卷积核参数就变成了1×1×192×64+(1×1×192×96+3×3×96×128)+(1×1×192×16+5×5×16×32),参数大约减少到原来的三分之一。
    • GoogLeNet利用1×1的卷积降维后,得到了更为紧凑的网络结构,虽然总共有22层,但是参数数量却只是8层的AlexNet的十二分之一(当然也有很大一部分原因是去掉了全连接层)。
      这里写图片描述
      这里写图片描述

    • ResNet同样也利用了1×1卷积,并且是在3×3卷积层的前后都使用了,不仅进行了降维,还进行了升维,使得卷积层的输入和输出的通道数都减小,参数数量进一步减少,如下图的结构。
      这里写图片描述

  • 另外,最近在Titan X上训练fcn,迭代了1500次后,内存就爆炸了。

    • 考虑应该是网络连接数太多了,将caffemodel保存下来,发现有1.2G;
    • finetuning时,如果载入的模型太大,可以考虑迭代小数目次数后,就存一下caffemodel,然后载入新保存的caffemodel来finetuning,因为weight也很耗显存,如果finetuning只利用到里面的几层,又载入了全卷积这些连接数庞大的层,不划算,故建议尽早重载model;
    • 打算尝试1*1卷积核,看能不能把网络连接数降到可接受范围内。

3 感受野计算

  • 感受野(receptive field)是卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。
  • 下图中,map 3里1x1的区域对应map 2的receptive field是那个红色的7x7的区域,而map 2里7x7的区域对应于map 1的receptive field是蓝色的11x11的区域,所以map 3里1x1的区域对应map 1的receptive field是蓝色的11x11的区域。
    这里写图片描述
  • 计算方式
    • 对于Convolution/Pooling layer:
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值