ある開発チームが、文の分類にTransformerのエンコーダを使っている。試験的に位置エンコーディングを取り除いたところ、「犬が猫を追う」と「猫が犬を追う」のように、同じ単語からなり語順だけが異なる文を区別できなくなった。この現象の説明として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 D
この問題の論点:位置エンコーディングの必要性
ポイント
Self-Attentionだけでは入力の順序を区別できないため、Transformerは位置エンコーディングで各単語の位置の情報を与えます。
選択肢ごとの解説
- A
不適切
Self-Attentionは系列を順番に処理せず、全位置の関係をまとめて計算します。並列に計算できるのはSelf-Attention自体の性質です。位置エンコーディングの役割は、その代わりに失われる順序の情報を補うことです。
- B
不適切
位置エンコーディングが表すのは、単語が系列の何番目にあるかです。単語の頻度や意味とは関係がなく、同じ位置には単語によらず同じベクトルが足されます。
- C
不適切
元のTransformerはsin関数とcos関数による固定の値を使いましたが、位置ごとのベクトルを学習で求める方法もあり、BERTなどで使われています。元論文でも、学習で求める方法とほぼ同じ結果が得られたと報告されています。
- D
適切 正解
Self-Attentionでは、入力の単語を並べ替えても、各単語の出力は並び順が入れ替わるだけで値は変わりません。そこで、各位置に固有のベクトルを入力に足す位置エンコーディングで順序の情報を与えます。
試験での狙われ方
位置エンコーディングがなぜ必要かを、順番に処理するため位置の情報を別に与えなくてよいRNNとの違いと合わせて問う形が考えられます。