Transformerで、位置エンコーディング(Positional Encoding)を入力の埋め込みベクトルに加える理由として、最も適切なものはどれか。
- 1Self-Attentionだけでは入力トークンの並び順を区別できないため、各トークンの位置の情報を与える必要があるから。
- 2未来のトークンの情報を参照できないよう、アテンションの対象を制限する必要があるから。
- 3語彙に含まれない未知語を、より小さな単位に分割して扱えるようにする必要があるから。
- 4層を深くしたときの勾配消失を防ぐため、入力をそのまま出力に加える必要があるから。
正解と解説を見る
正解:1
Self-Attentionはすべてのトークン間の関係を同時に計算するため、入力の並び順を入れ替えても各トークンの出力は並びが入れ替わるだけで、順序そのものを区別できません。RNNのように1つずつ順番に処理するわけではないので、位置エンコーディングで語順の情報を補います。2はデコーダのマスク処理、3はサブワード分割、4は残差接続の説明です。「Transformerは順序を知らないので、位置情報を外から足す」と押さえておきましょう。
根拠:Attention Is All You Need(Vaswani et al., 2017)のPositional Encoding