【发布时间】:2017-07-09 16:47:49
【问题描述】:
如果我在网络中定义多个损失层,是否会从这些末端到网络的开头发生多次反向传播?我的意思是,他们甚至是这样工作的吗?
假设我有这样的事情:
Layer1{
}
Layer2{
}
...
Layer_n{
}
Layer_cls1{
bottom:layer_n
top:cls1
}
Layer_cls_loss1{
type:some_loss
bottom:cls1
top:loss1
}
Layer_n1{
bottom:layer_n
..
}
Layer_n2{
}
...
layer_n3{
}
Layer_cls2{
bottom:layer_n3
top:cls2
}
Layer_cls_loss2{
type:some_loss
bottom:cls2
top:loss2
}
layer_n4{
bottom:layer_n3
..
}
...
layer_cls3End{
top:cls_end
bottom:...
}
loss{
bottom:cls_end
top:loss:
type: someloss
}
所以基本上假设我们不是每个网络都有一个分类/损失,而是介于两者之间。
如果它们起作用,我如何将所有损失加在一起,使我的最终损失成为所有先前损失的总和?
【问题讨论】:
标签: neural-network deep-learning caffe gradient-descent