モデルの重みがAIの知識としてどのように機能するかを学びましょう。Ultralytics YOLO26が最適化された重みを使用して、より高速で正確なトレーニングと推論を実現する方法を探ります。
モデルの重みは、機械学習モデル内で入力データを予測出力に変換する学習可能なパラメータです。ニューラルネットワークでは、これらの重みは異なる層間のニューロン間の結合の強さを表します。モデルが初期化される際、これらの重みは通常、ランダムな小さな値に設定され、モデルは何も「知らない」状態です。トレーニングと呼ばれるプロセスを通じて、モデルは発生するエラーに基づいてこれらの重みを繰り返し調整し、データ内のパターン、特徴、関係性を徐々に学習します。モデルの重みはAIの「記憶」または「知識」と考えることができ、システムがトレーニングデータから学習した内容を保存します。
ニューラルネットワークをトレーニングする主な目標は、モデルの予測と実際のグラウンドトゥルースとの間の誤差を最小限に抑える最適なモデルの重みのセットを見つけることです。このプロセスには、順伝播として知られるステップでデータをネットワークに通し、特定の損失関数を使用して損失値を計算することが含まれます。予測が正しくない場合、Stochastic Gradient Descent (SGD)やYOLO26で使用されている新しいMuonオプティマイザのような最適化アルゴリズムが、各重みが誤差にどれだけ寄与したかを計算します。
バックプロパゲーションと呼ばれる手法を通じて、アルゴリズムは次回のエラーを減らすために重みをわずかに更新します。このサイクルは何千回、何百万回と繰り返され、モデルの重みが安定し、システムが高い精度を達成するまで続きます。学習が完了すると、重みは「凍結」されて保存され、モデルを新しい未知のデータに対する推論に展開できるようになります。
重みとバイアスは連携して機能しますが、それぞれ異なる目的を持つため、区別することが重要です。 モデルの重みはニューロン間の結合の強さと方向を決定し(活性化の傾きを制御)、バイアスは活性化関数を左右にシフトさせることができます。このオフセットにより、すべての入力特徴量がゼロの場合でも、モデルがデータにより良く適合することが保証されます。重みとバイアスは共に、畳み込みニューラルネットワーク(CNN)のようなアーキテクチャの動作を定義する学習可能なパラメータを形成します。
モデルウェイトは、AIシステムが様々な業界で機能することを可能にする中核的なコンポーネントです。以下に、それらがどのように適用されるかの具体的な2つの例を示します。
実際には、モデルの重みを扱うことは、学習済みパラメータをファイルに保存し、後で予測のためにロードすることを含みます。 ファインチューニング。Ultralyticsエコシステムでは、これらは通常、として保存されます。 .pt (PyTorch) ファイル。
YOLOモデルに事前学習済み重みをロードして予測を実行する方法の簡単な例を以下に示します。
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")
モデルの重みの最も強力な側面の1つは、そのポータビリティです。膨大なデータセットとかなりの計算能力を必要とするゼロからのモデルトレーニングの代わりに、開発者はしばしば転移学習を使用します。これは、COCOやImageNetのような大規模データセットで事前学習された重みを持つモデルを取得し、特定のタスクに適応させることを含みます。
例えば、汎用物体検出器の重みを取得し、より小規模なソーラーパネルのデータセットでファインチューニングすることができます。事前学習済みの重みはすでにエッジ、形状、テクスチャを理解しているため、モデルははるかに速く収束し、必要なラベル付きデータも少なくなります。Ultralytics Platformのようなツールは、このプロセスを簡素化し、チームがデータセットを管理し、クラウドでモデルをトレーニングし、最適化された重みをエッジデバイスにシームレスにデプロイできるようにします。
現代のAI研究は、パフォーマンスを犠牲にすることなくモデルの重みのファイルサイズを削減することに焦点を当てることが多く、このプロセスはモデル量子化として知られています。重みの精度を削減する(例:32ビット浮動小数点から8ビット整数へ)ことで、開発者はメモリ使用量を大幅に削減し、推論速度を向上させることができます。これは、携帯電話やRaspberry Piデバイスのようなリソースに制約のあるハードウェアにモデルをデプロイする上で非常に重要です。さらに、プルーニングのような手法は、出力への寄与が少ない重みを除去し、リアルタイムアプリケーション向けにモデルをさらに効率化します。

未来の機械学習で、新たな一歩を踏み出しましょう。