监视器深学习培训进展

当你训练网络的深度学习,通常用于监控训练进度。通过培训期间绘制各种指标,你可以学习训练的进展情况。例如,你可以决定是否以及如何快速的网络精度提高,以及网络是否已经开始过度拟合训练数据。

当您指定“训练进度”作为“情节”价值trainingOptions并启动网络训练,trainNetwork创建一个数字并显示在每次迭代训练指标。每次迭代是梯度的估计和所述网络参数的更新。如果指定的验证数据trainingOptions,则该图所示的验证度量每次trainNetwork验证网络。该图绘制如下:

  • 训练精度- 在每个单独的小批量分类的准确性。

  • 平滑训练精度- 平滑训练精度,通过应用平滑算法来训练精度获得。它比未平滑的准确性噪音更小,更易于发现趋势。

  • 验证准确度- 在整个验证集分类准确性(指定使用trainingOptions)。

  • 培训损失平滑的培训损失验证损失-分别对每个小批量的损失,它的平滑版本,并在验证集的损失。如果您的网络的最后一层是classificationLayer,那么损失函数是交叉熵损失。有关损失函数用于分类和回归问题的详细信息,请参阅输出层

对于回归网络,该图绘出了根均方误差(RMSE)代替的准确性。

图中标记每个训练时代使用阴影的背景。一个划时代是一个完整的穿过整个数据集。

在训练过程中,你可以停止训练,并通过点击右上角的停止按钮返回网络的当前状态。例如,您可能希望在网络的准确率达到了高原停止训练,并很显然,精度不再提高。你点击停止按钮后,可能需要一段时间的训练来完成。一旦训练完成,trainNetwork返回训练的网络。

当训练结束,查看结果显示了最终验证准确性和训练完成的原因。最终验证指标标最后在该地块。如果您的网络中包含批标准化层,然后最终验证的指标往往是从训练过程中评估的验证指标不同。这是因为最终的网络中批标准化层比训练过程中执行不同的操作。

在右侧,查看有关训练时间和设置信息。要了解更多有关培训选择,请参阅设置参数和火车站卷积神经网络

绘制训练进程在训练

列车内的网络和训练中绘制训练进度。

装载训练数据,其中包含的数字5000张图片。设置网络验证图像的一边1000。

[XTrain,YTrain] = digitTrain4DArrayData;IDX = randperm(大小(XTrain,4),1000);XValidation = XTrain(:,:,:,IDX);XTrain(:,:,:,IDX)= [];YValidation = YTrain(IDX);YTrain(IDX)= [];

构建网络的数字图像数据进行分类。

层= [imageInputLayer([28 28 1])convolution2dLayer(3,8,'填充''相同')batchNormalizationLayer reluLayer maxPooling2dLayer(2,“跨越论”,2)convolution2dLayer(3,16,'填充''相同')batchNormalizationLayer reluLayer maxPooling2dLayer(2,“跨越论”,2)convolution2dLayer(3,32,'填充''相同')batchNormalizationLayer reluLayer fullyConnectedLayer(10)softmaxLayer classificationLayer];

指定网络培训选项。为了验证定期在网络训练过程中,指定验证数据。选择'ValidationFrequency'值,以使网络验证约每时期一次。要绘制训练期间训练进度,指定“训练进度”作为“情节”值。

选项= trainingOptions('SGDM'...'MaxEpochs'8,...'ValidationData'{XValidation,YValidation}...'ValidationFrequency'30,...“放牧”,假,...“情节”“训练进度”);

训练网络。

净= trainNetwork(XTrain,YTrain,层,选项);

也可以看看

|

相关话题