質問編集履歴

1

追記

2022/04/10 04:23

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- DNNの訓練は(mini)batchで行う場合、Tensorの機能を生かし、目標関数の誤差を簡単に(mini)batch毎に累積され、これを用いてDNNのパラメータのgradientを計算され、DNNのパラメータの更新に使われます。これは実装現状でわざわざgradientを累積計算を行う必要性はないですね❣
1
+ DNNの訓練は(mini)batchで行う場合、Tensorの機能を生かし、目標関数の誤差を簡単に(mini)batch毎に累積され、これを用いてDNNのパラメータのgradient値がされ、DNNのパラメータの更新に使われます。これは実装現状です。要はわざわざgradientを累積計算を行う必要性はないですね❣
2
2
  なので、毎回、loss.backward()を実行する直前にmodel.zero_grad()を実行するわけ。
3
- (loss.backward()は余計にgradientの累算をするので
3
+ (loss.backward()は余計にgradientの累算をするから
4
4
 
5
5
  ---
6
6
  上記と逆に、わざわざgradientを累積計算する必要あるケースを知りたいのです。