Slide 1

Slide 1 text

Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction 8/16 PaperFriday, Yuki Iwazaki@AI Lab

Slide 2

Slide 2 text

2 SIGIR2019: acceptance rate 19.7%(84/426) Target: ECサイトにおけるCTR予測 Authors: Kan Ren, Jiarui Qin, Yuchen Fang, Weinan Zhang, Lei Zheng, Weijie Bian, Guorui Zhou, Jian Xu, Yong Yu, Xiaoqiang Zhu, Kun Gai

Slide 3

Slide 3 text

1. Motivation 3

Slide 4

Slide 4 text

4`

Slide 5

Slide 5 text

Userの行動ログ 3つの特徴 ◂ Temporal dynamics of user tastes ◂ 興味ないけど友達に推められたとかその日の気分とか ◂ User毎に長さが異なる ◂ light/heavy userとか新規/古参userとか ◂ 古いUserログもUserの決定に影響しうる ◂ 次の図 5

Slide 6

Slide 6 text

6 この膨大な Userの行動ログを余すところなく使って User Response予測をしたい

Slide 7

Slide 7 text

1. Related Works 7

Slide 8

Slide 8 text

2.1 User Response Prediction Contentに対するUserの興味 をモデリングし対応するUser eventを推測するタスク e.g. Clicks and Conversions 8 [1] https://medium.com/walmartlabs/robustness-for-user-response-prediction-bae97d7f064f

Slide 9

Slide 9 text

2.1 User Response Prediction ◂ Response or notの2値分類 ◂ 線形モデル ◂ Logistic Regression[14, 33] ◂ 非線形モデル ◂ Tree-based Models[20] ◂ Factorization Machines[38, 40] ◂ Neural Network Models[41, 61] 9

Slide 10

Slide 10 text

2.2 Sequential User Modeling Matrix Factorizationベース User x Itemの相互作用をモデリング Markov chainベース 各UserのItemの推移を確率モデル化 Neural Networkベース 行動履歴=連続した商品画像 RNN, CNN,... 10

Slide 11

Slide 11 text

2.2 Sequential User Modeling AttRec [Zhang, 2018] self-attentionで商品推薦 SHAN [Yang, 2018] 2つのattention(長期記憶・短 期記憶)を使った商品推薦 ❌ lack long-term and multi-scale behavior 11

Slide 12

Slide 12 text

2.1 Memory-augmented Networks 主にNLP界隈で活用 Memory付きのNeural Network あとで詳しく説明 RUM [Chen, 2018] User行動を保存する機構を持つ Memory Network 12 ❌ directly use them from NLP tasks with fixed length

Slide 13

Slide 13 text

“ Our model supports long-term dependencies within user behavior sequences with extremely large length. 👍👍 👍

Slide 14

Slide 14 text

1. 前提 14

Slide 15

Slide 15 text

1. Attention Mechanism 15

Slide 16

Slide 16 text

Self-Attention Module ◂ Queryを使ってMemory(Key, Value)から 情報を引き出す仕組み 16

Slide 17

Slide 17 text

Attentionはファイル検索 17 Query...調査中のトピックが書かれた付箋 Key...フォルダについたラベル Value...QueryとKeyを一致させてフォルダから取り出した値ベクトル Queryベクトルと各 Keyベクトルの内積 (=Cosine類似度)からKeyを探す

Slide 18

Slide 18 text

1. Memory Networks 18

Slide 19

Slide 19 text

Memory Networks Attention(Memory)に蓄えた知識をRead/Writeすることで Contextに対する表現力(Episodic & Semantics)を向上させたNeural Network Attention(Memory)に対してOnlineで再帰的にR/Wを繰り返す点でAttNetと異なる 19 [1] http://deeplearning.hatenablog.com/entry/memory_networks

Slide 20

Slide 20 text

Memory Networks 20 以下4要素のパラメータを最適化 InputFeatureMap 入力xを特徴表現I(x)に変換 Generalization 入力I(x)でメモリm i を更新 (メモリの圧縮と一般化) OutputFeatureMap 入力I(x)とメモリmから 出力特徴oを計算 Response 出力特徴oを望ましい出力rに変換

Slide 21

Slide 21 text

Memory Networks 21 Generalization 入力I(x)でメモリm i を更新 (メモリの圧縮と一般化) メモリ要素の整理や忘却をするために メモリの有用性を評価

Slide 22

Slide 22 text

Memory Networks OutputFeatureMap 入力I(x)とメモリmから 出力特徴oを計算 Responseに関連するメモリを探す 22

Slide 23

Slide 23 text

Memory Networks in NLP 23

Slide 24

Slide 24 text

Memory Networks in NLP 0. NLPにおけるMemoryはココ Memory 24

Slide 25

Slide 25 text

Memory Networks in NLP 0. Memoryに対してRead/Write処理がある 25 WRITE Memory READ

Slide 26

Slide 26 text

Memory Networks in NLP 1. 知識となる語彙数Vの文章X i (BoW)を用意する 26 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 27

Slide 27 text

Memory Networks in NLP 27 2. 文章X i -> d×V次元のEmbeddingA -> Memory(Input)に格納 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 28

Slide 28 text

Memory Networks in NLP 28 3. 文章X i -> d×V次元のEmbeddingC -> Memory(Output)に格納 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 29

Slide 29 text

Memory Networks in NLP 29 4. V次元の質問文q -> EmbeddingB -> 入力ベクトル(u)作成 Q. 吾輩は誰? X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 30

Slide 30 text

Memory Networks in NLP 30 5. 質問文ベクトル(u)とMemory(Input)の内積 -> Softmax -> Attention(P i )作成 Q. 吾輩は誰? X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 31

Slide 31 text

Memory Networks in NLP 31 6. sum(Attention(P i )×Memory(Output)) -> 出力ベクトル(o)作成 Q. 吾輩は誰? 0.7 猫 0.2 犬 0.1 猿 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 32

Slide 32 text

Memory Networks in NLP 32 Q. 吾輩は誰? 7. 文章X i を写像したMemory(Output)に関連する Attention(P i )だけ大きくなるようなEmbeddingA,Bを学習 0.7 猫 0.2 犬 0.1 猿 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...

Slide 33

Slide 33 text

Memory Networks in NLP 33 Memory機構を多層化して 知識(Memory)を複数回参照し 足し上げていく

Slide 34

Slide 34 text

Memory Networks in NLP 34 Memory Memory Memory Memory機構を多層化して 知識(Memory)を複数回参照し 足し上げていく

Slide 35

Slide 35 text

Memory Networks in Item Recommendation 35 Memory

Slide 36

Slide 36 text

1. 本題 36

Slide 37

Slide 37 text

1. Proposed Method 37

Slide 38

Slide 38 text

3.2. Lifelong Sequential Modeling (LSM) ◂ NLPのMemory NetworkをItem推薦に応用 ◂ 単語表現 -> Item(商品)表現 38

Slide 39

Slide 39 text

HPMNの全体像

Slide 40

Slide 40 text

3.3. Hierarchical Periodic Memory Network (HPMN) ◂ 以下の特徴を持つLifelong Sequential Modeling ◂ 1. Hierarchical Memory for Sequential Modeling ◂ 2. Continuous Memory Update ◂ 3. Attentional Memory Reading ◂ 4. Memory Covarience Regularization 40

Slide 41

Slide 41 text

Hierarchical Memory for Sequential Modeling i...UserのItem閲覧履歴を最大何件まで許容するかの window幅(mem size) D….Memory NetworkのLayer数(mem slots) (Memoryを再帰的に何回参照するか)

Slide 42

Slide 42 text

Continuous Memory Update UserのItem logに従ってメモリを逐次更新 Itemの生特徴で初期化 過去のmから新規mへGRUゲートで確率的に 更新

Slide 43

Slide 43 text

Attentional Memory Reading 入力Item vと関連性の高いMemory mjを引き出し wjとして利用

Slide 44

Slide 44 text

Memory Covarience Regularization ◂ Memory slot間の共分散を最小化させる ◂ Memoryへのノイズ(尖った値)をフィルタリングできる Memoryの共分散行列 Memoryの対角共分散行列

Slide 45

Slide 45 text

3.4. 学習 45 パラメータ 正則化項 Memory共分散正則化項 train/valのUser response yの差

Slide 46

Slide 46 text

1. Experiments 46

Slide 47

Slide 47 text

Research Questions (RQs) RQ1 全行動履歴の取込は予測性能を上げるのか RQ2 既存手法と比べ提案手法が最高性能になるか RQ3 提案手法で得られた行動履歴表現はどんな特徴を持つか? 短期, 長期, 多様な行動履歴を表現する能力はあるか? 47

Slide 48

Slide 48 text

Datasets ◂ Amazon ◂ レビュー数が5以上の家電商品, Userに絞って 各Userのreview履歴を元に最後にreviewした商品を予測 ◂ Taobao ◂ 多くのUser logを持つ. click, purchase, add-to-cart, fav ◂ XLong ◂ Taobao datasetのうちUserを減らしItem数を増やしたもの

Slide 49

Slide 49 text

Datasets Amazon User: 中, Item: 少, log: 少 Taobao User: 多, Item: 多, log: 中 XLong User: 少, Item: 中, log: 多 49

Slide 50

Slide 50 text

Train/Test Splitting (7:3)

Slide 51

Slide 51 text

Metrics 51

Slide 52

Slide 52 text

Compared models; group 1 ◂ Aggregation-based models ◂ Contextを考慮せず行動履歴を集約する手法 ◂ 1. DNN [Zhou, 2018] ◂ 行動履歴をSum poolingしてUser特徴と結合 ◂ 2. SVD++ [Koren, 2008] ◂ GoodsとUser特徴の交互作用をFMで表現 52

Slide 53

Slide 53 text

Compared models; group 2 ◂ Short-term sequential models ◂ RNN, CNN, Memory Network含む直近の Context(固定長)だけを考慮した手法 ◂ 1. GRU4Rec [Hidasi, 2016] ◂ RNNベース ◂ 2. Caser [Tang, 2018] ◂ CNNベース ◂ 3. DIEN [Zhou, 2019] ◂ RNN -> Attention -> RNN ◂ 4. RUM [Chen, 2018] ◂ User行動を保存する機構を持つMemory Network 53

Slide 54

Slide 54 text

Compared models; group 3 ◂ Long-term sequential models ◂ 長いcontextを考慮した手法 ◂ 1. LSTM [Hochreiter, 1997] ◂ LSTMベース. Memoryの限界はある ◂ 2. SHAN [Ying, 2018] ◂ 2つのAttention(長期記憶・短期記憶)を持つ ◂ 3. HPMN [Proposed] ◂ User Response Predictionへの応用はこれが初 54

Slide 55

Slide 55 text

Performance Comparison 55

Slide 56

Slide 56 text

Performance Comparison 56 👍 提案手法が全てにおいて SOTA (RQ2)

Slide 57

Slide 57 text

Performance Comparison 57 ❌ 行動履歴のシンプルな集約 ではUser Modelingがうまくいかない

Slide 58

Slide 58 text

Performance Comparison 58 ❌ GRU4Rec...LSTMと同じく長期的なUser行動が保存できない ❌ DIEN...2番目の性能だがUser行動を捉える長大なRNNが推論で高コスト

Slide 59

Slide 59 text

Performance Comparison 59 ❌ Caser...CNNは連続的なUser Modelingには適さない ❌ RUM....連続的なUser行動をMemoryが考慮できていない

Slide 60

Slide 60 text

Performance Comparison 60 ❌ LSTM...知識を保持するためのメモリ容量に制限 がある ❌ SHAN...連続的なUserの行動を考慮できていない

Slide 61

Slide 61 text

Performance Comparison 61 ❌ RNN・CNNベースはlogが長すぎる(XLong)と性能が落ちる 👍 Memory Networkは長いlogにも耐えうる (RQ1)

Slide 62

Slide 62 text

62

Slide 63

Slide 63 text

63 User 1 は”lotion”をClick 過去31, 33, 37番目のlogにlotionが存在 HPMNの5th layer(w5)のAttentionが最大 👍 High layerによる長期記憶 が有効に機能

Slide 64

Slide 64 text

64 User 2 は”desk”をClick 直近996, 997, 999番目のlogに類似家具”table/cabinet/desk”が存在 HPMNの1st layer(w1)のAttentionが最大 👍 Low layerによる短期記憶 が有効に機能

Slide 65

Slide 65 text

65 User 3 は”tea”をClick 直近と過去両方のlogにteaが存在 HPMNの2ndと5th layer(w2, w5)のAttentionが高い 👍 短期・長期両方 の依存を記憶できている 👍 本手法はマルチスケールシーケンシャルパターンに強い(RQ3)

Slide 66

Slide 66 text

1. Conclusion 66

Slide 67

Slide 67 text

Conclusion and Future Work ◂ NLPのMemory Networkを膨大なUser logを持つ ECのItem推薦に応用 ◂ 各User logを全て保存しEnd-to-Endで学習する Hierarchical Periodic Memory Networkを提案 ◂ User logからCTR予測タスクでSOTA ◂ 今後の課題はMulti-task (e.g. Click and CV), ◂ User logをより柔軟に取り込むためのLayerレベルの DynamicなUpdate機構 67

Slide 68

Slide 68 text

Comment ◂ User logの長さの調整を段階的に実験してほしかった ◂ 何件以上logがあるとこのモデルが良いみたいな ◂ Datasetの設計が興味深いが、ECのReviewはItemの質を表しそ うなのでItemの特徴量が足らなそう ◂ Review Stars -> CTR予測 ◂ 広告の実験用OpenDataが少ないとも言える ◂ 古い行動履歴を実質捨てているプロダクトでいかがでしょうか ◂ 実装コード 68

Slide 69

Slide 69 text

References https://jalammar.github.io/illustrated-gpt2/ http://deeplearning.hatenablog.com/entry/memory_networks http://deeplearning.hatenablog.com/entry/transformer https://qiita.com/halhorn/items/c91497522be27bde17ce https://en.wikipedia.org/wiki/Gated_recurrent_unit https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2806603/

Slide 70

Slide 70 text

70 Thanks! Any questions? You can find me at ◂ @chck ◂ [email protected]

Slide 71

Slide 71 text

Appendix

Slide 72

Slide 72 text

メモリの効率化 ◂ メモリの次元が大きいと検索が高コストなので hashingして高速化 ◂ Query(入力)を複数のbucketにhashし、同bucketのス コアのみ計算 ◂ 1. feature hashingベース ◂ Vocab分bucketを用意し、Queryに含まれる単語の bucketのみ考慮 ◂ 2. word embeddingベース ◂ 単語ベクトルをclustering、K個のbucketを用意し、 Queryに含まれる単語に近しいmemoryのみ考慮 72

Slide 73

Slide 73 text

メモリ検索の高速化 73 [1] http://deeplearning.hatenablog.com/entry/memory_networks