📝

MDETRについて

2023/04/12に公開

参考サイト

https://www.ogis-ri.co.jp/otc/hiroba/technical/multimodal-ai/part1.html

はじめに

MDETRとは

2021年4月に公開

ニューヨーク大学とFacebook AIが共同研究しているもので、DETRをベースにしたエンドツーエンドのマルチモーダル推論モデル

特徴:モデルの初期段階で画像とテキストの2つのモダリティをFusion(融合)させて共同で推論している

(従来手法では、あらかじめ事前学習させた物体検出モデルを用いて画像から物体を検出し、検出できた物体の特徴量とテキストの特徴量を使ってマルチモーダル推論を行っている)

画像側のDETRの構造を基本にし、Transformerの手前にテキスト側をRoBERTaで処理したものを接ぎ木しているようなアーキテクチャ(このような構造になっているため自由形式のテキストも認識して物体検出できる)

画像とテキストをセットで入力し、アウトプットとしてテキストに登場する物体のみを検出

何ができるのか

様々なタスクを解くことができる

1. Referring Expression Comprehension(参照表現理解)

テキストで記述した内容のみを検出する物体検出タスク

Input: "a blue car"

長文のテキストでも検出することができる

2. Referring Expression Segmentation(参照表現セグメンテーション)

テキストの物体を検出してセグメンテーションするタスク

input: "a ground."

短いテキストを使う必要がある(そういうデータセットになっているらしい)

3. Visual Question Answering(視覚的質問応答)

画像に対する質問応答タスク

input: "What is on the table?"

> output: bottle

(表示されるバウンディングボックスは物体の関係性を求めるのに使われる)

何がすごいのか

従来のマルチモーダル推論モデルではできなかった画像とテキストの関連性(アライメント)を学習している点

例えば、「灰色の象」と「ピンク色のボール」などを学習していれば、「ピンク色の象」という新しい組み合わせも検出することができる

サンプルコード

Google Colab

https://colab.research.google.com/github/ashkamath/mdetr/blob/colab/notebooks/MDETR_demo.ipynb

ローカルでも動く

More

  • マルチモーダル深層学習の問題設定には色々なタスクがある。MDETRは3と4に相当する。
      1. Representation(表現)
      • マルチモーダルのデータをどのように表現したり要約するかについて解決するタスク
      1. Translation(変換)
      • あるモダリティのデータを別のモダリティのデータに変換するタスク
      1. Alignment(アライメント)
      • 複数のモダリティ間の直接的な関係を明らかにするタスク
      1. Fision(融合)
      • ある予測をするために複数のモダリティの情報を利用するタスク
      1. Co-learning(共学習)
      • あるモダリティ内で作られた推論モデルやベクトル表現などを別のモダリティに転移させるタスク
  • DETRと違う点は2つ
      1. Transformerに画像の特徴マップ(ベクトルのシーケンス)を入力する前にテキスト情報をConcat(結合)している点
      1. 学習が「事前学習」(Pre-training)と「ファインチューニング」(Fine-Tuning)の二段階で構成されており、「事前学習」ではいろいろなデータセットが必要になる点
      • 「ファインチューニング」で様々なタスクに特化したモデルを作ることができるため、「事前学習」にはBERT等と同じく大量データを使って画像とテキストの組み合わせの特性を学習させる必要がある
      • BERTの場合、Masked Language Modeling(MLM)というマスクで文章の一部を欠損させる処理を使って教師なし学習を行っており、Wikipediaのダンプ等の大量の文章データを利用していた
        • MDETRは教師あり学習のため、画像とアノテーションとテキストが揃った大量データを用意する必要がある

Discussion