cs231n链接:http://cs231n.github.io/neural-networks-2/
激活函数
学习率和学习率衰减
epoch和batch_size
优化器
损失函数
dropout
dropout详解引用:https://blog.csdn.net/program_developer/article/details/80737724
- 训练时:设置保留当前神经元的概率为p,前向传播时每一个神经元按p概率保留(保留时权重乘上1/p)或 暂时删除;然后进行反向传播更新每一个参数(暂时删除的神经元不更新),然后恢复暂时删除的神经元;每次输入训练都重复更新上述过程。
注:乘上1/p的理解——inverted dropout:用了drop的输出期望为E(x) = (1-p)(x/(1-p)) + p * 0 = x,保持其仍然为x。 - 测试时:忽略dropout,正常测试
思考如何解决过拟合:
1、带dropout的网络就如同很多不同神经网络取平均,不同的网络产生不同的过拟合,一些互为“反向”的拟合相互抵消就可以达到整体上减少过拟合;
2、减少神经元之间复杂的共适应关系,网络不应该对一些特定的线索片段太过敏感,即使丢失了特定线索,也可以从其他众多线索中学习一些共同特征;
3、这种防止过拟合的办法类似于生物的突变避免环境改变时可能面临的灭绝。