Transformer
https://scrapbox.io/files/658920aa70317200252f79c6.png
https://www.youtube.com/watch?v=KlZ-QmPteqM
2017年に発表された"Attention Is All You Need"という自然言語処理に関する論文の中で初めて登場した深層学習モデル。 それまでCNN、RNNのリカレント層や畳み込み層を使うのが常識だった。
それを、Attention層だけを使うようにしたらなんか精度がめっちゃ良くなったよ!という画期的なアプローチ 元々、RNNの補助的機能であったAttentionという機能(文章全体の中で、今の話題としてはどこに注目すべきかを考える機能)に着目し、むしろRNNを使わずにAttentionだけで成り立たせる方向に舵を切ったことで、劇的に性能が向上した。
Transformerを搭載した、GPT以外のモデル
BERT
は、2018年10月11日にGoogleによってリリースされた自然言語処理モデル。
英語版のGoogleの検索エンジンには、BERTが取り入れられている。
PaLM
Googleの研究者チームによって2022年4月に発表された言語モデル。
BERTより多くのパラメータを持っている
Whisper
詳細
https://scrapbox.io/files/657d522e71f6630024f5af9b.png
エンコーダー/デコーダーモデル
エンコーダーの役割
Transformerに入力されたデータを機械が処理できる形式に変換すること
例: 英語 -> 日本語のための学習
英語 -> 数値のベクトルに変換される。
デコーダーの役割
エンコーダによって変換されたデータを受け取り、処理内容に応じて別の形式へ変換すること。
例: 英語 -> 日本語のための学習
数値のベクトルに変換された英語の文章を、日本語の文章へと変換する
従来の深層学習モデルには、エンコーダやデコーダにRNNと呼ばれる仕組みが採用されていた。
しかし、RNNには情報を逐次処理するため速度が遅いことや、長い文章が入力されると精度が下がるといった欠点があった。一方、TransformerはRNNを使うことなくエンコーダやデコーダの仕組みを構築しているため、高速かつ高精度な学習が可能。
Positional Encoding
単語の位置関係を絶対/相対的な観点でモデルに認識してもらうための処理
Multi-Head Attention層
「Attention」とはモデルが学習を行う際に、入力されたデータのどの単語に注目するかを決めるための仕組み 「Multi-Head Attention」とは、Attentionの発展系で、同時に複数の箇所に注目できる。
「Masked Multi-Head Attention」は、情報の一部をマスクした状態で機能する点が特徴。
具体的には、Transformerが自身で出力した情報を隠した状態でデータを処理する。
なぜマスクするか?
Transformerが出力した情報を自己参照しながら学習を行ってしまうと、学習モデルが不正確になるリスクがあるから。
自己参照による学習を防ぎ、学習モデルの精度を高めるため。
まとめ
Transdormerは、エンコーダーで入力された重み付け単語ベクトルに対して、デコーダーでは特定の単語が隠された状態でそれより前の文章の重み付けベクトルが入力され、これらの情報から隠された単語には何が入りそうか確率値を出力させる。
参考資料
解説動画がわかりやすく紹介されている
大変わかりやすいQiita記事
わかりやすいスライド資料