質問編集履歴

15

文字訂正

2022/04/10 03:25

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  具体に
9
9
  **方式1.**
10
- 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】,, loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
10
+ 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】,  loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
11
11
 
12
12
  💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgradient値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgradientを更新するのは自然。
13
13
 

14

文字修正

2022/04/10 03:24

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  具体に
9
9
  **方式1.**
10
- 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
10
+ 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】,, loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
11
11
 
12
12
  💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgradient値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgradientを更新するのは自然。
13
13
 

13

もじ訂正

2022/04/10 03:20

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -9,7 +9,7 @@
9
9
  **方式1.**
10
10
  訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
11
11
 
12
- 💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradient値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
12
+ 💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgradient値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgradientを更新するのは自然。
13
13
 
14
14
 
15
15
  **方式2.**

12

訂正

2022/04/10 03:17

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -9,7 +9,7 @@
9
9
  **方式1.**
10
10
  訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
11
11
 
12
- 💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradiet値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
12
+ 💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradient値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
13
13
 
14
14
 
15
15
  **方式2.**

11

修正

2022/04/10 03:15

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
 
15
15
  **方式2.**
16
- mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、NNの各parameterに対するgradientを計算し、loss.backward() callでNNの各parameterのgrad 変数に【加算】する。
16
+ mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、loss.backward() callでNNの各parameterに対するgradientを計算し、NNの各parameterのgrad 変数に【加算】する。
17
17
 
18
18
  =============
19
19
 

10

文字訂正

2022/04/10 03:14

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  具体に
9
9
  **方式1.**
10
- 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットる。
10
+ 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットされる。
11
11
 
12
12
  💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradiet値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
13
13
 

9

追加

2022/04/10 03:13

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
 
15
15
  **方式2.**
16
- mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、NNの各parameterに対するgradientを計算し、NNの各parameterのgrad 変数に【加算】する。
16
+ mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、NNの各parameterに対するgradientを計算し、loss.backward() callでNNの各parameterのgrad 変数に【加算】する。
17
17
 
18
18
  =============
19
19
 

8

調整

2022/04/10 03:09

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -7,8 +7,10 @@
7
7
 
8
8
  具体に
9
9
  **方式1.**
10
- 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
11
- 注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradiet値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
10
+ 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【💛注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
11
+
12
+ 💛注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradiet値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
13
+
12
14
 
13
15
  **方式2.**
14
16
  mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、NNの各parameterに対するgradientを計算し、NNの各parameterのgrad 変数に【加算】する。

7

文字

2022/04/10 02:37

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  具体に
9
9
  **方式1.**
10
- 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward~~()~~ callによって~~【注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
10
+ 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward() callによって~~【注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
11
11
  注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradiet値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
12
12
 
13
13
  **方式2.**

6

重要修正

2022/04/10 02:36

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -7,8 +7,8 @@
7
7
 
8
8
  具体に
9
9
  **方式1.**
10
- 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対してoptimizer.backward() callか, model.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
11
-
10
+ 訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対して~~optimizer.backward() callか, model.backward~~()~~ callによって~~【注】loss.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
11
+ 注:NN model 自体がNN parametersを保持しているはずだし、optimizer.step()の実行によって全NN parametersの更新もできるので、optimizerを通してもNN parametersのgaradiet値の更新もできるはずだが、やはりloss関数情報を持たないと行けないので、loss classでNN parametersのgaradietを更新するのは自然。
12
12
 
13
13
  **方式2.**
14
14
  mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、NNの各parameterに対するgradientを計算し、NNの各parameterのgrad 変数に【加算】する。

5

文字修正

2022/04/10 00:21

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  自分が深層学習の理論勉強段階にあって、実装に関してはまったく”文明未開”の状態で鬱陶しい毎日。
2
2
  例えば、
3
- mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の誤差累積を取るか、各NNのparamterが各サンプルデータ毎の目標関数誤差に対するgradientの累積を取るか**
3
+ mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の誤差累積を取るか、各NNのparamterが各サンプルデータ毎の目標関数誤差に対するgradientの累積を取るか**
4
4
  のいずれかで実現できると思いますが、
5
5
 
6
6
  実際どの方式で実現されるのでしょうか。

4

文字訂正

2022/04/09 23:29

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  自分が深層学習の理論勉強段階にあって、実装に関してはまったく”文明未開”の状態で鬱陶しい毎日。
2
2
  例えば、
3
- mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の”誤差累積”を取るか、各NNのparamter各サンプルデータの各自の目標関数誤差に対するgradientの累積を取るか**
3
+ mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の”誤差累積”を取るか、各NNのparamter各サンプルデータの目標関数誤差に対するgradientの累積を取るか**
4
4
  のいずれかで実現できると思いますが、
5
5
 
6
6
  実際どの方式で実現されるのでしょうか。

3

文字修正

2022/04/09 23:26

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  自分が深層学習の理論勉強段階にあって、実装に関してはまったく”文明未開”の状態で鬱陶しい毎日。
2
2
  例えば、
3
- mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の”誤差累積”を取るか、各NNのparamterの”非累積”の目標関数誤差に対するgradientの累積を取るか**
3
+ mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の”誤差累積”を取るか、各NNのparamterの各サンプルデータ各自の目標関数誤差に対するgradientの累積を取るか**
4
4
  のいずれかで実現できると思いますが、
5
5
 
6
6
  実際どの方式で実現されるのでしょうか。

2

訂正

2022/04/09 23:16

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  自分が深層学習の理論勉強段階にあって、実装に関してはまったく”文明未開”の状態で鬱陶しい毎日。
2
2
  例えば、
3
- mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の”誤差累積”か各NNのparamterの”非累積”の目標関数の誤差に対するgradientの累積か**
3
+ mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位で目標関数の”誤差累積”を取る各NNのparamterの”非累積”の目標関数の誤差に対するgradientの累積を取るか**
4
4
  のいずれかで実現できると思いますが、
5
5
 
6
6
  実際どの方式で実現されるのでしょうか。

1

説明補充

2022/04/09 23:14

投稿

insecticide
insecticide

スコア315

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,11 @@
1
1
  自分が深層学習の理論勉強段階にあって、実装に関してはまったく”文明未開”の状態で鬱陶しい毎日。
2
2
  例えば、
3
- mini batchでNNのparametersを更新するには2種類の方式で実現できと思いますが、
3
+ mini batchでNNのparametersを更新するには2種類の方式:**mini batch単位目標関数の”誤差累積”か各NNのparamterの”非累積”の目標関数の誤差に対すgradientの累積か**
4
+ のいずれかで実現できると思いますが、
5
+
4
6
  実際どの方式で実現されるのでしょうか。
5
7
 
8
+ 具体に
6
9
  **方式1.**
7
10
  訓練目標関数の誤差をmini batchで累算して、累算した目標関数の誤差に対してoptimizer.backward() callか, model.backward() callによってNNの各parameterのgradientが算出され、NNの各parameterのgrad 変数に【加算せず】セットする。
8
11
 
@@ -11,6 +14,12 @@
11
14
  mini batchの個々サンプルデータに関する訓練目標関数の誤差を算出して(累算せず)、NNの各parameterに対するgradientを計算し、NNの各parameterのgrad 変数に【加算】する。
12
15
 
13
16
  =============
17
+
18
+ 上記処理の後、optimizer.step() で、(mini batch単位での)一括更新が実行される。
19
+
20
+ ---
21
+
22
+ さて、果たして実際はどの方式でしょうか。
14
23
  この辺明るい方ご説明お願い致します。
15
24
 
16
25