浅 CNN 中激活函数选择、 kernel大小以及channel数量

Activation function

当用经典的 LeNet 进行 MNIST 识别训练时,我发现将 sigmoid 函数改为 ReLu,同时降低学习率(防止 dying neurons)并没能加快 SGD 收敛,反而使得 accuracy 的提升变得非常缓慢。所以这样看来,当 CNN 没有深到极易发生 gradient vanishing 时,sigmoid 或者 tanh 依然是首选。

Kernel size

关注的 feature 比较细微时宜用小 kernel,反之 kernel 尺寸可以大一些。在这个实验中,采用 5x5 的 kernel 效果要比 3x3 的要差。

Channel number

最让我意外的就是 channel 数量对训练结果的影响。我之前一直以为提升 channel 数量可以获得图像中更多模式信息,从而提高模型效果。也就是觉得 channel 越多越好。但是这个实验中我把每层的 channel 数都提高了一倍,accuracy 却大幅降低。可见神经网络设计还是要具体问题具体分析。。。

你可能感兴趣的:(Machine,Learning)