深層学習day4 Section5:Transformer
要点まとめ
言語モデルとは
単語の並びに対して尤度で評価する。 時刻までの情報で時刻の事後確率を求めることが目標。
例えば、"I have a" に続く単語で尤もらしい単語 を下記のように表す。
事後確率を求められれば、先頭単語を与えれば文章を生成することも可能になる。
Attention
Seq2Seq ではどのような長さの文章でも固定長のベクトルで表現するので、文章が長くなるほど精度が悪くなるという問題があった。
Attention(注意機構)では、翻訳先の単語を選択する際に、翻訳元の文中の各単語の隠れ状態を利用して、翻訳先のどの単語に注意が向いているかを表現できる。
Attention機構は * Query * Key * Value という3つで構成されている。
Transformer
2017年6月に登場した、RNNを用いずにAttentionを利用したモデル。 文長が長くなっても翻訳精度が落ちないという結果。 従来のAttention機構は Source Target Attentionと呼ばれ、Query がTargetで、Key, Value がSouurceだったのの対し、Self Attentionは全てSourceを用いている。
文章全体からの畳み込みを行うので、文全体を入力としたCNNのようなイメージ。
scaled dot product attention
全単語についてのAttentionの計算は下記のように計算
Multi-Head attention
Scaled dot-product attention出力をconcatして、それぞれのヘッドが異なる情報を出力。
Add & Norm
Add は 入出力の差分を学習させる。 学習やテストエラーの低減
Normは平均0、分散1に正則化することで学習を高速化させる。
Position Encoding
RNNを用いずに単語列の語順情報を追加する手法。
実装演習
lecture_chap1_exercise_publicを実施.
lecture_chap2_exercise_publicを実施.
確認テスト等考察
確認テストがないので全体の考察。 単語同士の注意機構 Attention を用いて翻訳を可能にした、RNNを用いない翻訳モデル。
RNNを用いないため、位置情報をPosition Encodingという形でsin,cosを用いて表現される。
追加演習
下記の資料を用いて、BLEUの具体的な計算方法を学習。
https://www2.nict.go.jp/astrec-att/member/mutiyama/corpmt/4.pdf