こんにちは、ZOZOテクノロジーズで機械学習の研究開発をしている松井・真木です。2019 年 9 月末にコペンハーゲンで行われた推薦システムのトップカンファレンスである RecSys 2019 に参加してきたので、本稿では参加報告と気になった論文の紹介をします。
Overview
RecSys では推薦システムに関するアルゴリズムはもちろん、インターフェースやユーザー心理など幅広い話題を扱っています。今年は参加チケットが売り切れたことからも注目度の高さが伺えます。研究発表はロングペーパーとショートペーパーからなり、採択率はそれぞれ 19%、24%でした。個人的に印象的だったのは、参加者の 7 割以上が企業所属である一方、発表者の数でみるとアカデミアの勢力も強かった点です。私はこれまでいくつかの国際会議に参加してきましたが、RecSys は笑いを取りに来る発表者が多かったり、発表者に対して口笛や声援が飛んだりするなど、これまでで一番明るく和気藹々とした会議だったように思います。
トレンド
トレンドとしてはっきりしていたのは、推薦システムが社会に与えうるインパクトや研究手法に関する自己批判です。最も象徴的なのは、深層学習ベースの手法が本当に従来の手法より優れているのかを検証したメタ研究が最優秀論文賞を受賞した点でしょう。当該論文では、精度比較以前にそもそも再現実験を実施することができた論文が半分以下しか存在せず、その中でも従来法よりほぼ一貫して優れていたのが Mult-VAE という手法だけだったという、いささかショッキングな内容でした。また、2件行われたKeynoteはそれぞれ法学者と社会学者による講演で、いずれも社会とデータとの関わりに関する内容でした。さらに、最終日にはResponsible Recommendation(責任ある推薦システム)というテーマでパネルディスカッションが開催され、フィルターバブルやフェイクニュースを推薦システムの技術が助長しないために何ができるかという点について議論が行われました。研究者コミュニティが単純な精度競争に陥らず、より良い社会を作るための問題意識を共有していることが印象的でした。
Keynote
Keynote の内容について簡単に触れます。文中の画像は公開されているスライドから引用しています。
1件目は、法学者の Mireille Hildebrandt 博士による講演で、行動(データ)主義批判と GDPR(EU における個人情報保護法)に関する内容でした。ヒトは頭で「やるべき」と考えていることを実際に実行するとは限らず、逆に「やるべきではない」と考えていることをついやってしまうこともあります(いわゆるMind-body problem)。したがって、行動データに対して最適化された推薦システムが、人や社会にとって良い結果をもたらすとは限らないという指摘がありました。例えば、ダイエット中の人がカロリーの高い食事を推薦され、それを購入したとします。購入に至ったので行動主義の観点から言えば「良い推薦」と言えますが、社会や本人にとっては必ずしも良いとは言えません。推薦システムの未来を考えるうで興味深い講演でした。
2 日目は社会学者の Eszter Hargittai 博士から、オンラインサービスから得られるデータに生じうるデモグラフィックなバイアスについて示唆に富んだ講演が行われました。この講演では、年齢・性別・学歴・収入などの違いによって、使用するオンラインサービスの選択、さらにはサービスの使い方にまで差があるということが示されました。例えば、同じWikipediaというサービスでも、閲覧するだけのユーザーと編集を行うユーザーとでは異なるデモグラフィックな特徴があります。したがって、「Wikipedia のユーザー」のような大雑把な認識では、思わぬバイアスに影響される可能性があります。逆に、想像するバイアスが実際には存在しない可能性もあります。例えば、「若者は高齢者よりもインターネットを使うスキルが高い」というステレオタイプはある程度一般的であると思われますが、実際に調査してみると年齢とインターネット・スキルとの間の相関は低かったそうです。サービスの設計を考えるうえでたいへん勉強になる講演でした。
論文紹介
ここからは、筆者の 2 人が個人的に気になった論文を簡単に紹介していきます。担当は以下になります。また、文中の画像はそれぞれの論文から引用しています。
- 真木
- Users in the Loop: A Psychologically-Informed Approach to Similar Item Retrieval
- Relaxed Softmax for PU Learning
- 松井
- Latent factor models and aggregation operators for collaborative filtering in reciprocal recommender systems
- SMORe: modularize graph embedding for recommendation
Users in the Loop: A Psychologically-Informed Approach to Similar Item Retrieval
著者:Amy A. Winecoff, Florin Brasoveanu, Bryce Casavant, Pearce Washabaugh, Matthew Graham (True Fit)
どんなもの?
コンテンツの類似度を測る指標として、ユークリッド距離やジャッカード類似度に代わって、心理学の文脈で提案された Tversky の類似度を用いることを提案し、妥当性を検証しました。
先行研究と比べてどこがすごい?
ユークリッド距離やジャッカード類似度は、ヒトが心理的に感じる類似度と乖離している可能性が指摘されているので、ヒトの認知の特徴を組み込んだ類似度を使います。また、前述の類似度はすべての特徴量が等しく貢献する式になっていますが、実際は特徴量によって類似度の認知に与える影響が異なるという仮説を検証しました。
技術や手法の肝はどこ?
ユークリッド距離やジャッカード類似度は対称ですが、ヒトが感じる類似度は必ずしも対称ではないことが知られています。Tversky の類似度の非対称性を考慮できるモデルになっています。なお、Tversky の類似度は要素が 1 か 0 で表わされるベクトル同士の類似度を測るために使えます(連続値を取るベクトルに対しては使えません)。
どうやって有効だと検証した?
上図のように、クエリの画像が 2 つの選択肢の画像のうちどちらに似ているか答えてもらう主観評価で教師データを収集し、Tversky 類似度を特徴量としてロジスティック回帰で予測しました。比較対象としてジャッカード類似度を用いました。特徴量によって類似度の認知に対する貢献が大きいという仮説は、ロジスティック回帰の係数の比較により確認しました。
議論はある?
論文の著者らは Tversky類似度の有効性を主張していますが、論文に掲載されている数値や図を見る限りでは、ジャッカード類似度との差はほとんどないように見受けられました。心理学の知見を取り入れたアプローチは発展の余地があると思うので、今後の展開に期待したいです。
Relaxed Softmax for PU Learning
著者:Ugo Tanielian (UPMC, Paris, France), Flavian Vasile (Criteo Research, Paris, France)
こちらの論文については、RecSys’19 読み会にて発表してきたスライドがあるので、そちらもご覧ください。
どんなもの?
2 値分類において「正例データ」と「ラベル不明データ」の2種類が与えられる Positive-Unlabeled(PU) Learning では、負例をどのようにサンプリングするかが問題になります。そこで新しくボルツマン分布に従って負例をサンプリングする方法を提案しました。
先行研究と比べてどこがすごい?
ボルツマン分布を用いた負例サンプリングでは、ボルツマン分布におけるdegeneracy分布を調節することで負例になりやすさ(negativity)に関する事前知識を表現することができます。また、ボルツマン分布の温度パラメータを調節することでサンプリングの性質を変化させられます。
技術や手法の肝はどこ?
PU Learning における負例サンプリングでは、以下 2 点のトレードオフを考慮する必要があります。
誤分類しやすい(決定境界の近くにある)データをサンプリングしたい。この場合、本当は正例のデータを負例としてサンプリングしてしまう危険が大きくなります。
正例を誤って負例としてサンプリングしたくない。この場合は決定境界の遠くにあるデータをサンプルすればいいですが、モデルにとっては容易に識別可能なので情報があまり増えません。
提案法では、ボルツマン分布の温度パラメータによってこのトレードオフを調整できます。
どうやって有効だと検証した?
人口データに対する分布推定、単語類似度の学習、Next item prediction のタスクで評価しました。概ね従来法よりも良い結果がでています。
議論はある?
性能を評価する基準によって最適な温度パラメータの値が異なり、理論的に予想されるものと比べて妥当な結果が得られているように思えます。
Latent factor models and aggregation operators for collaborative filtering in reciprocal recommender systems
著者:James Neve (University of Bristol, Bristol, England), Ivan Palomares (University of Bristol & The Alan Turing Institute, Bristol, England)
どんなもの?
サービス内のユーザーを互いに推薦するシステムを相互推薦システム(RRS, Reciprocal Recommender Systems)と呼びます。相互推薦システムは、オンライン・デーティング・サービス(Tinder、Pairs など)、求人サービスでの応用が考えられます。相互推薦では、相互評価に基づいて推薦が行われます。
相互推薦システム特有の問題は?
任意のユーザーペアについて双方向から 2 つの評価値が得られるため、それらを 1 つの値に集約する関数を考える必要があります。特に、ユーザーペアの間で相互評価が一致している場合(お互いに好き、お互いに嫌い)に推薦するかは自明であるため、相互評価が一致していない場合(片思い)の扱いが特に問題になります。
従来、双方向からの評価値の集約関数には算術平均や幾何平均、調和平均などが用いられてきましたが、性能が比較されてこなかったので、何がベストかはわかっていませんでした。
また、従来法では、ユーザー a からユーザー b への評価値の計算量は、b を過去に高評価したユーザーの人数 n に対し O(n) でした。
先行研究と比べてどこがすごい?
それぞれのユーザーを潜在因子で表現し、評価値はそれらの内積とすることで高速に計算できるようにしました。潜在因子は、男性から女性への評価値行列と女性から男性への評価値行列をそれぞれを行列分解することで獲得します。推論時は、ユーザーペアの候補に対し双方向の評価値を予測し、それらを集約した値をもとに推薦します。
また、集約関数の比較を初めて行いました。相互評価が一致していない場合、算術平均では大きい評価値の方を、幾何平均・調和平均では小さい評価値の方を強く反映します。オンライン・デーティングの文脈では、相互評価が一致しない場合は推薦しない方が望ましいので、幾何平均・調和平均の方がより適切であるという仮説を検証しました。
どうやって有効だと検証した?
オンライン・デーティング・サービスの Pairs のデータを用いて、ユーザーのペアが成立か否かの 2 クラス分類を行いました。
提案法は、従来法と同程度の F1 スコアを維持しつつ、ユーザーのペアが 100 万ほどある巨大なデータセットでも実用可能な計算量に削減しました。
SMORe: modularize graph embedding for recommendation
著者:Chih-Ming Chen, Ting-Hsiang Wang, Chuan-Ju Wang, Ming-Feng Tsai(National Chengchi University, Taiwan)
どんなもの?
本研究は新しい手法の提案ではなく、既存の推薦システムの手法をモジュールに分割した新しい見方を提案し、その見方にもとづいたライブラリを提供しています。モジュール化することで異なる研究を比較するときに見通しが良くなり、実装も楽になります。 github.com
技術や手法の肝はどこ?
協調フィルタリングベースの手法では、学習データはユーザーやアイテムをノードとしたグラフであると考えることができます。もっとも単純な手法ではユーザードメインとアイテムドメインからなる 2 部グラフですが、文脈を考慮する手法では、下図のように 3 つ以上のドメインからなるグラフとみなせます。
モデルの学習はグラフ上のノードを何らかの空間(ユークリッド空間など)に埋め込むことであり、推論は空間内での近傍探索を行うことであると解釈できます。
そこで、著者らはグラフ埋め込みを以下の 3 つのモジュールで表現することを提案しました。
- Sampler:ユーザー・アイテムのグラフからノードをサンプルする方法
- Mapper:サンプルしたノードを特徴量空間に埋め込む学習可能な写像
- Optimizer:類似度または距離と、損失関数
発表スライドにある、いくつかの有名な手法を SMORe で表現した図がわかりやすいです。
個人的な感想
SMORe により、いくつかの有名な推薦手法は本質的に、隣接したノードの特徴量どうしは類似度が大きく、隣接しないノードの特徴量どうしは類似度が小さくなるように Mapper を学習していると捉えられるようになりました。
この捉え方は、意味の近いデータの特徴量どうしは近く、意味の異なるデータの特徴量どうしは遠くなるように特徴抽出器を学習させる metric learning の枠組みと似ているように感じました。以前の metric learning に関するブログ記事で上げた metric learning の 4 つの構成要素と、SMORe の各モジュールの対応は以下のようになると考えています。
- サンプリング → Sampler
- ネットワークの構造 → Mapper
- 計量 → Optimizer
- 損失関数 → Optimizer
metric learning の応用の 1 つである fine-grained image classification では、N-pair サンプリングが提案されましたが、現在、SMORe で表されている手法の中では言及されていません。ただ、N-pair サンプリングは SMORe の Sampler として表現できます。
このように SMORe の対象分野を、推薦から metric learning の応用先に広げることで、metric learning における既存手法も SMORe の枠組みで捉え直せるか考えてみたいと思います。
また、上記のブログ記事では metric learning の構成要素は、問題設定やデータによって適切な選択肢が異なることを報告しています。そこで、SMORe においても同様に、問題設定やデータごとに各モジュールのどの選択肢が適しているかを明らかにしても面白いと感じました。
最後に
弊社では次々に登場する新しい技術を使いこなし、プロダクトを改善できる機械学習エンジニアを募集しています。 ご興味のある方は、以下のリンクからぜひご応募ください。 tech.zozo.com