機械学習プロジェクトでオプティマイザーを選択する方法

機械学習プロジェクトでオプティマイザーを選択する方法

導入

いくつかの一般的なオプティマイザーを紹介し、その長所と短所を分析し、オプティマイザーを選択するためのガイドラインをいくつか示します。

[[338162]]

この記事では、コンピューター ビジョン、自然言語処理、機械学習でよく使用されるオプティマイザーの概要を説明します。さらに、次の機械学習プロジェクトに適したオプティマイザーを選択するのに役立つ、3 つの質問に基づくガイドラインも見つかります。

  1. 関連する研究論文を見つけて、同じオプティマイザーを使い始めます。
  2. 表 1 を参照して、データセットのプロパティとさまざまなオプティマイザーの長所と短所を比較してください。
  3. 利用可能なリソースに基づいて選択を調整します。

導入

機械学習プロジェクトに適したオプティマイザーを選択するのは非常に難しい場合があります。 PyTorch や TensorFlow などの人気のディープラーニング ライブラリでは、さまざまなオプティマイザーの選択肢が提供されており、それぞれに長所と短所があります。ただし、間違ったオプティマイザーを選択すると、機械学習モデルのパフォーマンスに大きな悪影響を与える可能性があるため、機械学習モデルの構築、テスト、および展開のプロセスにおいて、オプティマイザーは重要な設計上の選択となります。

オプティマイザーによっては、モデルのパフォーマンスが大きく異なる可能性があります。

オプティマイザーを選択する際の問題は、ノーフリーランチ定理により、すべてのシナリオにおいて単一のオプティマイザーが他のオプティマイザーよりも優れたパフォーマンスを発揮することはできないことです。実際、オプティマイザーのパフォーマンスは設定に大きく依存します。したがって、中心的な質問は次のとおりです。

私のプロジェクトの特性にはどのオプティマイザーがより適していますか?

以下に、上記の質問に答えるためのガイドを示します。これは 2 つの主要なセクションで構成されています。最初の部分では、最も一般的に使用されるオプティマイザーについて簡単に紹介します。パート 2 では、プロジェクトに最適なオプティマイザーを選択するための 3 ステップ プランを紹介します。

最も一般的に使用されるオプティマイザのいくつか

ディープラーニングでは、ほとんどすべての一般的なオプティマイザーは勾配降下法に基づいています。これは、与えられた損失関数 L の傾きを繰り返し推定し、パラメータを反対方向に移動する(したがって、仮想的なグローバル最小値まで下降する)ことを意味します。おそらく、このような最適化装置の最も単純な例は、1950 年代から使用されている確率的勾配降下法 (SGD) です。 2010 年代には、AdaGrad や Adam などの適応勾配の使用がますます普及しました。しかし、最近の傾向では、研究コミュニティの一部が適応勾配法ではなく SGD の使用に戻りつつあることが示されています。さらに、ディープラーニングにおける現在の課題により、LARS や LAMB などの新しい SGD バリアントが生まれています。たとえば、Google Research は最新の論文で、LARS を使用して強力な自己教師ありモデルをトレーニングしました。

次のセクションでは、より一般的なオプティマイザーについて説明します。これらの概念をすでに理解している場合は、「適切なオプティマイザーを選択する方法」セクションに進んでください。

以下の表記法を使用します: w はパラメータ、g はモデルの勾配、α は各オプティマイザのグローバル学習率、t は時間ステップを表します。

確率的勾配降下法 (SGD)

確率的勾配降下法 (SGD) の更新ルール

SGD では、オプティマイザーは小さなバッチに基づいて最急降下の方向を推定し、その方向に進みます。ステップ サイズは固定されているため、SGD はすぐにプラトーまたは局所的最小値に陥ります。

勢いのあるSGD

モメンタムによるSGDの更新ルール

β < 1 の場合、運動量が使用され、SGD は連続方向に加速できます (これが「重いボール法」とも呼ばれる理由です)。この高速化により、モデルが停滞状態から抜け出すのに役立ち、局所的最小値に陥る可能性が低くなります。

アダグラッド

AdaGrad の更新ルール

AdaGrad は、適応学習率 (名前の由来) を活用する最初の成功した方法の 1 つです。 AdaGrad は、二乗勾配の合計の逆数の平方根に基づいて各パラメータの学習率を測定します。このプロセスにより、勾配がまばらな方向の勾配が増幅され、それらの方向でより大きなステップを実行できるようになります。その結果、AdaGrad はスパースな特徴を持つシナリオでより速く収束します。

RMSプロップ

RMSprop の更新ルール

RMSprop は、過去数年間にわたって過度に使用されてきた未リリースのオプティマイザーです。考え方は AdaGrad に似ていますが、勾配の再スケーリングはそれほど積極的ではありません。勾配の二​​乗の合計が勾配の二乗の移動平均に置き換えられます。 RMSprop はしばしばモメンタムと一緒に使用され、Rprop をミニバッチ設定に適応させたものとして理解できます。

アダム

アダムの更新ルール

Adam は、AdaGrad、RMSprop、および運動量法を組み合わせます。ステップの方向は勾配の移動平均によって決定され、ステップ サイズはグローバル ステップ サイズの上限にほぼ相当します。さらに、RMSprop と同様に、グラデーションの各次元が再スケーリングされます。 Adam と RMSprop (または AdaGrad) の主な違いは、モーメント推定値 m と v がゼロに偏るように修正されることです。 Adam は、最小限のハイパーパラメータ調整で優れたパフォーマンスを実現することで知られています。

ラース

LARS更新ルール

LARS は、モメンタムを使用した SGD の拡張であり、レイヤーごとに学習率を適応させることができます。最近、研究コミュニティの注目を集めています。その理由は、利用可能なデータの量が着実に増加しているため、機械学習モデルの分散トレーニングが普及してきたためです。その結果、バッチ サイズが大きくなり始めます。しかし、これによりトレーニングが不安定になりました。 Yang らは、これらの不安定性は特定の層における勾配のノルムと重みのノルムの間の不均衡から生じると提案しました。そこで彼らは、「信頼」パラメータ η < 1 とその層の勾配のノルムの逆数に基づいて各層の学習率をスケーリングするオプティマイザーを提案しました。

適切なオプティマイザーを選択するにはどうすればよいでしょうか?

前述のように、機械学習の問題に適したオプティマイザーを選択するのは困難です。より具体的には、万能のソリューションは存在せず、特定の問題に基づいてオプティマイザーを慎重に選択する必要があります。次のセクションでは、特定のオプティマイザーを使用するかどうかを決定する前に自問すべき 3 つの質問を紹介します。

あなたと同じようなデータセットやタスクの最先端の結果は何ですか? どのオプティマイザーを使用しましたか? また、その理由は何ですか?

新しい機械学習手法に取り組んでいる場合、おそらく同様の問題を扱っているか、同様のデータで作業している確かな論文が 1 つ以上あるはずです。通常、論文の著者は広範囲にわたる相互検証を行っており、最も成功した構成のみを報告しています。彼らがなぜオプティマイザーを選択したのかを理解してください。

例: 生成的敵対的ネットワーク (GAN) をトレーニングして、一連の画像に対して超解像処理を実行するとします。少し調べた後、あなたは「生成的敵対的ネットワークを使用した写真のようにリアルな単一画像の超解像度」という論文に偶然出会いました。この論文では、研究者が Adam オプティマイザーを使用してまったく同じ問題を解決しました。 Wilson らは、GAN のトレーニングは最適化問題を解決することと同じではなく、Adam はそのようなシナリオに非常に適している可能性があると考えています。したがって、この場合、Adam はオプティマイザーとして適切な選択肢となります。

あなたのデータセットは特定のオプティマイザーよりも優れているのでしょうか? もしそうなら、それはどれですか? また、それをどのように活用できますか?

表 1 は、さまざまなオプティマイザーの概要とその長所と短所を示しています。データセット、トレーニング設定、目標の特性に一致するオプティマイザーを見つけてください。

一部のオプティマイザーは、スパースな特徴を持つデータに対して非常に優れたパフォーマンスを発揮しますが、他のオプティマイザーは、モデルをこれまでに見たことのないデータに適用すると、より優れたパフォーマンスを発揮する場合があります。一部のオプティマイザーは大規模なバッチでうまく機能しますが、他のオプティマイザーは非常に急峻な最小値に収束しますが、一般化がうまくいきません。

表 1: 一般的なオプティマイザーの概要と、それぞれの長所と短所を示します。状態メモリ列には、勾配に必要なメモリに加えて、オプティマイザーに必要なバイト数が表示されます。ここで、n は機械学習モデルのパラメータの数です。たとえば、モメンタムのない SGD では勾配を保存するためのメモリのみが必要ですが、モメンタムのある SGD では勾配の移動平均も保存する必要があります。

例: 現在取り組んでいるプロジェクトでは、ユーザーからのフィードバックを肯定的なフィードバックと否定的なフィードバックに分類する必要があります。機械学習モデルの入力機能として bag-of-words を使用することを検討します。これらの特徴は非常にまばらである可能性が高いため、適応勾配アプローチを使用することにします。しかし、どれを使用したいでしょうか? 表 1 を見ると、適応勾配法の中で AdaGrad は調整可能なパラメータが最も少ないことがわかります。プロジェクトのタイムラインが限られているため、最適化ツールとして AdaGrad を選択しました。

あなたのプロジェクトにはどのようなリソースがありますか?

プロジェクトで利用可能なリソースも、どのオプティマイザーが選択されるかに影響します。計算上の制限やメモリの制約、およびプロジェクトのタイムラインにより、実行可能なオプションの範囲が狭まる可能性があります。表 1 をもう一度見ると、各オプティマイザーのメモリ要件と調整可能なパラメータの数が異なることがわかります。この情報は、セットアップがオプティマイザーに必要なリソースをサポートしているかどうかを評価するのに役立ちます。

例: 自宅のコンピューター上の画像のデータセットで自己教師ありモデル (SimCLR など) をトレーニングするプロジェクトに取り組んでいます。 SimCLR のようなモデルの場合、バッチ サイズが大きくなるにつれてパフォーマンスが向上します。したがって、大きなバッチでトレーニングできるように、できるだけ多くのメモリを節約する必要があります。他のオプティマイザーと比較して、状態を保存するために必要な追加メモリが最も少ないため、モメンタムのない単純な確率的勾配降下法をオプティマイザーとして選択します。

要約する

すべての可能なオプティマイザーを試して、プロジェクトに最適なものを見つけることが必ずしも可能であるとは限りません。このブログ記事では、一般的なオプティマイザーの更新ルール、長所、短所、要件について概説します。さらに、機械学習プロジェクトにどのオプティマイザーを使用すべきか、十分な情報に基づいた決定を下すのに役立つ 3 つの質問を挙げました。

経験則として、適切な学習率スケジュールを見つけるためのリソースがある場合は、モメンタム付きの SGD が確実な選択肢です。広範囲にわたるハイパーパラメータ調整を行わずに高速な結果が必要な場合は、適応勾配法を使用します。

<<:  300 万行から 100 行へ: 機械学習により開発エクスペリエンスが向上

>>:  人間とコンピュータのインタラクション技術の現状と進化 将来、私たちはどのように機械とコミュニケーションをとるのでしょうか

ブログ    

推薦する

Baidu Brainのインテリジェント会話エンジンが9つのコア機能のリリースで「警笛を鳴らす」

言語は思考と知識を伝達し、人類の文明を推進します。そして会話によって機械はより賢くなり、人間にとって...

...

Uberの自動運転車の死亡事故から忘れてはならない10の教訓

自動運転技術は常に注目を集めてきたが、「幻滅」に直面している。これによって起きた初の交通事故死は、1...

...

生成型AIを学ぶ際の7つの課題

生成 AI は変革の原動力となり、機械が達成できるものの限界を押し広げています。テキストや画像の生成...

バブルアルゴリズムよりも単純なソートアルゴリズム:バグだらけに見えるプログラムが実は正しい

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

地図やGPSは信頼できないが、それは問題ではない:カリフォルニア大学バークレー校のロボットが未知の環境で3キロメートル以上を移動

ほとんどのロボットの移動方法は、ほとんどの人間の移動方法とは大きく異なります。ロボットは、環境を包括...

小売業界におけるRPA活用事例11選

世界各国がインダストリー4.0の時代を迎える中、多くの業界団体がプロセス自動化の重要性を認識し始め、...

人工知能とVRを融合し、多様な体験を実現

人工知能サービス - Microsoft Cognitive Services には当初、視覚、音声...

2018年の人工知能の発展に関する5つの予測

2017年は人工知能技術(AI)において画期的な発展があった年でした。過去 1 年間の大きな宣伝にも...

サーマルイメージングによって施設と従業員の安全性がどのように向上するのでしょうか?

監視範囲の死角、互換性のないビデオおよびアクセス制御システム、適切な境界保護の欠如...これらは、施...

...

...

自然言語処理シーケンスモデル - CRF 条件付きランダムフィールド

シーケンスモデルにおけるHMM(隠れマルコフモデル)を習得した後は、別のシーケンスモデルであるCRF...

フードデリバリー広告向け大規模ディープラーニングモデルのエンジニアリング実践

著者: Yajie Yingliang、Chen Long 他導入美団のフードデリバリー事業が成長を...