Yolo 深圳
深セン
今すぐ参加
用語集

最適化アルゴリズム

最適化アルゴリズムが、ニューラルネットワークのトレーニングからヘルスケアや農業における現実世界のアプリケーションまで、AIとMLのパフォーマンスをどのように向上させるかをご覧ください。

最適化アルゴリズムは、機械学習(ML)や 機械学習(ML)と 深層学習(DL)の学習プロセスを駆動する基本的なエンジンである。その主な機能は モデルの内部パラメータを繰り返し調整することである。 モデルの重みとバイアスを繰り返し調整することである。 を最小化することである。このプロセスは、霧の立ち込める山中で最も低い地点を見つけようとするハイカーに例えることができる、 を見つけようとするハイカーのようなものです。最適化アルゴリズムは、ハイカーが谷の底に到達するまで、一歩一歩下山するようガイドします。 この谷底は、モデルの損失関数が最小化され、精度が向上した状態を表す。 この谷底は、モデルの損失関数が最小化され、精度が最大化される 最大化される。

最適化アルゴリズムの仕組み

ニューラルネットワークのトレーニングは 予測、エラー計算、パラメータ更新の連続サイクル。最適化アルゴリズムはこのサイクルの このサイクルの「更新」フェーズを支配する。モデルが 学習データのバッチを処理した後、システムは この値は損失関数によって定量化される。

バックプロパゲーションと呼ばれる手法を用いて アルゴリズムは勾配を計算する。勾配とは、誤差が最も急峻に増加する方向を示すベクトルである。誤差を減らすために 誤差を減らすために、オプティマイザはこの勾配の逆方向に重みを更新する。その方向に取るステップの大きさは、臨界構成によって決定される。 として知られる重要な構成によって決定される。 学習率。適切なバランスを見つけることが重要である。 大きすぎるステップは最小値をオーバーシュートする可能性があり、小さすぎるステップは学習が遅くなる可能性がある。 ステップを小さくしすぎると、収束するまでに何エポックもかかるような、緩慢な学習プロセスになってしまう。包括的な スタンフォードCS231n最適化ノートのような包括的なリソースは、これらのダイナミクスに関するより深い技術的洞察を提供しています。 のような包括的な資料が、これらの力学に関するより深い技術的洞察を提供しています。

一般的な最適化アルゴリズム

万能の」オプティマイザは存在せず、アーキテクチャやデータによって、異なるアルゴリズムが異なる利点を提供する。 異なるアルゴリズムが、アーキテクチャとデータに応じて明確な利点を提供する。

  • 確率的勾配降下法(SGD) これは最も古典的なアプローチの1つである。データセット全体の勾配を計算する代わりに、SGD 1つの例または少量のバッチを使用してパラメータを更新する。 パラメータを更新します。 計算効率は高いが、学習中に振動することがある。
  • Adam オプティマイザーの略。 適応モーメント推定の略で、Adam 各パラメーターの学習率を個別に適応させるため、現代のAIで広く使われている。 を個別に適応させるからだ。これは、SGD他の2つの拡張の利点を組み合わせたものである。 AdaGradと RMSPropとして知られるSGDの他の2つの拡張の利点を組み合わせ を提供する。
  • AdamW: Adam 変種で、重みの減衰を勾配更新から切り離す。 汎化性能が向上する。これは、Transformersや トランスフォーマーUltralytics YOLO11モデルのような最先端のアーキテクチャーをトレーニングする際に、デフォルトで選択されることが多い。

実際のアプリケーション

最適化アルゴリズムは、多くの洗練されたAIソリューションを支える静かな主力製品である。 AIソリューションの

  1. 自律走行車自動運転車システムでは 自動運転車システムでは 物体検出モデルは 歩行者、標識、および他の車両を極めて正確に識別する必要があります。トレーニング段階では、最適化アルゴリズム がネットワークを微調整し、何百万もの運転シナリオにおける検出誤差を最小化します。これにより セーフティ・クリティカルな 車載AIはリアルタイムで確実に動作します。
  2. 医療画像解析 ヘルスケアにおけるAIのためのツールを開発する場合、 例えばMRIスキャンで腫瘍を検出するような場合、精度が最も重要です。オプティマイザーは 畳み込みニューラルネットワーク(CNN) を調整することで、偽陰性を減らし、悪性組織と健康な組織を効果的に区別することを学習させます。 効果的である。

関連概念の区別

最適化アルゴリズムを、機械学習ワークフローで見られる他の類似用語と区別することは有用である。

  • 最適化アルゴリズムと損失関数の比較 損失関数 損失関数はスコアボードの役割を果たし、誤差を表す数値(例えば平均二乗誤差)を計算する。 誤差など)を算出する。最適化アルゴリズムは、次のラウンドでスコアを向上させるために、そのスコアを使用してモデルの戦術(重み)を調整する戦略家です。 次のラウンドでスコアを向上させる。
  • 最適化アルゴリズムとハイパーパラメータのチューニング ハイパーパラメータのチューニング 最適化アルゴリズムは、トレーニング中に内部パラメータの学習を処理する。ハイパーパラメータチューニング ハイパーパラメータ・チューニングは、最適化アルゴリズム自体の選択、バッチサイズ、あるいは初期学習率など、最適な外部設定を選択するものである。 などの最適な外部設定を選択する。以下のようなツールが Ray Tuneのようなツールは、このような外部設定の検索を自動化するためによく使われる。 このような外部設定の探索を自動化するために、Ray Tuneのようなツールがよく使われる。

Python最適化を実装する

高水準フレームワークを使用する場合、最適化アルゴリズムの選択は多くの場合、単一の引数で済む。次の を指定する方法を示します。 AdamW オプティマイザは YOLO11 を使用したモデルである。 ultralytics パッケージで提供される。

from ultralytics import YOLO

# Load the recommended YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the AdamW optimization algorithm
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")

カスタムループを実装したい研究者や開発者のために、以下のようなライブラリが用意されている。 PyTorchTensorFlowは、どのようなモデルアーキテクチャにも簡単に統合できる を提供しており、どのようなモデルアーキテクチャにも簡単に統合できます。

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

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加