1、激活函数的选择
relu出现dead Relu的情况原因:
1、权重初始化差
2、学习率太大
3、偏置初始化为0
实际,大部分选择RELU,但要小心学习率。尝试leaky relu/maxout/elu,尝试tanh,不要期望太多。很少选择sigmoid,因为它会出现饱和,然后梯度为0 。
2、数据预处理
1、零均值化,求训练数据的每一列的均值,然后训练和测试数据集减去均值
2、标准化和归一化,图像不太做归一化
3、权重初始化,有随机正太分布,我们一般选用Axiver初始化开始
4、BN批量归一化,改进梯度流,真则化的一部分
3、训练
开始训练最好先从小数据开始,,关闭正则化,观察能否把训练损失将为0
然后拿出所有数据,加上一个小的正则化,确定什么是最优学习率(cost一直不变化,就是学习率太小了)。如果损失函数不变,准确率上升可以。利用交叉验证。
问题:loss刚开始一段时间不变,后突然开始下降,原因就是初始值没有设好。
train-acc和val-acc两者差异大,说明产生了过拟合,可以加大正则化项
首席必须确定学习率,选择一个好的学习率,一般在le-3~5le-4取。Adam优化器很少用学习率衰减,带动量的学习率衰减很常见。
4、BN层详解