長岡技術科学大学 自然言語処理研究室 守谷歩
言語モデル2019/02/07長岡技術科学大学 自然言語処理研究室学部3年 守谷 歩対数線形言語モデル、ニューラルネット,RNN
View Slide
機械翻訳とか⚫機械翻訳などでは翻訳したい文に対して単語の確率を見て、一番合っていそうなものを翻訳後の文として出力する。⚫単語の確率はほんとに正しいのか?
単語の数を見た単純な確率計算⚫学習データ:1.私 は 読書 が 好き だ 2.私 の 本 は 1900年代 に 書かれた 3.1900年代 は 20世紀 だ ⚫ は < s > 私 = <>私は(<>私)= 12= 0.5 それっぽい⚫ 20世紀 < > 私の本は = <>私の本は20世紀(私の本は)= 01= 0
N-gramモデル⚫2-gramモデルなら直前の1単語を使って学習⚫学習データ:1.私 は 読書 が 好き だ 2.私 の 本 は 1900年代 に 書かれた 3.1900年代 は 20世紀 だ ⚫Nを増やしていけば増やすだけ精度が上がる!⚫精度が上がるが計算量がすごい増える
対数線形モデル⚫履歴のデータを参考にスコア計算、その後スコアの指数を取って正規化する⚫スコアs −+1−1 = + σ=1−1 ,−(b:バイアス,d:学習データ⚫正規化したモデル(|−+1−1 ) = |−+1−1σ |−+1−1⚫尤度の勾配 = |−+1−1 (:単語,w:パラメータ)⚫重みの更新 ≪ + ∗ (a:学習率= 1+,w:パラメータ,n:サンプル数)
Softmax関数⚫スコアsをベクトルとして考える場合スコアsを確立pとする関数をsoftmax関数と言う −+1−1 = −+1−1
ニューラルネットへの導入⚫対数線形モデルって結局どんな感じ?Softmax121−2−1= ( + =1−1−)−1= {1,0,0,0,0, … }−2= {0,0,0,0,1, … }
ニューラルネットへの導入⚫ニューラルネットの概念 ⇒ 非線形関数を計算する隠れ層を追加tanh121−2−1ℎ= tanh( + =1−1−)= (ℎℎ)softmaxℎℎ
逆伝搬⚫勾配を出力から逆順に伝搬するtanh121−2−1softmaxℎℎℎ
リカレントニューラルネット(RNN)⚫ノードの一部の出力を入力として戻すtanh121−2−1softmaxℎℎ