神经网络训练基础:收敛、检查点、提前停止与超参数调优
1. 收敛
早期人们认为,向模型输入训练数据的次数越多,模型的准确率就越高。但对于大型复杂网络,在某个节点后,准确率会下降。如今,我们会根据模型在应用中的使用方式,寻找可接受的局部最优收敛点。
如果对神经网络进行过度训练,可能会出现以下情况:
- 神经网络对训练数据过拟合,训练数据的准确率不断提高,但测试数据的准确率下降。
- 在深度神经网络中,各层的学习方式不一致,收敛速度不同。当某些层接近收敛时,其他层可能已经收敛并开始发散。
- 持续训练可能使神经网络跳出一个局部最优解,开始收敛到一个准确率更低的局部最优解。
理想的收敛情况是,在训练初期损失快速下降,随着训练接近(近似)最优值,损失下降速度减慢,最终趋于平稳。
下面使用TF.Keras中的简单ConvNet模型和CIFAR - 10数据集来演示收敛和发散的概念:
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D
from tensorflow.keras.layers import Dropout, Flatten, Dense
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.utils import to_categorical
import numpy as np
(x_train, y_train), (
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



