【深層学習】GNMT - Google翻訳の中身を解説!(2016)【ディープラーニングの世界 vol. 26】#103 #VRアカデミア #DeepLearning

2021/06/04 に公開
視聴回数 16,346
0
0
☆お知らせ☆
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 )