対数線形モデル、ニューラルネット、RNN

7f4b04d4f609255390ad84a1b6bceac2?s=47 Ayumu
February 07, 2019

 対数線形モデル、ニューラルネット、RNN

長岡技術科学大学
自然言語処理研究室 守谷歩

7f4b04d4f609255390ad84a1b6bceac2?s=128

Ayumu

February 07, 2019
Tweet

Transcript

  1. 言語モデル 2019/02/07 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩 対数線形言語モデル、ニューラルネット,RNN

  2. 機械翻訳とか ⚫機械翻訳などでは翻訳したい文に対して単語の確率を見て、一番 合っていそうなものを翻訳後の文として出力する。 ⚫単語の確率はほんとに正しいのか?

  3. 単語の数を見た単純な確率計算 ⚫学習データ: 1.私 は 読書 が 好き だ </s> 2.私

    の 本 は 1900年代 に 書かれた </s> 3.1900年代 は 20世紀 だ </s> ⚫ は < s > 私 = <>私は (<>私) = 1 2 = 0.5 それっぽい ⚫ 20世紀 < > 私の本は = <>私の本は20世紀 (私の本は) = 0 1 = 0
  4. N-gramモデル ⚫2-gramモデルなら直前の1単語を使って学習 ⚫学習データ: 1.私 は 読書 が 好き だ </s>

    2.私 の 本 は 1900年代 に 書かれた </s> 3.1900年代 は 20世紀 だ </s> ⚫Nを増やしていけば増やすだけ精度が上がる! ⚫精度が上がるが計算量がすごい増える
  5. 対数線形モデル ⚫履歴のデータを参考にスコア計算、その後スコアの指数を取って正規化する ⚫スコアs −+1 −1 = + σ=1 −1 ,−

    (b:バイアス,d:学習データ ⚫正規化したモデル ( |−+1 −1 ) = |−+1 −1 σ |−+1 −1 ⚫尤度の勾配 = |−+1 −1 ( :単語,w:パラメータ) ⚫重みの更新 ≪ + ∗ (a:学習率= 1 + ,w:パラメータ,n:サンプル数)
  6. Softmax関数 ⚫スコアsをベクトルとして考える場合スコアsを確立pとする関数を softmax関数と言う −+1 −1 = −+1 −1

  7. ニューラルネットへの導入 ⚫対数線形モデルって結局どんな感じ? Soft max 1 2 1 −2 −1 =

    ( + ෍ =1 −1 − ) −1 = {1,0,0,0,0, … } −2 = {0,0,0,0,1, … }
  8. ニューラルネットへの導入 ⚫ニューラルネットの概念 ⇒ 非線形関数を計算する隠れ層を追加 tanh 1 2 1 −2 −1

    ℎ = tanh( + ෍ =1 −1 − ) = (ℎ ℎ ) soft max ℎ ℎ
  9. 逆伝搬 ⚫勾配を出力から逆順に伝搬する tanh 1 2 1 −2 −1 soft max

    ℎ ℎ ℎ
  10. リカレントニューラルネット(RNN) ⚫ノードの一部の出力を入力として戻す tanh 1 2 1 −2 −1 soft max

    ℎ ℎ