目录
darknet框架基于resnet34模型训练OCT图片,我们发现:
1.darknet+adam+图像预处理(不用crop)会出现损失值损失值不下降的问题。
2.darknet训练效果远不如pytorch,具体分析见为什么相同图片相同模型,pytorch与darknet结果大不相同?
本文主要分析损失值不下去的原因:
1.背景介绍
在使用darknet模型resnet训练OCT图片时,准确率下不去。先看看我的训练效果:
2.图像特征及图像预处理
图:水平翻转效果
orig是OCT原始图片,crop是水平翻转后的效果
图:垂直翻转效果
在本项目中,由于图像的特殊性,只进行水平翻转和垂直翻转。
可是遇到的问题,损失值几乎不变,给我的感觉是权重并没有更新。
3.如何解决
首先翻阅了吴恩达的《机器学习训练秘笈》,查找我们这种情况的解决方案,我们看看吴恩达老师是怎么说的:
总结一句话,就是使用更复杂的网络结构,但是我们使用的模型resnet34已经很复杂了,所以可以猜想到的原因:
1.权重没有更新,训练的方法有问题或者学习率太小
2.darknet官网的权重并没有得到充分训练。
参考学界 | Andrej Karpathy:你为什么应该理解反向传播,可以看出这是一个梯度消失问题。
查阅斯坦福CS231n讲解内容:
斯坦福cs231n学习笔记(7)------神经网络训练细节(激活函数)
斯坦福cs231n学习笔记(8)------神经网络训练细节(数据预处理、权重初始化)
https://zhuanlan.zhihu.com/p/73687804
斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时10