リカレントニューラルネットなぜ強い?

午前中は言語学習支援・機械翻訳の進捗報告。それぞれ新しい研究で各自色々自分で進めているので、話を聞くのは楽しいのだが、年内に実験結果が出るのか? という不安がそこはかとなくある。本当は、こんな締め切りに追われるような感じではなく、ゆっくりできるといいと思うのだが、締め切りに追われている方が進むという不思議(いや、あまり不思議ではないか)。

お昼は論文紹介。

  • Tang et al. Document Modeling with Gated Recurrent Neural Network for Sentiment Classification. EMNLP 2015.

を紹介してもらう。感情極性分析では、頑張って素性エンジニアリングした SVM と、適当に作った畳み込みニューラルネットワークが同じくらいの性能になるらしいのだが、リカレントニューラルネットワーク(普通の RNN から、LSTM、そして LSTM の特殊系である GRNN まで)を使うとそれを超えられますよ、という話。

深層ニューラルネットワークや表現学習を何かのタスクに適用しました、というのはそろそろお腹いっぱいの人も多いかと思うのだが、武器が揃ってきたので、感情極性分析にはそもそも何が分かればいいのか? ということをもう一度考えたい。

もともと、この分野で state-of-the-art の一つとされていたのは、tetsu-na さんの「隠れ変数を持つ条件付き確率場による依存構造木の極性分析」で、極性(ポジティブ、ネガティブ)は部分木につき、文(=構文木)の極性はそれらから計算されるという直観と、部分木には極性が付与されていない、という現実をうまくつないだ、非常に優れた研究であった。その後、Socher らが  recursive neural network を用いて再帰的に部分木の極性を計算したり、フレーズ(部分木)に極性が付与された Stanford Sentiment Treebank を用いて学習したりしたが、基本的には tetsu-na さんの研究で、この辺りの一連の研究は包含されているように思う。

これらの研究、構文木(単に系列を二分木に変換しただけのものもあるが)を使って極性分析をする、というのは、ある意味きれいで、いい話だなーと思うのだが、これと逆向きの話、つまり、構文情報など使わず、ほぼ単語の情報のみで分類するニューラルネットワークの手法でも高い精度が出せる、いうのはどういうことだろうか?

リカレントニューラルネットワーク(LSTM 等含む)は、長距離の依存関係を捉えることができるので、これがうまくいく、というのは、恐らく覚えておかないといけないのは木構造そのそのではなく、極性の反転に必要な情報だけであり、ポジティブをネガティブに反転させる、あるいはその逆、またはネガティブ・ポジティブをニュートラルにする、といった意味の計算をするには、こんな単語が出た、ということくらいなのかということかもしれない(言語によって、反転の演算子がターゲットの右に出るか左に出るかは違うので、双方向のリカレントニューラルネットワークがよい、といったマイナーチェンジはありうる)。

一方、畳み込みニューラルネットワークのような局所的な情報を畳み込むことでも高い精度が出せる、というのは、そもそも極性の反転のために記憶しておくべきことは、遠く離れたところに出てくるわけではなく、決められた適当なウィンドウ幅の中だけ見れば(そこだけ記憶しておけば)よく、しかもせいぜい2つの単語の組み合わせを見るくらいでも極性操作は可能であり、あとはそれをあちこち複数見て最終的な判断ができるようになっていればよい、ということなのかもしれない。うちの研究室でも今年 Stacked denoising Autoencoder を用いて極性分類の研究をしていて、(LSTM など使わずとも)思った以上に精度が高いので、本当にそうか? と思っていたのだが、極性分類はそんなに木構造を見るほどのタスクではない、ということなのだろうか(構文木を自動で付与していたら、その誤りの影響も受けてしまうし)。

極性分析なんかはいかにも木構造が必要そうなタスクだと思っていて、しかも木構造を使って精度が高くなっていい話だと思っていたのだが、本当に(現在くらいの精度の)構文解析が必要かつ有効なタスクは何か? ということはしっかり考えた方がいいのかもしれない。

午後は「研究室インターンシップ」と題して毎週研究室の勉強会・研究会に参加してくれている B3 の人たちの研究発表。MMDAgent を用いた日野キャンパスの案内エージェントの開発について話してくれた他、今言語処理学会の年次大会に向けてデータ作成している内容についても報告してくれる。ソーシャルメディア解析勉強会の人たちは毎週話を聞いているが、そうではない人たちには初のお披露目である。B3 の人たちがどう考えているかは分からないが、参加している研究室のメンバーからは割と評価が高い勉強会なので、来年どうするかまた考えよう。基礎勉強会にすると、B3 の人たちのモチベーションは高いが、研究室学生のモチベーションが低く(研究がスタートしているので、当然だが)、あまり模範にならないので、やはり適切な難易度・分量のサブタスクにしてやってもらうのがいいのかなぁ。