
データセントリックAIとは?実際に学習をした結果もご紹介!
2024/07/11
AIモデルに関する研究は日々行われており、毎年その性能はアップしています。一方で、AIモデルではなくデータに着目した「データセントリックAI」と呼ばれる概念が近年注目を浴びるようになりました。
この記事では、データセントリックAIとはどういった概念なのか、またデータセントリックなアプローチがAIの精度にどう影響を与えるのかを解説していきます。
はじめに
データセントリックAIを説明するにあたって、まず知っておくべき概念が「モデルセントリックAI」です。
モデルセントリックAIとは
これまで、AIの研究・開発においては主にモデルセントリックAI(Model-centric AI)が中心となっていました。このアプローチでは、AIモデルのアルゴリズムの改良やハイパーパラメータの調整に焦点を当てて、AIの性能向上を図ります。モデルセントリックAIの目標は、最先端のアルゴリズムを開発し、AIの予測精度や効率を向上させることです。
AI研究においてはしばしば「SOTAモデル」という言葉が出てきます。SOTAとは「State of the Art」の略で、現時点での最先端技術や最高性能を指します。SOTAモデルやアルゴリズムは、その分野で最も優れた成果を示し、ベンチマークや評価指標において最高のスコアを記録しています。例えば、物体検出分野では、COCO(Common Objects in Context)やPASCAL VOC(Visual Object Classes)といったデータセットがベンチマークとして使用されます。評価指標としては、平均適合率(mAP: mean Average Precision)やIoU(Intersection over Union)が一般的で、これらの指標で最高スコアを記録することがSOTAの証となります。
モデルセントリックAIのアプローチでは、AI研究者がSOTAを目指して技術を改善し、新たなアプローチを試みています。
データセントリックAIとは
モデルセントリックAIと対をなすのがデータセントリックAI (Data-centric AI) です。データセントリックAIとは、AIシステムの性能を向上させるためにデータそのものに焦点を当てるアプローチです。従来のモデルセントリックAIがアルゴリズムの改良に主眼を置いていたのに対し、データセントリックAIは高品質なデータの収集、整備、管理を通じてAIの性能を引き出します。

背景と必要性
なぜ今、データセントリックAIが注目されているのでしょうか?その理由の一つには、AI技術が成熟しつつある現在、モデルの性能向上が次第に難しくなってきたことが挙げられます。高度なモデルを構築するだけではなく、それを効果的に機能させるためには、質の高いデータが不可欠となっているのです。
Garbage In, Garbage Out
"Garbage in, garbage out" (GIGO) とは、コンピュータ科学や情報処理の分野で使われる表現です。これは、入力データが不正確または質の低いものであれば、出力データも不正確または質の低いものになるという意味です。システムやアルゴリズムは入力に依存して動作するため、入力が正確でなければ、どんなに優れたシステムでも正確な結果を出せません。この原則はデータの品質管理の重要性を強調しています。
GIGOはAI分野に限った話ではありませんが、データセントリックAIの概念は特にこの原則を強調しています。データセントリックAIは、アルゴリズムやモデルの精度向上だけでなく、データの質を向上させることに重点を置きます。質の高いデータがあれば、モデルはより効果的に学習し、予測の精度が向上します。これにより、AIシステム全体の信頼性と実用性が高まり、実世界の問題解決においてより効果的に機能します。

Andrew Ng氏の提唱
データセントリックAIの提唱者の一人が、著名なAI研究者であるAndrew Ng氏です。Ng氏はGoogle Brainの共同創設者の一人でもあり、AIの研究と実用化に多大な貢献をしてきました。2021年の"A Chat with Andrew on MLOps: From Model-centric to Data-centric AI"というオンライン講演にて、Ng氏がデータセントリックAIの概要や重要性について説明したことをきっかけに、広く認知されるようになりました。
具体的な手法
ここで、モデルセントリックAIとデータセントリックAIの具体的な手法についてそれぞれ説明します。
モデルセントリックAIの具体的な手法
モデルセントリックAIでは、AIモデルのアルゴリズムやアーキテクチャの改良に焦点を当て、性能向上を目指します。以下に、具体的な手法を紹介します。
ハイパーパラメータの最適化
ハイパーパラメータの最適化は、モデルの性能を最大化するために重要なプロセスです。ハイパーパラメータは、モデルのトレーニングプロセスを制御する変数であり、その設定がモデルの性能に大きく影響します。
グリッドサーチ:ハイパーパラメータの組み合わせを網羅的に探索し、最適な設定を見つける手法です。
ランダムサーチ:ランダムにハイパーパラメータの組み合わせを選び、最適な設定を探索する手法です。
ベイズ最適化:過去の探索結果を元に確率モデルを構築し、最適なハイパーパラメータを効率的に探索する手法です。
モデルアーキテクチャの改良
モデルアーキテクチャの改良は、モデルの構造を変更し、性能を向上させるための手法です。特にディープラーニングモデルでは、ネットワークの深さや幅、層の種類などが重要です。
ニューラルネットワークの層の追加:層を増やすことで、より複雑な関係性を学習できるようにします。
異なる層の組み合わせ:畳み込み層やプーリング層、バッチ正規化層など、異なる層を組み合わせてモデルの性能を向上させます。
残差ブロック(Residual Block):深いネットワークでの勾配消失問題を緩和するために、残差ブロックを導入します。
トレーニングの工夫
AIのトレーニングの方法を工夫することで精度が上がることもあります。
新しい学習アルゴリズム:例えば、敵対的生成ネットワーク(GAN)や自己教師あり学習(Self-Supervised Learning)など、新しい学習アルゴリズムを開発します。
効率的なトレーニング手法:モデルのトレーニングを高速化するための手法を開発します。例えば、ミニバッチ学習や分散トレーニングなどです。
モデルの正則化
正則化は、過学習を防ぐためにモデルの複雑さを制限する手法です。これにより、モデルの汎化性能が向上します。
L1正則化とL2正則化:モデルの重みを制約することで過学習を防ぎます。
ドロップアウト:トレーニング時にランダムに一部のニューロンを無効にすることで、モデルが特定のパターンに依存しすぎるのを防ぎます。
アーリーストッピング:トレーニング時に検証データの性能が悪化し始めた時点でトレーニングを終了する手法です。
データセントリックAIの具体的な手法
データセントリックAIのアプローチには以下のような具体的な手法があります。
データクレンジング
データクレンジングは、データセットからノイズや欠損値を除去し、データの正規化を行うプロセスです。これにより、データセットの一貫性と正確性を保ちます。具体的な手法としては、以下のものがあります。
ノイズ除去:データから不要な情報や誤りを取り除くことです。
欠損値補完:欠損しているデータを適切に補完することです。
データ正規化:データを一貫したフォーマットに変換することです。
データラベリング
データラベリングは、データに正確なラベルを付けるプロセスであり、モデルの学習において非常に重要です。専門家の知識を活用してラベルを付け、一貫性のあるデータセットを構築することで、モデルの性能を向上させます。
精度の高いラベリング:データに対して正確なラベルを付けることです。
一貫性の確保:同じ基準でラベルを付けることで、データの一貫性を保つことです。
データ拡張
データ拡張は、既存のデータセットを拡充するための技術です。特に、データセットが小規模である場合に効果的です。例えば、画像データの場合、回転や反転、ズームなどの技術を用いてデータを増やします。
データ変換:既存のデータを変換して新しいデータを生成することです。
合成データ生成:実データが不足している場合に、合成データを用いてデータセットを補完することです。
関連記事:画像生成AIを用いた不良品画像の作成
データバランシング
データバランシングは、不均衡なデータセットを調整するプロセスです。分類問題において、クラスの不均衡が問題となる場合に、サンプリング手法を用いてデータセットをバランスさせます。
オーバーサンプリング:少数クラスのデータを増やすことです。
アンダーサンプリング:多数クラスのデータを減らすことです。
ここで、データラベリングの中の「一貫性の確保」の具体例を示します。

手前に大きく映っている2つの車の物体検出を行うモデルを作る場合を仮定します。この時、前方の白い車のアノテーション(青枠)の仕方は自明です。一方で、その後ろのグレーの車については検討の余地がありそうです。
Aの方法では赤枠の中にはグレーの車だけが映ることになります。一方で、Bの方法では赤枠の中に白い車も一部映るが、見えない部分も含めて車全体が囲われていることになります。
これの「どちらが良いか」という話ではなく「一貫性が確保されていること」がデータセントリックなアプローチにおいて重要ということです。
データセントリックなAIを実際に構築
ここまでデータセントリックAIとは何かについて説明してきましたが、データセントリックなアプローチを取ることで実際どの程度AIの精度に影響を与えるのか調査しました。
今回はUnsplashから拝借したトマトの画像21枚で物体検出モデルのYOLOXを学習します。21枚というと学習に使用する枚数としては少ないですが、これはAndrew Ng氏の講演で「データが少ないほどノイズの影響を受けやすい」と説かれていることに鑑み、敢えて少ない枚数で実践します。(Unsplash上に意図した画像が少なかったという背景もあります)
学習には、このように熟したものから未熟のものまでが映っているトマトの画像を使用しました。

今回の学習における「データセントリック」
上述の通り、データセントリックAIの具体的な手法といっても様々です。今回はデータラベリング(アノテーションの仕方)に焦点を置き、次のように差を付けました。
Bounding Boxの施し方の方針
非データセントリック
大きさ:特に定めない
対象:特に定めない(視認性の悪いものに対して施す場合 / 施さない場合の両方存在)
ミス:ヒューマンエラーを想定し、誤ったアノテーションやアノテーション忘れを含む
データセントリック
Bounding Boxの大きさ:トマトのエッジに沿うように施し、トマトのヘタはできるだけ含まないようにする
対象:視認性の悪いもの(ぼやけている、画像の端で切れているなど)に関しては施さない
ミス:視認できるものに関してはすべてミスなく確実に施されている状態にする



結果
それぞれを学習した結果を以下に示します。
mAP (mean Average Precision)
非データセントリック | データセントリック | |
|---|---|---|
mAP [%] | 52.56 | 69.97 |
推論結果
※確信度のしきい値を25%で設定





正しく検出できているものについては、データセントリックなモデルの方が確信度(ラベルに表示されているパーセンテージ)が概ね高いことが伺えます。
また、4枚目については非データセントリックなモデルの方で誤検知が見られます。これは、ミスアノテーションが関係しているかもしれません。
5枚目についてはいずれも検出ができていません。これはおそらく学習データに含まれる画像と背景が異なるためと考えられます。
本記事ではトマトを例に学習させましたが、ギアの傷を検出するAIにおいて撮影時の照明の有無による精度の違いを検証した記事もございますので、ぜひ併せてご覧ください。
関連記事:高精度な画像検査AIを作るポイント
まとめ
モデルではなくデータに主眼を置いてAI開発をするデータセントリックAIという概念についてご説明しました。実際の検出結果をご覧いただくことで、よりイメージが湧いたのではないでしょうか。
とはいえ、画像を入れ替えてみたりアノテーションの仕方を変えてみたりという試行錯誤は、基盤が整備されていないとなかなか難しいものです。そんな課題に対し、簡単な操作で学習から運用までデータセントリックに行える弊社製品をご紹介いたします。
データセントリックAIを実現するなら「TechSword Vision」
TechSword Visionはノーコードで画像認識AIを開発し、現場の端末へワンクリックでインストールが可能、そしてAIの再学習も行えるソリューションです。
専門的な知識やスキルがなくとも、簡単操作によりご自身の手でAIに学習させることが可能です。
AIエンジニアの稼働が必要ないため初期コストも小さく、これからAI検査を始める場合におすすめとなっております。
ご興味がある場合は、ぜひ詳細なサービス説明資料をご請求ください。
また、具体的な導入事例や導入後の流れについても、ご希望に応じて説明させて頂きます。ぜひお気軽にお問い合わせください。


