Transformer の中核メカニズム
Attentionメカニズム、Encoder-Decoderアーキテクチャ、フィードフォワードネットワークと残差接続を深く理解し、Transformerの動作原理を習得する。
Attention メカニズム:Transformer の魂
Attention メカニズムは Transformer の核心であり、モデルが入力シーケンスの異なる部分に「注目」し、それらの関係を理解できるようにする。
Self-Attention:自己注意力
Self-Attentionにより、シーケンス内の各位置は他のすべての位置に直接注目できる:
Multi-Head Attention:マルチヘッドアテンション
複数のAttentionヘッドが並列で動作し、さまざまな角度から情報を理解する:
- • 並列計算:複数のヘッドが同時に計算し、互いに干渉しない
- • 異なる視点:各ヘッドは異なる関係(構文、意味、位置など)に注目する
- • 情報融合:複数のヘッドの出力を結合した後、線形変換を行う
- • 表現力:マルチヘッド機構はモデルの表現力を大幅に高める
位置エンコーディング(Positional Encoding)
Attention メカニズム自体には位置情報が含まれていないため、位置エンコーディングによって注入する必要があります:
- • 正弦位置エンコーディング:sin/cos関数を使用して位置エンコーディングを生成する
- • 学習可能な位置エンコーディング:BERTなどのモデルは学習可能な埋め込みを使用する
- • 相対位置エンコーディング:相対位置に注目し、絶対位置ではなく
- • 制約:固定位置エンコーディングでは超長系列(例:1M+ tokens)を扱いにくい
蛍光ペン理論:Attentionを直感的に理解する方法
蛍光ペンで重要箇所をマークする比喩は、Attention メカニズムの動作原理を理解する助けになります。
比喩で説明
記事を読んでいると想像してください。蛍光ペンで重要な部分をマークするように:
実例
Encoder-Decoder アーキテクチャ
Transformer の元のアーキテクチャには Encoder と Decoder が含まれますが、実際のアプリケーションではさまざまな変種が登場しています。
Encoder(エンコーダー)
入力シーケンスを理解し、中間表現を生成する:
- • Self-Attention:入力シーケンス内の内部関係を理解する
- • Feed-Forward:非線形変換
- • 出力:各位置のコード化された表現
- • アプリ:BERT、RoBERTa などの理解タスク
Decoder(デコーダー)
Encoderの出力に基づいてターゲットシーケンスを生成する:
- • Masked Self-Attention:生成された部分のみが見える
- • Cross-Attention:Encoderの出力に注目する
- • 生成:目標シーケンスのトークンを1つずつ生成する
- • アプリ:GPT、T5 などの生成タスク
実際のアプリケーションのバリエーション
GPT(Decoder Only)
アーキテクチャ:Decoder のみ、Cross-Attention 層を削除
特徴:自己回帰生成、左から右へテキストを生成
アプリ:テキスト生成、対話、コード生成
BERT(Encoder Only)
アーキテクチャ:Encoder のみ、双方向理解
特徴:入力シーケンス全体を同時に見て、双方向のコンテキスト
アプリ:テキスト分類、質問応答、固有表現認識
T5(Encoder-Decoder)
アーキテクチャ:完全なEncoder-Decoder構造
特徴:統一されたフレームワーク。すべてのNLPタスクはテキストからテキストへ変換される
アプリ:翻訳、要約、Q&A などの多様なタスク
フィードフォワードネットワークと残差接続
Feed-Forward Network、Residual Connection、および Layer Normalization は、Transformer の安定した学習における重要なコンポーネントです。
Feed-Forward Network (FFN)
フィードフォワード नेटवर्कは各位置に対して独立に非線形変換を行う:
- • 構造:2 層の全結合ネットワークで、間に活性化関数がある(通常は ReLU または GELU)
- • 役割:モデルの非線形表現能力を強化する
- • 特徴:各位置を独立に処理でき、並列計算が可能
- • パラメータ:FFNは通常、モデルのパラメータの大部分を占めます(例:GPT-3では66%)
Residual Connection(残差接続)
入力をそのまま出力に加算し、深層ネットワークの勾配消失問題を解決する:
- • 数式:output = input + sublayer(input)
- • 役割:勾配伝播のための「高速道路」を提供する
- • 効果:モデルがより深いネットワークを学習できるようにする(例:GPT-3は96層)
- • ソース:ResNet の成功事例から学ぶ
Layer Normalization(レイヤー正規化)
各層の出力を正規化して、学習プロセスを安定させる:
- • 位置:Attention と FFN の後、残差接続の前
- • 役割:安定した活性値の分布により、学習収束を高速化
- • 効果:より大きな学習率を使用でき、トレーニングがより安定する
- • バリアント:Pre-LN(サブ層の前で正規化)vs Post-LN(サブ層の後で正規化)
Transformer Block の完全な構造
複数の Transformer Block を積み重ねて深層ネットワークを形成し、各 Block には上記の構造が含まれます
学習成果
この章を終えると、あなたは:
- 1Attention メカニズムの数学的原理(Query、Key、Value)と計算プロセスを深く理解する
- 2Multi-Head Attention が複数の観点から情報を理解する仕組みと、位置エンコーディングの役割を習得する
- 3GPT(Decoder only)とBERT(Encoder only)のアーキテクチャの違いと応用シーンを理解する
- 4Feed-Forward Network、Residual Connection、Layer Normalization の役割を理解する