1.SmeLU:ディープラーニングの再現性を悪化させている犯人はReLU関数(1/3)まとめ
・同じデータを使って同じように学習させても同じモデルが再現できない事を再現性の欠如という
・再現性は様々な要因から影響を受けるが全ての要因を制御することは現実的な解決策ではない
・活性化関数として人気の高いRectified Linear Unit(ReLU)が再現不能問題を悪化させる事が判明
2.SmeLUとは?
以下、ai.googleblog.comより「Reproducibility in Deep Learning and Smooth Activations」の意訳です。元記事は2022年4月5日、Gil ShamirさんとDong Linさんによる投稿です。
うぉ~、これも教科書に出てくるレベルの話が変りそうですね、ReLUを使ってると、あ、再現性とかあまり考えなくて良かった時代の方なんですね、とかなっちゃうかもですね。
アイキャッチ画像のクレジットはPhoto by photo_ reflect on Unsplash
何らかの推薦システムに問い合わせて推薦リストを得た後、同じ問い合わせを数分後に、あるいは別のデバイスで行ったところ、全く異なる推薦リストが得られたという経験はありませんか?
これは珍しいことではなく、何か特定のものを探している人にとってはフラストレーションがたまることでしょう。また、このようなシステムの設計者としては、設計からテスト、製品展開までの間に、測定すべき指標が変わることも珍しくなく、実験的な環境でテストする事の有用性が疑問視されることもあります。
このような再現性のなさは、世界が変化し、新しいモデルが展開されるにつれて、ある程度は予想されることです。しかし、このようなことは、同じモデルの複製やモデルの更新を依頼されることによっても定期的に起こります。
機械学習(ML:Machine Learning)の分野では、研究者があるモデルで発表された結果を再現できない「再現性の欠如(Lack of replicability)」が課題として挙げられています。非再現性とは、同じデータに対して同じ学習条件で学習させたにもかかわらず、異なる結果が得られるという、関連性はあるものの、より捉えどころのない問題です。しかし、その複雑さゆえに、この問題を理解するための理論的研究は極めて稀です。
実際には、ディープネットワークモデルは高度に並列化・分散化された環境で学習されます。ランダムな初期化、並列化、分散学習、データシャッフリング、量子化誤差、ハードウェアタイプなどによる学習における非決定性と、複数の局所的な最適を行った目的との組み合わせが、非再現性の問題の一因となっています。
これらの要因のうち、初期化などは制御可能ですが、それ以外の要因を制御することは現実的ではありません。最適化の道のりは、学習サンプルを見た順に追うことで学習初期に発散してしまい、非常に異なったモデルになる可能性があります。最近発表された、アンサンブル、セルフアンサンブル、蒸留(distillation)の高度な組み合わせに基づくいくつかの解決策は、この問題を軽減することができますが、通常、精度と複雑さ、保守・改善コストの増加を代償にします。
論文「Real World Large Scale Recommendation Systems Reproducibility and Smooth Activations」では、この問題に対して、他の解決策のようなコストをかけず、かつ再現性を高め、より高いモデル精度をもたらす別の実用的な解決策を検討します。
その結果、ニューラルネットワークの値変換に用いる非線形関数(つまり、活性化関数)として人気の高いRectified Linear Unit(ReLU)が、再現不能問題を悪化させることを発見しました。
一方、ReLUとは異なり、全領域に対して連続な導関数を持つ平滑活性化関数は、再現性不能レベルを大幅に低減できることを実証します。そして、他の滑らかな活性化関数と同等の再現性と精度を持ちながら、より単純な活性化関数であるSmooth reLU(SmeLU)を提案します。
入力信号の関数としてのReLU関数(左)とその勾配(右)
スムーズな活性化
MLモデルは、損失を最小化することによって、学習データに適合する最適なモデルパラメータを学習しようとします。これは、山や谷のある地形と想像することができます。最も標高が低い点が最適解となります。深層モデルの場合、このような山や谷が多数存在します。モデルが使用する活性化関数は、この地形の形と、モデルがどのようにそこをどのように進むかを決定します。
ReLUは滑らかな関数ではありません。地形は複数の局所的な窪み(local minima)を持つ多くの領域に分割され、それぞれが異なるモデル予測を提供するようになります。このような地形では、更新の適用順序が最適化の軌道を決定する上で支配的な要因となり、再現性のない結果をもたらすことになります。
ReLUネットワークで表現される関数は、勾配が非連続であるため、勾配に急激なジャンプが生じます。これは、深層ネットワークの異なる層で内部的に発生し、異なる内部ユニットの更新に影響を与え、非再現性の強い要因になる可能性が高いです。
3.SmeLU:ディープラーニングの再現性を悪化させている犯人はReLU関数(1/3)関連リンク
1)ai.googleblog.com
Reproducibility in Deep Learning and Smooth Activations
2)arxiv.org
Real World Large Scale Recommendation Systems Reproducibility and Smooth Activations