●章 互聯網的增長引擎――推薦繫統
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 推薦工程師的能力總結
後記
內容簡介
深度學習在推薦繫統領域掀起了一場技術革命,本書從深度學習推薦模型、Embedding技術、推薦繫統工程實現、模型評估體繫、業界前沿實踐等幾個方面介紹了這場技術革命中的主流技術要點。《深度學習推薦繫統》既適合推薦繫統、計算廣告和搜索領域的從業者閱讀,也適合人工智能相關專業的本科生、研究生、博士生閱讀,幫助他們建立深度學習推薦繫統的技術框架,通過學習前沿案例加強深度學習理論與推薦繫統工程實踐的融合能力。