用語集

検証データ

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

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

さらに詳しく

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

モデル開発における役割

学習段階では、MLモデルは学習データからパターンを学習する。しかし、学習したデータと同じデータでモデルを評価するだけでは誤解を招く可能性があり、オーバーフィッティング(モデルがノイズや特定のクセを含めて学習データを学習しすぎてしまい、新しいデータへの汎化能力を妨げてしまうこと)による楽観的すぎる性能推定になることがよくあります。検証データは、トレーニング中の未経験データの代理として機能する。検証セットでのモデルのパフォーマンスを定期的に(例えば各エポックの後に)評価することで、開発者は以下のことが可能になります:

  1. ハイパーパラメーターを調整する: 学習率バッチサイズ、モデルの複雑さ(例:ニューラルネットワークのレイヤー数)などの設定を調整する。ハイパーパラメータチューニングガイドのようなテクニックをご覧ください。
  2. モデルを選択する:異なるアルゴリズムやアーキテクチャを比較し、検証セットでどれが最も良い結果を出すかを確認する。
  3. オーバーフィッティングを防ぐ:検証セットのパフォーマンスが低下し始めたら、たとえトレーニングセットのパフォーマンスがまだ向上していたとしても、トレーニングを中止する。モデルトレーニングのヒント」の続きを読む。

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

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

  • 学習データアルゴリズムがパターンを学習し、内部パラメータ(モデルの重み)を調整するために直接使用する、データセットの最大部分。
  • 検証データ:ハイパーパラメータを調整し、モデル選択を決定するために、トレーニング中に繰り返し使用される中規模のデータ。現在の訓練状態に基づいて、モデルがどの程度汎化しているかについてのフィードバックを提供する。
  • テストデータ開発プロセスの最終段階まで、完全に分離された小規模な部分。テストデータは、選ばれたモデルが本当に見たことのないデータに対してどのようなパフォーマンスを発揮するか、最終的に公平に評価するためのものです。重要なことは、テストセットは、モデルの期待される実世界でのパフォーマンスの信頼できる評価を確実にするために、トレーニングやチューニングの決定に影響を及ぼすべきではないということです。

重要性とメリット

ロバストで信頼性の高いMLモデルを構築するためには、専用の検証セットを使用することが不可欠です。主な利点は以下の通りです:

  • 汎化の向上:学習させたデータだけでなく、新しい未知のデータに対してもモデルが良好に機能するようにします。
  • 客観的なモデル比較:異なるモデルやハイパーパラメータ設定を比較するための公正な基準を提供します。
  • オーバーフィッティングの防止:モデルが一般的なパターンを学習するのではなく、学習データを記憶し始めたことを検知する早期警告システムとして機能する。モデルの評価とファインチューニングに関する詳細なガイドが、より多くのコンテキストを提供します。

実例

  1. Ultralytics YOLO物体検出:YOLOトレーニングするとき Ultralytics YOLOモデルを訓練して、自律走行アプリケーションで車や歩行者などの物体を検出する場合、訓練データは数千のラベル付き画像で構成されます。平均平均精度(mAP)のようなメトリクスを計算するために、各トレーニングエポックの後に、類似したオブジェクトを含む異なる画像を含む検証セットが使用されます。この検証用mAPは、Ultralytics HUBのようなツールを使用してハイパーパラメータ(学習率、データ増強強度など)を調整し、最終テスト前に検証セットで最高のパフォーマンスをもたらす構成を見つけるための指針となる。
  2. 医療画像解析 脳腫瘍データセットのようなデータセットを使って、脳スキャンの腫瘍を分類する畳み込みニューラルネットワーク(CNN)を開発しているとする。検証セットは、異なるCNNアーキテクチャ(例えば、ResNet対VGG)を比較したり、脱落率などのパラメータを調整するために使用されます。検証精度や F1スコアに基づいて最適化することで、研究者は最終的なテストセット評価の完全性を損なうことなく、最も有望なモデルを選択することができる。

検証データに関わるテクニック

特に限られたデータでは、1つの検証分割が代表的でないことがある。クロスバリデーションのような技術はこれに対処する。Kフォールド・クロス・バリデーションでは、訓練データは「k」個のサブセット(フォールド)に分割される。モデルは「k」回訓練され、毎回異なるフォールドを検証セットとして使用し、残りのk-1フォールドを訓練に使用する。k'個の検証フォールドにわたる平均性能は、モデルの汎化能力のより確実な推定値を与える。Scikit-learnのようなライブラリに実装があります。

検証データは、効果的なコンピュータビジョンやその他のMLモデルの開発を導くために不可欠であり、それらが十分に調整され、トレーニングデータセット以外の新たな課題にも汎化できることを保証する。

すべて読む