学習率とか層の数とか、ハイパーパラメータってどうやって決めるん?
グリッドサーチとランダムサーチ、どっちがええの?
【疑問】ハイパーパラメータはグリッドサーチとランダムサーチどっち?早期終了・二重降下現象・ノーフリーランチ定理も【G検定】
前提のおさらい。重みは勾配降下法でデータから学ぶ。でも学習率・ミニバッチの大きさ・層の数・正則化の強さなどは、学習の前に人が決める。これがハイパーパラメータで、検証用データの成績を見て選ぶ
>>1
グリッドサーチは、候補を格子状に全部試す。3つのハイパーパラメータを5通りずつなら 回の学習
ランダムサーチは、決めた範囲からランダムに選んで、決めた回数だけ試す
>>3
全部試すグリッドのほうが、取りこぼしがなくてええやろ
>>4
効くハイパーパラメータが一部だけのときは、ランダムのほうが得
2つのうち本当に効くのが1つだけとする。グリッドで 3×3 = 9回試しても、効くほうの値は3種類しか試してない。ランダムに9回選べば、効くほうの値は9種類試せる
ベルグストラとベンジオの2012年の論文で、この理由でランダムサーチのほうが効率がええことが示された
早期終了(early stopping)は、検証用データの誤差が下がらなくなったら、そこで学習を止めるやり方
学習を続けると学習データの誤差は下がり続けても、検証用の誤差はどこかで上がり始める。そこが過学習の始まり。たとえば「5エポック続けて改善しなかったら止めて、一番よかったときの重みを使う」
>>6
「モデルを大きくしすぎると過学習する」って習ったけど、最近の大きいモデルはむしろ大きいほど成績がええやん。矛盾してない?
>>7
それが二重降下現象。パラメータの数を増やしていくと、テストの誤差はいったん下がって、学習データにちょうどぴったり合わせられるくらいの大きさで上がって、それを超えてさらに大きくすると、また下がる
ベルキンらの2019年の論文で整理されて、同じ年のナッキランらの論文でディープラーニングでも起きることが示された。モデルの大きさだけでなく、エポック数を増やしたときにも見られる
>>8
じゃあ昔の「大きくしすぎるな」は間違いやったん?
>>9
間違いではない。山の手前までの範囲では、昔からの見方どおりやから
ただ「大きいほど悪い」と一直線に決めつけるのは違う、ということ。どこに山が来るかはデータの量やノイズでも変わる
ノーフリーランチ定理は「あらゆる問題で平均すると、どの最適化の方法も成績は同じ」という定理。ウォルパートとマクレディの1997年の論文
どんな問題にも一番強い万能のアルゴリズムはない。問題に合わせて手法やハイパーパラメータを選ぶ必要がある、という根拠にされる
>>11
「あらゆる問題」には、現実にはまず出てこん問題も全部入ってる。だから現実の問題で特定の手法がよく効くこととは矛盾せえへんで
管理人のひとこと
- ハイパーパラメータは学習前に人が決める値で、検証用データで選ぶ。グリッドサーチは格子状に全部(5通り×3つで125回)、ランダムサーチは範囲からランダムに選ぶ。
- 効くハイパーパラメータが一部だけなら、9回でもランダムは9種類の値を試せる(グリッドは3種類)。ベルグストラとベンジオの2012年の論文。
- 早期終了は検証用の誤差が下がらなくなったら止める。二重降下現象は、大きさを増やすとテスト誤差が下がり、上がり、また下がる現象(ベルキンらとナッキランらの2019年の論文)。
- ノーフリーランチ定理(ウォルパートとマクレディ、1997年の論文)は、全問題で平均すればどの手法も同じという定理。万能の手法はないという根拠になる。