条件数とジグザグ

モデルが実際にどう学習するか — 普通の勾配降下法からAdamまで

勾配降下法は、丸い損失曲面と引き伸ばされた損失曲面では全く違う振る舞いをする。条件数はその引き伸ばされ具合を測る。条件数が悪いと最適化アルゴリズムはジグザグに動く。ある方向は急で、別の方向は平らになる。

2次損失の場合、条件数はヘッセ行列の固有値で決まる。条件数κは最大曲率と最小曲率の比だ。

側面の壁がきつく、細長い出口レーンを持つピンボール台を想像してほしい。強く弾くとボールは左右に跳ね返りながら、前へはゆっくりとしか進まない。条件数の悪さは勾配降下法にも同じことをする。急な方向で跳ね返り、平らな方向では這うように進む。下の図がまさにその台だ。κをスライドしてボウルを引き伸ばし、降下を実行して、細い方向を跳ね返りながら長い方向をじりじり進む経路を見てほしい。(βは今は0のままにしておこう。次のモーメンタムのレッスンで主役になる。)

機械学習における位置づけ条件数は、ニューラルネットワークのアーキテクチャが重要である理由のひとつだ。残差接続、正規化層、初期化スキーム、適応的最適化アルゴリズムは、いずれも勾配ベースの訓練が見る実効的な幾何を変えることで、損失を移動しやすくしている。
▶ 条件数とジグザグ
← スケジュールとウォームアップモーメンタム →