I 总体来说,深度学习分三步:

定义方法(网络结构)、选择损失函数、挑选出最佳的优化方法。
II 训练DNN的技巧

1. 没有办法得到很好的训练结果 --- 重新选择训练方式
2. 没有办法得到很好的测试结果 --- 往往由于过度拟合导致,需要重新定义方法(网络结构)

优化训练方法的手段:
1. 选择合适的Loss function:使用Cross Entropy效果要优于Mean Square Error
2. Mini-batch: 每次训练使用少量数据而不是全量数据效率更高
3. Activation Function:使用ReLU替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络
4. Adaptive Learning Rate:可以随着迭代不断自我调整,提高学习效率 (Adagrad算法)
5. Momentum: 可以一定程度上避免陷入局部最低点的问题。

避免过度拟合(overfitting)的方法:
1. Early Stopping:使用cross validation的方式,不断对validation data进行检验,一旦发现预测精度下降则停止。
2. Weight Decay:参数正则化的一种方式?
3. Dropout:通过随机去掉一些节点的连接达到改变网络形式,所以会产生出多种网络形态,然后汇集得到一个最佳结果
4. Network Structure: 例如CNN等其他形态的网络。
III神经网络变体
CNN
RNN
LSTM
GRU
等等
总的结构:

网友评论