caffe 并行分类任务loss差距很大,求解?

大家好!我现在在处理一个分类任务,网络结构是参考alexnet修改的,大致是在conv5之后引出两个分支,一个用来训练大分类,一个用来小分类,之前的层次共享。后期会有合并的过程。现在有以下问题:
1、网络结构已经改变,此任务是否可以调用原始的alexnet进行fine-tuning?
2、按照fine-tuning进行,lr设置为0.001,发现训练集上大类lossD下降非常快,小类lossX几乎不变4左右。且测试集两个loss均为4左右。这是出现了过拟合的现象??
3、未fine-tuning时情况类似,不明白为什么会两个分支差距这么大
请各位大神能够给指点一下,先谢谢啦!
______________________________________
后期我想做的一个问题是:样本输入进来,可以同时得到它从属的大类和小类,并且大类和小类之间存在某种映射关系(例如层次关系),这种映射loss又该如何衡量呢,是从loss上改进,还是该设置成多标签(大类、小类label)问题呢??麻烦了解的给点建议
已邀请:

alex68 - 一般不扯淡~

赞同来自: pakchoi

1. 可以;
2. 不知道你具体的网络结构是怎样的,你的两个loss是同时训的还是合并到了一起

naisubing

赞同来自:

1.fine-tuning没毛病
2.要看你具体的数据集是不是跟alxenet比较像,如果是学习率设置小点没问题,如果差距很大还是跟原论文里一样吧0.01,这个其实完全可以多跑几组试试。
3.既然是两个分支,loss是怎么设计的,如果大类的梯度范围是-100~100,而小类是-1~1,而又没有做归一化处理的话,等于小类没训练
4.觉得没有必要做大类的分支,大类分支完全可以用小类分支的求和表示,为什么要单独训一个分支出来。
 

要回复问题请先登录注册