前提・実現したいこと
chainerを使用して深層強化学習をしているのですが,平均二乗誤差を計算している箇所をhuber関数に変更したいのですが,huber_loss()を使用すると,戻り値が複数個の値が配列となっているので,エラーが出てしまいます.出てきた戻り値をどのように処理すれば正しく学習が出来るのか教えて頂けないでしょうか?
https://docs.chainer.org/en/latest/reference/generated/chainer.functions.huber_loss.html
のchainer.functions.huber_lossについて説明してあるものを読んだのですが,戻り値の意味や使い方が理解できませんでした.
変えようとしているコードは以下にあります.
平均二乗誤差のコード
loss = F.mean_squared_error(q, target) total_loss += loss.data loss.backward() optimizer.update()
Huber損失のソースコード
loss = F.huber_loss(q, target,delta=1.0, reduce='sum_along_second_axis') total_loss += loss.data loss.backward() optimizer.update()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。