Tips and Tricks For CNN Structure
2016-05-29 23:31
232 查看
http://deeplearning.net/tutorial/lenet.html#tips-and-tricks
------------------------------------------------------------------------------------------------------------
翻译只是学习记录,轻喷。哪里不对还请指正。
==============================================================
[Tipand tricks]
参数选择
CNN结构加入了比标准的MLP更多的参数,所以训练时更需要技巧。除了调整学习率和正则化常数,以下几点也是调节CNN网络时需要注意的。
滤波器的个数
当给每个层选择滤波器个数的时候,要知道计算一个卷积滤波器的激活元素要比传统的MLP话费更多时间。
假设 层包括了个特征图和个像素位置(位置数乘以特征图的个数),层有个滤波器,形状是。计算一个特征图(使用滤波核在图像上进行卷积)的消耗是。计算全部特征图再乘以。如果连接到上一层的特征不全在一个维度,那么会更复杂。
对于标准MLP,当有个神经元在层,只会消耗。这样一来,CNN结构使用的滤波器个数是否会比MLP的隐藏层的神经元取决于特征图(输入图片大小和滤波器形状)的大小。
特征图的大小随着网络深度减小,靠近输入层只有较少的滤波器,而高层会更多。事实上,给予每一层相同的计算,产生的特征数量和像素位置的数量基本上是相等的。为了保护输入数据的信息需要保证全部激活元素的个数(特征图乘以像素位置)在层与层的传递中减小损失(当然我们希望在监督学习时尽量减小)。特征图的数量直接决定网络的能力,同时依靠于有效样本的个数和任务的复杂度。
滤波器形状
通常滤波器的形状在论文中都各式各样,一般取决于数据集。第一层使用5x5的滤波核在MNIST数据集(28x28)上取得了最好效果。然而自然界图像数据集第一层更倾向于使用大尺寸例如12x12、15x15。
这个技巧可以归结于找到一个好的粒度(滤波器形状),为某一个数据集在适当尺度创建一个抽象描述。
最大池化形状
典型的形状是2x2或者没有。大尺寸的图像在低层推荐使用4x4的池化。但需要注意,这样会降低信号的维数到1/16,会导致丢失太多信息。
------------------------------------------------------------------------------------------------------------
翻译只是学习记录,轻喷。哪里不对还请指正。
==============================================================
[Tipand tricks]
参数选择
CNN结构加入了比标准的MLP更多的参数,所以训练时更需要技巧。除了调整学习率和正则化常数,以下几点也是调节CNN网络时需要注意的。
滤波器的个数
当给每个层选择滤波器个数的时候,要知道计算一个卷积滤波器的激活元素要比传统的MLP话费更多时间。
假设 层包括了个特征图和个像素位置(位置数乘以特征图的个数),层有个滤波器,形状是。计算一个特征图(使用滤波核在图像上进行卷积)的消耗是。计算全部特征图再乘以。如果连接到上一层的特征不全在一个维度,那么会更复杂。
对于标准MLP,当有个神经元在层,只会消耗。这样一来,CNN结构使用的滤波器个数是否会比MLP的隐藏层的神经元取决于特征图(输入图片大小和滤波器形状)的大小。
特征图的大小随着网络深度减小,靠近输入层只有较少的滤波器,而高层会更多。事实上,给予每一层相同的计算,产生的特征数量和像素位置的数量基本上是相等的。为了保护输入数据的信息需要保证全部激活元素的个数(特征图乘以像素位置)在层与层的传递中减小损失(当然我们希望在监督学习时尽量减小)。特征图的数量直接决定网络的能力,同时依靠于有效样本的个数和任务的复杂度。
滤波器形状
通常滤波器的形状在论文中都各式各样,一般取决于数据集。第一层使用5x5的滤波核在MNIST数据集(28x28)上取得了最好效果。然而自然界图像数据集第一层更倾向于使用大尺寸例如12x12、15x15。
这个技巧可以归结于找到一个好的粒度(滤波器形状),为某一个数据集在适当尺度创建一个抽象描述。
最大池化形状
典型的形状是2x2或者没有。大尺寸的图像在低层推荐使用4x4的池化。但需要注意,这样会降低信号的维数到1/16,会导致丢失太多信息。
相关文章推荐
- 11
- 【linux】浅谈Linux下的 find 指令
- 矩阵的压缩存储
- 矩阵的压缩存储
- Html学习(4)- 表格标签
- Bootstrap-表格合并单元格
- 配置 OpenStack Eclipse开发环境 - 远程调试
- Spring MVC Beginner's Guide--应该看第二次
- YII2 - Yii 2 控制器不能包含大写字母的Bug
- YII2 - Yii 2 控制器不能包含大写字母的Bug
- c++ 基础知识整理(三)
- 软件工程(二十三)
- 妈妈再也不用担心我喝汽水了。
- python challenge 7-12关 攻略
- Spark 入门实战之最好的实例
- 强悍的命令 —— mv
- POJ3321 线段树水题
- Java RMI 入门指南 转自 http://www.blogjava.net/zhenyu33154/articles/320245.html
- java/android 设计模式学习笔记(5)---对象池模式
- WEB开发的套路——记录的更新