☆お知らせ☆
AIcia Solid Project 公式HPが出来ました!!!
https://sites.google.com/view/aicia-official/top
HPでは私たちや動画コンテンツの紹介、板書データの公開などをしています。是非ご活用ください!!
▼テーマ
Google翻訳の中身を解説します!
これは2016年時点でのモデルなので、現在はもうちょっと進んだモデルが利用されています。
2021年5月時点では、一部 Transformer も利用されています。その話題にもちょっと触れています!
▼関連動画
Deep Learning の世界
https://www.youtube.com/playlist?list=PLhDAH9aTfnxKXf__soUoAEOrbLAOnVHCP
自然言語処理シリーズ
https://www.youtube.com/playlist?list=PLhDAH9aTfnxL4XdCRjUCC0_flR00A6tJR
Attention の動画 →
https://www.youtube.com/watch?v=bPdyuIebXWM&t=1s
RNN の動画(ここから3本) →
https://www.youtube.com/watch?v=NJdrYvYgaPM&list=PLhDAH9aTfnxKXf__soUoAEOrbLAOnVHCP&index=8
LSTM の動画 →
https://www.youtube.com/watch?v=oxygME2UBFc
▼目次
00:00 OP
=== 1. 時代背景 ===
00:44 論文紹介と時代背景
02:10 当時の問題点
=== 2. モデル ===
04:33 モデルの全体像を掴もう
10:02 Encoder部分の仕組みと工夫
11:47 Decoder部分の仕組みと工夫
13:14 Attention部分の仕組みと工夫
19:01 Decoder部分の更なる工夫に迫る
19:30 BEAM search とは何か?
22:26 工夫①:length normalization
25:05 工夫②:coverage penalty
29:39 Decoder部分の工夫まとめ!
=== 3.いろんな工夫 ===
31:06 やっぱりGoogleは凄かった。
31:28 ①高速化の工夫
34:30 ②レア単語への対応
37:18 ③学習の工夫
39:50 ④モデルの評価
41:22 本日の振り返りタイム
42:21 ED
▼参考文献
[1609.08144] Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
https://arxiv.org/abs/1609.08144
原論文! Production レベルの深層学習がどういうものかがひしひしを伝わってきます。
というか、ここまで細部書けるのは Google 内部にあるデータのおかげなんでしょうね。すごい
[1508.07909] Neural Machine Translation of Rare Words with Subword Units
https://arxiv.org/abs/1508.07909
サブワード分割についてはこちらの論文に詳しいです!
Google AI Blog: Recent Advances in Google Translate
https://ai.googleblog.com/2020/06/recent-advances-in-google-translate.html
最近(2021年5月時点)での update はこちら!
【2019年版】自然言語処理の代表的なモデル・アルゴリズム時系列まとめ - Qiita
https://qiita.com/LeftLetter/items/14b8f10b0ee98aa181b7
いろいろこれを参考にして動画を作っています
▼原論文との記号の対応
説明の都合上、LSTM cell の入出力で、現論文とは結構記号を変えています。(そして変え方を1箇所ミスしました)
ここに対応表を載せておきます。
[原論文]
Encoder の i 層目の LSTM セルの t 番目の出力の計算:
c^i_t, m^i_t = LSTM_i(c^i_{t-1}, m^i_{t-1}, x^{i-1}_t; W^i)
c: context vector
m: output vector
x: input vector
W: parameter
[動画]
Decoder の j 層目の LSTM セルの i 番目の出力の計算:
m^{(j)}_i, y^{(j)}_i = LSTM(m^{(j)}_{i-1}, y^{(j)}_{i-1}, y^{(j-1)}_i, a_i)
m: context vector (現論文の c に対応(ここが分かりづらい!))
y: output vector
a: attention vector
[補足]
・現論文内の数式は Encoder で、動画内の数式は Decoder です。
→そのため、現論文には書いていない attention vector が動画内にはあります。
・動画ではパラメーターは省略しました
・現論文の Attention の入力に用いられている記号が y だったので、それに合わせるため、動画内の output vector の表記を y に変更しました
・その際、現論文の c を半ば誤って動画では m と表記してしまいました(ここが分かりづらい!)
[LSTM動画] (
https://www.youtube.com/watch?v=oxygME2UBFc )
y^{(t)}, h^{(t)}, c^{(t)} = LSTM(x^{(t-1)}, h^{(t-1)})
y: output vector
h: hidden vector
c: context vector
x: input vector
▼終わりに
ご視聴ありがとうございました!
面白かったら高評価、チャンネル登録お願いします。
動画の質問、感想などは、コメント欄やTwitterにどうぞ!
お仕事、コラボのご依頼は、TwitterのDMからお願い致します。
動画生成:AIcia Solid (Twitter:
https://twitter.com/AIcia_Solid/ )
動画編集:AIris Solid (妹) (Twitter:
https://twitter.com/AIris_Solid/ )
=======
Logo: TEICAさん (
https://twitter.com/T_E_I_C_A )
Model:
http://3d.nicovideo.jp/works/td44519
Model by: W01fa さん (
https://twitter.com/W01fa )