用語集

検証データ

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

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

検証データは、機械学習(ML)の開発サイクルにおいて極めて重要な要素である。これは元のデータセットの別のサブセットであり、モデルの適合に使われるトレーニングデータとも、最終評価に使われるテストデータとも異なる。検証データの主な目的は、モデルのハイパーパラメータをチューニングし、モデルのアーキテクチャを決定する際に、トレーニングデータセットに適合したモデルを偏りなく評価することである。このプロセスは、未知のデータに対する最終的な性能を評価する前に、最適なモデル構成を選択するのに役立ちます。

検証データの役割

モデルの学習プロセスにおいて、MLモデルは学習データからパターンを学習する。しかし、このデータだけでモデルを評価することは誤解を招く可能性があります。モデルが単に学習例を記憶してしまうかもしれないからです。検証データはチェックポイントとして機能する。トレーニング中に定期的にこの別のセットでモデルのパフォーマンスを評価することで、開発者は次のことができる:

  1. ハイパーパラメータの調整:検証セットで計算されたパフォーマンス指標(精度mAPなど)に基づいて、学習率バッチサイズ、モデルの複雑さなどの設定を調整する。これは、ハイパーパラメータ・チューニング・ガイドで説明されているテクニックを使って行われることが多い。
  2. モデルを選択します:異なるモデルのアーキテクチャやバージョン(例えば、Ultralytics YOLOv8 YOLOv10の比較)を検証パフォーマンスに基づいて比較する。
  3. オーバーフィッティングの防止:検証メトリクスを監視して、トレーニングのパフォーマンスが向上しているにもかかわらず、モデルのパフォーマンスが検証セットで低下し始めた場合に、オーバーフィッティングを検出します。早期停止などのテクニックは、検証パフォーマンスに依存しています。

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

トレーニングデータセット、検証データセット、テストデータセットの区別を理解することは、ロバストなモデル開発の基本である:

  • 学習データ学習アルゴリズムがパターンを学習し、モデルの重みを調整するために直接使用する、データセットの最大部分。モデルは学習ループ(エポック)の間、このデータを頻繁に「見る」。
  • 検証データ:トレーニング中に間接的に使用される小さな部分。モデルはこのデータから直接学習しないが、このセットでの性能はハイパーパラメータとモデル構造に関する決定の指針となる。開発段階において、モデルが新しいデータに対してどの程度汎化できるかについてのフィードバックを提供する。
  • テストデータトレーニングや検証でモデルが一度も見たことのない、完全に独立したデータの一部。すべての訓練とチューニングが完了した後に一度だけ使用され、未見の実世界データに対するモデルの汎化能力の最終的で偏りのない推定値を提供する。

データセットのバージョニングと管理のためにUltralytics HUBのようなツールを使用して管理されることが多い、適切な分離は、テストセットからの情報が訓練やモデル選択プロセスに「漏れる」ことを確実にし、それは過度に楽観的なパフォーマンスの見積もりにつながる。

ハイパーパラメータのチューニングとモデルの選択

検証データはハイパーパラメータのチューニングに不可欠である。ハイパーパラメータとは、学習プロセスを開始する前に設定される、モデル自身の外部にある構成設定のことである。例えば、学習率、ニューラルネットワークのレイヤー数、使用する最適化アルゴリズムのタイプなどである。開発者は、異なるハイパーパラメータの組み合わせで複数のモデルのバージョンを訓練し、検証セットでそれぞれを評価し、最高のパフォーマンスをもたらす組み合わせを選択する。この系統的な探索は、グリッド探索やベイズ最適化のような方法を使用して自動化することができ、多くの場合、MLOpsツールと統合されたプラットフォームによって容易になります。

実例

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

クロスバリデーション

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

要約すると、検証データは信頼性が高く高性能な人工知能(AI)モデルを構築するための基礎である。効果的なハイパーパラメータのチューニング、モデルの選択、オーバーフィッティングの防止を可能にし、モデルが学習したデータを超えて十分に汎化することを保証します。

すべて読む