質問編集履歴
3
表題変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
深層学習の学習曲線はなぜloss値が上下するのか?
|
1
|
+
深層学習の学習曲線はなぜloss値が上下するのか?(なぜ単調減少でないのか?)
|
body
CHANGED
File without changes
|
2
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
ディープラーニングの学習曲線について、epochを増やして学習を重ねているのに、なぜlossが上がったりすることがあるのでしょうか?
|
2
2
|
|
3
|
-
例えば、以下の図では、train_lossも、test_accuracyも単調減少、単調増加ではなく、たまに上下しています。自分なりに考えた仮説は以下ですが、他にも理由はありますでしょうか?
|
3
|
+
例えば、以下の図では、train_lossも、test_accuracyも単調減少、単調増加ではなく、たまに上下しています。自分なりに考えた仮説は以下ですが、他にも理由はありますでしょうか?(図はイメージなので、この図を出した学習方法に依存した回答でなくて問題ありません)
|
4
4
|
|
5
5
|
|
6
6
|
1、SGDを使っている場合、勾配更新が選択したミニバッチに依存するため、真の微分係数とは別の方向に更新されてしまうことがある (train_lossがばらつくのもこれが主原因?)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
また、この例だと、test_accuracyは下にスパイク(外れ値)を出していますが、逆に上にスパイクを出す場合、最終的なパラメータはスパイクしたものも含めてtest_accuracyの一番高い値を選択すべきでしょうか?それとも、(判断基準は必要ですが)スパイクしていないものの中で最大値を取得するべきでしょうか?
|
11
11
|
|
12
|
-
考え方として、汎化性能が高いパラメータを選択する、という意味合いでスパイクも含めてパラメータ選定すべきかと思いますが、スパイク値となっているパラメータを採用するのがどうも気持ちいです(例えば、全体の学習曲線の傾向に関係なく、1つだけtest_accuracyの高いスパイクが発生している場合など)。
|
12
|
+
考え方として、汎化性能が高いパラメータを選択する、という意味合いでスパイクも含めてパラメータ選定すべきかと思いますが、スパイク値となっているパラメータを採用するのがどうも気持ち悪いです(例えば、全体の学習曲線の傾向に関係なく、1つだけtest_accuracyの高いスパイクが発生している場合など)。
|
13
13
|
|
14
14
|
|
15
15
|

|
1
表現追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
ディープラーニングの学習曲線について、epochを増やして学習を重ねているのに、なぜlossが上がったりすることがあるのでしょうか?
|
2
2
|
|
3
|
-
例えば、以下の図では、
|
3
|
+
例えば、以下の図では、train_lossも、test_accuracyも単調減少、単調増加ではなく、たまに上下しています。自分なりに考えた仮説は以下ですが、他にも理由はありますでしょうか?
|
4
|
-
自分なりに考えた仮説は以下ですが、他にも理由はありますでしょうか?
|
5
4
|
|
5
|
+
|
6
|
-
1、SGDを使っている場合、勾配更新が選択したミニバッチに依存するため、真の微分係数とは別の方向に更新されてしまうことがある
|
6
|
+
1、SGDを使っている場合、勾配更新が選択したミニバッチに依存するため、真の微分係数とは別の方向に更新されてしまうことがある (train_lossがばらつくのもこれが主原因?)
|
7
|
-
(train_lossがばらつくのもこれが主原因?)
|
8
7
|
2、損失関数の底での振動
|
9
8
|
3、損失関数が多峰性であり、局所解を抜ける途中
|
10
9
|
|
11
10
|
また、この例だと、test_accuracyは下にスパイク(外れ値)を出していますが、逆に上にスパイクを出す場合、最終的なパラメータはスパイクしたものも含めてtest_accuracyの一番高い値を選択すべきでしょうか?それとも、(判断基準は必要ですが)スパイクしていないものの中で最大値を取得するべきでしょうか?
|
12
11
|
|
13
|
-
考え方として、汎化性能が高いパラメータを選択する、という意味合いでスパイクも含めてパラメータ選定すべきかと思いますが、スパイク値となっているパラメータを採用するのがどうも気持ち
|
12
|
+
考え方として、汎化性能が高いパラメータを選択する、という意味合いでスパイクも含めてパラメータ選定すべきかと思いますが、スパイク値となっているパラメータを採用するのがどうも気持ちいです(例えば、全体の学習曲線の傾向に関係なく、1つだけtest_accuracyの高いスパイクが発生している場合など)。
|
14
13
|
|
15
14
|
|
16
15
|

|