用語集

勾配降下

勾配降下がどのようにUltralytics YOLOのようなAIモデルを最適化し、ヘルスケアから自動運転車までのタスクで正確な予測を可能にしているかをご覧ください。

勾配降下は、ほとんどの機械学習(ML)やディープラーニングモデルの中核をなす基本的な最適化アルゴリズムである。その主な目的は、内部パラメーターを繰り返し調整することで、モデルの誤差を最小化することだ。霧のかかった山の上に立ち、最も低い地点を見つけようとするところを想像してみてほしい。足元を見回して、どの方向が最も急な下り傾斜になっているかを確認し、その方向に一歩を踏み出す。これを繰り返すと、やがて谷にたどり着く。機械学習では、「山」は損失関数、「方向」は損失関数の負の勾配、「ステップサイズ」は学習率である。

勾配降下の仕組み

ニューラルネットワークの学習プロセスでは、可能な限り最小のエラー(損失)をもたらす最適なモデル重みのセットを見つける必要がある。勾配降下法はこの探索を自動化する。このプロセスは、勾配(各重みに対して損失がどれだけ変化するかを示す尺度)を計算することから始まります。この計算は通常、バックプロパゲーション・アルゴリズムを用いて行われる。その後、勾配の反対方向に小さなステップを踏みながら重みを更新していく。この反復プロセスは、モデルの性能が収束し、損失が最小化されるまで、多くのエポックにわたって続けられる。各ステップの大きさは、ハイパーパラメータのチューニングにおける重要な設定である学習率によって決定される重要な要素である。このプロセスの詳細な概要は、Stanford CS231nコースノートなどに記載されています。

勾配降下の種類

勾配降下法には主に3つのバリエーションがあり、それぞれ各重み更新の勾配を計算するために使用するデータの量が異なる:

  • バッチ勾配降下(BGD): 学習データセット全体を使って勾配を計算する。このアプローチは安定した正確な勾配を提供するが、計算コストが非常に高く、メモリを大量に消費するため、ImageNetのような大規模なデータセットでは実用的ではない。
  • 確率的勾配降下法(SGD)ランダムに選ばれた1つのデータサンプルのみを処理した後に重みを更新する。BGDよりもはるかに高速でメモリ消費量も少ないが、更新にノイズが多く、収束経路が不安定になる。このランダム性は、モデルが貧弱なローカル・ミニマムから脱出するのに役立つことがある。
  • ミニバッチ勾配降下法:データの小さなランダムな部分集合(「ミニバッチ」)で勾配を計算することでバランスをとる。SGDの効率性とBGDの安定性を兼ね備えているため、最近のディープラーニングでは最も一般的な手法である。PyTorchや TensorFlowのようなフレームワークは、オプティマイザでデフォルトでこの手法を使用しています。詳細な比較については、勾配降下アルゴリズムの概要を参照してください。

勾配降下と関連概念との比較

勾配降下法をいくつかの関連用語と区別することは重要である:

  • 最適化アルゴリズム勾配降下は、最適化アルゴリズムの基礎となる概念です。AdamオプティマイザーやRMSpropのような、より高度なオプティマイザーは、各パラメーターの学習率を個別に調整する適応的なバリエーションであり、多くの場合、より速い収束につながります。Adamの原著論文はarXivに掲載されている。
  • バックプロパゲーションバックプロパゲーションと勾配降下は2つの異なるプロセスであるが、関連している。バックプロパゲーションは、ネットワークの重みに関する損失関数の勾配を効率的に計算するアルゴリズムである。勾配降下は、これらの勾配を利用して重みを更新するアルゴリズムである。
  • 損失関数:損失関数は、勾配降下法が最小化を目指す目的を定義します。損失関数(例えば、画像分類のためのクロスエントロピー)の選択は、オプティマイザがナビゲートする特定のエラーランドスケープを作成します。

実世界での応用

勾配降下法は、数え切れないほどのAIモデルの学習を後押しするエンジンだ。

  1. 物体検出モデルのトレーニング UltralyticsのYOLOモデルがCOCOのような大規模なデータセット上で物体検出のためにトレーニングされる場合、ミニバッチ勾配降下がすべての反復で使用されます。モデルはバウンディングボックスを予測し、誤差に基づいて損失が計算され、勾配降下はモデルのバックボーンとヘッド全体で何百万もの重みを調整して精度を向上させます。このワークフロー全体は、Ultralytics HUBのようなプラットフォームを使って管理し、拡張することができる。
  2. 言語モデルのトレーニング: 自然言語処理(NLP)では、BERTのようなモデルは感情分析のようなタスクのために訓練される。勾配降下は、モデルの予測したセンチメントと真のラベルの差を測定する損失関数を最小化し、モデルが膨大なテキストコーパスから人間の言語のニュアンスを学習することを可能にします。スタンフォードNLPグループは、この分野で広範な研究を提供しています。

課題と考察

強力ではあるが、勾配降下法にも課題がないわけではない。このアルゴリズムは、損失曲面上の絶対的な最下点ではないローカル・ミニマム-谷で立ち往生することがある。非常に深いネットワークでは、勾配が小さすぎたり大きすぎたりして効果的に重みを更新できない、消失勾配(vanishing gradient)や爆発勾配(exploding gradient)の問題に悩まされることもある。学習率の慎重な選択、ロバストなオプティマイザーの選択、バッチ正規化のようなテクニックは、モデル学習のヒントガイドで詳しく説明されているように、学習を成功させるために非常に重要です。

Ultralyticsコミュニティに参加する

AIの未来に参加しませんか。世界のイノベーターとつながり、協力し、成長する

今すぐ参加する
クリップボードにコピーされたリンク