1
ネットワーク内に複数の損失層を定義すると、それらの端からネットワークの始めまでに複数の逆伝播が発生しますか?つまり、彼らはそのように働くのだろうか?Caffeのネットワークで複数の損失を被る可能性はありますか?
私はこのようなものがあるとします。
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
}
だから、基本的には代わりに、各ネットワークごとに1つの分類/損失を有するので、私たちは同様の間でいくつかを持っていると仮定します。
彼らが働いている場合、私はすべての損失を一緒に加えて、最終的な損失を以前の損失の合計にすることができますか?
ありがとうございます。いつものように助けてください:) この単純なフォームを脇に置いて、これらの損失を些細な式で累積する必要がある場合、どうすればいいですか?これをコード化しなければならないのですか、それとも通常の/ prototxtの方法で実現できますか? – Breeze
@Hossein "非自明の式"とはどういう意味ですか? – Shai
私は私の答えを見つけたと思います!損失についてもう一つ、heres。 最初の損失がレイヤ5で計算され、2番目の損失がレイヤ10で計算され、最後の損失がレイヤ15で計算されたとします。 これはどうなりますか? フローがレイヤー5に到達するとバックプロップが開始され、レイヤー5から最初のレイヤーにウェイトが更新されます。一方、フォワードプロップはレイヤー10に達するまで次のレイヤーに進み、レイヤー10に達するまで同じことが起こり、これはネットワーク最後の最後の最後の損失と最終的なバックプロップに達するまで続きます。 – Breeze