はじめに
本レポートは、生成AIの中核技術であるTransformerと、その基盤となった論文「Attention Is All You Need」の理解を目的として理解したことをまとめたものです。過去のRNN/LSTMからTransformerへの技術的飛躍、その仕組みや利点、構造の全体像について。
背景:生成AIと深層学習の変遷
RNN(Recurrent Neural Network)とは?
- 時系列データを処理するためのニューラルネットワーク。
- 各時点の出力が次の入力に影響する再帰的構造。
- 問題点:長い文章になると「長期依存関係」を保持しづらく、勾配消失問題も生じやすい。
LSTM(Long Short-Term Memory)とは?
- RNNの改良版で、"ゲート機構" により重要な情報を保持/忘却を制御。
- より長期の依存関係を保持できる。
- それでも並列処理ができず、処理速度のボトルネックが存在。
Attention
Attentionとは?
- 各単語(トークン)が他のすべての単語に対して「どれだけ注目すべきか」を計算する仕組み。
-
Query
,Key
,Value
のベクトルを用いて重み付けされた出力を生成。
Self-Attention
- 文章内の各単語が、同じ文章内の他の単語全体を見て意味を理解する仕組み。
- 並列計算が可能なため、処理速度が飛躍的に向上。
「Attention is All You Need」論文概要
論文の革新点
- 2017年にgoogleにより発表
- 再帰処理(RNN)を完全に排除し、Attention層のみで学習と生成を行う構造(= Transformer) を提案。
- 並列化が可能なため、学習と推論が高速。
- 長距離依存関係も効率的に学習。
Transformerとは何か?
一言で言うと
Self-Attentionを中核とし、並列処理が可能な深層学習モデル構造。
構造(Encoder-Decoder型)
【入力】→[埋め込み+位置情報]→Encoder(N層)→文脈表現![uploading...0]()
↓
Decoder(N層)→出力トークンの生成(自分より前のトークンのみ参照)
各構成要素の役割
構成要素 | 説明 |
---|---|
Positional Encoding | 順序情報をベクトルに追加 |
Multi-Head Attention | 複数の視点で関係性を同時に学習 |
Feed Forward Layer | 各位置ごとの意味変換 |
Residual Connection | 学習の安定化 |
Layer Normalization | 出力の正規化 |
Transformerの特徴
強み
- 並列処理が可能:GPUによる高速処理が可能。
- 長期依存性が強い:単語間の距離に依存しない。
- 高精度な生成能力:複数視点から学習(マルチヘッド)することで、複雑な関係も表現可能。
注意点
- Attentionは強力だが、計算コストは高い(O(n^2))。
用語補足
パラメータとは?
- 学習される重みやバイアス値など、モデル内部の可変要素。
- パラメータ数が多いほど表現力は高いが、過学習や計算コストが増加する。
まとめ
- Transformerは、Attentionを基盤とする構造で、従来のRNN/LSTMに代わる画期的なモデル。
- 「Attention is All You Need」論文は、その可能性を実証し、現在のChatGPT、GPT-4、BERTなどの原型となった。
- 計算資源の進化(GPU)とアルゴリズムの工夫が、生成AIの大規模化・高精度化を支えている。
参考文献・資料一覧
主要論文
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017).
Attention Is All You Need.
https://arxiv.org/abs/1706.03762
公式ブログ・記事
- Google AI Blog: The Transformer model
https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html
解説記事・図解
-
Jay Alammar, The Illustrated Transformer
http://jalammar.github.io/illustrated-transformer/ -
Qiita記事(複数)
https://qiita.com/tags/transformer -
Zenn記事(複数)
https://zenn.dev/topics/transformer
基礎用語の理解に役立つ資料
- 「深層学習」 岡谷貴之 著(技術評論社)
- 「自然言語処理の基礎」 日本ディープラーニング協会(JDLA)
ハードウェアと並列処理
- NVIDIA Developer Blog: GPUと深層学習の基礎
https://developer.nvidia.com/blog/