模型不收敛的原因有很多,有的很明显,例如,学习率太小导致收敛慢、学习率太大导致震荡、数据没有归一化、没有Batch Normalization导致梯度消失或爆炸等。
但有些就比较隐晦、难以发现。
比如今天首先登场的数据洗牌(data shuffling)。
数据洗牌就是随机打乱训练数据顺序。
来看一个例子。
考虑使用小批量梯度下降训练一个分类模型,小批量梯度下降就是每次仅使用部分数据来计算梯度、更新参数。
现在分别训练两个模型,一个按照标签值进行排序,另一个随机打乱。
模型不收敛的原因有很多,有的很明显,例如,学习率太小导致收敛慢、学习率太大导致震荡、数据没有归一化、没有Batch Normalization导致梯度消失或爆炸等。
但有些就比较隐晦、难以发现。
比如今天首先登场的数据洗牌(data shuffling)。
数据洗牌就是随机打乱训练数据顺序。
来看一个例子。
考虑使用小批量梯度下降训练一个分类模型,小批量梯度下降就是每次仅使用部分数据来计算梯度、更新参数。
现在分别训练两个模型,一个按照标签值进行排序,另一个随机打乱。