回答編集履歴

6

修正

2020/08/28 17:37

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -80,4 +80,4 @@
80
80
 
81
81
 
82
82
 
83
- [pytorch/Normalization.cpp at master · pytorch/pytorch](https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Normalization.cpp#L62)
83
+ [pytorch/Normalization.cpp at master · pytorch/pytorch](https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Normalization.cpp)

5

修正

2020/08/28 17:37

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -73,3 +73,11 @@
73
73
  print("b", params["bias"].shape)
74
74
 
75
75
  ```
76
+
77
+
78
+
79
+ Pytorch の CPU 実装は以下です。
80
+
81
+
82
+
83
+ [pytorch/Normalization.cpp at master · pytorch/pytorch](https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Normalization.cpp#L62)

4

修正

2020/08/28 17:37

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -24,13 +24,13 @@
24
24
 
25
25
 
26
26
 
27
- そして、推論時用に平均と分散を[移動平均](https://ja.wikipedia.org/wiki/%E7%A7%BB%E5%8B%95%E5%B9%B3%E5%9D%87)で更新しながら記録します。
27
+ そして、推論時用に平均と標準偏差を[移動平均](https://ja.wikipedia.org/wiki/%E7%A7%BB%E5%8B%95%E5%B9%B3%E5%9D%87)で更新しながら記録します。
28
28
 
29
29
 
30
30
 
31
- running_mean_i = (1 - λ) running_mean_i + λ mean_i
31
+ μ'_i = (1 - λ) μ'_{i - 1} + λ μ_i
32
32
 
33
- running_std_i = (1 - λ) running_std_i + λ std_i
33
+ σ'_i = (1 - λ) σ'_{i - 1} + λ σ_i
34
34
 
35
35
 
36
36
 
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- 学習時に記録しておいたμ、σを使用して、入力データに対して x'_i = (x_i - μ_i) / σ_i を同様に適用します。
41
+ 学習時に記録しておいたμ'、σ'を使用して、入力データに対して x'_i = (x_i - μ'_i) / σ'_i を同様に適用します。
42
42
 
43
43
 
44
44
 

3

修正

2020/08/28 17:31

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  params = dict(bn.named_parameters())
70
70
 
71
- print("v", params["weight"].shape)
71
+ print("w", params["weight"].shape)
72
72
 
73
73
  print("b", params["bias"].shape)
74
74
 

2

修正

2020/08/28 17:28

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- そして、推論時用に平均と分散を[移動平均](https://ja.wikipedia.org/wiki/%E7%A7%BB%E5%8B%95%E5%B9%B3%E5%9D%87)で更新します。
27
+ そして、推論時用に平均と分散を[移動平均](https://ja.wikipedia.org/wiki/%E7%A7%BB%E5%8B%95%E5%B9%B3%E5%9D%87)で更新しながら記録します。
28
28
 
29
29
 
30
30
 

1

修正

2020/08/28 17:27

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -38,11 +38,11 @@
38
38
 
39
39
 
40
40
 
41
- 学習時に記録しておいたμ、σを使用して、入力データに対して推論します。
41
+ 学習時に記録しておいたμ、σを使用して、入力データに対して x'_i = (x_i - μ_i) / σ_i を同様に適用します。
42
42
 
43
43
 
44
44
 
45
- 以上がシンプルな Batch Noramlization ですが、一般的にはこれに加えて標準化後の出力に対して、アフィン変換を行います。(Pytroch の場合は affine=True を指定した場合)
45
+ 以上がシンプルな Batch Noramlization ですが、一般的にはこれに加えて標準化後の出力に対して、アフィン変換を行います。(Pytorch の場合は affine=True を指定した場合)
46
46
 
47
47
 
48
48