こんな夢を見た

修士学生による自然言語処理研究の記録。主にDeep LearningやEmbedding関連論文の軽い自分用まとめとして。内容に誤りが含まれている場合があります。お気軽にご指摘ください。

Deep Recursive Neural Networks for Compositionality in Language

Deep Recursive Neural Networks for Compositionality in Language
Ozan Irsoy, Claire Cardie, 2014, NIPS
site

言語処理における多層Recursive Neural Networksの有効性。

今まで使われていたようなRecursiveモデルの改良として、各ノードから分類関数による出力を出すまでに数段の隠れ層をかませましょう、その隠れ層も第1(2)層と同様に木構造のrecursiveでcompositionしていきましょう、という話。Sentiment TreeBankで性能を実験。

Recurrentモデルの方では既に多層化がしばしば行われていたけど、Recursiveとしてはおそらく初。モデル設計自体は非常に自然。
他にrecursiveモデルとして特徴的なのは、重み行列を幾つか使い分けている点だろうか。木構造の葉(input)となる単語ベクトルと、それらをマージしていったフレーズベクトルor文ベクトルは別の次元数を持つようにしている。それに従って、各隠れ層では単語をinputとする時とフレーズをinputとする時とで別の大きさの重み行列を用いている。前に触れたuntiedのようなもの。出力用の重み行列は単一の(次元の)ものしか保持しないのだけど、そこに達するまでの隠れ層への伝搬で次元は結局フレーズベクトル側の次元に変換されるために問題ない。

貢献としては、数々の工夫によってSocherら(2013)に比べてスコアをしっかり上げている点も一応チェックすべき点だろう。隠れ層が1つのモデルだとしてもSocherらのRNTNのスコアを超えている。
工夫というのは、1. 今述べたUntyied行列、2. 単語ベクトルにはpretrainedのword2vec使用、3. 活性化関数にはrectified linear unit (ReLU)、4. dropoutの四点。他はさておき、ReLUはどの程度効いているのだろう。線形性がsentimentの本質に沿っている、とかいう理論めいた話があれば面白そう。

各隠れ層でのベクトルについて、データセット内でベクトルが類似しているフレーズを比べることで定性的な評価もしている。ガッチリとした納得を得られるほどのものではないとはいえ、こういう見せ方ができるとやはり楽しい。

@incollection{irsoy-drsv, title = {Deep Recursive Neural Networks for Compositionality in Language}, author = {.Irsoy, Ozan and Cardie, Claire}, booktitle = {Advances in Neural Information Processing Systems 27}, editor = {Z. Ghahramani and M. Welling and C. Cortes and N.D. Lawrence and K.Q. Weinberger}, pages = {2096--2104}, year = {2014}, publisher = {Curran Associates, Inc.}, url = {http://papers.nips.cc/paper/5551-deep-recursive-neural-networks-for-compositionality-in-language.pdf}, location = {Montreal, Quebec} }