AlexNet

我们使用迁移学习,基于ImageNet预训练模型将AlexNet在华为云垃圾分类数据集上跑到了 63%的 top 1 accuracy,已经达到原论文中 top 1 error 3.75%的水准,任务成功。

准确率:

acc{loading=lazy}

Loss:

loss{loading=lazy}

比较有趣的是学习率的设置,第一次迁移学习lr设置为5e-3,结果模型的准确率停留在 0.06,只有 6%的结果是正确的。训练到 200 epoch 是这样,估计再训练下去也不会有太大进展。将学习率调节为1e-5后得出以上结果,但看到到后期模型可能也出现了和第一次类似的问题(lr过大),所以找了文章学习更新权值的方案。

最后没有跑一遍validation,下次注意。

\[ \begin{aligned} v_{i+1} &:=0.9 \cdot v_{i}-0.0005 \cdot \epsilon \cdot w_{i}-\epsilon \cdot\left\langle\left.\frac{\partial L}{\partial w}\right|_{w_{i}}\right\rangle_{D_{i}} \\ w_{i+1} &:=w_{i}+v_{i+1} \end{aligned} \]

原文用了\(0.0005\)weight decay,当时没有Adam,所以用了\(0.9\)momentum

然后发现 Alexander 用的相同学习率。还是早期的神经网络呀。


感谢 SCU Maker 提供的 NVIDIA 2080 Ti GPU 支持。