タイトルの論文を読んでみたので、内容に関する雑なメモです。
論文
著者
Alex Beutel, Paul Covington, Sagar Jain, Can Xu, Jia Li, Vince Gatto, Ed H. Chi (Google, Inc. Mountain View, California)
背景
従来のレコメンドシステムでは推薦のリクエストの文脈を理解する研究が多く成され、 具体的には、時間、場所、デバイスやブラウザの情報が主に使用されていました。 こういった手法は協調フィルタリングアプローチによって実現されることが多いようです。
一方で、画像やNLPなどで成果を上げているDNNをレコメンドに応用するという研究も盛んに行われ、初期では協調フィルタリングで行ってきたことをNNで置き換えることに重点が置かれていました。 その後RNNを推薦に応用するアプローチが増えましたが、いずれの場合でも文脈データは他の入力と連結して入力されており、文脈の情報を他の情報と平等に取り扱ったり、場合によっては無視することもあったようです。
目的とアプローチ
目的
- DNNを使用したレコメンドシステムに、ユーザーの文脈データを効果的に組み込む
アプローチ
- Latent Cross : 文脈データをRNNに組み込む
- モデルの隠れ層と文脈埋め込みの要素和積を行うことで、文脈データをRNNに取り込む手法
- 協調フィルタリングとDNNの橋渡しのような位置づけ
提案手法
着想
やりたいことは、ユーザーの文脈情報とその他のアイテム情報をDNNにうまく組み込むことでした。 そこでかんたんな(?)実験をしています。
これを使用して、下記のような評価を行った層です。
- 中間層1層のNN
- 評価関数:MSE
- ピアソンの積率相関係数によって学習データと予測結果とを比較
その結果が下記のようだそうです。
どのケースでも、中間層を大きくすれば高い相関が得られることは確認できます。 逆に言うと、軽量なNNでは行列分解をNNで再現することは難しいということとしています。
そのため、行列分解の効果を再現するためには、別のアプローチが必要になると考えます。
Latent Cross
そこで、RNNのベースラインに対して下記に示すような構造によってコンテキスト情報を取り扱います。
通常の入力に直接結合するのではなく、他の入力と文脈情報を別に扱い、それぞれを積和演算したものをReLUの入力としています。 これにより文脈情報を特別に扱うことができます。
評価
実際に精度が上がったかを確認すると、下記のようにLatentCrossを使用すると精度が上がることが確認できます。
ユーザーのコンテキスト情報(この評価では前回の視聴から次の視聴までの時間、time delta)を適切に組みこむことで精度があがるということですかね。
また、複数のコンテキスト情報にもいくつかあるのでそれをすべて組み込んでも精度が高いことが確認できます。
結論
従来ではあまり行われてこなかった、ユーザーの文脈情報をDNNに組み込むために、Latent Crossという手法を提案した。 これにより、YouTubeにおける推薦の精度が向上した、らしい。
参考文献
日本語の論文紹介が他にもありましたので、こちらも参考にさせていただきました。
感想
前の論文を読んでみた中で出てきたので、詳細を読んでみた感じです。 要するに、コンテキストの情報はコンテキストの情報として特別に扱ってあげると推薦としては良くなりそうだということだと思います。