Synthetic Data
合成データがAIと機械学習を支える仕組みを紹介します。Ultralytics YOLO26のモデル精度を向上させる高品質なデータセットを生成する方法を学びます。
合成データとは、実世界のデータの統計的特性、パターン、構造的特徴を模倣する、人工的に生成された情報です。人工知能 (AI)や機械学習 (ML)の急速に発展する分野では、真正なデータの収集に費用や時間がかかる場合や、プライバシー規制によって制限される場合に、合成データが重要なリソースとして役立ちます。実世界の出来事から収集されるオーガニックデータとは異なり、合成データはコンピュータシミュレーションや高度な生成モデルなどの手法を用いてアルゴリズムによって作成されます。Gartnerの予測によると、2030年までに合成データはAIモデルにおいて実データを上回り、インテリジェントシステムの構築およびデプロイ方法を根本的に変えるとされています。
AI開発における合成データの役割#
合成データセットを利用する主な目的は、従来のデータ収集とアノテーションに内在する制約を克服することです。堅牢なコンピュータビジョン (CV)モデルのトレーニングには、多様なシナリオを含む大規模なデータセットが必要になることがよくあります。希少疾患の診断や危険なエッジケースの交通事故など、実世界のデータが不足している場合に、合成データがそのギャップを埋めます。
このデータを生成することで、開発者は必要に応じて、正確にラベル付けされたトレーニングデータを作成できます。これには、物体検出用の精密なバウンディングボックスや、セマンティックセグメンテーション用のピクセル単位で正確なマスクが含まれ、手動ラベリングプロセスで生じがちな人的エラーを排除できます。さらに、エンジニアが過小評価されているグループや環境条件を含めてデータセットのバランスを意図的に調整できるため、AIにおけるバイアスにも対処でき、より公平なモデル性能を実現できます。
実世界での利用例#
合成データは、データプライバシー、安全性、スケーラビリティが極めて重要な業界に変革をもたらしています。
- 自動運転シミュレーション: 自動運転車を物理世界だけでテストすることは危険であり、地理的な制約もあります。企業は、NVIDIA Omniverseなどのフォトリアルなシミュレーターを利用して、認識システムをトレーニングしています。これらのシミュレーターは数十億マイルに及ぶ仮想走行データを生成し、実世界で一貫して捉えることが難しい危険な気象条件、予測不能な歩行者の行動、複雑な都市構造にAIをさらします。
- ヘルスケアと医用画像: HIPAAやGDPRなどの患者プライバシー法は、医療記録の共有を厳格に規制しています。合成データを使用すると、個人を特定できる情報を含まずに病変の特徴を保持した、X線画像やMRIスキャンなどの現実的な医用画像解析データセットを作成できます。これにより、研究者は患者の機密性を損なうことなく、腫瘍検出モデルを共同でトレーニングできます。
ビジョンAI向けの合成データ生成#
高品質な合成データの作成には、多くの場合、シミュレーションエンジンと生成AIという2つの主なアプローチがあります。Unity Engineなどのシミュレーションエンジンは、3Dグラフィックスを使用して、物理ベースのライティングやテクスチャを備えたシーンをレンダリングします。一方、敵対的生成ネットワーク (GANs)や拡散モデルなどの生成モデルは、実データの分布を学習して、新たなフォトリアルなサンプルを合成します。
合成データセットが生成されると、それを使用して高性能モデルをトレーニングできます。次のPython例では、ultralyticsパッケージを使用して、合成データでトレーニングされている可能性のあるモデルを読み込み、画像に対して推論を実行する方法を示します。
from ultralytics import YOLO
# Load the YOLO26 model (latest stable generation for superior accuracy)
model = YOLO("yolo26n.pt")
# Run inference on a source image (this could be a synthetic validation image)
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results to verify model performance
results[0].show()合成データとデータ拡張の比較#
どちらの手法もデータセットの拡張を目的としていますが、機能が異なるため、合成データとデータ拡張を区別すると理解しやすくなります。
- データ拡張では、反転、回転、クロッピング、色調整などの変換を既存の実世界の画像に適用し、わずかなバリエーションを作成します。元のデータソースに依存します。
- 合成データでは、アルゴリズムやシミュレーションを使用して、まったく新しいデータインスタンスをゼロから作成します。すべての出力に元の画像が厳密に必要となるわけではないため、カメラで一度も捉えられていないシナリオを生成できます。
Ultralytics Platform上の最新のワークフローでは、両方のアプローチを組み合わせることがよくあります。合成データを使用してデータセットの不足部分を補い、トレーニング中にデータ拡張を適用して、YOLO26などのモデルの堅牢性を最大化します。









