2019/02/28 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩
ニューラルネット2019/02/28長岡技術科学大学 自然言語処理研究室学部3年 守谷 歩誤差逆伝搬法,CNN,word2vec
View Slide
誤差逆伝搬法⚫逆伝搬は順方向とは逆向きに局所的な微分をする+ **2= 2(x+y)*1= 1= 1 ∗ 2 = 2(x+y)
ReLUの逆伝搬⚫ReLU関数はy = ቊ ( > 0)0 ( ≤ 0)より、その微分の形はy= ቊ1 ( > 0)0 ( ≤ 0)で表すことができる。relurelu0 > 0 ≤ 0
Sigmoidの逆伝搬⚫Sigmoid関数はy = 11+exp(−)より、その微分の形はy= y(1 − y)で表すことができる。sigmoid(1 − )
Affineレイヤ⚫重みWと入力X,バイアスBを行列として考え、その総和を計算する場合、行列の内積の計算を行う。これをアフィン変換といい、アフィン変換を行う処理を「Affineレイヤ」と呼ぶdot + ∗ W=∗ = ∗
各レイヤ実装
重みの更新⚫SGD(確率的勾配降下法):現状の重みを勾配の方向へある一定の距離更新する。 ← − η ⚫Momentum:モーメンタムは運動量という意味であり、勾配方向への距離の更新に速度を追加する。 ← − ← + ⚫AdaGrad:パラメータの各要素に学習係数を調整しながら学習を行う(更新のステップを調整する) ℎ ← ℎ + ۨ ← − η 1ℎ⚫Adam:MomentumとAdaGradの利点を組み合わせ、効率的にパラメータ空間を探索する
CNN(畳み込みニューラルネット)⚫Convolutionレイヤ、Poolingレイヤを全結合層に追加したネットワーク。⚫畳み込み層といった、入力データを受け取った次元Nと同じ次元Nのデータとして出力する。この時の入出力のデータを特徴マップと呼ぶ。⚫入力データの周囲に固定のデータを埋めることをパディングと呼ぶ。パディングを行うことで出力サイズを調整することができる。⚫フィルターを適用する位置の間隔をストライドという。
CNN(畳み込みニューラルネット)⚫Poolingレイヤ:プーリングとは縦、横咆哮の空間を小さくする演算である。例として2*2のMAXプーリングを行うと2*2の行列で最大値を取る要素を取り出す。一般的に、プーリングのサイズとストライドは同じ値とする。プーリングによって、入力データのずれを吸収できる⚫情報をスライドさせながら生成された情報が畳み込まれたレイヤをConvolutionレイヤと呼ぶConv AffinePoolingReLU ReLU AffineSoftmax
分散表現 カウントベース手法⚫自然言語処理をするにあたってコーパスを用いる。コーパスを使うために元のテキストデータを辞書型にし、単語のリストを単語IDのリストに変換する。⚫単語の分散表現は、単語を固定長のベクトルで表現する。⚫また、そのために、単語の意味は、周囲の単語によって形成されるといった分布仮説を用いる。
分散表現 コサイン類似度⚫ex) You sey goodbye, and I say hello→7*7の単語の頻度のテーブルができる。⚫このテーブルを共起行列とし、各単語のベクトルが求まる、⚫単語ベクトル表現の類似度を計算する場合、2つのベクトルのコサイン類似度を見る。Similarity x, y =x ∗ y | |
分散表現 相互情報量PMI⚫単語の頻度では、意味的に近い要素の関連性が少なくなる。⚫Xが起こる確率とyが起こる確率を使い相互情報量といった指標を使うP x, y = log2P x, y ()
Word2vec 推論ベース⚫推論ベースは、周囲の単語が与えられたときに、その間にどのような単語が出現するかを推測する手法⚫Ex)you ? Goodbye, and I say hello⚫One-Hotベクトルでベクトルを生成、CBOWモデルを用いる。⚫CBOWモデルはコンテキストからターゲット推論を行うニューラルネット⚫またほかにもSkip-gramモデルといったターゲットからコンテキスト推論を行うニューラルネットも使用することができる。
CBOWモデル⚫CBOWモデルの入力はコンテキストで表される。入力層がコンテキストの数あり、中間層を経て出力層へたどり着く。出力層のニューロンは各単語のスコアであり、値が高いと対応する単語の出現確率も高くなる。⚫スコアにSoftmax関数を適用すると確率が得られる。⚫CBOWモデルの損失関数 = −(|−1, +1)
Skip-gram⚫Skip-gramモデルはCBOWと逆で、ターゲットからコンテキストを予測するモデルである。⚫Ex)you ? Goodbye ? I say hello⚫それぞれの出力層で、個別に損失を求め、それらを足し合わせら物を最終的な損失とする。⚫Skip-gramモデルの損失関数 =1=1( −1+ (+1|)