2021
07-12
07-12
关于keras多任务多loss回传的思考
如果有一个多任务多loss的网络,那么在训练时,loss是如何工作的呢?比如下面:model=Model(inputs=input,outputs=[y1,y2])l1=0.5l2=0.3model.compile(loss=[loss1,loss2],loss_weights=[l1,l2],...)其实我们最终得到的loss为final_loss=l1*loss1+l2*loss2我们最终的优化效果是最小化final_loss。问题来了,在训练过程中,是否loss2只更新得到y2的网络通路,还是loss2会更新所有的网络层呢?此问题的关...
继续阅读 >
记录一下:#Threelossfunctionscategory_predict1=Dense(100,activation='softmax',name='ctg_out_1')(Dropout(0.5)(feature1))category_predict2=Dense(100,activation='softmax',name='ctg_out_2')(Dropout(0.5)(feature2))dis=Lambda(eucl_dist,name='square')([feature1,feature2])judge=Dense(2,activation='softmax',name='bin_out')(dis)model=Model(inputs=[img1,img2],outputs=[category_pred...