我正在进行纹理分类,并且基于以前的工作,我试图修改AlexNET的最后一层有20个类,并且只为我的多类分类问题训练该层。 我在Ubuntu 16.04上的NVIDIA GTX 1080,Python3.6上使用Tensorflow-GPU。 我正在使用Gradient Descent Optimiser和Estimator类来构建它。我也使用两个dropout层进行正则化。因此,我的超参数是学习率,batch_size和weight_decay。我尝试使用50,100,200的batch_size,0.005和0.0005的weight_decays,以及1e-3,1e-4和1e-5的学习率。上述值的所有训练损失曲线都遵循类似的趋势。
我的训练损失曲线没有单调减少,反而似乎在振荡。我已经为学习率= 1e-5,权重衰减= 0.0005和batch_size = 200提供了张量板可视化。
请协助了解哪里出了问题以及如何纠正错误。 The Tensorboard Visualization for the case I specified
<mat-form-field>
<input type="hidden" [matDatepicker]="myDate">
<input matInput placeholder="My date" [(ngModel)]="myModel.MyDateString">
<mat-datepicker-toggle matSuffix [for]="myDate"></mat-datepicker-toggle>
<mat-datepicker #myDate (selectedChanged)="updateDateToString($event)"></mat-datepicker>
</mat-form-field>
答案 0 :(得分:1)
您是在随机选择迷你批次吗?看起来你的迷你批次之间存在很大的差异,导致不同迭代时损失的高度变化。 我假设你的图中的x轴是迭代而不是时代,并且每次约160次迭代提供的训练数据更难以预测,这会导致损失曲线的周期性下降。您的验证损失如何表现?
可能的解决方案/想法: