1. 深度学习流程简介
1)一次性设置(One time setup)
- 激活函数(Activation functions)
- 数据预处理(Data Preprocessing)
- 权重初始化(Weight Initialization)
- 正则化(Regularization:避免过拟合的一种技术)
- 梯度检查(Gradient checking)
2)动态训练(Training dynamics)
- 跟踪学习过程 (Babysitting the learning process)
- 参数更新 (Parameter updates)
- 超级参数优化(Hyperparameter optimization)
- 批量归一化(BN:Batch Normalization:解决在训练过程中,中间层数据分布发生改变的问题,以防止梯度消失或爆炸、加快训练速度)
3)评估(Evaluation)
- 模型组合(Model ensembles)
(训练多个独立的模型,测试时,取这些模型结果的平均值)
神经网络学习过程本质就是为了:学习数据分布,一旦训练数据与测试数据的分布不同,那么网络的泛化能力也大大降低,所以需要使用输入数据归一化方法,使训练数据与测试数据的分布相同。
2. 激活函数(Activation Functions)
总结:
1)使用ReLU时,使Learning Rates尽量小
2)尝试使用Leaky ReLU/Maxout/ELU
3)可以使用tanh,但期望不要太高
4)不要使用sigmoid