合成データセットによるコンピュータビジョンモデルの改善
以下の記事を参考にして書いてます。
・Why Unity claims synthetic data sets can improve computer vision models
1. はじめに
Unityの機械学習エンジニアである「Cesar Romero」は、「Transform 2020」でのプレゼンテーションで、「合成データ」(Synthetic Data)を使って自動運転車やロボットを訓練することの有効性を主張しました。
彼は、「実世界データの課題」を指摘し、それに対する「合成データの利点」を紹介しました。
2. 規制上の懸念
はじめに、GDPR(EU一般データ保護規則)など規制上の懸念があります。
これらの規制は、データが個人に属し、収集者に属さないことを強調しようとしています。その場合、全てのデータを盲目的に収集し、それを使って学ぶことは困難になる可能性があります。
しかし、シミュレートされたデータはその懸念は完全なくなります。合成されているため、違反するプライバシーや疑問を抱く所有権はありません。
3. 実世界データのバイアスとコスト
実世界のデータもバイアスに悩まされることもよくあります。
システムを訓練するために必要となる可能性のあるデータは、実世界では十分に発生しない可能性があります。そして十分取得できたとしても、データ収集と注釈付けにはコストがかかります。そして、これらの問題は規模では消えません。
例えば、自動運転のコンピュータービジョンシステムは、交通事故などから学習します。交通事故は非常にまれなので、モデルを訓練するのに十分なデータを収集することは困難です。
Unityでシミュレーションを作成し、実際に複数の歩行者と車を交差点に追加して、それらが互いにどのように相互作用するかを確認し、意図的に自動車事故やニアミスをシミュレーションを行えば、これらのデータで、コンピュータービジョンモデルを訓練できます。
4. データの複雑さの必要性
彼は、ほんの数年の間に、「データの複雑さの必要性」が急激に高まったことも示しました。2012年のImageNetは啓示でしたが、それが提供したものは、今日の基準では単純であると考えられていると言いました。
交通量の多い交差点の写真には、「車」のようなラベルが1つ付加されます。しかし、「車」があることを知っているだけでは、自律システムが決定を下すのに十分ではありません。
「セマンティックセグメンテーション」では、画像の全てピクセルが、オブジェクトが表すものに応じてラベルを取得します。例えば、サンプル画像では、「車」は「青」、「歩行者」は「マゼンタ」です。
彼は、ラベル付けと監査にそれぞれ時間がかかるため、コストが増大すると述べました。
Unityでシミュレーションを作成した場合は、オブジェクトが含まれる「世界」は制限されます。しかし、ゲームエンジンはオブジェクトとそれが含まれる「世界」を認識します。そのため、各ピクセルが正確に何であるかを知っています。この情報を使用することでデータセットを生成できます
5. 無制限のドメインのランダム化
Unityのシミュレーションから生成したデータセットは、「無制限のドメインのランダム化」により、バリエーションを豊富にすることができます。これは、特定のシミュレーション内で「色」「マテリアル」「ライティング」を変更して、同じシーンからより多くのデータを提供できる場合です。例えば、シーンの照明を朝から夜に変更し、変更ごとに追加データを生成できます。実世界のデータで同じことを行うには、非常に困難でコストがかかります。
製品の3Dモデルを利用する場合、任意に「回転」させ、「背景」を変更し、「オブジェクトとカメラ間の距離」を変更し、「ぼかし」「焦点」「色」を変更することで、最終的に何百万ものデータを生成できます。
6. 合成データと実世界データのコスト
チャートでは、合成データと実世界データのコストの差を計算しました。
Romero氏によると、実世界データは合成データの3分の2で済む可能性がありますが、実世界データの場合、画像あたりのコストは大幅に高くなります。最終的には、実世界データからの画像が1,500枚、合成データが100万枚を超えることになりました。
7. 合成データを支持する研究の例
Romero氏は、合成データを支持する研究の例をいくつか提供しました。
◎ SYNTHIAデータセット
自動運転車の「SYNTHIAデータセット」では、訓練結果から実世界データと合成データを組み合わせると、実世界データだけを使用するよりもパフォーマンスが向上することがわかりました。
◎ Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World
2017年の論文「Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World」(シミュレーションから実世界にディープニューラルネットワークを転送するためのドメインのランダム化)では、ロボットアームのつまむ精度を向上させるモデルで、合成データはフォトリアルである必要がないことがわかりました。モデルが実行する必要があるテストにとって、特に重要ではない画像の側面を意図的にランダム化しています。
◎ スーパーマーケットのアイテムの検出
「Google Cloud AI Reserches」が合成データ(スーパーマーケットのアイテム)でオブジェクト検出モデルを訓練し、実際のデータで訓練されたものよりも優れていると述べています。
◎ SynthDet
シミュレーションと合成データの使用を開始したい人のために、Unityは「SynthDet」を提供しており、実際にアセットを生成してフレームにラベルを付けることができます。独自のハードウェアでシミュレーションを「ローカル」で実行でき、大規模なシミュレーションには会社のクラウドサービスである「Unity Simulation」を使用できます。
8. おわりに
合成データの利点に関するRomero氏の指摘の一部は不可避であるように見えますが、自動運転車の訓練に関しては、実世界のデータが不可欠であるとする見方もあります。
たとえば、VentureBeatの以前のインタビューで、シミュレーションと自動化のWaymo製品リーダーであるJonathan Karmelは次のように述べています。
「合成マイルにのみ焦点を当て、実世界での運転から得られるリアリズムの一部を取り入れない場合、リアリズムの曲線のどこにいるのかを知ることは、実際には非常に難しくなります。」
しかし、彼はまた次のようにも述べてます。
「そうは言っても、私たちがやろうとしていることは、できる限り多く学習することです。この期間でも、何千年もの経験を積んでいます。」
この記事が気に入ったらサポートをしてみませんか?