Re Reference AI

アーキテクチャ

Transformer

注意機構(Attention)ベースの系列モデリング用ニューラルネットワークアーキテクチャ

深層学習AttentionNLP

概要

Transformerは、系列中のトークン間の関係を自己注意機構(Self-Attention)のみでモデル化するニューラルネットワークアーキテクチャ。従来主流だったRNNの逐次処理やCNNの局所的な畳み込みを用いず、系列内の全トークンペア間の関連度を一度に計算することで、離れた位置にある単語同士の依存関係も直接捉えられる。この設計により学習を系列長方向に並列化でき、GPUクラスタでの大規模分散学習が現実的になった。テキストのみならず画像(Vision Transformer)、音声、マルチモーダル入力にも応用範囲が拡大しており、現在の深層学習モデルの大半が何らかの形でTransformerブロックを採用している。

背景

RNNの逐次処理によるボトルネックを解消するために考案された。並列学習を可能にし、長距離依存関係のモデリング性能を向上させる。

歴史

2017年: Vaswani らが「Attention Is All You Need」を発表。2018-2019年: BERTとGPTがTransformerを事前学習へ応用。2020年代: NLP・画像・音声を横断する支配的アーキテクチャに。

アーキテクチャ

エンコーダ・デコーダ(またはデコーダのみ)構成。マルチヘッド自己注意層と位置ごとのフィードフォワード層を、残差接続と層正規化とともに積み重ねる。

ワークフロー

入力トークン → 埋め込み+位置エンコーディング → 注意機構/FFNブロックの積み重ね → 出力射影(例: 次トークンのロジット)。

コード例

最小構成の自己注意機構(PyTorch)

import torch.nn.functional as F

def self_attention(q, k, v):
    scores = q @ k.transpose(-2, -1) / (q.size(-1) ** 0.5)
    weights = F.softmax(scores, dim=-1)
    return weights @ v

利点

  • RNNと比較して学習の並列化が容易
  • 注意機構により長距離依存関係を捉えられる
  • データと計算量に対して性能が予測可能にスケールする

欠点

  • 系列長に対して計算量が2乗で増加する
  • 汎化には大量の学習データを要する

比較

  • LLMLLMはTransformerアーキテクチャを大規模に応用したもの
  • ニューラルネットワークTransformerはニューラルネットワークの一種で、自己注意機構に特化したアーキテクチャ
  • RNNTransformerはRNNの逐次処理によるボトルネックを解消し、並列学習を可能にしたアーキテクチャ
  • AttentionTransformerはAttention機構(特に自己注意)のみで構成されたアーキテクチャ

関連用語

LLMファインチューニングニューラルネットワークRNNAttention

よくある質問

Transformerはテキスト専用?

いいえ。画像(ViT)、音声、マルチモーダルタスクにも使われる。

参考文献