最新AI論文をキャッチアップ

Transformer is All You Need:1つのTransformerで全てやってしまう

Transformer is All You Need:1つのTransformerで全てやってしまう

Transformer

3つの要点
✔️ ビジョン、NLP、ビジョン+NLPタスクの8つの異なるデータセットにまたがる7つのタスクに対する1つのトランスフォーマーモデル
✔️ 現在のSOTAモデルに匹敵する性能
✔️ タスクに特化したモデルと比較して、パラメータの効率性が高い

Transformer is All You Need: Multimodal Multitask Learning with a Unified Transformer
written by Ronghang HuAmanpreet Singh
(Submitted on 22 Feb 2021)
Comments: Accepted to arXiv.

Subjects: Computer Vision and Pattern Recognition (cs.CV); Computation and Language (cs.CL)

code:

はじめに

私たちの脳は、非常に柔軟性があります。話すこと、書くこと、聞くこと、見ること、考えること、動くこと、その他多くのことを可能にします。この柔軟性は、人工ニューラルネットワークにおいても望ましい性質です。最近では、ビジョン(物体検出、インスタンスセグメンテーション)、NLP(センチメント分析、言語モデリング)、ビジョン+NLP(視覚的エンテーリング、視覚的質問応答)など、様々なタスクにトランスフォーマーが使われています。にもかかわらず、これらのタスクを1つのトランスフォーマーモデルに集約することは、これまで成功していませんでした。

本論文では、物体検出から自然言語、視覚的な質問応答まで、異なる領域の7つのタスクを同時に処理できるマルチモーダルエンコーダ/デコーダトランスフォーマモデルUniTについて解説していきます。 

Unified Transfomer (UniT): One For All


UniTは、CNNバックボーンを用いて画像をエンコードするためのエンコーダーと、テキストをエンコードするためのエンコーダーの2つの異なるエンコーダーで構成されています。UniTはDETRモデルに基づいており、タスク固有のクエリエンベッディングを受け取るジョイントデコーダで構成されている。また、タスク固有の出力ヘッドを持ちます。それぞれの構成要素については以下で説明します。

1) Image Encoder

画像エンコーダは、ビジョンのみのタスクやビジョンとテキストのタスクに必要です。局所的な特徴を抽出するためのCNNバックボーンと、グローバルな文脈的特徴を捉えるためのマルチヘッドの自己注意エンコーダーから構成されています。CNNバックボーンはResNet-50アーキテクチャで作られており、最後のc5スタックで拡張されており、物体検出のために事前に学習されています。このCNNエンコーダによって画像Iのために生成された特徴マップは,平坦化されて視覚変換エンコーダに渡され,視覚的な隠れた状態の集合hv = {hv1, hv2...hvL}を生成します。ここで、LはHvxWvに等しく、HvWvはCNNエンコーダによって生成された特徴マップの高さと幅です。

物体検出やVQAなどのタスクによっては、画像からタスク固有の情報を抽出する必要がある。そのために、以下のようなタスク埋め込みベクトルを用います。

Pb-->e は、特徴マップベクトルの次元をトランスフォーマエンコーダの隠れ次元に変換する線形変換です。Evは視覚的なトランスフォーマエンコーダです。

2) Text Encoder

GLUE、QNLI、SST-2、QQPなどの言語タスクやVQAなどの言語・視覚タスクに必要なテキストエンコーダです。これは、マスクされた言語モデリングと次の文の予測を使用して事前に学習された言語モデルであるBERTで構成されています。単語の列が与えられると、単語はS個のトークン{w1,w2...ws}にトークン化され、最初のトークンw1は特別なトークン[CLS]です(BERTでの分類用)。画像エンコーダーと同様に、我々はまた、単語のシーケンスにタスク固有の埋め込みベクトルwttaskを追加します。BERTがシーケンスを符号化すると、以下に示すように、wttaskベクトルに対応する符号化は除去されます。 

また[CLS]トークンに対応するエンコーディングのみを使用することで、計算量を節約することができ、非常に有効であることがわかっています。

3) Domain-agnostic Decoder

エンコーダとは異なり、メインモデルではすべてのモードで同じデコーダが使用されます。ビジョンタスクではビジョンエンコーダのエンコーディングのみが使用され、言語タスクではテキストエンコーダのエンコーディングのみが使用されます。言語と視覚のタスクでは、2 つのエンコーディングが連結されます。

トランスフォーマデコーダは、エンコーダからのエンコーディングhencと長さqのタスク固有のクエリ埋め込みシーケンスqtaskを受け取ります。l 個のトランスフォーマデコーダ層のそれぞれが、長さqのデコードされた隠れ状態hdec,lのシーケンスを出力します。デコーダーの非表示状態hdec,lの間にSelf-attentionが適用され、hdeccross-attentionが適用されます。

4) Task-Specific Output Heads 

各タスクtは、それ自身の予測ヘッドを持っています。オブジェクト検出のために、出力ヘッドは、デコーダ出力の各隠れた状態のためのq個のバウンディングボックスを、それらのq個のボックスのそれぞれについてのクラス予測とともに予測します。各位置は、クラスまたは背景のいずれかを予測することができます。各ボックスに属性アノテーションを持つVisual Genome Datasetのようないくつかのデータセットでは、属性分類出力ヘッドも追加します。

cl, bl, alのすべてが検出のためのクエリ埋め込みのqtaskと同様に、同じシーケンス長さのqを持ちます。

自然言語理解、VQA、視覚的帰結などの他のすべてのタスクは、タスクtのctクラス間の分類タスクとしてモデル化すことができます。クラス予測pは、ground truth tとのクロスエントロピー損失を用いて学習されます。

実験と評価

Sample Results on Various Datasets 

UniTは、複数の領域にまたがる複数のタスクで共同学習されます。UniTは、物体検出(COCOデータセット、Visual Genome-VGデータセット)、自然言語理解(GLUEベンチマーク:NLI, QQP, MNLI-mismatched, SST-2)、視覚と言語の共同タスク(VQAv2 dataset、SNLI-VE)に対して訓練・検証を行いました。VQAv2では視覚ゲノムデータセットからの質問と回答があり、SNLI-VEでは、画像がテキストの説明を含むか、矛盾するか、中立的かを分類するものです。


上の表は、物体検出とVQAに関する解析結果を示しています。Sharedとは、すべてのタスクで同じデコーダを使用し、別個のデコーダは独立したデコーダを学習したことを意味します。。Sharedデコーダは、COCOデータセットで事前に学習したモデルの重みを用いて初期化しています。Sharedデコーダを用いた共同学習は、COCOとVGで良好な結果を示し、VQAv2では有益であった。VQAv2の精度はエンコーダを分離して共同学習を行った場合が最も高く、総合的に見て、共同学習は物体検出とVQAに有効であると言えます。

上の表は、8つのベンチマークすべてでUniTモデルの結果を示しています。SOTAモデルとの競争力の高い結果が得られています。BET, DETR, VisualBERT。 クロスモダリティの重複が少ないため、UniT-シングルタスクトレーニングは、いくつかのタスク(VG, QNLI, MNLI, QQP)で現行のSOTAモデルを凌駕しています。また、UniT-シングルタスクは同じデータセットで500k回の反復学習を行っているが、マルチモーダルUniTは異なるタスクで合計500k回の反復学習を行っていることにも注意が必要です。全てのハイパーパラメータは、全てのUniT学習タスクで同じにしています。UniT-sharedは、8つのモデルを組み合わせた場合と同じ数のタスクを同等の精度で実行できるため、8倍少ないパラメータを持っています。

結論

UniTモデルは、8つの異なるデータセットで7つの異なるタスクを実行することができ、タスクに特化したSOTAモデルと同等の性能を発揮します。これにより、人間の脳のような柔軟性と抽象化能力を持つ人工知能(AGI)システムのモデリングに一歩近づくことができました。今後の研究では、音声認識、翻訳、ゲーム機能、画像生成など、より多くのモダリティをシステムに組み込み、この擬似AGIをさらに充実させていくことを目指しています。詳細は原著論文を参照してください。

 

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!
Thapa Samrat avatar
今大阪大学の電子情報工学科で学習している2年生のネパールからの留学生です。 機械学習・深層学習に興味あります。だから、暇なときにそれらについて記事を書いています。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする