$30 off During Our Annual Pro Sale. View Details »

ニューラルネット3 誤差伝搬法,CNN,word2vec

Ayumu
February 28, 2019

 ニューラルネット3 誤差伝搬法,CNN,word2vec

2019/02/28
長岡技術科学大学 自然言語処理研究室
学部3年 守谷 歩

Ayumu

February 28, 2019
Tweet

More Decks by Ayumu

Other Decks in Technology

Transcript

  1. ニューラルネット
    2019/02/28
    長岡技術科学大学 自然言語処理研究室
    学部3年 守谷 歩
    誤差逆伝搬法,CNN,word2vec

    View Slide

  2. 誤差逆伝搬法
    ⚫逆伝搬は順方向とは逆向きに局所的な微分をする
    + **2






















    = 2(x+y)*1


    = 1




    = 1 ∗ 2 = 2(x+y)

    View Slide

  3. ReLUの逆伝搬
    ⚫ReLU関数はy = ቊ
    ( > 0)
    0 ( ≤ 0)
    より、その微分の形はy

    = ቊ
    1 ( > 0)
    0 ( ≤ 0)
    で表すことができる。
    relu






    relu




    0
    > 0 ≤ 0

    View Slide

  4. Sigmoidの逆伝搬
    ⚫Sigmoid関数はy = 1
    1+exp(−)
    より、その微分の形はy

    = y(1 − y)
    で表すことができる。
    sigmoid






    (1 − )

    View Slide

  5. Affineレイヤ
    ⚫重みWと入力X,バイアスBを行列として考え、その総和を計算する
    場合、行列の内積の計算を行う。これをアフィン変換といい、アフィ
    ン変換を行う処理を「Affineレイヤ」と呼ぶ
    dot +

    ∗ W








    =





    = ∗





    View Slide

  6. 各レイヤ実装

    View Slide

  7. 重みの更新
    ⚫SGD(確率的勾配降下法):現状の重みを勾配の方向へある一定の距
    離更新する。 ← − η

    ⚫Momentum:モーメンタムは運動量という意味であり、勾配方向への距
    離の更新に速度を追加する。 ← −

    ← +
    ⚫AdaGrad:パラメータの各要素に学習係数を調整しながら学習を行う(更
    新のステップを調整する) ℎ ← ℎ +

    ۨ

    ← − η 1



    ⚫Adam:MomentumとAdaGradの利点を組み合わせ、効率的にパラメータ
    空間を探索する

    View Slide

  8. CNN(畳み込みニューラルネット)
    ⚫Convolutionレイヤ、Poolingレイヤを全結合層に追加したネット
    ワーク。
    ⚫畳み込み層といった、入力データを受け取った次元Nと同じ次元N
    のデータとして出力する。この時の入出力のデータを特徴マップと
    呼ぶ。
    ⚫入力データの周囲に固定のデータを埋めることをパディングと呼
    ぶ。パディングを行うことで出力サイズを調整することができる。
    ⚫フィルターを適用する位置の間隔をストライドという。

    View Slide

  9. CNN(畳み込みニューラルネット)
    ⚫Poolingレイヤ:プーリングとは縦、横咆哮の空間を小さくする演算
    である。例として2*2のMAXプーリングを行うと2*2の行列で最大値
    を取る要素を取り出す。一般的に、プーリングのサイズとストライド
    は同じ値とする。プーリングによって、入力データのずれを吸収でき

    ⚫情報をスライドさせながら生成された情報が畳み込まれたレイヤ
    をConvolutionレイヤと呼ぶ
    Conv Affine
    Pooli
    ng
    ReLU ReLU Affine
    Softm
    ax

    View Slide

  10. 分散表現 カウントベース手法
    ⚫自然言語処理をするにあたってコーパスを用いる。コーパスを使う
    ために元のテキストデータを辞書型にし、単語のリストを単語IDのリ
    ストに変換する。
    ⚫単語の分散表現は、単語を固定長のベクトルで表現する。
    ⚫また、そのために、単語の意味は、周囲の単語によって形成され
    るといった分布仮説を用いる。

    View Slide

  11. 分散表現 コサイン類似度
    ⚫ex) You sey goodbye, and I say hello→7*7の単語の頻度のテーブ
    ルができる。
    ⚫このテーブルを共起行列とし、各単語のベクトルが求まる、
    ⚫単語ベクトル表現の類似度を計算する場合、2つのベクトルのコサ
    イン類似度を見る。
    Similarity x, y =
    x ∗ y
    | |

    View Slide

  12. 分散表現 相互情報量PMI
    ⚫単語の頻度では、意味的に近い要素の関連性が少なくなる。
    ⚫Xが起こる確率とyが起こる確率を使い相互情報量といった指標を
    使う
    P x, y = log2
    P x, y
    ()

    View Slide

  13. Word2vec 推論ベース
    ⚫推論ベースは、周囲の単語が与えられたときに、その間にどのよ
    うな単語が出現するかを推測する手法
    ⚫Ex)you ? Goodbye, and I say hello
    ⚫One-Hotベクトルでベクトルを生成、CBOWモデルを用いる。
    ⚫CBOWモデルはコンテキストからターゲット推論を行うニューラル
    ネット
    ⚫またほかにもSkip-gramモデルといったターゲットからコンテキスト
    推論を行うニューラルネットも使用することができる。

    View Slide

  14. CBOWモデル
    ⚫CBOWモデルの入力はコンテキストで表される。入
    力層がコンテキストの数あり、中間層を経て出力層
    へたどり着く。出力層のニューロンは各単語のスコ
    アであり、値が高いと対応する単語の出現確率も
    高くなる。
    ⚫スコアにSoftmax関数を適用すると確率が得られ
    る。
    ⚫CBOWモデルの損失関数
    = −(
    |−1
    , +1
    )

    View Slide

  15. Skip-gram
    ⚫Skip-gramモデルはCBOWと逆で、ターゲットか
    らコンテキストを予測するモデルである。
    ⚫Ex)you ? Goodbye ? I say hello
    ⚫それぞれの出力層で、個別に損失を求め、そ
    れらを足し合わせら物を最終的な損失とする。
    ⚫Skip-gramモデルの損失関数
    =
    1


    =1

    ( −1

    + (+1
    |
    )

    View Slide