码迷,mamicode.com
首页 > 其他好文 > 详细

卷积神经网络经验-CS231n笔记

时间:2017-08-24 21:36:40      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:batch   滤波器   padding   stride   pool   lin   带来   size   layer   

课程note中讲了一些工程经验,感觉很有用,记下来供自己以后查阅

  • 相比于大的滤波器,小滤波器更受青睐。小滤波器参数更少、计算量更小、能够表达更多的特征,做反向传播时需要的内存更少。
  • 通常不会考虑创建一个新的网络结构。一般都会找一些在ImageNet上有较好表现的预训练网络,下载下来然后做finetune
  • input layer通常是2的倍数,比如32(CIFAR-10),96(STL-10)
  • conv layer通常使用小滤波器(3x3 或 5x5),stride=1,做padding保证卷积层不会改变输入的维数
  • 如果必须使用大的滤波器(7x7),就在第一层使用,输入为原图像。
  • pooling layer通常使用2x2 max-pooling with stride=2或者不常用的3x3 with stride =2
  • 大于3的pooling几乎不会做,因为会带来很大的信息损失,进而网络结构表示很差。
  • 为什么通常stride=1,因为实际中小的stride的效果更好,而且可以把down-sampling交给pooling层,conv层只做输入的体积转换
  • 为了减少内存限制,通常对网络进行压缩。一般在第一个卷积层执行,比如ZF net 使用了7x7滤波器 stride=2,AlexNet使用了11x11 滤波器 stride =4
  • 通常如果GPU内存不够的话,可以考虑减小batch size,因为大多数内存消耗都是由activation layers造成的。

卷积神经网络经验-CS231n笔记

标签:batch   滤波器   padding   stride   pool   lin   带来   size   layer   

原文地址:http://www.cnblogs.com/jacklu/p/7424948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!