BLOG

シンラボメンバーのあれこれ

  1. HOME
  2. ブログ
  3. エクスポネンシャルテクノロジー
  4. 【最新技術調査】Transformer is all you need

【最新技術調査】Transformer is all you need

Transformer is all you need

「Attention is all you need」というGoogleの奇抜な名前の論文が発表されて早4年。Transformerは言語に強いという漠然としたイメージしかありませんでしたが、最近になり調べてみれば画像処理でもハイスコアを出しているすごい技術となっていました。
発展著しいTransformerですが(個人的には特徴量を覗けちゃうってのが使われてる理由なのかなとか思ったりしてます)、今回はGoogleの論文に引けを取らないくらいに目を引くタイトル「Transformer is all you need」の概略のご紹介です。

https://arxiv.org/pdf/2102.10772v1.pdf?

何をしたのか

端的に言うと、一つのモデルで複数のタスクをかなり良い精度で実行できるUniT(Unified Transformer)というモデルを提案している論文になります。論文内では、8つのデータから7つのタスクをこなすモデルを作成したと述べられています。

提案されているモデルの概要

提案モデルはエンコーダ・デコーダモデルとなっています。簡単にエンコーダ・デコーダモデルについて説明すると、エンコーダを使って入力から特徴量を抽出します。その後、デコーダはエンコーダから受け取った特徴量とタスクごとの入力を受け取って出力を返します。下図のような翻訳の例であれば、「これはペンです。」という日本語文をエンコーダが特徴量に変換し、それを受け取ったデコーダが「This is a pen.」という英語に変換するイメージとなります。

提案されているモデルのエンコーダは画像用と言語用に分かれた構造となっています。。(下のイメージ図参照)そのエンコーダで生成された特徴量を同一のデコーダで処理し、分類や翻訳などのタスク固有の出力層を設ける形の設計となっています。
また、処理するタスク(画像、言語、画像+言語)に応じてデコーダが受け取るエンコーダからの入力を変化させています。画像タスクであれば画像用のエンコーダからのみ入力を受け取り、言語タスクであれば言語用のエンコーダから入力を受け取るといったイメージです。言語、画像のどちらも必要になるタスクの場合には、2つのエンコーダの値を結合することで対応しています。

モデルの評価

上の表は論文に記載されている評価の一部です。Decoderと書かれた部分で「Shared」「Separate」の2種類がありますが、「Shared」はモデルの部分で説明したデコーダを共有しているもので「Separate」はタスクごとにデコーダを分けたものになります。
ここで興味深いのが、デコーダを分けたものに比べてデコーダを共有したものの性能は、そん色ない、もしくは高い性能を示していることです。感覚的にはタスク固有のデコーダを設けることで性能は上がるような気がしますが、デコーダを共有したモデルでも問題なく使えるレベル、むしろ性能が上がる可能性もあります。遜色ない性能が出る理由として、分類や検出など複数のタスクを同じデコーダで学習することで汎化性能が向上している可能性が考えられます。

まとめ

Transformer is all you needで提案されているモデルは、デコーダ部分を複数のタスクで共有しているため、タスクごとに個別のモデルを作成する場合に比べてパラメータ数が少なく済むため、モデルを構築するコストが下がります。また、今回のような一つのモデルで複数のタスクをこなすことが出来るモデルの研究が進んでいく先には汎用型AIの開発というものが見えてくるのではないかと考えられます。
今後の発展に期待したいところです。

 ライター紹介
宝本眞也
人工知能関連の論文、記事を中心に紹介していけたらと思います。

関連記事