ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は Transformer (トランスフォーマー) に関する記事です。
| この記事の要点 |
|---|
|
Transformer とは?
Transformer は、2017 年に Google の研究者らが論文 「Attention Is All You Need」 で発表したニューラルネットワークアーキテクチャです。当時主流だった RNN / LSTM による系列モデルを置き換え、現在のLLM・生成 AI のほぼすべてがこの構造の上に建っています。
名前の由来は「(系列を別の系列に)変換する (transform) もの」。最初は機械翻訳のために提案されましたが、その後あらゆる系列・マルチモーダルデータに適用されるようになりました。
なぜ革命的だったか
| 項目 | RNN / LSTM | Transformer |
|---|---|---|
| 計算方式 | 逐次(前の出力を待つ) | 並列(系列全体を一度に処理) |
| 長距離依存 | 勾配消失で弱い | Attention で直接結合できる |
| GPU 活用 | 限定的 | 大幅に活用できる |
| スケーリング | 限界が早い | パラメータ・データを増やすほど伸びる |
| 表現力 | 系列に強いが構造的に偏る | 系列・画像・音声・グラフへ転用可能 |
主要コンポーネント
| 構成要素 | 役割 |
|---|---|
| Tokenizer | 文字列をトークンに分割(BPE / WordPiece / SentencePiece) |
| Embedding 層 | トークン ID をベクトル化 |
| Positional Encoding | 位置情報を埋め込む(並列処理で順序が消えるため必要) |
| Self-Attention | 各トークンが他のトークンとどれだけ関係あるかを学習 |
| Multi-Head Attention | Attention を複数並列に走らせ、異なる視点を学ぶ |
| Feed-Forward Network (FFN) | 位置ごとに同じ MLP を適用 |
| Residual Connection + LayerNorm | 勾配を安定化させる |
| 出力層(Softmax) | 次トークン確率を出力 |
Self-Attention の核心
| 補足: Q / K / V のイメージ |
|---|
| 各トークンを Query (Q)・Key (K)・Value (V) 3 つのベクトルに変換し、「Q がどの K とどれだけ似ているか」のスコアで V を重み付き平均します。 例: 「彼 は本を読んだ。それ は面白かった。」のような文で、「それ」が「本」を指すという関係を、Attention スコアが大きくなることで自動的に学習します。 RNN だと「それ」から「本」まで時間ステップを辿らないと届かない関係が、Transformer では1 ステップで直接結ばれるのが本質的優位点です。 |
3 つの派生アーキテクチャ
| タイプ | 代表モデル | 得意タスク |
|---|---|---|
| Encoder のみ | BERT、RoBERTa、ModernBERT | 文の理解(分類・抽出 QA・Embedding 生成) |
| Decoder のみ | GPT 系、Llama、Claude、Gemini、Qwen | テキスト生成・会話・コード生成(現代 LLM の主流) |
| Encoder-Decoder | 原論文の Transformer、T5、BART、mT5 | 翻訳・要約(入力 → 出力の系列変換) |
Transformer の応用
| 領域 | 代表モデル |
|---|---|
| 自然言語処理 | GPT / BERT / Llama / Claude / Gemini など全 LLM |
| 画像認識 | Vision Transformer (ViT)、Swin Transformer |
| 音声認識 | Whisper、Conformer |
| 動画 | VideoMAE、TimeSformer |
| マルチモーダル | CLIP、Flamingo、GPT-4o、Gemini |
| 画像生成 | DiT (Diffusion Transformer)、Sora 系 |
| タンパク質構造 | AlphaFold(Transformer 派生) |
| 強化学習 | Decision Transformer |
計算量と長文の課題
| 注意: Attention の計算量 |
|---|
| 標準の Self-Attention は系列長 n に対して O(n²) の計算量・メモリを使います。これが LLM のコンテキストウィンドウの上限とコストの主因です。 長文対応として FlashAttention(メモリ効率化)、Sliding Window Attention、Mixture of Experts (MoE)、State Space Model (Mamba) などの改良・代替が研究されています。 |
派生・改良
- FlashAttention — メモリと速度を効率化
- RoPE (Rotary Position Embedding) — 位置エンコーディングの改良(Llama 等で採用)
- GQA (Grouped Query Attention) — 推論時の KV キャッシュを削減
- Mixture of Experts (MoE) — 一部の専門家だけを活性化(Mixtral / GPT-4 / DeepSeek 等)
- Long Context — Yarn / ALiBi 等で 100 万トークン超の対応
- State Space Model (Mamba) — Transformer の代替候補
最小サンプル: PyTorch の Transformer 層
|
import torch, torch.nn as nn |
歴史マイルストーン
| 年 | 出来事 |
|---|---|
| 2017 | Vaswani et al. が「Attention Is All You Need」を発表 |
| 2018 | BERT(Encoder のみ)、GPT-1(Decoder のみ) |
| 2019 | GPT-2、T5、RoBERTa |
| 2020 | GPT-3、ViT、Scaling Laws |
| 2022 | ChatGPT 公開、Stable Diffusion (内部に Transformer) |
| 2023 | GPT-4、Llama、Claude、Gemini、長コンテキスト競争 |
| 2024- | 推論モデル (o1 / o3)、MoE、マルチモーダル、動画生成 (Sora) |
運用上のヒント
| Tips |
|---|
|
関連
- 親カテゴリ: AIの基礎概念
- 関連: LLM / Attention / Embedding / ディープラーニング
- 実装: PyTorch / Hugging Face Transformers
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 【Javascript】base urlを取得する方法
- 4 YouTube Data API (v3) のエラー一覧|403系エラーの確認ポイント
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravelのエラー一覧|原因と対処の入口ページ
- 7 3D グラフィックスとは?Unity・OpenGL・DirectX の基礎
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- AIの基礎概念:LLM/Transformer/Attention/RAG/エージェント など必須キーワード NEW 2026-05-13 12:19:18
- Diffusion Model とは?画像生成 AI の仕組み・Stable Diffusion NEW 2026-05-13 12:18:15
- マルチモーダル AI とは?GPT-4o・Gemini・Claude の使い方 NEW 2026-05-13 12:18:14
- トークン / コンテキストウィンドウとは?料金・上限・最適化 NEW 2026-05-13 12:18:14
- ファインチューニングとは?LoRA・QLoRA・SFT・RLHF/DPO NEW 2026-05-13 12:18:13
- AIエージェントとは?Tool Use・LangGraph・MCP・実装例 NEW 2026-05-13 12:18:13
- RAG (検索拡張生成) とは?仕組み・実装・LangChain 例 NEW 2026-05-13 12:18:12
- Prompt Engineering とは?技法・Chain-of-Thought・実践例 NEW 2026-05-13 12:18:12
- Attention (注意機構) とは?Q/K/V・Multi-Head の仕組み NEW 2026-05-13 12:18:11
- Embedding (埋め込み) とは?ベクトル化・類似検索・RAG NEW 2026-05-13 12:18:11
- Transformer とは?仕組み・Self-Attention・LLM の基礎 NEW 2026-05-13 12:18:10
- LLM (大規模言語モデル) とは?仕組み・代表モデル・使い方 NEW 2026-05-13 12:18:10
- ディープラーニングとは?CNN・RNN・Transformer・LLM の入門 2026-05-13 10:24:07
- 機械学習とは?教師あり・教師なし・強化学習・代表アルゴリズム 2026-05-13 10:24:07
- AIに必要な数学:線形代数・微積分・確率統計・情報理論・最適化 2026-05-13 10:20:39
コメントを削除してもよろしいでしょうか?