深度学习: 网络超参数设定

Introduction

网络超参数包括:
输入图像像素、卷积层参数、池化层参数。

输入图像像素

应事先将图像统一压缩至 2n 2 n 大小。

好处:

  • 同规格输入 才能得到 同规格输出;
  • 防止无法输入全连接层(因为全连接层的输入大小已经被提前写死了);
  • 便于多GPU并行。

卷积层参数

具体可查看TensorFlow中的API:tf.nn.conv2d

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)

卷积核大小 (kernel size)

有的说法是 “多用小卷积核替代大卷积核” ,仁者见仁智者见智吧。

小卷积核 大卷积核
优势 1.减少卷积参数总数;2.增强了网络容量和模型复杂度。 1.网络层数少;2.收敛快。
劣势 1.整个网络的总计算量增加(虽然对单个卷积层而言计算量不变,但卷积层数增加了,因此计算总量也就上去了); 2.增加了“梯度弥散”的风险(因为层数增加了)。

当 卷积核的横截面 与 输入图像的横截面 等大 时,卷积层 变成了 全连接层

卷积填充 (padding)

padding参数设置 含义
“SAME” 保证了 输入输出 的size一致
“VALID” 零填充,尊重原生计算结果

卷积步长 (stride)

卷积时在 图像每一维([batch, in_height, in_width, in_channels])的步长,这是一个一维的向量,长度4。

池化层参数

池化层的核一般也设置为 较小的size

常取的size值为 2×2 2 × 2 3×3 3 × 3

Note

  • pooling本质上是先划格子后微缩,并没有stride一说。如果非要有,那么stride=size。

[1] 解析卷积神经网络—深度学习实践手册
[2] tf.nn.conv2d
[3] 深度学习: pooling (池化 / 降采样)

你可能感兴趣的:(深度学习,深度学习)