Week4
深層学習による自然言語処理とその応用事例
- RNN
- CNN が画像でよく使われるのと好対照
- 実際に応用で使われるのは改良版の方、主に LSTM RNN
- $a_t = W_r h_{t-1} + W_i x_t + b$, $h_t = g(a_t)$
- RNN の強み: 可変長のデータ、系列情報の処理
- RNN の言語モデル全体像
- 出力 token
- 出力層
- RNN 中間層
- 入力ベクトル (embedding)
- token ID
- 単語 (token)
- RNN 発展形
- Long Short-Term Memory (LSTM)
- 分散表現
- 最後のタイムステップの RNN 中間層の値には、系列全体の情報が反映されてい
- 分散表現の応用イメージ
- 分類
- 感情分析器、ジャンル分析器、不快投稿判定器 etc.
- 生成・翻訳 (Encoder-decoder)
- Neural Machine Translation
- マッチング
- Deep Structured Semantic Model (DSSM)
- 分類
- 事前学習の重要性
- 深層学習で十分な性能を得るには、数百万〜数千万パラメータ、あるいはそれ以上の大規模なモデルが必要
- 最終的なタスクを遂行するためには人手でラベルを付けたデータが必要になることが多く、その量は通常数千〜数万程度に限られる
- 大量のラベル無しのデータで「日本語を読める大規模モデル」を育てておき、その性能を最終的なタスクに転用、少量のラベル付きデータで仕上げることで解決可能
- Transformer
- Self-Attention
- Transformer + 事前学習
- Transformer を用いる場合も、往々にして事前学習が効果的
- Transformer の大規模モデルの例
- 1 層のサイズ: 1024
- 24 層
- モデルのパラメータ数: 3 億 4 千万
- これだけの規模のモデルを学習させるにあたっては、まず大量のラベル無しデータでその言語を理解できるようにしておくことが必要
- masked language model という「文の一部を隠しておき、その部分を予測させる」アプローチが有効
- BERT
まとめ
- 深層学習ベースで文の分類・翻訳・マッチングなどを行う際には、LSTM RNN ベースのアプローチが効果的であり、事実上の標準となっている
- 但し、人が正解を作らないといけないタスクに大規模モデルを適用する際は大量のラベルなしテキストを用いた事前学習が必須
- 実開発を行う上では LSTM RNN がこの方向性における主役だが、一方で Transformer に取ってかわられていく過渡期が始まっている