CNN学习笔记(1)
来源:互联网 发布:深圳虹云网络 编辑:程序博客网 时间:2024/05/16 09:44
1、网络的结构
网络的一般结构为:
INPUT -> [[CONV -> RELU]*N -> POOL?]*M -> [FC -> RELU]*K -> FC
INPUT:输入
CONV:卷积层
RELU:激活函数
POOL:池化层,这里的问号表示该层是可选的
FC:全连接层
N >= 0 (通常N <= 3), M >= 0, K >= 0 (通常 K < 3)
(1)尽量使用多层fliter尺寸小的卷积层代替一层filter较大的卷积层。
因为使用多层filter较小的卷积层所能观察到的区域大小和一层filter较大的卷积层是相同的,但是前者可以看到更加抽象的特征,提取的特征表达性能更佳。
此外,前者引入的参数规模相比后者更小。比如,使用3层filter为3X3的卷积层代替1层filter为7X7的卷积层,假设输入的volume为C个通道,则前者参数个数为3×(C×(3×3×C))=27C^2,而后者为C×(7×7×C)=49C^2,明显前者引入的参数更少。
(2)为什么使用padding?
使用padding的好处是使得卷积前后的图像尺寸保持相同,可以保持边界的信息。一般padding的大小为P=(F-1)/2,其中F为filter的尺寸。如果不使用paddding,则要仔细跟踪图像尺寸的变化,确保每一层filter和stride正确的被使用。
(3)为什么stride一般设为1?
stride设为1实际表现效果更好,将下采样的工作全部交给池化层。
(4)输入层(input layer)尺寸一般应该能被2整除很多次,比如32(CIFAR-10),64,96(STL-10),224(common ImageNet ConvNets),384和512。
(5)尽量使用filter较小(3x3 or 至多 5x5)的卷积层,如果要使用较大的filter(比如7x7),一般也只在第一个卷积层。
(6)有时候由于参数太多,内存限制,会在第一个卷积层使用较大filter(7x7)和stride(2)(参考 ZF Net),或者filter(11x11),stride(4)
- CNN学习笔记(1)
- CNN学习笔记1
- 卷积神经网络(cnn)学习笔记1:入门
- keras学习笔记(1)CNN网络
- keras学习笔记(1)CNN网络
- keras学习笔记(1)CNN网络
- 卷积神经网络(CNN)学习笔记
- Faster R-CNN学习笔记(RBK)
- 卷积神经网络(CNN)学习笔记
- tenforflow学习笔记(七):cnn
- tensorflow学习笔记(五):cnn
- 卷积神经网络(CNN)学习笔记
- CNN学习笔记
- CNN学习笔记
- CNN学习笔记
- R-CNN学习笔记
- R-CNN学习笔记
- cnn 学习笔记 2
- Android Json数据解析的四种方式
- Java异常处理
- SAP MM模块常用表总结
- python核心编程:windows环境下,利用CGIHTTPServer简单网页搭建
- 控件注册
- CNN学习笔记(1)
- XML常见问题总结
- 13 笛卡尔积(CARTESIAN)--优化主题系列
- 练习 5:Bash:环境变量,env,set,export
- 数据库设计三大范式
- 深度压缩技术总结(未完待续.....)
- MATLAB中去除重复的行
- (七)控制语句
- Java中switch语句中变量类型