回答編集履歴
6
修正
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
|
83
|
+
[pytorch/Normalization.cpp at master · pytorch/pytorch](https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Normalization.cpp)
|
5
修正
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
修正
test
CHANGED
@@ -24,13 +24,13 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
そして、推論時用に平均と
|
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
|
-
|
31
|
+
μ'_i = (1 - λ) μ'_{i - 1} + λ μ_i
|
32
32
|
|
33
|
-
|
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
修正
test
CHANGED
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
params = dict(bn.named_parameters())
|
70
70
|
|
71
|
-
print("
|
71
|
+
print("w", params["weight"].shape)
|
72
72
|
|
73
73
|
print("b", params["bias"].shape)
|
74
74
|
|
2
修正
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
修正
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 ですが、一般的にはこれに加えて標準化後の出力に対して、アフィン変換を行います。(Pytr
|
45
|
+
以上がシンプルな Batch Noramlization ですが、一般的にはこれに加えて標準化後の出力に対して、アフィン変換を行います。(Pytorch の場合は affine=True を指定した場合)
|
46
46
|
|
47
47
|
|
48
48
|
|