本文へスキップ

レッスン 2/6 · 6分 · +100 XP

Transformerのアテンション(注意機構)とは何ですか?

アテンションは、Transformerの中で、各トークンが前のどのトークンが自分にとって大事かを決める部分です。前のトークンすべてに点数をつけ、合計100%になる重みに変えて、その情報を重みに合わせてまぜて取りこみます。こうして、主語が省かれた文でも「疲れていた」のが「ネコ」だとわかり、「はし」が川にかかる橋だとわかるのです。

▶ やってみよう

なぜ大切なのか

言葉は1つだけではあいまいなことがよくあります。だれが「疲れていた」のか、「はし」はどれか、何が「大きすぎ」なのか。アテンションは、どの言葉にも前の言葉から意味を借りさせて、それを見つけます。

6分後にできるようになること

  • アテンションで、各言葉は前をふり返り、大事な言葉から意味を借ります。
  • 重みはいつも合計100%なので、ある言葉に集中すれば、ほかへの注目は減ります。
  • 1語変えるとアテンションが動きます。だから文脈によって、モデルの理解が変わるのです。

練習する内容

  1. アテンションヘッドになろう

    前の言葉をタップして、アテンションを注ぎましょう。10しずく全部使ったら、学習ずみのヘッドとくらべます。重みは説明のための例です。

    1. そのネコは座った。疲れ

      疲れていたのはだれ?

      学習ずみヘッド: ネコ 64% · 座った。 25% · は 7%

      読み取り: 疲れていた = ネコ 日本語ではよく主語が省かれるので、「疲れ」は自分がだれのことかを探さなければなりません。学習ずみのヘッドは、座ることができる唯一の候補「ネコ」に、いちばん重みを置きます。

    2. 川にかかった古いはし

      「はし」は橋?箸?端?

      学習ずみヘッド: 川 60% · かかった 26% · 古い 10%

      読み取り: はし = 川にかかる橋 「はし」だけなら、食事の箸かもしれません。「川」にたより、「かかった」にも少し助けてもらうと、意味が川をわたる橋に決まります。

    3. 花びんが箱に入らない。だって大きすぎ

      大きすぎるのは何?

      学習ずみヘッド: 花びん 56% · 入ら 14% · 箱 13%

      読み取り: 大きすぎ = 花びん 大きすぎるものは中に入れられません。「大きすぎ」の意味をつかむため、ヘッドは入れようとしているもの、花びんをふり返ります。

    4. 花びんが箱に入らない。だって小さすぎ

      では、小さすぎるのは何?

      学習ずみヘッド: 箱 54% · 入ら 14% · 花びん 13%

      読み取り: 小さすぎ = 箱 1語で意味が逆になり、重みもいっしょに逆になりました。アテンションは文章ごとに新しく計算されます。決まった早見表ではありません。

  2. アテンションヘッド1つの中

    カードをタップしましょう。どのトークンも、3つの小さな数字のリストを持っています。

    🔦 クエリ:何を探している?
    探している側のトークンがクエリを出します。たとえば「わたしは『疲れ』。疲れることができる人や動物を探しています」。
    🏷️ キー:何を差し出せる?
    前のトークンはそれぞれ、自分が何かを示すラベル、キーをかかげます。キーがクエリによく合うほど、点数が高くなります。
    📦 バリュー:何を渡す?
    点数は合計100%の重みになります。クエリは前のトークンのバリューを重みに合わせてまぜて取りこみます。ほとんどが「ネコ」で、ほかは少し。
    🧠 なぜヘッドがたくさん?
    各層では、たくさんのヘッドが並んで動きます。あるヘッドは省かれた主語を探し、別のヘッドはすぐ前の言葉を追い、また別のヘッドはかっこの組を合わせます。
  3. ヘッドは何を探せる?

    研究者は、学習ずみのモデルの中をのぞいています。アテンションヘッドが見つけられそうなパターンはどれ?当てはまるものをすべて選びましょう。

    • 「彼女」のような代名詞が指す名詞
    • いまの言葉のすぐ前の言葉
    • 閉じかっこ「」」に対応する開きかっこ
    • 動詞の主語
    • 返事のあとのほうで書かれる言葉
    • その文が現実の世界で本当かどうか

覚えておこう

どのトークンも、アテンションの100%を前のトークンに分けて注ぎ、その意味をまぜて取りこみます。文脈が変われば、まぜ方も変わります。

各言葉は、アテンションの100%を前の言葉に分けて注ぎ、その意味をまぜて取りこみます。

押さえておきたい事実

  • いまの大規模言語モデルを支える設計、Transformerは、2017年の論文「Attention Is All You Need」で発表されました。 · 出典: Vaswani et al., Google, 2017
  • 最初のTransformerは、各層で8つのアテンションヘッドを並べて動かしていました。 · 出典: Vaswani et al., Attention Is All You Need, 2017
  • GPT-3は96層あり、各層に96のアテンションヘッドがあります。 · 出典: Brown et al., Language Models are Few-Shot Learners, OpenAI, 2020
  • 研究者が学習ずみの言語モデルを調べると、文法を教わっていないのに、代名詞とそれが指す名詞、動詞とその目的語を結びつけるヘッドが見つかりました。 · 出典: Clark et al., What Does BERT Look At?, 2019

更新日:

よくある質問

セルフアテンションとは、かんたんに言うと何ですか?

文章の中のどの言葉も、同じ文章のほかの言葉を見て、それぞれが自分にとってどれくらい大事かを決めるしくみです。そして、その意味を重みに合わせてまぜて取りこみます。

クエリ、キー、バリューとは何ですか?

各トークンが持つ3つの小さな数字のリストです。クエリは何を探しているか、キーは何を差し出せるか、バリューは選ばれたときに何を渡すかを表します。

マルチヘッドアテンションとは何ですか?

同じ層で、いくつものアテンションヘッドを並べて動かすことです。ヘッドごとにちがう種類の関係を探すよう学び、その結果を組み合わせます。

アテンションは、これから書く言葉を見られますか?

左から右へ文章を書くモデルでは見られません。各トークンが注目できるのは自分と前のトークンだけです。あとのトークンはまだ書かれていないからです。

関連用語