[DL輪読会]Real-time Attention Based Look-alike Model for Recommender System (KDD2019)

>100 Views

November 01, 19

スライド概要

2019/11/01
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP “Real-time Attention Based Look-alike Recommender System (KDD2019)” [DL Papers] Model for Yoshifumi Seki, Gunosy http://deeplearning.jp/

2.

書誌情報 ● タイトル: Real-time Attention Based Look-alike Model for Recommender System ● 著者:Yudan Liu, Kaikai Ge, Xu Zhang, Leyu Lin ○ WeiXin Group, Tencent Inc. ○ WeChatのチーム ● 投稿先 ○ KDD2019 ● 選定理由 ○ ニュース推薦における問題設定に非常に共感した(後述) ○ 実サービスへの提供(特にリアルタイム性)を意識したネットワーク構成 2

3.

概要 ● ニュース推薦におけるLook-alikeモデルの提案 ○ Look-alikeモデル: デジタル広告用語、オーディエンス拡張等と言われる ● 推薦システムでDeepなモデルはよく使われるようになった ○ CTRの高い人気なアイテムを推薦しがちな傾向がある ○ ロングテールなアイテムが推薦されずらい ○ 広範でタイムリーな推薦は難しい ■ マタイ効果 ● Look-alikeモデルをリアルタイムで動作するように設計 ● オフライン・オンラインで実験し有効性を確認 3

4.

Look-alikeモデル l広告のLook-alikeモデルと違うところ ● Reali-time ○ コンテンツの価値が時間減衰していく ● Effective ○ CTR推定とは独立しているので、CTRを下げ ないようにやらないといけない ● Performance ○ 大規模なユーザ、多くのコンテンツが相手で も動かないといけない 4

5.

提案モデルと貢献 Real-time Attention Based Look alike Model (RALM)を提案 ● User Representationのためにattention merge layerを提案 ● Seed RepresentationでGlobal, LocalのRepresentationをやる ● Seedをオンラインで非同期的にクラスタリングする 貢献 ● User Representaionをいい感じにしたこと ● Seed Representationのロバストさと適応性を向上させた ● リアルタイムでハイパフォーマンスなLook-alikeモデルの実現 5

6.

システムの全体図 6

7.

Offline Training ● Phase1: User Representation Learning ○ ユーザごとの埋め込み行列を学習により得る ○ 入力は属性情報や行動情報など ● Phase2: Look-alike Learning ○ Attentionモデルとクラスタリングからなる ○ Phase1で作ったユーザモデルと、audience extension campaign samplesを用いて学習する ○ ユーザとクラスタとの類似度を計算するためのGlobalとLocalの埋め込み表現を学習 7

8.

Online Asynchronous Processing ● User Feedback Monitor ○ WeChatユーザの中からSeed Candidateなユーザをクリックログからリアルタイムで得る ○ 常に300万人以上のユーザをSeed Candidateとしている ● Seed Clustering ○ k-meansによりクラスタリングを5分おきに実施 ○ 各クラスタの中心ベクトルを保存する 8

9.

Online Serving ● ● ● ● ● u: user, s: seed E_u: ユーザの埋め込み E_golobal, E_local: seedの埋め込み score_u,sはユーザとseedとの類似スコア このスコアをCTR推定の特徴量として用いる ○ この部分は非公開 9

10.

RALMモデルの全体像 10

11.

User Representation 3つの工夫 ● Sampling ● Model Structure ● Attention Merge Layer 11

12.

User Representation - Sampling ● どの記事をクリックしたかのマルチクラス分類モデルとして実装する ● 負例が多すぎるのでサンプリングする ○ W2VのNoise Contrastive Estimationをベースに、表示回数のランキングを元にサンプルする不例を 決定する ● ユーザとアイテムの埋め込みベクトルの内積によるsoftmaxをクリック確率として学 習させる ○ アイテムの埋め込み方は本論文では言及なし 12

13.

User Representation - Model Structure ● カテゴリ変数、連続変数を異なる埋め込み ○ Deep Factorization Machinesなモデル ● Lossはクロスエントロピー ● FC層からの出力をユーザの埋め込み表現 とする 13

14.

User Representation - Attention Merge Layer ● 各変数をただMergeするのではなく、Attention付きでMergeする ● Attentionの計算は特に変わったことはしていない ● いくつかの変数にOverfitしてしまう傾向があるので、それを防ぎたいという意図 14

15.

Look-alike Learning ● ユーザ埋め込み表現を用いてSeedとユーザの距離を測るためのSeedの埋め込み 表現を学習する ○ k-meansの平均ベクトルそのまま使うのではなく、Look-alikeな距離のための埋め込みをやりたい ● いくつかの工夫 ○ Model Structure ○ local/global Attention ○ Iterative Training / Loss 15

16.

Look-alike Learning - Model Structure ● 入力は各クラスタの中心ベクトル ○ n × m : n はクラスタ数, mはユーザ埋め込みの次元 ● FC層がTransforming Matrixとして働く ○ n × m -> n × hへ ○ ユーザ側も同じようにする ○ Overfitを防ぐための措置 ● Global / LocalなAttention ● Cosineの部分は先述したスコア計算 ● 学習するものはTargetがクリックしたものを Seedsのユーザがクリックしたか ○ このあたり詳細な記述がない 16

17.

Look-alike Learning - Global/Local Attention ● Local Attention ○ 各クラスタのユーザとマッチする部分を取り出したい ● Global Attention ○ 各興味関心分布を取り出す 17

18.

Look-alike Learning - Iterative Training / Loss ● Iterative Training ○ 学習のなかでユーザ埋め込みの値が変わるとクラスタリングの結果が変わる ■ 本当に?Look-alike Lerningでユーザ埋め込みは変わらなくない? ○ 同期をとるためにLook-alike Leariningとクラスタリングを交互に行う ● Loss ○ Cross Entropy ○ p(x)はscoreと同義 ○ ここのyをどう決めているのかが不明 ■ ユーザuがクリックした記事をシードsがクリックしたか ■ audience extension campaign samplesと記述があるけど詳細はない 18

19.

Experiment ● Dataset ○ WeChatのTop Storiesのログ ○ 2,984,724 users, 43,500 articles and 8,891,670 samples ○ Features include user gender, age, interested categories and tags and historically read articleID. ○ Samples are formatted as {uid, item_id, is_click}. ● Competitors ○ Logistic Regression ○ Yahoo Look-alike Model. ○ Youtube DNN. ■ merge layerなしという意図らしいがLook-Likeモデルは提案手法のものなのかな? ○ RALM with average ■ Golobal/Local Attentionなしのモデル 19

20.

オフライン実験の結果 20

21.

オンライン実験の結果 21

22.

まとめ ● Look-alikeモデルによる推薦を提案 ● 出力部をシンプルにすることによってリアルタイム性を実現 ○ ユーザ埋め込みとLook-alike学習をわける ○ クラスタリングの結果が変わっても動作する類似度計算用の埋め込み ● オフライン/オンライン双方で 22

23.

感想 ● 問題意識にはめっちゃ共感する ○ DeepはCTR高いものによりすぎる ○ 一方でこれでどう解決するんだろう、Look-alikeの教師データ次第な気がする ● 論文めっちゃ読みづらい / 書いてないこと多い ○ 用語・記号の使い方変わる、未定義な用語も多い ○ 結局どのデータをどう学習したんだ? ○ 結局どうやって推薦するんだ? ● Realtime性を実現するにはこうするしかないよねって感じ ● 処理のプロセスまで書いてあるの参考になる 23