こんな夢を見た

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

Parsing With Compositional Vector Grammars

Parsing With Compositional Vector Grammars
Richard Socher, John Bauer, Christopher D. Manning, Andrew Y. Ng, 2013, ACL
site

PCFGでの構文解析時にRecursive Neural Networkでリランキングするモデル。

構文木のパージングを行う際に、PCFGのビームサーチによってk-bestの構文木を求め、その候補をRNNによってリランキングを行うことで予測精度が上がったという話。

結果としてはそれとして素晴らしいが、注目すべき点は(斬新な発想かはさておき)、ベクトル同士の合成の際に用いる重み行列を各syntactic categoriesペアごとに別に用意してそれぞれで学習させるという点だと思われる。
これは例えば、DTとNPと合成にはW_(DT,NP)を用いて、VPとNPの合成にはW_(VP,NP)を用いるというものである。こうすることで、前者のペアの合成では右側ベクトル(NP)の要素が強い影響力をもって合成ベクトルを生成し、その一方で後者ペアのような合成ベクトルでは同程度の影響力で合成が行われる、というような直観に沿ったような合成が行えるモデルになるはずである。

おそらくこのような分類分けに応じた重み行列を用いるアプローチ(untied weightと呼ばれている)は言語処理ではこれが初っぽい。そんな気はしないのだけど。(画像処理では既に活躍しているらしい (Le et al., 2010))
この方法には分類タグを付けるための前処理が必要であるという欠点があるものの、この論文ではリランキングモデルという立ち位置にすることでタグを利用していて上手い。

以前からごちゃまぜ単一の重み行列でのアプローチに非常に違和感を持っていたため、このようなuntied weightがある程度上手く行くというのは嬉しいお知らせである。

上で述べた欠点以外にも、各重み行列は対応する各ペアのデータでしか学習が行えないため、珍しい分類ペアに関しては学習データ不足に陥ってしまう欠点がある。となれば、上手いこと擬似的にデータを増やしたり他分類での学習を転移させる手法がほしいところ。なお、あまり論文内ではその欠点によるエラーが実際に起きたかどうかは触れていないので実はそんなに問題が起きないのかもしれない。

d.hatena.ne.jp

とある方のACL参加記事(上)にて、

PCFG を前段に使って解候補を絞ることで,後段の RNN で必要となる行列計算を減らして高速化するという話だったのだけど,(以下思い出して書いているのでうろ覚え)ここに Yoav Goldberg が深層学習って,分野研究者が分野特有の工夫をしなくてもうまくいくってのが売りなんじゃないの?と突っ込んでいたのが印象的だった.関連して,Mark Johnson が,単純な PCFG ではなく,複雑化した(例えば語彙化した)PCFG を組み合わせるのはどうか,というような質問をしていた(質問の順序としてはこっちが先).離散と連続,またモデルの解釈可能性というのは,この分野で手法を設計する上で,自分なりの答えを出していかないといけない問題だよなあ.

という話があった。
深層学習は特有の工夫しなくてうまくいくのが売りなのだろうか(そう売りだしていた人はいただろうけど)。綺麗な回答は出てこないが、それは無限なデータを学習できるような極限的な理論上ならばそうなのかもしれないけど、有限データを用いて有限時間で汎化されたモデルを作るとなれば基本的にそうはいかないのだと思う。また、そもそも(常識的な次元数の)既存の単語ベクトルと既存の単一の重み行列では、根本的に表現力が足りているとは思えないので、それはそれ、これはこれというだけなのかもしれない。

@incollection{SocherEtAl2013:CVG, title = {{Parsing With Compositional Vector Grammars}}, author = {Richard Socher and John Bauer and Christopher D. Manning and Andrew Y. Ng}, booktitle = {{ACL}}, year = {2013} }