気が付いたら3月も中旬です。昨年末に27歳の誕生日を迎えたばかりだと思っていたら、もう3ヶ月経ってしまいました。このまま、あっという間に三十路を迎えるのでしょう。時の流れは早くて残酷です。生え際の後退もかなり進行してきました。悲しいです。昔の写真をみると涙が出そうになります。悲しすぎるので、僕の誕生日より少し前に開催されたNIP2012の論文を自棄読みしました。
Multi-Task Averaging
多くのマルチタスク学習は分類問題や回帰問題に対して提案された手法ですが、この論文は母平均をマルチタスク学習で推定するという珍しい(?)手法Multi-Task Averaging(MTA)を提案しています。異なるタスク同士でも、お互い情報を共有し合って母平均を推定することで推定精度を上げられると主張しています。早速、目的関数です。
はタスクの番目のサンプル、はタスクとタスクの類似度を表します。その他記号のNotationは論文の方をご覧ください。この式の第1項は各タスクの経験誤差最小化の作用、第2項にはタスク間の類似度が高いほどその推定平均値の差が小さくなるように制御する作用があります。
ここで、が全て0以上、かつ、を要素とする行列が対称行列だとすると、上記の最小化問題は解析的に解を得ることができます。
はという要素を持つ対角行列、はのグラフラプラシアン、は各タスクのサンプル平均を縦に並べたベクトルです。
さて、この論文ではタスク数が2の場合について解析し、このタスク間の実際の母平均の差がそれぞれのタスクの分散に比べて小さい時、MTAによる推定結果の平均二乗誤差は、単純なサンプル平均による推定結果の平均二乗誤差より小さくなるという結論を得ています(つまり、タスク間の母平均が近いならMTAは有効)。また、2つのタスクの平均二乗誤差の和を最小にするは、
として得られます。
この結果を用いて、タスク間の類似度行列を求める方法を2つ提案しています。ここでは、そのうちの1つであるConstant MTAについて少しだけ記述します。やりたいことは、以下の式のように、実際の各タスクの母平均とMTAによる推定結果の平均二乗誤差を最小化することです。
ただし、
これを最小化するを求めたいのですが、タスク数が2より大きい場合、求めたいパラメータの数が多くなり解析的にを求めるのは、格段に難しくなります。そこで、行列の全要素はであるという大胆な仮定を置きます。更に、で全タスクの分散は同じであるという仮定を置くと、損失を最小にするは、
となります。ただし、は実際の母平均の値で当然分からないので、結局のところサンプル平均のを用います。とどのつまり、タスク間の平均差の二乗をタスクの組み合わせ分求めて平均したものを分母に用いるという方法で、タスク数が2の場合の拡張をしてることになります。結果をみると、やはりタスク間の類似度が高ければ、このConstant MTAは良く働くようです。
Hamming Distance Metric Learning
入力ベクトルをの2値のベクトル(バイナリコードベクトル)として表現することで、近傍探索などにおいてメモリ使用量や計算速度の改善が期待できます。では、どのようにバイナリコードベクトルに変換するのが適切か?これをサンプル集合から学習するのがこの論文の目的です。
を入力ベクトル、を目的のバイナリコードベクトルとすると、その関係を
という式で表すことができます。は、とする線形または非線形の写像です。多くのバイナリコード変換の学習は、を決定づけるパラメータを学習します。これまで、このとして、線形写像を使うよとか多段ニューラルネット使いましょうなどの、様々な写像が提案されていますが、この論文ではを決めず、それらを包括するような枠組みを提案しています。
まず、この論文の前提としてサンプル集合は、との類似度はとの類似度より高いという三つ組の集合として得られるものとします(入力インプットのベクトル同士の類似度を計算できるなら、この三つ組は得ることができます)。そして、バイナリコードへの変換を学習するために以下のような損失関数を定義しています。
ただし、
、はベクトルの非ゼロ要素の数。
このを最小化するを求めることで、類似度の順序関係を保持したバイナリコード変換が得られることを期待できます。しかし、この目的関数は非凸かつで微分不可という面倒な性質を持っています。ということで、損失の上限式に対して最小化を行うことを考えます。の上限は以下のようになります。
こうすることでで微分可能になります。後は確率的勾配法を用いてこれを解いていきます。具体的には、に初期値を与えた後、サンプル集合から三つ組をランダムに1つ抽出し、それに対し上の式を満たすを求めてから、次のようにを更新します。
この手順を繰り返すして、パラメータを推定します。
ところが、この式にあるを求めるのにも一工夫が必要です。このを求める過程も、このベクトルがかのどちらかしかとらないことを利用し動的計画法で解くなど、なかなかテクニカルで面白いですが、この部分の詳細は論文を参照してください。
あと、論文にある式(8)はとなっていますが、のような気がします。どうなんでしょう・・・
とりあえず、今回はここまでにします。近いうちに第2弾を書ければなぁと思います。