我很乐意直接使用tensorflow(python)以及使用keras构建模型。到目前为止,我所构建的所有模型都是传统的直接处理,从输入图像到softmax输出。我真的很惊讶它是多么直白。
我现在想要训练分类和回归的模型。这个斯坦福CNN课程CS231n的第16张完全我想要做什么。我真的不清楚(实际上,我有NFI)如何分支张量流图,创建两个损失函数并正确地反向传播它们。
有人能指点我一个代码示例吗?非常感谢。
答案 0 :(得分:0)
回应评论中的问题:
我还没有解决这些问题,但是这里有一些一般性想法。
理想情况下,有利于回归的(共享)权重也应适用于分类。在这种情况下,loss_weights
无关紧要,因为两个损耗都应将权重推向相同的方向。您应该确保loss * loss_weight
的平均幅度大致相同,以使一次损失不会被完全忽略。
如果您发现头部在搏斗,即可以训练一个单独的回归模型,比与分类一起训练的精度高得多,则可以更早地分出头部(以便它们共享更少的权重,自己拥有更多的专业层)或只训练两个单独的模型。还有大量有关多任务训练的研究论文,它们使您可以分享更多的权重来完成不同的任务。