機械と学習する

統計解析、機械学習について学習したことをまとめていきます

【輪読会メモ】深層学習による自然言語処理#2

【概要】

  • 「深層学習による自然言語処理」の輪読会をしています
  • 輪読会第2回目は3章の「言語処理における深層学習の基礎」

【目次】


はじめに

講談社MLPシリーズの「深層学習による自然言語処理」の輪読会をしています。 輪読会の範囲で気になったことや資料のリンクなどをまとめていきます。

輪読会のリンクはこちらです。

learn-stats-ml.connpass.com

輪読会を定期開催しているので、気になった方はグループメンバーになってもらえるとうれしいです。 また、Slackのwork groupを用意しているので、参加したい方は何かの方法で私に連絡ください。

【トップに戻る】

輪読会記録

資料リンク

勉強会で利用した資料のリンクを貼ります。発表担当は私でした。 なお、輪読会中に書き込んだメモなどがそのまま残っているので、一部見づらい箇所があるかもしれません。。。

speakerdeck.com

第3章の概要

第3章では、言語モデルとはどんなものか?深層学習における言語モデル(ニューラル言語モデル)にはどんな種類があるのか?について主に書かれていました。

言語モデル」とは、文が生成される確率のモデルということで、その定式化は系列データの確率モデルと同じです(下式、テキストp49, 式3.5)。

f:id:hippy-hikky:20220315235726p:plain

この確率計算をニューラルネットでやるというのが「ニューラル言語モデル」と書かれていました。 確率は語彙集合に含まれる各単語の確率、つまり離散分布なので、多クラスロジスティック回帰と捉えるとわかりやすいのかなと思いました。

こう捉えると、順伝播NNもRNNも結局は行列とベクトルの演算が連なったもの(2章)なので、なじみが出てきますね。

順伝播NN言語モデル(FFNNLM)は順番を意識するのか?

これは、輪読会中に出てきた議論の一つです。 FFNNLMでは、入力ベクトルを単純にconcatしてNNに入れていると理解していますが、このように固めたベクトルを入れて、「単語」の「順番」が学習に影響するのか?という議論だったと記憶しています。

私の理解では、「順番」については順番に意味があれば(直近の単語に強く影響するなど)、それを汲んでパラメータ行列が学習されるので「順番」は意識されるだろうと理解しています。 ただ、入力ベクトルをconcatしているので、それぞれの「単語」という区切りが明らかでない状態になっているので、文脈が活用されるのか不思議な感じをもっています。

NNは、人間による解釈を意識しないので、何かうまいこと学習してくれるのかもしれませんが、不思議というかほんのりと気持ち悪さを感じているところです。。。

系列変換モデルはRNN言語モデルの初期値問題

3.4節ではSeq2Seqが扱われていましたが、「RNN言語モデルの初期状態をエンコーダーの隠れ状態とする」というだけのモデルだと書かれていました。 個人的にseq2seqは論文読んでもいまいち理解ができてない感じがしていたのですが、この表現はすごくわかりやすいと思います。

そうすると、単純な系列変換モデルでは、エンコーダの最初の方の入力情報が複合化器に伝播してくるまでにだいぶ情報が損失してしまっているだろうなと想像できます。LSTMなど長期の記憶を意識したユニットでは、途中で情報がリセットされてしまうこともあるのでなおさらではないかなと。 ここから、4章のAttention機構につながっていくという自然な流れができると理解できますね。

やはり基礎を学習するのは重要ですね。

【トップに戻る】

おわりに

ということで、輪読会第2回目の記録でした。

個人的には、系列変換モデルの気持ちが理解できた気がしてよかったです。 あと、発表資料のp.6の図がよくできたと思うので是非見て欲しいです。

【トップに戻る】

参考文献

  1. 坪井+, 機械学習プロフェッショナルシリーズ 深層学習による自然言語処理, 講談社, 2017

【トップに戻る】