学习过程的检查

2020-04-06  本文已影响0人  小猪吃土豆

(摘录源自:CS231n课程笔记

在训练神经网络的时候,应该跟踪多个重要数值。这些数值输出的图表是观察训练进程的一扇窗口,是直观理解不同的超参数设置效果的工具,从而知道如何修改超参数以获得更高效的学习过程。

损失函数

下图的左侧,绘制了不同学习大小可能出现的损失值曲线;

下图的右侧,显示了一个典型的随时间变化的损失函数值,在CIFAR-10数据集上面训练了一个小的网络,这个损失函数值曲线看起来比较合理(虽然可能学习率有点小,但是很难说),而且指出了批数据的数量可能有点太小(因为损失值的噪音很大)。
损失值的震荡程度和批尺寸(batch size)有关,当批尺寸为1,震荡会相对较大。当批尺寸就是整个数据集时震荡就会最小,因为每个梯度更新都是单调地优化损失函数(除非学习率设置得过高)。


损失值变化曲线

准确率

在训练分类器的时候,需要跟踪的第二重要的数值是验证集和训练集的准确率。
下图蓝色曲线能够展现模型过拟合的程度:

学习率曲线

———·———·———·———·———·———·———·———·———·———·——

(以下)暂未完全理解、体会的部分

———·———·———·———·———·———·———·———·———·———·——

权重更新比例

image.png

每层的激活数据及梯度分布

image.png

第一层可视化

image.png
上一篇 下一篇

猜你喜欢

热点阅读