いないち日記

大阪で Information Retrieval を勉強する大学生の日記。

2019/09/16-2019/09/22

学部時代の研究室の # 先生の還暦パーティーがあった。さすがはバイオ系の研究室で、集まった人たちもそちらが多かった。ちょうど理化学研究所のチームリーダーの $ さんと関西大学の教授の & さんと話していたとき、ある論文の話題になる。

Suzanne Rohrback, et al. Genomic mosaicism in the developing and adult brain. Developmental Neurobiology. 2018.

なんと人間の脳細胞中のゲノムは同一でないという現象が確認されたらしく驚く。遺伝子発現レベルならわかるけど、まさかゲノムまで違うとは。

研究の方では行き詰まりが出てきたので、気分転換にソフトウェアエンジニアリング的なことに足を突っ込んでいた。AI2 のリポジトリを見ながら (悩んだときは AI2 の Github, というのはアメリカでのメンターの教えでもある)、テストはこういう構造でこう書けばいいのか、なんてことをまねたりしていた。型レベルのバグは mypy のおかげで見つからなかったけど、型が同じで内容が違う、というのは結構見つかる。

2019/09/09-2019/09-15

同志社大学で経済学の研究をされている%先生のところにお邪魔して、Python のレクチャーをしてきた。それにしても同志社はきれいで、学食は本当にレストランという感じで、学生より30代~のお客さんが目立つ。

先週考えていた von Mises Fisher 分布を早速試してみると、数値が思いのほかすぐオーバーフローしてしまうことがわかった。もちろん本当は確率分布なので最終的にはオーバーフローは起こらないが、 \kappa^{n/2} とかベッセル関数とか個々のパーツがどうしても極端に大きくなる。とりあえずこのアイデアは凍結。

#さんが研究でクラスタ数をよしなに推定するクラスタリング手法について探しているときいて、個人的にも興味があったのでいろいろ調べてみると、PRML の著者が書いた論文を見つけた。

Adrian Corduneanu & Christopher M. Bishop. Variational Bayesian Model Selection for Mixture Distributions. AISTAT. 2001.

(ざっとしか見てないけど) この手法は厳密にはクラスタ数はハイパーパラメータだけど、混合係数を変分推定で推定することで説明力の乏しいクラスタの係数が 0 に近づいていくので結局無視できる、みたいなことを書いてある。なぜだと思っていろいろ調べてみると、こんな資料を見つけて、変分下限が近似分布における観測データの尤度 (の対数) と、事前分布と近似分布の Kullback–Leibler divergence との和に分解できること知る。後者は MAP 推定と本質的に同じで、ここが正則化の役割を果たしているからかな、と思う (間違っているかもしれない...)。

2019/09/02-2019/09/08

修論を書き始めた。いつものように目標は高い方がいいということで、関連分野でネットに上がっている Ph.D. thesis なんかを読んで様式を学ぶ。今週はほとんどを論文執筆に費やした。

位相・集合・多様体勉強会 (学内) で発表した。自分の担当範囲は一様連続を位相的に定義した後、距離空間の完備性やプレコンパクトを定義していく箇所。メインは  (\mathbf{R}, d^1) は完備であるという証明。教科書の証明方法がすごくて、  N(x) = \{ n | n \in \mathbf{N}, a_n \leq x\} なる  N(x) が有限集合となる  x の集合  M = \{ x | x \in \mathbf{R}, \mathrm{card} < \aleph_0\} の上限が実は  (a_n) n \to \infty 極限であるという示し方を取っている。この集合の定義の裏にあるアイデアがなかなかわからない。

研究の方はいくつか新しい側面を思いつく。1つは query expansion と embedding search の関係。query expansion が word embedding + k-NN で実装されているなら、もしかして実は両者は等価だったり、あるいは何らかの包含関係があったりするんじゃないかなぁ。だとしたら何かパラダイムシフトを起こせるんじゃないかなぁ。とか。もう1つはパラメトリックな手法について。先週は alignment をとって半ば強制的に部分空間をとっていたけど、もっとシンプルに、文書中のすべての embedding をプロットしてパラメトリックに分布を推定したらいいんじゃないかなぁという話。例えば word embedding とかは方向のみ意味を持つ (ノルムには多分意味がない、少なくとも最適化はされていない) ので、von Mises Fisher 分布で最尤推定とかして分布同士の KL divergence とかとればどうなるんだろう。少なくともグラスマン多様体のアプローチでうまくいっているなら筋は悪くなさそう。とか、そんなことを考えていた。NTT のインターンで von Mises Fisher 分布のパラメータ推定式は導出したはずなんだけど、すっかり忘れたので以下の論文で復習。

Clustering on the Unit Hypersphere using von Mises-Fisher Distributions. JMLR. 2005.

2019/08/26-2019/09/01

暑さがだいぶ引いてきた。9月にも入ったことだし、そろそろ年度末に向けて動き始め。

研究の方では大きな進捗があった。以前考えてそのまま放置していた文書間類似度の計算のアイデアに、2つの文書の sentence embeddings をそれぞれ基底とみなして、 \mathbf{R}^d 上の部分空間の基底2つの近さ=文書の類似度とみなすというのがあった。これは sentence embedding の数が文書によって違う (=部分空間の次元が文書によって異なる) という問題に対処できずに何もできていなかったけど、先日ふと、alignment をとるとこれが解決できることに気づいた。one-to-one alignment ではないので片方の行列は厳密には一次独立にはならない (基底の定義を満たさない) けど、それは単に削ることにする。大きな進捗。

ということで早速実験をしてみる。最初に試したのがこの論文。
Jihun Hamm & Daniel D. Lee. Grassmann discriminant analysis: a unifying view on subspace-based learning. ICML 2008.
この論文ではまず2つの部分空間の距離をグラスマン多様体  G(m, D) 上での最短の Riemann 距離と定義している。で、(Golub & Loan 1996) によるとこれは Principal angle を用いた距離で計算できて、Principal angle は SVD で解ける (各固有値 cos(\theta) に対応する)。ということで  cos(\theta) が求まったとしてどんな距離尺度を試すか、という議論を展開している。自分が試した限りだと紹介されている距離尺度はどれもうまくいきそうなので、しばらくはこの筋で研究を進めてみることにする。

ちなみに以前はこの問題を行列の差の行列式で解こうとしていたが、まさに同じアプローチが NAACL 2019 に出ていた。この分野はやっぱり流れが早くて、自分が考えていることはおおよそ世界の誰かも考えている感がある...

Tim vor der Brück & Marc Pouly. Text Similarity Estimation Based on Word Embeddings and Matrix Norms for Targeted Marketing. NAACL-HLT. 2019.

2019/08/19-2019/08/25

発表練習・スライド修正で怒濤のような3日を過ごしたあと、チェジュ島へ。なにげに研究室のメンバーと海外に来たのはこれが初めてで、いつもより楽しい出張。

特に面白かったのが、Graph embedding と Matrix Factorization について (AIST の%さん)。直感的な概念からまず General な損失関数 (ノード同士の距離の定義・incremental function の選択に任意性がある) を定義して、その後その1つの個別例である損失関数でクラスタリングを実験した、という発表。重要なところではないが、embedding 同士の similarity で内積をとっていて、norm normalization を入れなくていいの? と質問したら、あえてそれをしないことで L2 正則化に似た効果を発揮するということ。

(他も面白い発表が多かったけど、credential なものが多くて書けない...)

チェジュ島自体はかなり満喫できた。最後に胃腸の疲れがどっと来て胃腸炎になってしまったが...

2019/08/12-2019/08/18

チェジュ島でのワークショップが近づいてきたが一向に研究にケリがつかないので、お盆返上で研究室に引きこもる。

Aという問題があって、既存手法ではXという側面が見逃されていたが、これは実は重大な問題だ、というプレゼンをしたいのだけど、これがまた難しい。Xを見るけることも難しいし、Xが重大であることを示すのも難しい。この1週間はおおよそこの難しさと戦っていたような気がする。

文書の類似度の定義は、グラフのアプローチはいったん置いておき、アライメントをとって aggregation で何か工夫をするというアプローチに切り替えることにした。Word Mover Distance が成功しているならこの筋は悪くないと思いたい。

2019/08/05-2019/08/11

春の疎水の桜と夏のびわ湖花火はもう20年以上毎年見ている気がする。今年もいつもの場所で花火を見る。20年も見ているとだいたいのパターンがわかってきて、次はキャラクターが来そうとか、ここからしばらくは浜大津あたりで小さくまとまりそうとか、そういうことが予測できるようになる。

研究の方は、なんとかランキングの問題をグラフの話に持ち込もうとしている。kNNグラフを定義して Personalized PageRank を計算してみたり重力モデルで二次元プロットしてみたり..