合成データとは何ですか?

合成データについて知っておくべきことすべて

人工知能 (AI) を展開する企業は、モデルに必要な十分なデータを収集する際に大きなハードルに直面しています。多くのユースケースでは、正しいデータが入手できないか、入手が困難でコストがかかります。AI モデルを作成する場合、データが欠落していたり​​不完全だったりするだけでは十分ではなく、大手テクノロジー企業であってもこの点で間違いを犯すことは避けられません。たとえば、研究者らは 2018 年に、トップクラスの顔認識ソフトウェアは白人男性の顔を簡単に認識できましたが、肌の色が濃い人を識別した場合に34% 多くの間違いを犯したことを発見しました。これらのモデルのトレーニングに使用されるデータには、母集団のサブセット全体が表現されていません。では、この場合、企業はどう対応すればよいのでしょうか?合成データは魅力的なソリューションを提供します。合成データは、実際の出来事からではなく、コンピューター プログラムを通じて人工的に生成されたデータです。企業は、トレーニング データを合成データで強化して、潜在的なエッジ ユースケースをすべて満たし、データ収集コストを節約し、プライバシー要件を満たすことができます。コンピューティング能力とクラウド データ ストレージ オプションの向上により、合成データへのアクセスがこれまで以上に容易になりました。これは確かに前向きな発展です。合成データは、すべてのエンド ユーザーにより良いサービスを提供する AI ソリューションの開発を推進します。  

なぜ合成データを使用するのでしょうか?

解決すべき AI の問題があり、データのニーズを部分的に満たすか完全に満たすために合成データに投資すべきか迷っているとします。合成データがプロジェクトに適している理由は次のとおりです。

モデルの信頼性を向上させる

追加のデータを収集することなく、モデルのより多様なデータを取得できます。合成データを使用すると、異なる髪型、顔の毛、異なる眼鏡の着用、異なる頭のポーズなどを備えた同じ人物でモデルをトレーニングしたり、肌の色、民族性、骨格、そばかすなどに基づいて独自の画像を作成したりできます。さまざまな面により、モデルの信頼性が向上します。

「実際の」データ取得よりも高速

チームは短時間で大量の合成データを生成できます。これは、実際のデータがまれに発生するイベントに依存している場合に特に役立ちます。たとえば、自動運転車のデータを収集する場合、極端な道路状況は稀であるため、チームは十分な現実世界のデータを収集するのに苦労する可能性があります。さらに、データ サイエンティストは、合成データの作成時に自動的にラベルを付けるアルゴリズムを設定することもできるため、時間のかかるラベル付けプロセスを削減できます。

エッジケースの解釈

機械学習アルゴリズムはバランスの取れたデータセットを好みます。顔認識の例を思い出してください。これらの企業がデータのギャップを埋めるために肌の色が濃い顔の合成データを作成した場合、モデルの精度が向上するだけでなく (実際、いくつかの企業が行っていることです)、より倫理的なモデルも生成されるでしょう。 。合成データは、チームがデータが不十分または存在しないエッジケースを含むすべてのユースケースをカバーするのに役立ちます。

ユーザーの個人データを保護する

業界やデータの種類によっては、組織は機密データを扱う際にセキュリティ上の課題に直面する可能性があります。たとえば、医療業界では、多くの場合、患者データには個人健康情報 (PHI) が含まれており、使用する前に高度なセキュリティ要件を満たす必要があります。合成データには実際の人物に関する情報が含まれないため、プライバシーの懸念を軽減できます。チームが特定のデータ プライバシー要件を満たす必要がある場合は、代替として合成データを検討してください。  

合成データのアプリケーション シナリオ

ビジネスの観点から見ると、合成データにはモデルの検証、モデルのトレーニング、新製品のテスト データなど、多くの用途があります。いくつかの業界が機械学習における合成データの使用を先駆的に行っており、そのうちのいくつかを取り上げます。

自動運転車を開発する企業は、パフォーマンスをテストするためにシミュレーションに依存することがよくあります。極端な気象条件などの特定の条件下では、実際の交通データを取得することが困難または危険な場合があります。全体として、考えられるすべての運転体験において考慮すべき変数が多すぎて、実車を路上で使用したフィールドテストに頼ることはできません。合成データは手動データ収集よりも安全で高速です。

医療保険

ヘルスケアは、データの機密性のため、合成データの採用に最適な業界です。チームは合成データを活用して、考えられるすべてのタイプの患者の生理学的情報を収集し、最終的には病気をより迅速かつ正確に診断するのに役立ちます。この鮮やかな例は、Google の黒色腫検出モデルです。これは、肌の色が濃い個人からの合成データを使用し (残念なことに、この分野では臨床データが不十分です)、モデルをすべての肌タイプに適用できるようにしています。

安全性

合成データは組織のセキュリティの強化を促進します。顔認識の例に戻ると、人工的に作成された画像やビデオを指す「ディープフェイク」という用語を聞いたことがあるかもしれません。企業はディープフェイクを作成して、自社のセキュリティ システムや顔認識プラットフォームをテストできます。ビデオ監視では、合成データを活用して、低コストかつ高速にモデルをトレーニングします。

データのポータビリティ

企業は、トレーニング データを他のユーザーと共有するための安全な方法を必要としています。合成データのもう 1 つの興味深い使用例は、データセットを他の人が利用できるようにする前に、個人を特定できる情報 (PII) を隠すことです。これはプライバシー保護合成データとして知られており、科学研究データセット、医療データ、社会学データ、および PII が含まれる可能性のあるその他の分野を共有するために使用できます。  

合成データの作成方法

チームは、機械学習技術を使用して、プログラムで合成データを作成できます。通常、サンプル データのセットを使用して合成データを作成します。合成データはサンプル データの統計的特性を保持する必要があります。合成データ自体は、バイナリ、数値、またはカテゴリのいずれかになります。これはランダムに生成され、任意の長さで、目的のユースケースをカバーするのに十分な信頼性がある必要があります。合成データを生成するにはいくつかの手法がありますが、最も一般的な手法を以下に説明します。

配信データから抽出

実際のデータはなくても、データセットの分布がわかっている場合は、その分布から合成データを生成できます。この手法では、任意の分布 (正規分布、指数分布など) からランダムなサンプルを生成して、偽のデータを作成します。

実際のデータを分散データに適合させる

実際のデータがある場合は、モンテカルロ法などの手法を使用してデータに最適な分布を見つけ、それを使用して合成データを生成できます。

ディープラーニング

深層学習モデルは合成データを生成できます。例えば:

  • 変分オートエンコーダー モデル:この教師なしモデルは、初期データセットを圧縮してデコーダーに送信し、デコーダーはその初期データセットの表現を出力します。
  • Generative Adversarial Network (GAN) モデル: GAN モデルは 2 つのネットワークで構成されます。ジェネレーターはサンプル データセットを取得し、合成データを出力します。ディスクリミネーターは合成データを実際のデータセットと比較し、繰り返し微調整します。

開始する実際のデータの量と合成データの使用目的に応じて、上記のアプローチを組み合わせることが最も有益な場合があります。  

合成データの未来

過去 10 年間で、合成データの使用が劇的に加速しました。これにより企業の時間とコストが節約されますが、課題がないわけではありません。合成データには、実際のデータに自然に発生する外れ値がありません。また、一部のモデルでは、精度にとって外れ値が重要です。また、合成データの品質は生成に使用される入力データに依存することが多いことに注意することも重要です。入力データに存在するバイアスは合成データに容易に伝播する可能性があるため、開始点として高品質のデータを使用することの重要性を過小評価することはできません。 。最後に、追加の出力制御が必要です。つまり、矛盾が生じないように、合成データを人間が注釈を付けた実際のデータと比較する必要があります。こうした課題にもかかわらず、合成データは依然として刺激的な機会の分野です。実際のデータが利用できない場合でも、合成データは革新的な AI ソリューションの生成に役立ちます。最も重要なことは、合成データは、企業がより包括的でエンド ユーザーの多様性をよりよく表す製品を作成するのに役立つということです。Appen のデータ サイエンス ディレクターによる専門的な洞察 合成データはデータ拡張技術であり、データのキャプチャとラベル付けに代わるものではないことに注意してください。実際のデータがなければ、現実世界で適切に機能するモデルを作成できないことを認識することが重要です。おそらくほとんどのケースはカバーできると思いますが、モデルが失敗するエッジ ケースも多数あります (たとえば、顔認識のケースでは、まれな照明条件、まれな顔の特徴、整形手術などが存在する可能性があります。考えてみました - 合成データだけから始めた場合、たとえそれらの顔がどれほど現実的であっても、これらのことは分からないでしょう)。さらに、合成データを作成および使用するときに留意すべき点がいくつかあります。

  1. 必要な合成データを定義するためにモデルの信頼性要件を理解する: 合成データの生成を開始する前でも、モデルに実際に何が必要かを把握し、必要な合成データの種類に対する一連の機能要件を作成する必要があります。既存のデータに似た合成データを構築しても、モデルには役に立ちません。代わりに、データ拡張を通じて多様性 (例: 顔認識ユースケースにおける異なる顔の特徴を持つ顔) とバリエーション (例: 同じ人物からのわずかな逸脱) を改善したい場合があります。合成データを生成する際には、まれなケースや特殊なケースを考慮し、優先順位を付けることができます。もう 1 つのアプローチは、現実世界のトレーニング、検証、テスト データセットによって予測された偽陽性と偽陰性から合成データのニーズを導き出し、これらの発生を減らすことです。
  2. 合成データがデータセットやモデルに対してできること、できないことを学びます。データ拡張によりモデルの精度が大幅に向上しますが、モデルが完璧になるわけではありません。合成データの分布は、私たちが実際のデータであると認識しているものに近いため、現実世界で生成された大幅に異なるデータを魔法のように効果的に理解することはできません。また、トレーニング データでは生成できなかった予測や結果を作成することもできません。また、データのソースと条件も考慮する必要があります (たとえば、ThispersonDoesNotExist.comで生成された顔はプロフィール アバターから生成されます。空が曇っていて部屋が非常に暗い場合、これらはモデルの認識には役に立ちません)室内イメージ)。
  3. 利用可能なさまざまな合成データ ツールと今後の機能について説明します。合成データへの一般的なアプローチは、現実世界からデータの一部を複製して別の実データにオーバーレイするか、Unity または何らかの 3D 環境を使用してフォトリアリスティックなデータを生成するかのいずれかです。 。しかし、GAN と VAE テクノロジーの変化により、この分野は急速に発展しています。まったく新しいデータを作成する代わりに、実際のデータの上にいくつかの新しいコンポーネントを合成することで、現実世界のデータのバリエーションを作成できます (例: 現実の顔にそばかすを追加したり、影の角度を変更したりするなど)。別の例として、オーバーレイされたデータを最適化してより現実的にすることができます。他にも使用できるツールはたくさんありますが、最初にそれらを知る必要があります。
  4. データのバージョン管理:合成データが生成されるにつれて、より優れた合成データを生成する能力が向上します。先月生成した画像は、よりリアルに見える新しいバージョンによって洗い流される可能性があります (例: 顔の肌のテクスチャが改善され、新しい GPU がレイ トレーシングでより詳細な効果を実現するなど)。これらの古いバージョンのイメージを使用して古いモデルをトレーニングしたくないでしょう。バージョン管理は、どのデータが新しいデータに置き換えられたかを理解し、さまざまな合成データを追加したり古いデータを更新したりするときにモデルの改善を検証するのに役立ちます。

要約すると、合成データは現実世界におけるモデルのパフォーマンスを向上させることができます。採用するアプローチや生成するデータはいずれも、モデルの信頼性を高め、パフォーマンスの向上に役立つ必要があります。どこが不足しているかという点でモデルの要件を明確に定義すると、適切なツールの選択と適切なデータの生成に集中できます。  

おすすめ

転載: blog.csdn.net/Appen_China/article/details/132324734