2023年11月16日のCVIM研究会でのチュートリアル講演資料です。
© GO Inc.Data-Centric AI関連する学術分野と実践例GO株式会社 宮澤 一之
View Slide
© GO Inc.宮澤 一之GO株式会社AI技術開発部 AI研究開発第二グループグループリーダー経歴April 2019 - March 2020AI研究開発エンジニア@DeNAApril 2010 - March 2019研究員@三菱電機March 2010博士@東北大学自己紹介@kzykmyzw2
© GO Inc. 3Model-Centric AIとData-Centric AIデータ モデル(コード)開発者データ モデル(コード)開発者Model-Centric AI Data-Centric AIデータを固定し、モデルを改善 モデルを固定し、データを改善
© GO Inc. 4Model-CentricからData-Centricへ“Instead of focusing on the code, companies should focus on developingsystematic engineering practices for improving data in ways that are reliable,efficient, and systematic. In other words, companies need to move from amodel-centric approach to a data-centric approach.”— Andrew Ng, CEO and Founder of LandingAI“企業は、コードに焦点を当てるのではなく、信頼性があり、効率的、体系的にデータを改善できるエンジニアリング手段を開発することに焦点を当てるべきである。つまり、企業はモデル中心のアプローチからデータ中心のアプローチへと移行する必要がある。”https://en.wikipedia.org/wiki/Andrew_Nghttps://landing.ai/data-centric-ai/
© GO Inc. 5Model-CentricからData-Centricへhttps://www.youtube.com/live/06-AZXmwHjo?feature=shared2021年3月のオンライン講演で初めてdata-centric AIの重要性をアピールA. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]
© GO Inc. 6● 複数の外観検査プロジェクトにおいて、既存のベースラインの改善をmodel-centricとdata-centricの両アプローチで実施し成果を比較● model-centricではベースラインの性能をほとんど改善できなかったのに対し、data-centricでは大きな改善が得られたModel-CentricとData-Centricの比較鉄欠陥検出 太陽光パネル検査 表面検査ベースライン 76.2% 75.68% 85.05%Model-Centric 76.2% (+0) 75.72% (+0.04) 85.05% (+0)Data-Centric 93.1% (+16.9) 78.74% (+3.06) 85.45% (+0.4)A. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]
© GO Inc. 7Data-Centricなアプローチの例アノテータA アノテータB アノテータC● アノテータによるラベルの偏りがない、一貫したデータセットの構築を目指す● データにおける問題の発見や解決をエンジニアのスキルに依存させるのではなくシステマティックに行うA. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]
© GO Inc. 8Data-Centricなアプローチの例アノテータA アノテータB アノテータC1. 複数のアノテータに同一のサンプルに対してラベルを付与してもらう2. アノテータ間でのラベルのばらつきを評価する3. アノテータ間でのばらつきが大きいクラスについてアノテーションルールを見直す4. 1.〜3.を収束するまで繰り返すA. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]
© GO Inc. 9● データ量が多い場合はある程度のノイズはキャンセルされるが、データ量が少ない場合はそれぞれのサンプルの品質が重要となる● 500サンプルの学習データに12%のノイズが含まれる場合、以下は同じ効果を持つ○ ノイズを除去する○ データセットのサイズを2倍にするデータ量が少ないほど品質が重要A. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]データ量:少データ品質:低データ量:多データ品質:低データ量:少データ品質:高
© GO Inc. 10Data-Centric AIにおけるMLOpsの役割スコープ定義 データ収集 学習 デプロイ機械学習プロジェクトのライフサイクル全体を通じて高品質なデータを保証するどのようなデータをどのように集めるか性能改善のためにどのようにデータに手を加えるかコンセプト/データドリフトの検知のためにどのようなデータをトラッキングするかMLOpsA. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]
© GO Inc. 11good dataとは○ 定義が一貫している(ラベルyの定義に曖昧さがない)○ 重要なケースをカバーしている(入力xの分布を十分にカバーしている)○ 運用時のデータがフィードバックされる(データ・コンセプトドリフトをカバーしている)○ サイズが適切であるBig DataからGood DataへA. Ng, A chat with Andrew on MLOps: From model-centric to data-centric AI, 2021. [YouTube]
© GO Inc. 12● data-centric AIは開発現場から生まれてきたと言えるが、関連する学術分野は多い● 個々の開発現場の事例収集、整理、体系化がなされるのはまだまだこれから本チュートリアルの内容関連が深い学術分野の解説開発現場における実践例の紹介
© GO Inc. 13● data-centric AIは開発現場から生まれてきたと言えるが、関連する学術分野は多い● 個々の開発現場の事例収集、整理、体系化がなされるのはまだまだこれから本チュートリアルの内容関連が深い学術分野の解説開発現場における実践例の紹介
© GO Inc. 14データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given)
© GO Inc. 15データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given) • Active Learning• 疑似ラベリング
© GO Inc. 16データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given) • Active Learning• 疑似ラベリング
© GO Inc. 17● ラベルなしデータセットの中から、モデルの学習にとって最も効果が大きいと思われるサンプルを選び、クエリとしてオラクル(アノテータ)にラベル付与を依頼● クエリ生成、ラベル付与、学習のサイクルを所定条件*を満たすまで繰り返す● アノテーションコストを最小化しつつ、ラベル付与によるモデルの性能改善を最大化Active Learningラベルありデータセット モデル ラベルなしデータセット オラクル(アノテータ)学習 クエリラベル* アノテーションコスト(ラベル付与数)が上限に達するなどサイズ拡大ノイズ除去冗長性削減
© GO Inc. 18● 不確実性サンプリング● 多様性サンプリング● Expected Model Change● Query-By-Committeeクエリ戦略 サイズ拡大ノイズ除去冗長性削減
© GO Inc. 19● モデルの出力が最も信頼できないサンプルを選ぶ● 確率分布を出力するモデルならば、確率の最大値や分布形状を評価する不確実性サンプリング1 2 3 4 5クラス確率Pθ(y | x)モデルラベルなしサンプル x最大値が最も小さいサンプルを選ぶ(least confident sampling)最大値と次に大きい値の差が最も小さいサンプルを選ぶ(margin sampling)エントロピーが最も大きいサンプルを選ぶ(entropy sampling)− "!𝑃"𝑦 𝑥 log𝑃"(𝑦|𝑥)>サイズ拡大ノイズ除去冗長性削減
© GO Inc. 20● データセットの分布を考慮してサンプルを選ぶ● 特徴空間におけるクラスタリングの結果を利用する手法などがある多様性サンプリングクラスタ中心ランダムクラスタ境界外れ値選択候補の例サイズ拡大ノイズ除去冗長性削減
© GO Inc. 21● そのサンプルにラベルが付与されて学習に使われた場合、最もモデルのパラメータを変化させるサンプルを選ぶ● 勾配ベースの学習であれば、勾配のノルムなどが尺度となるExpected Model Change真のラベルが未知であるため、取りうる全てのラベルに対する勾配のノルムを平均化するサイズ拡大ノイズ除去冗長性削減
© GO Inc. 22● 複数のモデルによる推論結果にバラツキがあるサンプルを選ぶ● 各モデルの推論結果で投票を行い、票の割れをエントロピーで評価する手法などがあるQuery-By-Committeeモデル2ラベルなしサンプル xモデル1モデルMクラス3クラス3クラス1 − "!𝑉(𝑦)𝑀log𝑉(𝑦)𝑀1 2 3 4 5クラス票数V (y)…票の割れ =サイズ拡大ノイズ除去冗長性削減
© GO Inc. 23● 深層学習では、1回のクエリ生成で1つのサンプルを選ぶようなやり方では効率が悪い● 1回のクエリ生成で複数のサンプル(バッチ)を選ぶBMALが基本となる● 1サンプルずつ選ぶことを繰り返してバッチを構成するのではなく、サンプル間の関係性を考慮してバッチ内のサンプルが冗長になることを避ける必要があるBatch Mode Active Learning (BMAL)クエリ クエリone-by-one BMALサイズ拡大ノイズ除去冗長性削減
© GO Inc. 24● 与えられたデータセットにおいて、全体を使ってモデルを学習した場合と同等の性能が得られるようなサブセットのことをコアセットと呼ぶ● コアセットはデータセット全体の分布を代表するようなサンプルの集合であるため、コアセットでバッチを構成してクエリとすることを提案● コアセット選択は、サブセットの各サンプルを中心としてデータセット全体をカバーする最小円を考えたとき、その半径が最小となるようなサブセットを選ぶ問題に帰着できるコアセット選択 [Sener+, ICLR 2018] ー 多様性サンプリング ーr𝐿!""− 𝐿#< 𝒪 𝑟 + 𝒪 1/𝑛データセット全体を使って学習した場合のロスサブセットだけを使って学習した場合のロス全サンプル数サブセットを使うことによる性能低下を抑えるには、半径rを小さくする必要があるデータセットのサンプル選択したサブセットO. Sener et al., “Active learning for convolutional neural networks: A core-set approach,” ICLR, 2018.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 25コアセット選択 [Sener+, ICLR 2018] ー 多様性サンプリング ー● コアセット選択問題の最適解を求めることはNP困難であるため、貪欲法により近似する● 選択済みのサブセットとの最近傍距離が最大となるサンプルを所定のバッチサイズになるまで逐次的に選択していく● サンプル間の距離計算にはモデルの最終FC層出力のL2距離を使うO. Sener et al., “Active learning for convolutional neural networks: A core-set approach,” ICLR, 2018.サイズ拡大ノイズ除去冗長性削減
© GO Inc.サイズ拡大ノイズ除去冗長性削減26BADGE [Ash+, ICLR 2020] ー 不確実性サンプリング + 多様性サンプリング ーk-means++● 各サンプルに対するモデルの不確実性の尺度として勾配を利用○ 現在のモデルが予測したラベルが真のラベルであると仮定した場合の勾配を計算● 各サンプルで求めた勾配に対してk-means++を適用し、得られたクラスタ中心の初期値で構成したバッチをクエリとする○ k-means++ではクラスタ中心間の距離を考慮して初期値を決めるため、勾配のノルムが大きい(不確実性が高い)サンプルを選びつつバッチ内の多様性を確保できるBatch Active learning by Diverse Gradient EmbeddingsJ. T. Ash et al., “Deep batch active learning by diverse, uncertain gradient lower bounds,” ICLR, 2020.クラスタの初期中心
© GO Inc.サイズ拡大ノイズ除去冗長性削減27● 特徴空間での摂動により推論結果が変化するようなサンプルは不確実性が高いとみなす● クラスごとのアンカー(ラベルありサンプルの特徴量の平均)とラベルなしサンプルの特徴量の線型結合によって新たな特徴量を生成して分類を行い、その結果が元のラベルなしサンプルの分類結果と異なる場合にクエリ候補に加える● クエリ候補となったサンプルの特徴量をクラスタリングし、クラスタ中心をクエリとするALFA-Mix [Parvaneh+, CVPR 2022] ー 不確実性サンプリング + 多様性サンプリング ーアンカーラベルありサンプルラベルなしサンプルクラスA クラスBActive Learning by FeAture MixingA. Parvaneh et al., “Active learning by feature mixing,” CVPR, 2022.
© GO Inc. 28ランダムサンプリングとの性能差 [Ji+, WACV 2023]● CIFAR-10(学習データ50000枚)においてランダムに選んだ1000枚をラベルあり、残り49000枚をラベルなしとする● モデルはResNet18● BMALにおけるバッチの大きさを2000枚としてクエリ生成 → 学習 → 評価のサイクルを繰り返すactive learningでは20000〜30000サンプル(全体の40〜60%)へのラベル付与で全サンプルを使った学習と同等精度となるが、ランダムサンプリングでは2〜3ptほど精度が悪化全サンプルを利用した場合の精度Y. Ji et al., “Randomness is the root of all evil: More reliable evaluation of deep active learning,” WACV, 2023.サイズ拡大ノイズ除去冗長性削減
© GO Inc.サイズ拡大ノイズ除去冗長性削減29● SSDにおける複数のCNNレイヤを複数のモデルとみなしたquery-by-committee● NMS後の各BBOXに対してマージンを計算1. 対象BBOXを出力したレイヤ以外から出力されたBBOXのうち、IoUが閾値を超えるものを取り出す2. 取り出したBBOXの中で最も信頼度が高いものを選ぶ3. 2.のBBOXと対象BBOXの信頼度の差分をマージンとする● マージンが大きいBBOXはcommitteeで意見が割れていると考え、画像内のBBOXのマージンの総和が大きい画像をクエリとして選ぶ物体検出への応用 [Roy+, BMVC 2018] ー Query-By-Committee ーSSDのアーキテクチャ対象BBOX対象BBOXとのIoUが閾値を超える他レイヤのBBOX信頼度高信頼度低マージン=信頼度( )ー 信頼度( )S. Roy et al., “Deep active learning for object detection,” BMVC, 2018.
© GO Inc.サイズ拡大ノイズ除去冗長性削減30● 推論時に得られる画素ごとの確率から不確実性マップを生成するのと同時に、画素ごとのアノテーションコストを予測してコストマップを生成○ コスト予測モデルはアノテーション時のクリック数を真値として学習● 不確実性が高く、かつコストが低い領域をクエリとして領域ごとのアノテーションを実施○ 得られるラベルは画像全体ではなく局所的なものとなるセマンティックセグメンテーションへの応用 [Mackowiak+, BMVC 2018]ー 不確実性サンプリング ー入力画像セマンティックセグメンテーションモデルコストマップ不確実性マップアノテーションコスト予測モデルクエリラベルR. Mackowiak et al., “CEREALS - Cost-effective region-based active learning for semantic segmentation,” BMVC, 2018.推論結果
© GO Inc. 31データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given) • Active Learning• 疑似ラベリング
© GO Inc. 32● 現在のモデルでラベルなしサンプルを推論し、最も高い確率で予測したクラスをそのサンプルのラベルとしてラベルありデータセットに加えてモデルを学習する● 元々のラベルありサンプルと、疑似ラベルを付与したサンプルでロスの重みを変える● モデルの学習と共に疑似ラベルも更新していくが、学習初期は疑似ラベルの信頼性が低いため疑似ラベルを付与したサンプルのロスの重みは最初は小さく、徐々に大きくしていく疑似ラベリング [Lee, ICML Workshop 2013]ラベルありデータセットモデルラベルなしデータセット学習ラベル推論結果D.-H. Lee, “Pseudo-label : The simple and efficient semi-supervised learning method for deep neural networks,”ICML Workshop, 2013.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 33● 半教師あり学習で用いられるエントロピー正則化と同等の効果がある○ ラベルなしサンプルに対するモデル出力のエントロピーを小さくする● ラベルなしサンプルに対するモデル出力をone-hotベクトル化したものをラベルとして学習することで、モデル出力がone-hotベクトルに近づく(=エントロピーが小さくなる)● クラスごとの分布の凝集性が高まり、モデルの汎化性能が向上する疑似ラベリングの効果MNISTにおけるクラス分布の可視化ラベルありサンプル600 +疑似ラベルサンプル6000MNISTにおける分類精度(エラー率)の比較ラベルありサンプルの数100 600 1000 3000疑似ラベリングなし 21.89 8.57 6.59 3.72あり 16.15 5.03 4.30 2.80D.-H. Lee, “Pseudo-label : The simple and efficient semi-supervised learning method for deep neural networks,”ICML Workshop, 2013.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 34● 半教師あり学習で一般的に用いられる一貫性正則化と疑似ラベリングを組み合わせ○ 一貫性正則化では1つのラベルなしサンプルに対して異なる変換を加えて2つのサンプルを生成し、両サンプルに対するモデル出力間の距離を最小化するように学習する● 1枚のラベルなしサンプルに対して弱いデータ拡張を適用して疑似ラベルを生成し、同じサンプルに対して強いデータ拡張を適用したうえで疑似ラベルを真値として学習する○ 疑似ラベルを付与する際の確率の最大値が閾値を下回る(信頼性が低い)サンプルは使用しないFixMatch [Sohn+, NeurIPS 2020]弱いデータ拡張左右フリップ 並行移動強いデータ拡張RandAugment/CTAugment CutoutK. Sohn et al., “FixMatch: Simplifying semi-supervised learning with consistency and confidence,” NeurIPS, 2020.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 35● CIFAR-10を使った実験では全体の8%をラベルありサンプル、残りをラベルなしサンプルとしてFixMatchで学習した場合、エラー率は4.26%(100%ラベルありの場合は4.17%)● ラベルありサンプルが各クラス1枚(10ラベル)という極端な設定でも80%近い精度が得られる(ラベルありサンプルとして適切な画像を選ぶ必要がある)FixMatch [Sohn+, NeurIPS 2020]05101540 (0.08%) 250 (0.5%) 4000 (8%) 50000 (100%)CIFAR-10におけるエラー率ラベルありサンプルの数(全体に対する割合)エラー率 [%]CIFAR-10における典型的な10サンプルによる学習エラー率 22%K. Sohn et al., “FixMatch: Simplifying semi-supervised learning with consistency and confidence,” NeurIPS, 2020.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 36● FixMatchと同様のアプローチを物体検出に適用● データ拡張はRandAugmentをベースとし、画像全体に適用する場合とバウンディングボックス内部だけに適用する場合を併用● MS COCOの10%をラベルありとした場合、STACの有無でmAPは26.18% → 28.64%STAC [Sohn+, arXiv 2020]SSL framework for object detection based on Self-Training and Augmentation driven Consistency regularizationK. Sohn et al., “A simple semi-supervised learning framework for object detection,” arXiv, 2020.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 37● 学習済みのCLIPを利用することで人手によるアノテーションなしでセマンティックセグメンテーションの学習を実現● CLIPの画像エンコーダから得られる特徴マップに対して、テキストエンコーダから得られるテキスト特徴を畳み込むことで疑似ラベルを生成● 生成した疑似ラベルで既存のセマンティックセグメンテーションモデルを学習MaskCLIP+ [Zhou+, ECCV 2022]C. Zhou et al., “Extract free dense labels from CLIP,” ECCV, 2022.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 38データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given) • Active Learning• 疑似ラベリング
© GO Inc. 39● 現在のモデルでラベルなしサンプルを推論して得られる確率から不確実性を求め、不確実性が高いサンプルは人手によるアノテーション、不確実性が低いサンプルは疑似ラベリングによってラベルを付与することでラベルありデータセットに加える● 更新したラベルありデータセットでモデルを再学習し、同様のサイクルを所定の回数に達するまで繰り返すCEAL [Wang+, IEEE TCSVT 2016]Cost-Effective Active LearningK. Wang et al., “Cost effective active learning for deep image classification,” IEEE TCSVT, 2016.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 40● レアな対象クラスの少量のラベルありデータセットと、大量の背景クラスを含むラベルなしデータセットを出発点として、対象クラスおよび背景クラスの分類器を学習● 特徴量に基づいてラベルなしサンプルを対象クラスとの距離でソートし、距離が小さいものは人手によるアノテーション、距離が大きいものは疑似ラベルとして背景ラベルを付与● 高頻度に更新する線形モデルと、低頻度に更新する深層学習モデルを組み合わせて効率化レアクラスの学習 [Mullapudi+, ICCV 2021]一般的なactive learning(初期のラベルがそれなりにある)本論文の課題設定(初期のラベルが非常に少ない)R. T. Mullapudi et al., “Learning rare category classifiers on a tight labeling budget,” ICCV, 2021.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 41データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given)ロバスト学習• Active Learning• 疑似ラベリング
© GO Inc. 42ロバスト学習● 本来付与されるべきラベルとは異なるラベルを付与されたノイジーなサンプルが含まれるデータセットで学習した場合でも、汎化性能の高いモデルを得ることを目指す● モデルアーキテクチャ、ロス関数、正則化の工夫のほか、data-centricなアプローチとしてクリーンなサンプルとノイジーなサンプルを分離する手法があるロバスト学習のサーベイ[Song+, IEEE TNNLS 2022]より引用H. Song et al., “Learning from noisy labels with deep neural networks: A survey,” IEEE TNNLS, 2022.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 43● 深層学習モデルは、学習初期において判断が容易なサンプルに対してフィットしていき、学習終盤では判断が困難なサンプルも含めて全てのサンプルを「記憶」する● 現在のモデルに対するロスによって全サンプルをソートし、ロスが小さい一定割合のサンプルだけを使ってモデルを更新することでノイジーなサンプルを学習から除外する● クリーンとみなすサンプルの割合はそのデータセットにおけるノイズの割合に応じて決めるが、ノイズ割合は一般には未知なため実験的に決めるなどする必要があるITLM [Shen+, ICML 2019]Iterative Trimmed Loss Minimizationノイジーなサンプルクリーンなサンプルモデル更新ロス大ロス小Y. Shen et al., “Learning with bad training data via iterative trimmed loss minimization,” ICML, 2019.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 44● データセットを学習と検証に分け、検証セットにおいてモデルが分類に正解したサンプルをクリーン、不正解したサンプルのうちロスが大きいものをノイジーなサンプルとみなす● 学習と検証を入れ替えて同様にし、クリーンともノイジーとも判断されなかったサンプルで同じサイクルを繰り返す● ノイジーとみなすサンプルの割合は検証セットにおけるモデルの精度から導出INCV [Chen+, ICML 2019]Iterative Noisy Cross-Validation分類正解分類不正解ロス大ロス小クリーンなサンプルの集合ノイジーなサンプルの集合次のサイクルへ学習検証𝑎𝑐𝑐 = 1 − 𝜏 ! +𝜏!𝐶 − 1検証セットにおけるモデルの精度ノイズの割合クラス数P. Chen et al., “Understanding and utilizing deep neural networks trained with noisy labels,” ICML, 2019.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 45● 学習を前後半でseedingとevolutionに分け、seedingでは全てのサンプルを使って学習し、evolutionではseedingでモデルに記憶されたサンプルだけを使って学習する● 各サンプルが学習時にモデルに提示された際の分類結果の履歴を保存しておき、履歴の中で最大頻度となるクラスが真値に一致する場合、そのサンプルは記憶されたと判断する● seedingからevolutionへの切り替え点は記憶されたサンプルの割合とデータセットにおけるノイズの割合から自動的に決定するMORPH [Song+, KDD 2021]学習全サンプル記憶されたサンプル記憶されなかったサンプルSeeding Evolution学習…3, 3, 3, 3, 1, 1, …1 2 3 4 5頻度クラス学習段階での分類結果(新→旧)記憶2, 2, 2, 3, 1, 1, …1 2 3 4 5頻度クラス学習段階での分類結果(新→旧)記憶真値3 真値3H. Song et al., “Robust learning by self-transition for handling noisy labels,” KDD, 2021.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 46● 真のラベル 𝑦∗と実際に付与されたラベル"𝑦 の同時分布 𝑝("𝑦, 𝑦∗) を推定● 確率の最大値が小さいサンプルは無視● 求めた同時分布からクラスごとにノイジーなサンプルの個数を推定し、その個数分だけ信頼度が低いサンプルを取り出すなどしてノイジーなサンプルを特定Confident Learning [Northcutt+, JAIR 2021]1. 交差検証により、全てのサンプルに対して検証データとして推論したときのクラス確率分布を求める2. 各サンプルで確率最大となるクラスが真のラベル 𝑦∗であると考え、 𝑦∗と .𝑦 の関係をカウントして行列を作る3. 作成した行列をサンプル数で正規化することで同時分布 𝑝(.𝑦, 𝑦∗) を求める真のラベルはfoxだが、誤ってdogというラベルを付与されているサンプルが40個あるC. Northcutt et al., “Confident learning: Estimating uncertainty in dataset labels,” JAIR, 2021.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 47Confident Learning [Northcutt+, JAIR 2021]Confident Learningで特定されたImageNetにおけるノイジーなサンプルの例ラベルミス クラス設計ミス マルチラベルlabelerrors.comにて多様なデータセットの例が閲覧できるC. Northcutt et al., “Confident learning: Estimating uncertainty in dataset labels,” JAIR, 2021.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 48データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given)データ剪定ロバスト学習• Active Learning• 疑似ラベリング
© GO Inc. 49● 与えられたデータセットで学習した場合と同等のモデル性能が得られるようなサブセットを構築することで学習データセットのサイズを削減○ モデルの開発にかかる時間の削減やストレージコストの削減が見込める● コアセット選択、インスタンス選択、データ剪定 (pruning) などの用語があるデータ剪定モデル モデル学習学習与えられたデータセット サブセット≒サイズ拡大ノイズ除去冗長性削減
© GO Inc.モデルへの提示t-1回目 t回目正誤パターン正解正解不正解不正解正解不正解50● 各サンプルが学習時にモデルに提示された際の分類結果の正誤を調べ、連続する2ステップで正解 → 不正解となったパターンを「忘却」としてカウント● ほとんど忘却されないサンプルはモデルにとって取るに足りないサンプルであり、モデルの性能に大きな影響を与えないと判断● 忘却の回数を各サンプルのスコアとしてスコアが小さい順にサンプルをソートし、所望の剪定率に応じて上位サンプルを剪定忘却スコア [Toneva+, ICLR 2019]忘却CIFAR-10で忘却スコアの低い(= 0)サンプルと高いサンプルM. Toneva et al., “An empirical study of example forgetting during deep neural network learning,” ICLR, 2019.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 51● 各サンプルが学習に及ぼす影響の大きさを勾配のノルム (GraNd) およびモデル出力と真値のL2誤差 (EL2N) でスコア化し、スコアが小さいサンプルを剪定● 忘却スコアは安定したデータ剪定性能を得るまでに学習を中盤〜後半まで行う必要があるが、GraNd/EL2Nスコアは学習の初期段階で同等の性能が得られる● GraNdスコアの場合、モデルの初期化直後であっても高いデータ剪定性能が得られる○ ランダムな重みのネットワークであっても勾配はデータ剪定に有用な情報を含むGraNd/EL2Nスコア [Paul+, NeurIPS 2021]Gradient Normed/Error L2-NormGraNd = 𝔼 ∇"𝑙 𝑝 𝜃, 𝑥 , 𝑦 #EL2N = 𝔼 𝑝 𝜃, 𝑥 − 𝑦 #ラベルyを持つサンプルxに対するロス近似 サンプルxに対するモデルの出力CIFAR-10 + ResNet18での実験結果M. Paul et al., “Deep learning on a data diet: Finding important examples early in training,” NeurIPS, 2021.サイズ拡大ノイズ除去冗長性削減
© GO Inc. 52● あるサンプルがデータセットから除外された場合、学習後のモデルのパラメータがどれだけ変化するか(どれだけ影響を与えるか)を影響関数 (influence function) によって推定● 全サンプルについてモデルへの影響を求め、焼きなまし法によって組み合わせ最適化問題を解くことで剪定サンプルを決める○ モデルへの影響の総和をある値以下にすることを条件として、剪定するサンプルの数を最大化○ 剪定するサンプルの個数を条件として、剪定によるモデルへの影響の総和を最小化組み合わせ最適化 [Yang+, ICLR 2023]𝜃$%− 𝜃 ≈ −𝐻"$&∇"𝑙 𝑝 𝜃, 𝑥 , 𝑦𝐻"= 8%∇"#𝑙 𝑝 𝜃, 𝑥 , 𝑦 /𝑛サンプルxをデータセットから除外した場合のモデルのパラメータ変化 ラベルyを持つサンプルxに対するロスサンプルxに対するモデルの出力データセットのサンプル数性能を条件とする最適化 サイズを条件とする最適化サンプルごとに求めたパラメータ変化の集合各サンプルの剪定を決める行列(0: 剪定しない、1: 剪定する)S. Yang et al., “Dataset pruning: Reducing training data by examining generalization influence,” ICLR, 2023.サイズ拡大ノイズ除去冗長性削減
© GO Inc.サイズ拡大ノイズ除去冗長性削減53● データセットサイズの増加に対するニューラルネットワークの性能改善がべき乗則に従うというスケーリング則は、指数がほぼゼロと小さいため効率が悪い○ わずかな性能改善を得るために大量のデータを追加しなければならない● 適切な方法でデータ剪定を行いデータセットの冗長性を削減することで、べき乗則スケーリングから指数スケーリングに改善できることを理論的に導出し実験でも確認● NeurIPS 2022にてoutstanding paperに選ばれるNeural Scaling Lawとの関係 [Sorscher+, NeurIPS 2022]B. Sorscher et al., “Beyond neural scaling laws: Beating power law scaling via data pruning,” NeurIPS, 2022.
© GO Inc.サイズ拡大ノイズ除去冗長性削減54● 極端に大きなデータセットを構築するのは非効率的● ランダムな大量のデータではなく、注意深く選別されたより少ないデータを集めることが基盤データセットの確立につながるかもしれないNeural Scaling Lawとの関係 [Sorscher+, NeurIPS 2022]“Overall these results shed theoretical and empirical insights into the nature of data in deeplearning and our ability to prune it, and suggest our current practice of collecting extremelylarge datasets may be highly inefficient. Our initial results in beating power law scalingmotivate further studies and investments in not just inefficiently collecting large amounts ofrandom data, but rather, intelligently collecting much smaller amounts of carefully selecteddata, potentially leading to the creation and dissemination of foundation datasets, inaddition to foundation models.”B. Sorscher et al., “Beyond neural scaling laws: Beating power law scaling via data pruning,” NeurIPS, 2022.
© GO Inc. 55データセットに対する改善を大きく以下3つに分ける○ サイズの拡大:効果・効率を重視してデータセットのサイズを拡大する○ ノイズの除去:ラベルの誤りなど、ノイズとなるサンプルをデータセットから除去する○ 冗長性の削減:モデルの性能に寄与しないサンプルをデータセットから除外する関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given)データ剪定ロバスト学習• Active Learning• 疑似ラベリング
© GO Inc. 56関連が深い学術分野サイズの拡大 ノイズの除去 冗長性の削減ラベルあり初期データセット(given)データ剪定ロバスト学習• Active Learning• 疑似ラベリング分野として発展していくためには、全体を横断的に評価可能なdata-centric AIに特化したベンチマークやコンペティションが必要
© GO Inc. 57● 2021/6/24 〜 9/4● Andrew Ng氏主催● データセットを改善することで画像分類モデルの精度を高めるコンペティション○ 手書きのローマ数字画像データセット2880枚が与えられる(ラベルは1〜10)○ モデル (ResNet50) や学習スクリプトは固定であり、参加者はデータセットを改変して提出する○ 提出できるデータセットのサイズは10000枚まで○ 提出するデータセットには学習用と検証用を含める○ データセットを提出すると、学習用データでモデルが学習され、検証用データで最も精度が高いチェックポイントを使ってテスト用データでの評価が行われる(テスト用データは非公開)● モデルの精度に加え、手法の斬新さも評価対象Data-Centric AI Competitionhttps://https-deeplearning-ai.github.io/data-centric-comp/
© GO Inc. 58データセットの画像例1 2 34 5 61 2 34 5 6クリーンなサンプルの例 ノイジーなサンプルの例コンペティションの性質上、ノイジーなサンプルが多く含まれる
© GO Inc. 59上位解法とベースラインの比較0.60.650.70.750.80.850.91st 2nd 3rd 4th 5th baselineAccuracy
© GO Inc. 60● データ拡張○ 各画像を文字領域(前景)とそれ以外(背景)に分離し、異なる画像から得られた前景と背景を組み合わせることで新たな画像を生成○ 特徴量をクラスタリングし、サンプル数が少ないクラスタの画像を重点的にデータ拡張○ AutoAugmentの利用● 学習データ選定○ 目視によるクレンジング(ラベル誤りの修正、重複サンプルの削除)○ 検証データでスコアの不確実性が高いサンプルを選び、学習データに追加○ 複数のモデルを使った投票による低品質なサンプルの特定上位解法の例How I Won the First Data-centric AI Competition: Divakar Roy [Blog]How We Won the First Data-Centric AI Competition: Innotescus [Blog]How We Won the First Data-Centric AI Competition: Synaptic-AnN [Blog]
© GO Inc. 61斬新さを評価された解法Top3モデル一部をランダムに選びクレンジングモデル残りのサンプルを推論し、ロスでソート必要に応じてクレンジング…ロス小 ロス大与えらえたデータ候補データ(100万)学習データ検証データモデル● 与えられたデータ(2880枚)をデータ拡張することで100万枚の候補データを生成● 検証データのうち、モデルが分類を誤ったサンプルと最も近い特徴量を持つサンプルを候補データから探索して学習データに加える● 学習データの数がルール上限に達するまで同様のサイクルを繰り返す● 特徴量をUMAPで可視化し、学習データには含まれるが検証データに含まれない領域を特定● 特定した領域の学習データを検証データに移すことで学習・検証の不一致を緩和How I Won the First Data-centric AI Competition: Mohammad Motamedi [Blog]How I Won the First Data-centric AI Competition: Johnson Kuan [Blog]How We Won the First Data-centric AI Competition: GoDataDriven [Blog]
© GO Inc. 62● Stable Diffusionの学習にも使われたLAION-5Bを公開したLAIONによる画像-テキストペアのデータセット作成に関するベンチマーク● フィルタリングトラックとBYOD (Bring Your Own Data) トラックに分かれる○ フィルタリング:128億の画像-テキストペアであるCommonPoolから学習に効果的なペアを選ぶ○ BYOD:参加者自身が自由にデータセットを作成する● 扱うデータの規模に応じてS〜XLのスケールを選ぶことができるDataComphttps://www.datacomp.ai/
© GO Inc. 63● 参加者が提出したデータセットでCLIPを学習● 得られたモデルで画像分類や検索といった38種類のダウンストリームタスクを実行● ダウンストリームタスクごとの学習は行わず、すべてCLIPによりゼロショットで評価● ダウンストリームタスクごとの性能の平均値が最終的な評価指標となる性能評価提出されたデータセットCLIPの学習 ダウンストリームタスクでのゼロショット評価
© GO Inc. 64● CLIPスコアフィルタリング:CLIPのテキストエンコーダと画像エンコーダのそれぞれから得られた特徴量のコサイン類似度が閾値以上となるサンプルだけを残す● 画像ベースフィルタリング:画像特徴量を10万個にクラスタリングし、ImageNetの各サンプルから抽出した特徴量との最近傍にあるクラスタに属するサンプルだけを残す● 上記2手法のANDをとった14億サンプルのデータセットDataComp-1Bで学習したCLIPは23億サンプルのLAION-2Bで学習した場合よりも性能が高いフィルタリングのベースライン手法A happy goldenretriever enjoying asunny day in the park.テキストエンコーダ画像エンコーダCLIPスコアフィルタリングコサイン類似度閾値以上?画像ベースフィルタリングCommonPoolのサンプルから抽出した特徴量ImageNetのサンプルから抽出した特徴量
© GO Inc. 65● 機械学習システムのベンチマークとして有名なMLPerfを提供するMLCommonsによるdata-centric AIベンチマーク● 音声、画像、NLPに関する5つのタスクからなるDataPerfhttps://www.dataperf.org/
© GO Inc. 66● Speech○ 与えられた候補データセットからキーワード認識モデルの学習に適したサンプルを選ぶ○ キーワードは5種類 x 3ヶ国語(英語、ポルトガル語、インドネシア語)○ 選択できるサンプル数は25以下または60以下○ 選択されたサンプルで学習したモデルのF1スコアで評価● Vision○ 与えられた候補データセットから画像分類モデルの学習に適したサンプルを選ぶ○ 対象物体のラベルを持つ少数(=20枚)の画像と、ラベルなし画像(=330万枚)が与えられる○ 各画像のembeddingも与えられる○ 選択できるサンプル数は1000以下○ 選択されたサンプルで学習したモデルのF1スコアで評価Selection for Speech/Vision
© GO Inc. 67● ノイズを含むデータセットに対し、各サンプルを画像分類モデルの学習への(悪い)影響が大きい順にソートする● データセットには意図的に2種類のノイズを付加○ 真のラベルを異なるラベルに置き換える○ 人間によるラベルを機械による自動ラベルに置き換える● ソートされたサンプルを(影響が大きい)上位から順に修正しながらモデルの学習と評価を行い、完全にクリーンなデータセットで学習した場合の精度の95%に達するまでに修正されたサンプルの割合で評価○ 適切にソートができていれば修正するサンプルの割合は少なくて済むDebugging for Vision
© GO Inc. 68● 複数のデータ販売業者が存在するデータのマーケトップレイスにおいて、決められた予算内でどの業者からどれだけのデータを購入するかを決定する● 販売業者からは以下の情報が開示されている○ 少数(=5)のサンプル○ データセットの統計値○ 価格● 提出された購入戦略に従って各業者から取得したデータで学習データセットが構築され、これを使ってモデル(ロジスティック回帰)を学習する● 得られたモデルの精度と、余った予算の割合の重み付き和で評価Data Acquisition
© GO Inc. 69● プロンプトから画像を生成するtext-to-imageモデルにおいて、プロンプトに対する安全フィルタをすり抜けるプロンプトを探す○ 悪意のあるプロンプトであるにも関わらずフィルタを通過できる○ 一見すると無害なプロンプトでありフィルタを通過できるが、有害な画像を生成する● 提出されたプロンプトおよび生成された画像は人間によりチェックされ、2種類のスコアで評価○ Model Fooling Score: フィルタをすり抜け、有害な画像の生成に成功した回数○ Prompt Creativity Score: 用いた戦略や生成できた画像の多様性などAdversarial Nibbler
© GO Inc. 70● data-centric AIは開発現場から生まれてきたと言えるが、関連する学術分野は多い● 個々の開発現場の事例収集、整理、体系化がなされるのはまだまだこれから本チュートリアルの内容関連が深い学術分野の解説開発現場における実践例の紹介
© GO Inc. 71● Tesla, Inc.● Meta Platforms, Inc.● Turing株式会社● GO株式会社紹介事例
© GO Inc. 72● FSD (Full-Self Driving) と呼ばれる運転支援機能を8台のカメラで実現● コンピュータビジョンを重視し、2021年にレーダー、2022年に超音波センサ廃止を発表Tesla, Inc.https://www.tesla.com/jp/autopilotx 3https://www.tesla.com/ownersmanual/modely/en_us/GUID-682FF4A7-D083-4C95-925A-5EE3752F4865.html1.リアナンバープレートの上のカメラ2.フロント/リアパンパーの超音波センサ3.ドアピラーのカメラ4.バックミラーの上のカメラ5.フロントフェンダーのカメラ6.フロントバンパーのレーダー
© GO Inc. 73データエンジンデータソーストリガ発動テストケース収集ラベル学習デプロイTesla Autonomy Day, 2019. [YouTube]
© GO Inc. 74● 一時停止標識1つをとっても街路樹による遮蔽や補助標識との組み合わせなど多様なバリエーションがある● すでに収集したデータを使って例えば街路樹で遮蔽された一時停止標識だけを検出するモデルを作り、車両にデプロイ(車両の動作には影響しない)● デプロイした検出モデルからの出力をトリガとして各車両が画像をアップロードすることで、所望のケースの画像が大量に集められる標識検出https://youtu.be/g2R2T631x7k?t=624A. Karpathy, CVPR Workshop on Scalability in Autonomous Driving, 2020. [YouTube]
© GO Inc.• radar vision mismatch• bounding box jitter• detection flicker• detection in Main camera but not Narrow camera• driver didn't break but tracker thinks CIPV is rapidlydecelerating• break lights are detected as on but acceleration ispositive• rarely high/low velocity or acceleration• CIPV cuts in / cuts out• CIPV has high lateral velocity• bounding-box derived depth disagrees with network-predicted depth• rarely sloping road surface (hillcrest or dip)• rarely sharp turning road surface• driver breaks sharply on the highway• stop an go traffic• Main or Narrow or both cameras appear to be blinded• driver enters/exits tunnel• objects on the roof (e.g. canoes)• driver breaks harshly and there is a VRU cloys to usbut there is no intersection75● レーダーは前方車両の距離と速度を正確に計測できるが、ノイズや垂直分解能の低さが課題● カメラのみでレーダーと同等精度の計測を可能にする機械学習モデルを4ヶ月で開発● データ収集のためのトリガ(カメラとレーダーの不整合発生など)を221種類用意し、学習データとして10秒の映像を100万種類(1.5ペタバイト)を収集● リリース判断のための検証には人手で選んだ6000種類の動画を利用レーダーのカメラへの置き換えトリガの例A. Karpathy, CVPR Workshop on Autonomous Driving, 2021. [YouTube]
© GO Inc. 76● 社内のアノテーションチームは1000人規模(2021年時点)● アノテーションのためのインフラはフルスクラッチで内製開発● リアルタイム性が求められる車両での処理とは異なり、アノテーションはオフライン処理であるという点を活かし大幅に自動化○ 車両にはデプロイできないような大規模なモデルやアンサンブルの活用○ 対象フレームよりも未来の情報の活用○ 4次元空間(3次元+時間)でのアノテーション○ 同一箇所を走行した複数車両のデータの統合アノテーションTesla AI Day, 2021. [YouTube]
© GO Inc. 774次元空間でのアノテーションhttps://www.youtube.com/watch?v=j0z4FweCy4M&t=5223sTesla AI Day, 2021. [YouTube]
© GO Inc. 78複数車両のデータの統合https://www.youtube.com/watch?v=j0z4FweCy4M&t=5417sTesla AI Day, 2021. [YouTube]
© GO Inc. 79● 2023年4月にSAM (Segment Anything Model) を発表● 点のクリックやバウンディングボックス、テキストなどの多様なプロンプト入力からゼロショットでのセグメンテーションが可能● SAMの学習のため、1100万枚の画像に対して11億個のラベル(マスク)を付与したデータセットSA-1Bを構築Meta Platforms, Inc.https://segment-anything.com/A. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 80● 初期のSAMは公開されているセグメンテーションデータセットで学習● データセット構築を3つのステージに分け、SAMの学習と同時並行で実施● SAMとアノテータとの共同作業により作業を効率化し、ステージが進むにつれてアノテータの役割を少なくしていくデータエンジンSAMアノテータAssisted-Manual Stage Semi-Automatic Stage Fully Automatic StageA. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 81● SAMの推論結果をアノテータが修正● アノテータは目立つ物体から順にアノテーションしていき、1つのマスクに30秒以上かかった時点で次の画像に進む● SAMが改善するにつれてマスクあたりのアノテーション時間は34秒から14秒に減少データエンジン - Assisted-Manual Stage -SAMアノテータAssisted-Manual Stage Semi-Automatic Stage Fully Automatic StageA. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 82● SAMの推論結果から信頼度が高いマスクを生成してアノテータに提示● アノテータはSAMによるマスクが漏れている領域だけをアノテーションする● 画像あたりの平均マスク数は前ステージの44個から72個に増加データエンジン - Semi-Automatic Stage -SAMアノテータAssisted-Manual Stage Semi-Automatic Stage Fully Automatic StageA. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 83● SAMに対してグリッド状のプロンプトを与えマスクを生成● SAMが出力する確率マップの閾値処理によりマスクを生成する際、閾値を変動させても形状が変化しない安定的なマスクだけを採用● 小さいマスクの精度を上げるため、拡大した画像も利用データエンジン - Fully Automatic Stage -SAMアノテータAssisted-Manual Stage Semi-Automatic Stage Fully Automatic StageA. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 84● 最終的にデータエンジンで生成されたマスクの99.1%はSAMによる自動生成● SAMで自動生成したマスクの品質はアノテータによるマスクの品質と同等○ SAMによるマスクとアノテータによるマスクの比較ではIoU 90%以上のペアが全体の94%● 公開したデータセットSA-1Bのマスクは全てが自動生成されたもの各ステージでの画像とマスクの数SAMアノテータAssisted-Manual Stage Semi-Automatic Stage Fully Automatic Stage画像12万枚マスク430万個画像30万枚マスク1020万個画像1100万枚マスク11億個A. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 85ステージごとのSAMの性能の変化A. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 86SA-1Bのマスク例(全てSAMによる自動生成)A. Kirillov et al., “Segment anything,” arXiv, 2023.
© GO Inc. 87● 完全自動運転EVの実現に向けカメラベースのend-to-endなモデルを開発中● 2023年末までに国内最大規模となる1万時間分の走行データベースの構築を目指す● 大規模な走行データベースを効率的に活用するための検索システムを開発Turing株式会社• 高速道路を走行している動画が欲しい• 市街地を走行している動画が欲しい• 右折をしている動画が欲しい• 雨が降っている夜の動画が欲しい• 交差点で歩行者がいる動画が欲しい岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 88● 走行動画に対してメタデータや物体検出の結果などを付与してデータベース化することが考えられるが、多様な検索要望に応えることができない● 自然言語による検索システムを開発○ 走行動画のフレームに対して生成したキャプションと走行ログをGPTで文章化○ 埋め込みにより文章をベクトルに変換してデータベース化○ 入力された検索文を同様にベクトル化し、検索文と類似度が高い文章を持つ走行データをベクトル検索により見つける自然言語による検索システムBLIP-2によるimage captioningGRiTによるdense captioningGPT-3.5による文章化埋め込みによるベクトル化ベクトル検索埋め込みによるベクトル化検索結果走行動画走行ログ検索文My car is waiting atthe traffic light infront of theintersection at night.走行データベース岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 89BLIP-2 [Li+, arXiv 2023]BLIP-2によるimage captioningGRiTによるdense captioningGPT-3.5による文章化埋め込みによるベクトル化ベクトル検索埋め込みによるベクトル化検索結果走行動画走行ログ検索文My car is waiting atthe traffic light infront of theintersection at night.走行データベース● 既存の画像エンコーダとLLMとの間をつなぐTransformerのみを学習する● 画像キャプションのSOTAモデル● 画像全体を説明するような文章は高精度に生成できるが、細かい物体レベルまで認識するのは苦手J. Li et al., “BLIP-2: Bootstrapping language-image pre-training with frozen image encoders and large language models,”arXiv, 2023.
© GO Inc. 90GRiT [Wu+, arXiv 2022]BLIP-2によるimage captioningGRiTによるdense captioningGPT-3.5による文章化埋め込みによるベクトル化ベクトル検索埋め込みによるベクトル化検索結果走行動画走行ログ検索文My car is waiting atthe traffic light infront of theintersection at night.走行データベース● 物体検出を行い、物体ごとにキャプションを生成● 画像エンコーダ (ViT) で抽出した特徴量から物体を検出し、物体領域の特徴量をテキストデコーダに入力● タスクトークンにより物体検出(クラス名生成)とキャプション生成を切り替えJ. Wu et al., “GRiT: A generative region-to-text transformer for object understanding,” arXiv, 2023.
© GO Inc. 91GPT-3.5による文章化BLIP-2によるimage captioningGRiTによるdense captioningGPT-3.5による文章化埋め込みによるベクトル化ベクトル検索埋め込みによるベクトル化検索結果走行動画走行ログ検索文My car is waiting atthe traffic light infront of theintersection at night.走行データベース● 以下をプロンプトとしてGPT-3.5に入力○ BLIP-2で生成した画像のキャプション○ GRiTで生成した物体ごとのキャプション○ GRiTで検出した物体のBBOX情報○ 走行ログの説明文○ 天気と時刻の説明文● 上記を適切な文章に変換できるよう、プロンプトの先頭に以下の文章を加える翻訳)ドライブレコーダーで撮影されたビデオのサムネイル画像のオブジェクト認識モデル、天気の説明、実際の撮影時間、画像だけから推測される昼夜の時間帯(昼または夜)、車の平均速度、ステアリングホイールの最大角度が与えられます。視覚の制約を持ちながら、知的な画像キャプション作成者であると仮定してください。与えられた位置情報は、オブジェクトの左上の座標とオブジェクトのサイズです。オブジェクトの相対的な位置とサイズを使用して、小学生が理解できるように、この画像を約150語で説明してください。車がどれくらい速く走っているか(速い、遅い、普通)と、右に曲がっているのか、左に曲がっているのか、またはまっすぐ進んでいるのかを含めてください。岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 92GPT-3.5で生成した文章の例車のドライブレコーダーが撮影した動画のサムネイル。車は亀のようにゆっくりと進んでいる。小さなカーブを曲がりながら左折している。画像は太陽が高い位置にある正午頃に撮影された。道路には、車を誘導する白い線が見える。黒と黄色の標職が2つ近くに立っており、少し離れた場所にも同じような標識がある。これらの標識はドライバーに情報を与えている。金属製のポールに取り付けられた大きな看板もある。遠くの広い畑の近くに道路があり、車が通れるようになっている。道路の近くには赤と白の標識があり、ドライバーに重要なことを警告している。他にも、黄色に黒文字の看板や、値段の書かれた看板など、文字や絵の書かれた看板がある。周囲を見回すと、ドライバーの安全を守るための標識や表示が道路上にたくさんあることに気づく。注意標識、はしごのような構造物、ポールの上の赤いライト、色や形の違う標識などだ。オレンジと白のコーンも見えるが、これは通常、特別な理由で設置されるものだ。全体として、ドライバーはゆっくり運転しながら道路標識に注意を払い、曲がっているように見える。入力画像 出力文章(翻訳)岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 93埋め込みによるベクトル化と検索BLIP-2によるimage captioningGRiTによるdense captioningGPT-3.5による文章化埋め込みによるベクトル化ベクトル検索埋め込みによるベクトル化検索結果走行動画走行ログ検索文My car is waiting atthe traffic light infront of theintersection at night.走行データベース● OpenAIが提供している埋め込みモデル(text-embedding-ada-002) を利用して文章をベクトルに変換● 走行データに対して生成した文章、およびユーザが入力した検索文の双方をベクトル化し、ベクトル検索により検索文に近い文章を持つ走行データを探す● ベクトル検索の高速化のため、近似最近傍検索ライブラリであるFaissを利用岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 94検索結果例 “My car is waiting at the traffic light in front of the intersection at night.”岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 95検索結果例 “Many people crossing the intersection in the city center.”岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 96検索結果例 “There is a motorcycle ahead.”岩政, “大規模走行データを効率的に活用する検索システムの開発,” 第3回 Data-Centric AI勉強会, 2023. [Slides]
© GO Inc. 97● タクシーアプリ『GO』のほか、次世代AIドラレコサービス『DRIVE CHART』を提供● ドライブレコーダーの映像などから脇見運転や一時不停止などの各種リスク運転行動を自動的に検知して見える化することで交通事故削減を支援● ドライブレコーダー映像の利活用として、クラウドに集約した映像を解析し、解析結果を地図情報と比較することで地図情報のメンテナンスを効率化するプロジェクトも推進中GO株式会社https://goinc.jp/news/pr/2022/05/10/5gbjx1pgcoftwipizhkvt8/https://drive-chart.com/
© GO Inc. 98『DRIVE CHART』における脇見検知の課題● 各フレームからCNNで抽出した特徴ベクトルをRNNに入力し、時間方向の関係性を考慮して各フレームの脇見確率を推定● ラベルなし映像は大量にあるが、アノテーションコストが高い○ 1分の映像のアノテーションに平均5分○ ランダムな映像に脇見が含まれることは稀………0.20.30.8CNN RNNフレーム特徴ベクトル 脇見確率外側カメラ内側カメラ高橋, “危険運転検知のData-Centric AIな取り組み,” GO TechTalk #20, 2023. [Slides]
© GO Inc. 99● モデルの出力が最も信頼できないサンプルを選ぶ● 確率分布を出力するモデルならば、確率の最大値や分布形状を評価する不確実性サンプリング1 2 3 4 5クラス確率Pθ(y | x)モデルラベルなしサンプル x最大値が最も小さいサンプルを選ぶ(least confident sampling)最大値と次に大きい値の差が最も小さいサンプルを選ぶ(margin sampling)再掲エントロピーが最も大きいサンプルを選ぶ(entropy sampling)− "!𝑃"𝑦 𝑥 log𝑃"(𝑦|𝑥)>
© GO Inc. 100● 以下2つの場合の性能を同一の検証データセットで比較○ 既存のデータセットで学習した場合○ 既存のデータセットにactive learningで収集したデータを加えて学習した場合● active learningで収集したデータを加えることによるモデルの性能改善幅が小さいActive Learningの効果学習データセット PR-AUC PR-AUC (high precision area)既存 100.00 100.00既存+Active Learning 100.92 106.62RecallPrecisionRecallPrecision既存のデータセットで学習した場合の性能を100とした相対評価高橋, “危険運転検知のData-Centric AIな取り組み,” GO TechTalk #20, 2023. [Slides]
© GO Inc. 101● 既存のデータセットは、母集団となるドライブレコーダー映像の集合に対してあるフィルタ処理を適用することで構築● 検証に使用したデータセットは既存のデータセットから選定● active learningは母集団に対して適用したため、収集されたデータセットの分布が既存のデータセットと異なっており、既存の検証データセットでは適切な評価ができない改善幅が小さい原因母集団フィルタActiveLearning検証データセット学習データセット既存のデータセットとactive learningで収集したデータセットとの間に乖離がある高橋, “危険運転検知のData-Centric AIな取り組み,” GO TechTalk #20, 2023. [Slides]
© GO Inc. 102● 母集団からのランダムサンプリングによって構築したデータセットで評価を実施○ レアイベントであり全データへのアノテーションは非現実的なため、検出数を同程度にしたうえで目視確認によりprecisionを求めて比較● 既存データセットでの評価に比べ、active learningによる改善幅が顕著に● 学習のためのデータセット構築に気を取られがちだが、評価のためのデータセットにも十分に配慮する必要がある母集団からのランダムサンプリングでの評価学習データセット母集団からのランダムサンプリングでの評価既存データセットでの評価Precision PR-AUCPR-AUC(high precision area)既存 100.00 100.00 100.00既存+Active Learning 136.61 100.92 106.62既存のデータセットで学習した場合の性能を100とした相対評価高橋, “危険運転検知のData-Centric AIな取り組み,” GO TechTalk #20, 2023. [Slides]
© GO Inc. 103● ドライブレコーダー映像から検出した道路標識の位置と種別を地図情報と比較することで、道路標識に関する地図情報が古くなっていないかを調査● 設置数が少ない道路標識については、ランダムに収集したドライブレコーダー映像に対するアノテーションでは効率が悪く、十分なラベルを集めるのに試算では数十人月を要する地図情報メンテナンスのための道路標識検出の課題https://www.mlit.go.jp/road/sign/sign/douro/ichiran.pdfアノテーション時間ラベル数所望のラベル数アノテーション時間ラベル数鈴木, “データの量や質を改善するData-Centric AIな取り組み,” MoT TechTalk #11, 2022. [Slides]最高速度 高さ制限
© GO Inc. 104データエンジン地点設定 ラベル学習評価アップロード標識座標データベース鈴木, “データの量や質を改善するData-Centric AIな取り組み,” MoT TechTalk #11, 2022. [Slides]
© GO Inc. 105● 車両からアップロードされたドライブレコーダー映像に対し、車両のGPS軌跡を用いて対象標識が写っていると思われるフレームを抽出してアノテータに提示● ランダムに収集したドライブレコーダー映像を使った場合に比べ、アノテーション効率が10倍に改善(所望のラベル数が集まるまでの時間が1/10)● 学習ラベル数が少なく精度が低かった標識のAPが48%から97%に改善地点を指定したアップロードの効果ドライブレコーダー映像GPS軌跡アップロード 候補フレーム抽出アノテータ鈴木, “データの量や質を改善するData-Centric AIな取り組み,” MoT TechTalk #11, 2022. [Slides]
© GO Inc. 106● 既存の学習データのラベルを見直したところ、ある標識では数%のラベルミス(異なる標識の種別がアノテーションされている)が見つかった● 内製しているアノテーションツール*の種別選択画面において、見た目が似通った標識が並んでおり選択を誤りやすかった可能性が高い● ラベルを修正して再学習することでAPが約3ポイント改善さらなる精度改善に向けた品質チェックアノテーション画面の一部 標識種別選択画面の並び最高速度標識を最低速度標識と間違えてアノテーションしている似たような標識が近くに並んでいる* OSSとして公開中鈴木, “データの量や質を改善するData-Centric AIな取り組み,” MoT TechTalk #11, 2022. [Slides]
© GO Inc. 107● model-centric AIとdata-centric AI○ モデル(コード)とデータのどちらを固定し、どちらを改善の対象とするか○ data-centricなアプローチは、実応用における効果の大きさの割には整理や体系化が不十分● data-centric AIに関連する学術分野○ 能動学習、疑似ラベリング、ロバスト学習、データ剪定、…○ AIの公平性、データ可視化技術、human-in-the-loopなども関連が深い○ data-centric AIは実応用ドリブンではあるが、学術的な研究もしっかりとおさえる必要がある● 開発現場におけるdata-centric AIの実践例○ Tesla、Meta、Turing、GO、…○ 自分たちの開発に特化したアドホックなアプローチも多い○ まずは個々の開発現場での実践例を知り、整理・体系化して再現性を高めなければならないまとめ
© GO Inc. 108Data-Centric AI Community● AI開発における「データ」に着目した取り組みについて、世界的な動向や、様々な人・組織の知見・ノウハウなどを共有するためのコミュニティ● 定期的な勉強会を開催しており、これまでの発表者は15名以上、のべ参加者数は約1000人ご参加・ご発表をお待ちしております!https://dcai-jp.connpass.comhttps://twitter.com/dcai_jp#dcai_jp
文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください。© GO Inc.