1.2022年のGoogleのAI研究の成果と今後の展望~ディープラーニング用モデルの効率を向上させるアルゴリズム編~(2/3)まとめ
・大規模環境では線形に計算コストが増える手法でさえも高コストなりがちであり、学習を安定させるために効率的な最適化手法が非常に重要になる
・従来のシンプルな最適化手法はモデルの設計を考慮していないので必ずしも効率的ではなく、設計を考慮した新しい学習技術を開発している
・大規模なデータセットは計算コストが高くなるため、これを解決する一つの手法としてデータのサブセットを効率的に選択する手法に着目している
2.効率的な学習と効率的なデータ利用
以下、ai.googleblog.comより「Google Research, 2022 & beyond: Algorithms for efficient deep learning」の意訳です。元記事は2023年2月7日、Sanjiv Kumarさんによる投稿です。
アイキャッチ画像は、Waifu Diffusion 1.5 Betaのカスタムモデルによる生成
学習効率
効率的な最適化手法は、現代の機械学習(ML:Machine Learning)アプリケーションの基礎であり、特に大規模環境では極めて重要です。このような環境では、Adamのような一次関数的に計算コストが増える手法でさえも高価になりがちであり、学習を安定させる事が困難になります。
さらに、これらの手法はニューラルネットワークのアーキテクチャに依存していないため、アーキテクチャのリッチな構造を無視し、非効率的な学習が行われることが多くあります。このため、現代のニューラルネットワークモデルをより効率的かつ効果的に最適化するための新しい技術が求められています。
私達は、アーキテクチャを考慮した新しい学習技術を開発しています。例えば、Transformersネットワークを学習させるために、規模によって変わらない新しいTransformersネットワークや、素の確率勾配降下法(SGD:Stochastic Gradient Descent)と組み合わせることでより高速な学習を実現する新しいクリッピング手法などです。この手法を用いることで初めて、適応型(adaptivity)ではない単純なSGDを用いて、BERTを効果的に学習させることができました。
さらに、LocoPropでは、1次関数的な最適化と同じ計算量とメモリ資源で、2次関数的な最適化と同等の性能を達成する新しい手法を提案しました。LocoPropは、ニューラルネットワークを各レイヤー単位に分解し、モジュール化するアイディアです。
各レイヤーは、出力目標や重みの正則化だけでなく、独自の損失関数を持つことができます。この設定により、適切な前進・後退パスの後、LocoPropは各レイヤーの「ローカル損失」の更新を並列に行います。実際、これらの更新は、理論的にも経験的にも、高次元最適化の更新に似ていることが示されています。深層オートエンコーダーベンチマークにおいて、LocoPropは高次元最適化と同程度の性能を達成し、かつ大幅に高速化しました。
バックプロパゲーションと同様に、LocoPropは活性化を計算するためにフォワードパスを適用します。バックワードパスでは、LocoProp は各層のニューロン毎に「ターゲット」を設定します。最後に、LocoPropはモデルの学習をレイヤー毎に独立した問題に分割し、いくつかの局所的な更新を各層の重みに並行して適用することができます。
SGDのようなオプティマイザにおける重要な仮定は、各データポイントは分布から独立かつ同一にサンプリングされるというものです。
これは、モデル(またはエージェント)が自分自身の予測に基づいて生成されたデータから学習しなければならない強化学習のような実用的な設定において、残念ながら満たすことが困難です。私達は、線形力学系、非線形力学系、強化学習のためのQ-learningなどのいくつかの設定において最適解を見つける、逆経験再生付きSGD(SGD with reverse experience replay)という新しいアルゴリズムアプローチを提案しました。
さらに、この手法の拡張版であるIER(Introspective Experience Replay)は、様々な汎用RLベンチマークにおいて、最新のスコアを出し、最も安定した経験値再生技術であることが判明しました。
データ効率
多くのタスクにおいて、ディープニューラルネットワークは大規模なデータセットに大きく依存しています。
大規模データセットに付随するストレージコストや潜在的なセキュリティ/プライバシーの懸念に加え、このようなデータセットで最新のディープニューラルネットワークを学習すると、高い計算コストが発生します。
この問題を解決する有望な方法の一つがデータの一部分、つまりサブセットを選択する事です。学習者は大量の学習サンプルから最も情報量の多いサブセットを見つけ出し、学習セット全体による学習を近似する(あるいは改善する)ことを目指します。
私達は、実用的なバッチ処理設定において、任意のモデル群を扱うために設計されたサブセット選択フレームワークを分析しました。このような環境では、学習者は文脈と真のラベルの両方にアクセスしながら、一度に一つずつサンプルを取得することができます。しかし、オーバーヘッドを抑えるために、十分な数のサンプルが選択された時点で初めて学習器の状態を更新(つまり、モデルの重みをさらに学習する)事ができます。
私達はIWeS(Importance Weights in Subset Selection)と呼ばれるアルゴリズムを開発しました。ここでは、重点サンプリング(Importance Sampling)によってサンプルを選択します。各サンプルに割り当てられるサンプリング確率は、その前に選択したバッチで学習したモデルのエントロピーに基づきます。私達は理論的な解析を行い、一般化およびサンプリング率の境界を証明しました。
大規模なネットワークをトレーニングする際のもう一つの懸念は、特に限られた量のトレーニングデータで学習する場合、トレーニングデータと製品展開時のデータ間の分布のずれに非常に敏感になる可能性があることです。モデルは展開時のシナリオのすべてをカバーしていないかもしれません。
最近の研究では、ニューラルネットワークの脆弱性の背後にある重要な問題として「極端な単純化バイアス(extreme simplicity bias)」という仮説が立てられています。
私たちは、この仮説を実現するために、DAFT(Distilling Adversarially Fine-tune)とFRR(Feature Reconstruction Regularizer)という2つの新しい補完的なアプローチを開発し、これらを組み合わせることで、より頑健なニューラルネットワークを提供することに成功しました。特に、この2つのアプローチでは、逆特徴予測(inverse feature predictions)とともに敵対的微調整(adversarial fine-tuning)を行うことで、学習したネットワークを堅牢にすることができます。
1.2022年のGoogleのAI研究の成果と今後の展望~ディープラーニング用モデルの効率を向上させるアルゴリズム編~(2/3)関連リンク
1)ai.googleblog.com
Google Research, 2022 & beyond: Algorithms for efficient deep learning
2)arxiv.org
Streaming Linear System Identification with Reverse Experience Replay
Introspective Experience Replay: Look Back When Surprised
Leveraging Importance Weights in Subset Selection
The Pitfalls of Simplicity Bias in Neural Networks
DAFT: Distilling Adversarially Fine-tuned Models for Better OOD Generalization
Learning an Invertible Output Mapping Can Mitigate Simplicity Bias in Neural Networks