Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
論文読み会 / Lifelong Sequential Modeling with Perso...
Search
chck
August 16, 2019
Research
0
4
論文読み会 / Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction
社内論文読み会、PaperFridayでの発表資料です
chck
August 16, 2019
Tweet
Share
More Decks by chck
See All by chck
論文読み会 / Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the Forefront
chck
0
12
CyberAgent AI事業本部MLOps研修Container編 / Container for MLOps
chck
2
5.1k
論文読み会 / GLAZE: Protecting Artists from Style Mimicry by Text-to-Image Models
chck
0
3
論文読み会 / On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation Models
chck
0
2
論文読み会 / GUIGAN: Learning to Generate GUI Designs Using Generative Adversarial Networks
chck
0
4
機械学習開発のためのコンテナ入門 / Container for ML
chck
0
850
Web系企業研究所における研究開発を加速させるエコシステム / Ecosystem accelerates our R&D in CyberAgent AI Lab
chck
0
130
論文読み会 / Counterfactual VQA: A Cause-Effect Look at Language Bias
chck
0
3
CyberAgent AI Labを支えるCloud実験環境 / ML Experiment Management via Cloud Computing Platform in CyberAgent AI Lab
chck
7
4.1k
Other Decks in Research
See All in Research
テキストマイニングことはじめー基本的な考え方からメディアディスコース研究への応用まで
langstat
1
170
文化が形作る音楽推薦の消費と、その逆
kuri8ive
0
220
20240918 交通くまもとーく 未来の鉄道網編(太田恒平)
trafficbrain
0
440
書き手はどこを訪れたか? - 言語モデルで訪問行動を読み取る -
hiroki13
0
110
Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一的なアクセス制御
hiroyaonoe
0
260
ダイナミックプライシング とその実例
skmr2348
3
530
湯村研究室の紹介2024 / yumulab2024
yumulab
0
370
メールからの名刺情報抽出におけるLLM活用 / Use of LLM in extracting business card information from e-mails
sansan_randd
2
350
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
260
Weekly AI Agents News! 10月号 論文のアーカイブ
masatoto
1
460
The Fellowship of Trust in AI
tomzimmermann
0
200
Elix, CBI2024, スポンサードセッション, Molecular Glue研究の展望:近年の進展とAI活用の可能性
elix
0
120
Featured
See All Featured
Designing Experiences People Love
moore
139
23k
The Invisible Side of Design
smashingmag
299
50k
Building Applications with DynamoDB
mza
93
6.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Faster Mobile Websites
deanohume
305
30k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Optimizing for Happiness
mojombo
376
70k
The World Runs on Bad Software
bkeepers
PRO
66
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction
8/16 PaperFriday, Yuki Iwazaki@AI Lab
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
1. Motivation 3
4`
Userの行動ログ 3つの特徴 ◂ Temporal dynamics of user tastes ◂ 興味ないけど友達に推められたとかその日の気分とか
◂ User毎に長さが異なる ◂ light/heavy userとか新規/古参userとか ◂ 古いUserログもUserの決定に影響しうる ◂ 次の図 5
6 この膨大な Userの行動ログを余すところなく使って User Response予測をしたい
1. Related Works 7
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
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
2.2 Sequential User Modeling Matrix Factorizationベース User x Itemの相互作用をモデリング Markov
chainベース 各UserのItemの推移を確率モデル化 Neural Networkベース 行動履歴=連続した商品画像 RNN, CNN,... 10
2.2 Sequential User Modeling AttRec [Zhang, 2018] self-attentionで商品推薦 SHAN [Yang,
2018] 2つのattention(長期記憶・短 期記憶)を使った商品推薦 ❌ lack long-term and multi-scale behavior 11
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
“ Our model supports long-term dependencies within user behavior sequences
with extremely large length. 👍👍 👍
1. 前提 14
1. Attention Mechanism 15
Self-Attention Module ◂ Queryを使ってMemory(Key, Value)から 情報を引き出す仕組み 16
Attentionはファイル検索 17 Query...調査中のトピックが書かれた付箋 Key...フォルダについたラベル Value...QueryとKeyを一致させてフォルダから取り出した値ベクトル Queryベクトルと各 Keyベクトルの内積 (=Cosine類似度)からKeyを探す
1. Memory Networks 18
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
Memory Networks 20 以下4要素のパラメータを最適化 InputFeatureMap 入力xを特徴表現I(x)に変換 Generalization 入力I(x)でメモリm i を更新
(メモリの圧縮と一般化) OutputFeatureMap 入力I(x)とメモリmから 出力特徴oを計算 Response 出力特徴oを望ましい出力rに変換
Memory Networks 21 Generalization 入力I(x)でメモリm i を更新 (メモリの圧縮と一般化) メモリ要素の整理や忘却をするために メモリの有用性を評価
Memory Networks OutputFeatureMap 入力I(x)とメモリmから 出力特徴oを計算 Responseに関連するメモリを探す 22
Memory Networks in NLP 23
Memory Networks in NLP 0. NLPにおけるMemoryはココ Memory 24
Memory Networks in NLP 0. Memoryに対してRead/Write処理がある 25 WRITE Memory READ
Memory Networks in NLP 1. 知識となる語彙数Vの文章X i (BoW)を用意する 26 X:
吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 27 2. 文章X i -> d×V次元のEmbeddingA
-> Memory(Input)に格納 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 28 3. 文章X i -> d×V次元のEmbeddingC
-> Memory(Output)に格納 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 29 4. V次元の質問文q -> EmbeddingB ->
入力ベクトル(u)作成 Q. 吾輩は誰? X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 30 5. 質問文ベクトル(u)とMemory(Input)の内積 -> Softmax ->
Attention(P i )作成 Q. 吾輩は誰? X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 31 6. sum(Attention(P i )×Memory(Output)) ->
出力ベクトル(o)作成 Q. 吾輩は誰? 0.7 猫 0.2 犬 0.1 猿 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 32 Q. 吾輩は誰? 7. 文章X i
を写像したMemory(Output)に関連する Attention(P i )だけ大きくなるようなEmbeddingA,Bを学習 0.7 猫 0.2 犬 0.1 猿 X: 吾輩は猫である 名前はまだない どこで生れたかとんと見当がつかぬ ...
Memory Networks in NLP 33 Memory機構を多層化して 知識(Memory)を複数回参照し 足し上げていく
Memory Networks in NLP 34 Memory Memory Memory Memory機構を多層化して 知識(Memory)を複数回参照し
足し上げていく
Memory Networks in Item Recommendation 35 Memory
1. 本題 36
1. Proposed Method 37
3.2. Lifelong Sequential Modeling (LSM) ◂ NLPのMemory NetworkをItem推薦に応用 ◂ 単語表現
-> Item(商品)表現 38
HPMNの全体像
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
Hierarchical Memory for Sequential Modeling i...UserのItem閲覧履歴を最大何件まで許容するかの window幅(mem size) D….Memory NetworkのLayer数(mem
slots) (Memoryを再帰的に何回参照するか)
Continuous Memory Update UserのItem logに従ってメモリを逐次更新 Itemの生特徴で初期化 過去のmから新規mへGRUゲートで確率的に 更新
Attentional Memory Reading 入力Item vと関連性の高いMemory mjを引き出し wjとして利用
Memory Covarience Regularization ◂ Memory slot間の共分散を最小化させる ◂ Memoryへのノイズ(尖った値)をフィルタリングできる Memoryの共分散行列 Memoryの対角共分散行列
3.4. 学習 45 パラメータ 正則化項 Memory共分散正則化項 train/valのUser response yの差
1. Experiments 46
Research Questions (RQs) RQ1 全行動履歴の取込は予測性能を上げるのか RQ2 既存手法と比べ提案手法が最高性能になるか RQ3 提案手法で得られた行動履歴表現はどんな特徴を持つか? 短期,
長期, 多様な行動履歴を表現する能力はあるか? 47
Datasets ◂ Amazon ◂ レビュー数が5以上の家電商品, Userに絞って 各Userのreview履歴を元に最後にreviewした商品を予測 ◂ Taobao ◂
多くのUser logを持つ. click, purchase, add-to-cart, fav ◂ XLong ◂ Taobao datasetのうちUserを減らしItem数を増やしたもの
Datasets Amazon User: 中, Item: 少, log: 少 Taobao User:
多, Item: 多, log: 中 XLong User: 少, Item: 中, log: 多 49
Train/Test Splitting (7:3)
Metrics 51
Compared models; group 1 ◂ Aggregation-based models ◂ Contextを考慮せず行動履歴を集約する手法 ◂
1. DNN [Zhou, 2018] ◂ 行動履歴をSum poolingしてUser特徴と結合 ◂ 2. SVD++ [Koren, 2008] ◂ GoodsとUser特徴の交互作用をFMで表現 52
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
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
Performance Comparison 55
Performance Comparison 56 👍 提案手法が全てにおいて SOTA (RQ2)
Performance Comparison 57 ❌ 行動履歴のシンプルな集約 ではUser Modelingがうまくいかない
Performance Comparison 58 ❌ GRU4Rec...LSTMと同じく長期的なUser行動が保存できない ❌ DIEN...2番目の性能だがUser行動を捉える長大なRNNが推論で高コスト
Performance Comparison 59 ❌ Caser...CNNは連続的なUser Modelingには適さない ❌ RUM....連続的なUser行動をMemoryが考慮できていない
Performance Comparison 60 ❌ LSTM...知識を保持するためのメモリ容量に制限 がある ❌ SHAN...連続的なUserの行動を考慮できていない
Performance Comparison 61 ❌ RNN・CNNベースはlogが長すぎる(XLong)と性能が落ちる 👍 Memory Networkは長いlogにも耐えうる (RQ1)
62
63 User 1 は”lotion”をClick 過去31, 33, 37番目のlogにlotionが存在 HPMNの5th layer(w5)のAttentionが最大 👍
High layerによる長期記憶 が有効に機能
64 User 2 は”desk”をClick 直近996, 997, 999番目のlogに類似家具”table/cabinet/desk”が存在 HPMNの1st layer(w1)のAttentionが最大 👍
Low layerによる短期記憶 が有効に機能
65 User 3 は”tea”をClick 直近と過去両方のlogにteaが存在 HPMNの2ndと5th layer(w2, w5)のAttentionが高い 👍 短期・長期両方
の依存を記憶できている 👍 本手法はマルチスケールシーケンシャルパターンに強い(RQ3)
1. Conclusion 66
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
Comment ◂ User logの長さの調整を段階的に実験してほしかった ◂ 何件以上logがあるとこのモデルが良いみたいな ◂ Datasetの設計が興味深いが、ECのReviewはItemの質を表しそ うなのでItemの特徴量が足らなそう ◂
Review Stars -> CTR予測 ◂ 広告の実験用OpenDataが少ないとも言える ◂ 古い行動履歴を実質捨てているプロダクトでいかがでしょうか ◂ 実装コード 68
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/
70 Thanks! Any questions? You can find me at ◂
@chck ◂
[email protected]
Appendix
メモリの効率化 ◂ メモリの次元が大きいと検索が高コストなので hashingして高速化 ◂ Query(入力)を複数のbucketにhashし、同bucketのス コアのみ計算 ◂ 1. feature
hashingベース ◂ Vocab分bucketを用意し、Queryに含まれる単語の bucketのみ考慮 ◂ 2. word embeddingベース ◂ 単語ベクトルをclustering、K個のbucketを用意し、 Queryに含まれる単語に近しいmemoryのみ考慮 72
メモリ検索の高速化 73 [1] http://deeplearning.hatenablog.com/entry/memory_networks