G検定(ジェネラリスト検定)
とらんすふぉーまー
Transformer
Transformer
RNNも畳み込みも使わず、セルフアテンションだけで入力と出力の表現を計算する初めての系列変換モデル。エンコーダとデコーダはどちらも同一の層を6層重ねて作られている。
詳しい説明
位置づけ
Transformerは、ある系列を別の系列へ変換する系列変換モデルの一種です。原論文は、系列に沿って順に処理するRNN(再帰型ニューラルネットワーク)も畳み込みも使わず、セルフアテンションだけで入力と出力の表現を計算する初めての系列変換モデルだと位置づけています。G検定ではシラバス2024のキーワードに含まれます。
エンコーダ・デコーダ構造
高い性能を示す系列変換モデルの多くは、エンコーダ・デコーダ構造をとります。エンコーダは、記号の表現が並んだ入力系列を、連続的な表現の系列へ写します。デコーダはその表現を受け取り、出力の記号列を1要素ずつ生成します。各ステップでは、それまでに生成した記号を追加の入力として使って次の記号を生成します。これを自己回帰的な生成と呼びます。Transformerはこの全体構造を踏襲し、エンコーダとデコーダの両方を、積み重ねたセルフアテンションと位置ごとの全結合層で組み立てています。
エンコーダの構成
エンコーダは同一の層をN=6個重ねたものです。各層は2つのサブレイヤーからなり、1つ目がマルチヘッドセルフアテンション、2つ目が位置ごとの全結合フィードフォワードネットワークです。それぞれのサブレイヤーの周りに残差接続を置き、その後に層正規化を行います。各サブレイヤーの出力はLayerNorm(x + Sublayer(x))と書け、Sublayer(x)はそのサブレイヤー自体が計算する関数です。残差接続で入力と出力を足し合わせられるよう、埋め込み層を含むすべてのサブレイヤーの出力の次元はd_model=512にそろえられています。
デコーダの構成
デコーダも同一の層をN=6個重ねます。エンコーダの2つのサブレイヤーに加え、エンコーダスタックの出力に対してマルチヘッドアテンションを行う3つ目のサブレイヤーを挿入します。各サブレイヤーの周りの残差接続と、その後の層正規化はエンコーダと同じです。
さらにデコーダのセルフアテンションには、ある位置が後続の位置に注意を向けないようにするマスクを加えます。出力の埋め込みを1位置ずらすこととこのマスクを組み合わせることで、位置iの予測は、iより前の位置にある既知の出力だけに依存するようになります。これによってデコーダの自己回帰性が保たれます。
フィードフォワードネットワーク
エンコーダとデコーダの各層には、アテンションのサブレイヤーに加えて全結合のフィードフォワードネットワークが含まれます。これは各位置に個別かつ同一に適用され、2つの線形変換の間にReLU活性化関数を挟んだ構造です。
試験で問われること
G検定
- Transformerは、系列に沿ったRNNも畳み込みも使わず、セルフアテンションだけで入力と出力の表現を計算する初めての系列変換モデルとして提案された。
- エンコーダは入力の記号列を連続表現の列へ写し、デコーダはその表現から出力の記号を1つずつ、生成済みの記号も入力に使う自己回帰的なやり方で生成する。
- エンコーダは同一の層を6層重ねた構造で、各層はマルチヘッドセルフアテンションと位置ごとの全結合フィードフォワードネットワークの2つのサブレイヤーからなる。
- 各サブレイヤーの周りには残差接続を置き、その後に層正規化を行うので出力はLayerNorm(x + Sublayer(x))となり、出力の次元はd_model=512にそろえられている。
- デコーダはエンコーダ出力へのマルチヘッドアテンションを3つ目のサブレイヤーとして加え、セルフアテンションでは後続の位置に注意を向けないようマスクをかけている。
最終更新日: 2026/09/23