機械学習におけるモデルの重みの重要性、予測におけるその役割、そしてUltralytics YOLOがAIタスクにおけるその使用をどのように簡素化するかをご覧ください。
モデルの重みとは、学習プロセスで調整されるニューラルネットワーク内の数値パラメータである。これらの値は基本的に、学習されたモデルの知識を表します。これらの係数を調整することで、モデルは、画像のような入力データを、オブジェクトの周囲のバウンディングボックスのような望ましい出力にマッピングすることを学習します。モデルの重みの質は、画像分類や 物体検出など、与えられたタスクでの性能を直接決定する。
モデルの重みは手動で設定されるのではなく、データから「学習」される。このプロセスは、重みを小さな乱数に初期化することから始まる。学習中、モデルは学習データに対して予測を行い、損失関数がこれらの予測がどれだけ間違っているかを計算する。この誤差信号は、バックプロパゲーションと呼ばれるプロセスで使用され、各重みに対する損失の勾配を計算する。その後、確率的勾配降下法(SGD)などの最適化アルゴリズムが、誤差を最小化するために勾配とは逆方向に重みを調整する。このサイクルは、別個の検証データセットにおけるモデルの性能が向上しなくなるまで、何度も繰り返される。
最先端のモデルをゼロからトレーニングするには、膨大な計算リソースと膨大なデータセットを必要とする。これを克服するために、コンピュータビジョンのコミュニティでは、事前に訓練された重みを広く使用しています。これは、UltralyticsのYOLOモデルのように、COCOのような大規模で汎用的なデータセットですでに訓練されたモデルを使用することです。これらの重みは、転移学習と呼ばれるプロセスを通じて、新しい特定のタスクのための優れた出発点として機能します。事前に訓練された重みから始めることで、微調整と呼ばれるプロセスを通じて、より少ないデータと短い訓練時間でより高い精度を達成することができます。
機械学習では、モデルの重みを他の関連用語と区別することが重要である:
モデルが複雑になるにつれて、その重みとそれを生成する実験を管理することは、再現性と共同作業のために非常に重要になります。Weights & Biases (W&B)のようなツールは、MLOpsに特化したプラットフォームを提供し、各チームがハイパーパラメータ、メトリクス、コードバージョン、および各実験の結果としてのモデルの重みを追跡することを可能にします。プラットフォーム「Weights & Biases」は、ニューラルネットワーク内のパラメータとしての「重み」と「バイアス」の概念とは異なることに注意することが重要です。UltralyticsとW&Bの統合についてはドキュメントをご覧ください。効率的な管理は、ハイパーパラメータのチューニングから、PyTorchや TensorFlowのようなフレームワークを使用したモデルのデプロイまで、様々なタスクの鍵となります。Ultralytics HUBのようなプラットフォームは、モデルのライフサイクル全体を管理するための統合ソリューションも提供しています。