Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Ayumu
February 07, 2019

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

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

Ayumu

February 07, 2019
Tweet

More Decks by Ayumu

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 単語の数を見た単純な確率計算
    ⚫学習データ:
    1.私 は 読書 が 好き だ
    2.私 の 本 は 1900年代 に 書かれた
    3.1900年代 は 20世紀 だ
    ⚫ は < s > 私 =
    <>私は
    (<>私)
    = 1
    2
    = 0.5 それっぽい
    ⚫ 20世紀 < > 私の本は =
    <>私の本は20世紀
    (私の本は)
    = 0
    1
    = 0

    View Slide

  4. N-gramモデル
    ⚫2-gramモデルなら直前の1単語を使って学習
    ⚫学習データ:
    1.私 は 読書 が 好き だ
    2.私 の 本 は 1900年代 に 書かれた
    3.1900年代 は 20世紀 だ
    ⚫Nを増やしていけば増やすだけ精度が上がる!
    ⚫精度が上がるが計算量がすごい増える

    View Slide

  5. 対数線形モデル
    ⚫履歴のデータを参考にスコア計算、その後スコアの指数を取って正規化する
    ⚫スコアs
    −+1
    −1 = + σ=1
    −1 ,−
    (b:バイアス,d:学習データ
    ⚫正規化したモデル
    (
    |−+1
    −1 ) =
    |−+1
    −1
    σ
    |−+1
    −1
    ⚫尤度の勾配
    =


    |−+1
    −1 (
    :単語,w:パラメータ)
    ⚫重みの更新
    ≪ + ∗ (a:学習率= 1
    +
    ,w:パラメータ,n:サンプル数)

    View Slide

  6. Softmax関数
    ⚫スコアsをベクトルとして考える場合スコアsを確立pとする関数を
    softmax関数と言う

    −+1
    −1 =
    −+1
    −1

    View Slide

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

    1
    −2
    −1


    = ( + ෍
    =1
    −1


    )
    −1
    = {1,0,0,0,0, … }
    −2
    = {0,0,0,0,1, … }

    View Slide

  8. ニューラルネットへの導入
    ⚫ニューラルネットの概念 ⇒ 非線形関数を計算する隠れ層を追加
    tanh
    1
    2

    1
    −2
    −1


    = tanh( + ෍
    =1
    −1


    )

    = (ℎ

    )
    soft
    max


    View Slide

  9. 逆伝搬
    ⚫勾配を出力から逆順に伝搬する
    tanh
    1
    2

    1
    −2
    −1

    soft
    max



    View Slide

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

    1
    −2
    −1

    soft
    max




    View Slide