第1章 互聯網的增長引擎——推薦係統
1.1 為什麼推薦係統是互聯網的增長引擎
1.1.1 推薦係統的作用和意義
1.1.2 推薦係統與YouTube的觀看時長增長
1.1.3 推薦係統與電商網站的收入增長
1.2 推薦係統的架構
1.2.1 推薦係統的邏輯框架
1.2.2 推薦係統的技術架構
1.2.3 推薦係統的數據部分
1.2.4 推薦係統的模型部分
1.2.5 深度學習對推薦係統的革命性貢獻
1.2.6 把握整體,補充細節
1.3 本書的整體結構
第2章 前深度學習時代——推薦係統的進化之路
2.1 傳統推薦模型的演化關係圖
2.2 協同過濾——經典的推薦算法
2.2.1 什麼是協同過濾
2.2.2 用戶相似度計算
2.2.3 終結果的排序
2.2.4 ItemCF
2.2.5 UserCF與ItemCF的應用場景
2.2.6 協同過濾的下一步發展
2.3 矩陣分解算法——協同過濾的進化
2.3.1 矩陣分解算法的原理
2.3.2 矩陣分解的求解過程
2.3.3 消除用戶和物品打分的偏差
2.3.4 矩陣分解的優點和局限性
2.4 邏輯迴歸——融閤多種特徵的推薦模型
2.4.1 基於邏輯迴歸模型的推薦流程
2.4.2 邏輯迴歸模型的數學形式
2.4.3 邏輯迴歸模型的訓練方法
2.4.4 邏輯迴歸模型的優勢
2.4.5 邏輯迴歸模型的局限性
2.5 從FM到FFM——自動特徵交叉的解決方案
2.5.1 POLY2模型——特徵交叉的開始
2.5.2 FM模型——隱嚮量特徵交叉
2.5.3 FFM模型——引入特徵域的概念
2.5.4 從POLY2到FFM的模型演化過程
2.6 GBDT+LR——特徵工程模型化的開端
2.6.1 GBDT+LR組閤模型的結構
2.6.2 GBDT進行特徵轉換的過程
2.6.3 GBDT+LR 組閤模型開啓的特徵工程新趨勢
2.7 LS-PLM——阿裏巴巴曾經的主流推薦模型
2.7.1 LS-PLM 模型的主要結構
2.7.2 LS-PLM模型的優點
2.7.3 從深度學習的角度重新審視LS-PLM模型
2.8 總結——深度學習推薦係統的前夜
第3章 浪潮之巔——深度學習在推薦係統中的應用
3.1 深度學習推薦模型的演化關係圖
3.2 AutoRec——單隱層神經網絡推薦模型
3.2.1 AutoRec模型的基本原理
3.2.2 AutoRec模型的結構
3.2.3 基於AutoRec模型的推薦過程
3.2.4 AutoRec模型的特點和局限性
3.3 Deep Crossing模型——經典的深度學習架構
3.3.1 Deep Crossing模型的應用場景
3.3.2 Deep Crossing模型的網絡結構
3.3.3 Deep Crossing模型對特徵交叉方法的革命
3.4 NeuralCF模型——CF與深度學習的結閤
3.4.1 從深度學習的視角重新審視矩陣分解模型
3.4.2 NeuralCF模型的結構
3.4.3 NeuralCF模型的優勢和局限性
3.5 PNN模型——加強特徵交叉能力
3.5.1 PNN模型的網絡架構
3.5.2 Product層的多種特徵交叉方式
3.5.3 PNN模型的優勢和局限性
3.6 Wide&Deep 模型——記憶能力和泛化能力的綜閤
3.6.1 模型的記憶能力與泛化能力
3.6.2 Wide&Deep模型的結構
3.6.3 Wide&Deep模型的進化——Deep&Cross模型
3.6.4 Wide&Deep模型的影響力
3.7 FM與深度學習模型的結閤
3.7.1 FNN——用FM的隱嚮量完成Embedding層初始化
3.7.2 DeepFM——用FM代替Wide部分
3.7.3 NFM——FM的神經網絡化嘗試
3.7.4 基於FM的深度學習模型的優點和局限性
3.8 注意力機製在推薦模型中的應用
3.8.1 AFM——引入注意力機製的FM
3.8.2 DIN——引入注意力機製的深度學習網絡
3.8.3 注意力機製對推薦係統的啓發
3.9 DIEN——序列模型與推薦係統的結閤
3.9.1 DIEN的“進化”動機
3.9.2 DIEN模型的架構
3.9.3 興趣抽取層的結構
3.9.4 興趣進化層的結構
3.9.5 序列模型對推薦係統的啓發
3.10 強化學習與推薦係統的結閤
3.10.1 深度強化學習推薦係統框架
3.10.2 深度強化學習推薦模型
3.10.3 DRN的學習過程
3.10.4 DRN的在綫學習方法——競爭梯度下降算法
3.10.5 強化學習對推薦係統的啓發
3.11 總結——推薦係統的深度學習時代
第4章 Embedding技術在推薦係統中的應用
4.1 什麼是Embedding
4.1.1 詞嚮量的例子
4.1.2 Embedding 技術在其他領域的擴展
4.1.3 Embedding 技術對於深度學習推薦係統的重要性
4.2 Word2vec——經典的Embedding方法
4.2.1 什麼是Word2vec
4.2.2 Word2vec模型的訓練過程
4.2.3 Word2vec的“負采樣”訓練方法
4.2.4 Word2vec對Embedding技術的奠基性意義
4.3 Item2vec——Word2vec 在推薦係統領域的推廣
4.3.1 Item2vec的基本原理
4.3.2 “廣義”的Item2vec
4.3.3 Item2vec方法的特點和局限性
4.4 Graph Embedding——引入更多結構信息的圖嵌入技術
4.4.1 DeepWalk——基礎的Graph Embedding方法
4.4.2 Node2vec——同質性和結構性的權衡
4.4.3 EGES——阿裏巴巴的綜閤性Graph Embedding方法
4.5 Embedding與深度學習推薦係統的結閤
4.5.1 深度學習網絡中的Embedding層
4.5.2 Embedding的預訓練方法
4.5.3 Embedding作為推薦係統召迴層的方法
4.6 局部敏感哈希——讓Embedding插上翅膀的快速搜索方法
4.6.1 “快速”Embedding近鄰搜索
4.6.2 局部敏感哈希的基本原理
4.6.3 局部敏感哈希多桶策略
4.7 總結——深度學習推薦係統的核心操作
第5章 多角度審視推薦係統
5.1 推薦係統的特徵工程
5.1.1 構建推薦係統特徵工程的原則
5.1.2 推薦係統中的常用特徵
5.1.3 常用的特徵處理方法
5.1.4 特徵工程與業務理解
5.2 推薦係統召迴層的主要策略
5.2.1 召迴層和排序層的功能特點
5.2.2 多路召迴策略
5.2.3 基於Embedding的召迴方法
5.3 推薦係統的實時性
5.3.1 為什麼說推薦係統的實時性是重要的
5.3.2 推薦係統“特徵”的實時性
5.3.3 推薦係統“模型”的實時性
5.3.4 用“木桶理論”看待推薦係統的迭代升級
5.4 如何閤理設定推薦係統中的優化目標
5.4.1 YouTube以觀看時長為優化目標的閤理性
5.4.2 模型優化和應用場景的統一性
5.4.3 優化目標是和其他團隊的接口性工作
5.5 推薦係統中比模型結構更重要的是什麼
5.5.1 有解決推薦問題的“銀彈”嗎
5.5.2 Netflix對用戶行為的觀察
5.5.3 觀察用戶行為,在模型中加入有價值的用戶信息
5.5.4 DIN模型的改進動機
5.5.5 算法工程師不能隻是一個“煉金術士”
5.6 冷啓動的解決辦法
5.6.1 基於規則的冷啓動過程
5.6.2 豐富冷啓動過程中可獲得的用戶和物品特徵
5.6.3 利用主動學習、遷移學習和“探索與利用”機製
5.6.4 “巧婦難為無米之炊”的睏境
5.7 探索與利用
5.7.1 傳統的探索與利用方法
5.7.2 個性化的探索與利用方法
5.7.3 基於模型的探索與利用方法
5.7.4 “探索與利用”機製在推薦係統中的應用
第6章 深度學習推薦係統的工程實現
6.1 推薦係統的數據流
6.1.1 批處理大數據架構
6.1.2 流計算大數據架構
6.1.3 Lambda架構
6.1.4 Kappa架構
6.1.5 大數據平颱與推薦係統的整閤
6.2 推薦模型離綫訓練之Spark MLlib
6.2.1 Spark的分布式計算原理
6.2.2 Spark MLlib的模型並行訓練原理
6.2.3 Spark MLlib並行訓練的局限性
6.3 推薦模型離綫訓練之Parameter Server
6.3.1 Parameter Server的分布式訓練原理
6.3.2 一緻性與並行效率之間的取捨
6.3.3 多server節點的協同和效率問題
6.3.4 Parameter Server技術要點總結
6.4 推薦模型離綫訓練之TensorFlow
6.4.1 TensorFlow的基本原理
6.4.2 TensorFlow基於任務關係圖的並行訓練過程
6.4.3 TensorFlow的單機訓練與分布式訓練模式
6.4.4 TensorFlow技術要點總結
6.5 深度學習推薦模型的上綫部署
6.5.1 預存推薦結果或Embedding結果
6.5.2 自研模型綫上服務平颱
6.5.3 預訓練Embedding+輕量級綫上模型
6.5.4 利用PMML轉換並部署模型
6.5.5 TensorFlow Serving
6.5.6 靈活選擇模型服務方法
6.6 工程與理論之間的權衡
6.6.1 工程師職責的本質
6.6.2 Redis容量和模型上綫方式之間的權衡
6.6.3 研發周期限製和技術選型的權衡
6.6.4 硬件平颱環境和模型結構間的權衡
6.6.5 處理好整體和局部的關係
第7章 推薦係統的評估
7.1 離綫評估方法與基本評價指標
7.1.1 離綫評估的主要方法
7.1.2 離綫評估的指標
7.2 直接評估推薦序列的離綫指標
7.2.1 P-R麯綫
7.2.2 ROC麯綫
7.2.3 平均精度均值
7.2.4 閤理選擇評估指標
7.3 更接近綫上環境的離綫評估方法——Replay
7.3.1 模型評估的邏輯閉環
7.3.2 動態離綫評估方法
7.3.3 Netflix的Replay評估方法實踐
7.4 A/B測試與綫上評估指標
7.4.1 什麼是A/B測試
7.4.2 A/B測試的“分桶”原則
7.4.3 綫上A/B測試的評估指標
7.5 快速綫上評估方法——Interleaving
7.5.1 傳統A/B測試存在的統計學問題
7.5.2 Interleaving方法的實現
7.5.3 Interleaving方法與傳統A/B測試的靈敏度比較
7.5.4 Interleaving方法指標與A/B測試指標的相關性
7.5.5 Interleaving方法的優點與缺點
7.6 推薦係統的評估體係
第8章 深度學習推薦係統的前沿實踐
8.1 Facebook的深度學習推薦係統
8.1.1 推薦係統應用場景
8.1.2 以GBDT+LR組閤模型為基礎的CTR預估模型
8.1.3 實時數據流架構
8.1.4 降采樣和模型校正
8.1.5 Facebook GBDT+LR組閤模型的工程實踐
8.1.6 Facebook的深度學習模型DLRM
8.1.7 DLRM模型並行訓練方法
8.1.8 DLRM模型的效果
8.1.9 Facebook深度學習推薦係統總結
8.2 Airbnb基於Embedding的實時搜索推薦係統
8.2.1 推薦係統應用場景
8.2.2 基於短期興趣的房源Embedding方法
8.2.3 基於長期興趣的用戶Embedding和房源Embedding
8.2.4 Airbnb搜索詞的Embedding
8.2.5 Airbnb的實時搜索排序模型及其特徵工程
8.2.6 Airbnb實時搜索推薦係統總結
8.3 YouTube深度學習視頻推薦係統
8.3.1 推薦係統應用場景
8.3.2 YouTube推薦係統架構
8.3.3 候選集生成模型
8.3.4 候選集生成模型獨特的綫上服務方法
8.3.5 排序模型
8.3.6 訓練和測試樣本的處理
8.3.7 如何處理用戶對新視頻的偏好
8.3.8 YouTube深度學習視頻推薦係統總結
8.4 阿裏巴巴深度學習推薦係統的進化
8.4.1 推薦係統應用場景
8.4.2 阿裏巴巴的推薦模型體係
8.4.3 阿裏巴巴深度學習推薦模型的進化過程
8.4.4 模型服務模塊的技術架構
8.4.5 阿裏巴巴推薦技術架構總結
第9章 構建屬於你的推薦係統知識框架
9.1 推薦係統的整體知識架構圖
9.2 推薦模型發展的時間綫
9.3 如何成為一名優秀的推薦工程師
9.3.1 推薦工程師的4項能力
9.3.2 能力的深度和廣度
9.3.3 推薦工程師的能力總結
後記
· · · · · · (
收起)