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

7f4b04d4f609255390ad84a1b6bceac2?s=47 Ayumu
February 28, 2019

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

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

7f4b04d4f609255390ad84a1b6bceac2?s=128

Ayumu

February 28, 2019
Tweet

Transcript

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

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

    ∗ 2 = 2(x+y)
  3. ReLUの逆伝搬 ⚫ReLU関数はy = ቊ ( > 0) 0 ( ≤

    0) より、その微分の形はy = ቊ 1 ( > 0) 0 ( ≤ 0) で表すことができる。 relu relu 0 > 0 ≤ 0
  4. Sigmoidの逆伝搬 ⚫Sigmoid関数はy = 1 1+exp(−) より、その微分の形はy = y(1 − y)

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

    = ∗
  6. 各レイヤ実装

  7. 重みの更新 ⚫SGD(確率的勾配降下法):現状の重みを勾配の方向へある一定の距 離更新する。 ← − η ⚫Momentum:モーメンタムは運動量という意味であり、勾配方向への距 離の更新に速度を追加する。 ← −

    ← + ⚫AdaGrad:パラメータの各要素に学習係数を調整しながら学習を行う(更 新のステップを調整する) ℎ ← ℎ + ۨ ← − η 1 ℎ ⚫Adam:MomentumとAdaGradの利点を組み合わせ、効率的にパラメータ 空間を探索する
  8. CNN(畳み込みニューラルネット) ⚫Convolutionレイヤ、Poolingレイヤを全結合層に追加したネット ワーク。 ⚫畳み込み層といった、入力データを受け取った次元Nと同じ次元N のデータとして出力する。この時の入出力のデータを特徴マップと 呼ぶ。 ⚫入力データの周囲に固定のデータを埋めることをパディングと呼 ぶ。パディングを行うことで出力サイズを調整することができる。 ⚫フィルターを適用する位置の間隔をストライドという。

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

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

  11. 分散表現 コサイン類似度 ⚫ex) You sey goodbye, and I say hello→7*7の単語の頻度のテーブ

    ルができる。 ⚫このテーブルを共起行列とし、各単語のベクトルが求まる、 ⚫単語ベクトル表現の類似度を計算する場合、2つのベクトルのコサ イン類似度を見る。 Similarity x, y = x ∗ y | |
  12. 分散表現 相互情報量PMI ⚫単語の頻度では、意味的に近い要素の関連性が少なくなる。 ⚫Xが起こる確率とyが起こる確率を使い相互情報量といった指標を 使う P x, y = log2

    P x, y ()
  13. Word2vec 推論ベース ⚫推論ベースは、周囲の単語が与えられたときに、その間にどのよ うな単語が出現するかを推測する手法 ⚫Ex)you ? Goodbye, and I say

    hello ⚫One-Hotベクトルでベクトルを生成、CBOWモデルを用いる。 ⚫CBOWモデルはコンテキストからターゲット推論を行うニューラル ネット ⚫またほかにもSkip-gramモデルといったターゲットからコンテキスト 推論を行うニューラルネットも使用することができる。
  14. CBOWモデル ⚫CBOWモデルの入力はコンテキストで表される。入 力層がコンテキストの数あり、中間層を経て出力層 へたどり着く。出力層のニューロンは各単語のスコ アであり、値が高いと対応する単語の出現確率も 高くなる。 ⚫スコアにSoftmax関数を適用すると確率が得られ る。 ⚫CBOWモデルの損失関数 =

    −( |−1 , +1 )
  15. Skip-gram ⚫Skip-gramモデルはCBOWと逆で、ターゲットか らコンテキストを予測するモデルである。 ⚫Ex)you ? Goodbye ? I say hello

    ⚫それぞれの出力層で、個別に損失を求め、そ れらを足し合わせら物を最終的な損失とする。 ⚫Skip-gramモデルの損失関数 = 1 ෍ =1 ( −1 + (+1 | )