用語集

検証データ

検証データを用いて機械学習モデルを最適化することで、オーバーフィッティングを防ぎ、ハイパーパラメータを調整し、ロバストで実世界に即したパフォーマンスを保証します。

検証データとは、モデルのハイパーパラメータをチューニングする際に、モデルの適合度を公平に評価するために使用される、学習プロセスから退避したデータのサンプルである。検証セットの主な役割は、機械学習(ML)モデルの性能について頻繁に独立した評価を提供することによって、その開発を導くことである。このフィードバック・ループは、見たデータに対して優れた性能を発揮するだけでなく、新しい、見たことのないデータに対しても効果的に汎化するモデルを構築するために不可欠であり、ロバストな人工知能(AI)システムを構築する上で中心的な概念である。

検証データの役割

検証データの主な目的は、オーバーフィッティングを防ぐことである。オーバーフィッティングは、モデルが学習データをうまく学習しすぎて、新しいデータには当てはまらないノイズや詳細を捕捉してしまい、パフォーマンスが低下する場合に発生する。モデルを検証セットに対して定期的にテストすることによって(例えば、各エポックの後)、開発者はその汎化誤差を監視することができます。トレーニングデータでの性能が向上し続ける一方で、検証データでの性能が停滞または低下する場合、それは明らかにオーバーフィッティングの兆候である。

この評価プロセスは、ハイパーパラメータのチューニングにとって極めて重要である。ハイパーパラメータとは、学習率や バッチサイズなどモデルの外部にある構成設定のことで、データからは学習されない。検証セットによって、異なるハイパーパラメータの組み合わせを実験し、最高のパフォーマンスをもたらすセットを見つけることができる。この繰り返しプロセスは、モデル選択と最適化の核となる部分である。

検証データとトレーニングおよびテストデータの比較

典型的なMLプロジェクトでは、データセットは3つのサブセットに分割され、それぞれの役割を理解することが基本となる。データ分割の一般的なアプローチは、70%をトレーニング、15%を検証、15%をテストに割り当てることである。

  • トレーニングデータモデルの学習に使用される、データの最も大きな部分である。モデルは、モデル内部の重みを調整することで、このデータセットからパターン、特徴、関係を繰り返し学習する。
  • 検証データ:この別個のサブセットは、トレーニング・プロセス中に不偏の評価を提供するために使用される。ハイパーパラメーターのチューニングや、オーバーフィッティングを防ぐための早期停止をいつ実施するかなどの重要な意思決定に役立ちます。Ultralyticsエコシステムでは、この評価は検証モードで処理されます。
  • テストデータこのデータセットは、モデルの学習とチューニングが完了するまで保持される。モデルのパフォーマンスを最終的かつ公平に評価するために一度だけ使用されます。テストセットの性能は、モデルが実際の配備シナリオでどのような性能を発揮することが期待されるかを示します。

モデルの能力を正確に評価し、バイアスと分散のトレードオフを避けるためには、特に検証セットとテストセットを厳密に分けることが重要である。

実例

  1. コンピュータビジョンの物体検出:画像内の物体を検出するためのUltralytics YOLOモデルをトレーニングする場合(VisDroneデータセットを使用するなど)、ラベル付けされた画像の一部が検証データとして設定されます。学習中、モデルのmAP(平均平均精度)は、各エポック後にこの検証セットで計算されます。この検証用mAPは、テストセットで最終的な性能チェックを行う前に、いつ学習を停止するか、あるいはどのデータ補強手法が最も効果的かを決定するのに役立ちます。効果的なモデル評価戦略は、この分割に大きく依存します。
  2. 自然言語処理テキスト分類:顧客レビューを肯定的か否定的かに分類するモデル(センチメント分析)を開発する際、最適なアーキテクチャ(LSTMTransformerなど)を選択したり、ドロップアウト率などのハイパーパラメータを調整したりするために、検証セットが使用される。検証セットで最高のF1スコアまたは精度を達成したモデルが、最終テストに選択されます。Hugging Face Datasetsのようなリソースは、この目的のためにあらかじめ分割されたデータセットを提供していることが多い。

クロスバリデーション

利用可能なデータ量が限られている場合、クロスバリデーション(特にK-Foldクロスバリデーション)と呼ばれる手法がしばしば採用される。ここで、学習データは「K」個のサブセット(フォールド)に分割される。モデルはK回トレーニングされ、毎回K-1フォールドをトレーニングに使用し、残りのフォールドを検証セットとして使用する。そして、すべてのK回の実行で性能を平均する。scikit-learnのドキュメントや UltralyticsのK-Foldクロスバリデーションガイドなどのリソースで説明されているように、これはモデルのパフォーマンスをよりロバストに推定し、限られたデータをより有効に活用します。

要約すると、検証データは、PyTorchや TensorFlowのようなフレームワークで信頼性が高く高性能なAIモデルを構築するための基礎となる。これにより、効果的なハイパーパラメーターのチューニング、モデルの選択、オーバーフィッティングの防止が可能になり、モデルが学習したデータを超えて十分に汎化されることが保証される。Ultralytics HUBのようなプラットフォームは、これらのデータセットを効果的に管理するための統合ツールを提供します。

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

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

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