概要
Tranformerは機械翻訳を目的としたモデルがあったが、非常に汎用性のあるモデルであるため現在では画僧認識や様々な用途で使用されている
構造自体はEncoder-Decoderである
TranformerはAttention、Residual Connection、Layer Normalizationなどの技術が使用されている
この章では以下の項目を学んだ
・モデル構造
・Add&Layer Normalization
・Feed Forward Network
・Position Encoding
・Scaled Dot-Product Attention
・Multi-Head Attention
・ハンズオン
モデル構造
RNNを使用せずAttentionのみで使用するモデルであり、光速に学習&推論ができる
Attentionについては、この記事を参照(https://maruring.hatenablog.com/entry/2021/07/17/171620)
以下のような構造をしている
Add&Layer Normalization
Add(Residual Connection)とNorm(Layer Normalization)の組み合わせである
Add(Residual Connection)
・入出力の差分を学習させる
・実装上は出力に入力をそのまま加算するだけ
・効果:学習・テストエラーの低減
Norm(Layer Normalization)
・各層においてバイアスを除く活性化関数への入力を平均0、分散1に正則化
・効果:学習の高速化
Feed Forward Network
位置情報を保持したまま順伝播させる役割をしており以下のような数学的記述ができる
Position Encoding
RNNを用いないので単語列の語順情報を追加する必要がある
sinやcosを使用して単語の位置情報をエンコードしている
Scaled Dot-Product Attention
Multi-Head AttentionはScaled Dot-Product Attentionが前提としてある
Scaled Dot-Product Attentionは以下のような数学的記述ができる
つまり、クエリーとキーの類似度を計算してそれに応じたValueを足す
Multi-Head Attention
数学的記述は以下のようにScaled Dot-Product Attentionを前提としてしている
ハンズオン
線形回帰
noiceが大きい時ほどデータが散らばり、上手く予測できていないことがわかる
非線形回帰
dの次元数を上げるほど上手く予測できていないことがわかる
学習率を下げるかepoch数を増やすことで精度が上がる
単純パーセプトロンの学習
誤分類をおこしていることがわかる
分類 (iris)
reluとSDG(lr=0.1)の組み合わせが最も精度がよい
分類 (mnist)
学習率を下げることで学習が収束していることがわかる。epoch数を上げると精度がもう少し上がると思われる
RNN
最も精度が高いのはoptimizerをadamにした場合であった。drop_out, recurrent_dropがある場合にには、精度が下がった。
reluとadamの組み合わせが最も精度が良くなるのではないかと考えられる