序言
本書的目的是“從技術創(chuàng)造的視角,以具體的技術誕生場景為藍圖殖侵,試圖引導讀者學習和掌握工業(yè)界模型設計背后真正“銀彈” - 目的是解決什么樣的問題”
深度學習打破之前原有的學術界模型復雜條件苛刻的情況涡真,它具有以下特點:
- 開源工具多
- 深度模型的模塊標準化程度高
- 模型的設計和實現(xiàn)結構畏线,大大提升了算法迭代效率
工業(yè)界技術的正確視角是問題驅動
而不是拿著錘子找釘子
問題驅動: 定義清楚問題,想清楚技術的需求,然后尋找或構思相應的技術工具
以阿里為例它通過電商場景的行為模式和用戶興趣的利用,進行了一系列的算法迭代,是問題驅動
的典型例子.
現(xiàn)在,大部分公司的工業(yè)級深度學習處于1.0, 已經(jīng)遇到了瓶頸,傳統(tǒng)的:
- 搭積木
- 喂數(shù)據(jù)
- 算法改進需要工程大量的升級改造
這幾種形式已經(jīng)難以為繼,需要進入2.0階段,作者判斷和呼吁
對于推薦\搜索和廣告領域,業(yè)界需要重新定義和設計新的系統(tǒng)架構,以適應深度學習爆發(fā)式發(fā)展帶來的領先算法那能力.
需要專項更為復雜和系統(tǒng)性的技術體系,進一步創(chuàng)造技術紅利.
1. 互聯(lián)網(wǎng)增長引擎-推薦系統(tǒng)
推薦系統(tǒng)的意義
用戶角度:推薦系統(tǒng)解決在"信息過載"的情況下,用戶如何高效獲得感興趣信息的問題. 即用戶體驗.
公司角度:推薦系統(tǒng)解決產品能夠最大限度地吸引用戶,留存用戶,增加用戶粘性,提高用戶轉化率的問題,從而達到公司商業(yè)目標連續(xù)增長的目的. 即商業(yè)利益.
這些目表可能是視頻公司的觀看時長\新聞公司的點擊率\電商公司的轉化率等
推薦系統(tǒng)的邏輯框架
推薦系統(tǒng)的問題定義: 通過用戶U\場景C\物品I,預測用戶對特定物品的喜好程度.
推薦系統(tǒng)的架構
如上圖,推薦工程師需要解決的問題有兩類:
- 數(shù)據(jù)問題:數(shù)據(jù)的存儲,處理,實時數(shù)據(jù)處理
- 模型問題:模型的構建,迭代,上線,流式更新
2. 前深度學習時代-推薦系統(tǒng)的進化之路
傳統(tǒng)的推薦算法那的演進如下圖, 傳統(tǒng)的推薦模型是很重要的基礎:
- 目前cf\lr等傳統(tǒng)的推薦模型具有可解釋性強\硬件環(huán)境要求低\抑郁快速訓練和部署的優(yōu)勢,有大量使用的場景;
- 傳統(tǒng)的是深度學習推薦的基礎.
例如,lr是是單層單神經(jīng)元的神經(jīng)網(wǎng)絡;因子分解演化除了FM,deepFM等深度模型具有很好的效果.
上圖,可分為4個部分:
- 協(xié)同過濾(藍色)
- 邏輯回歸: LR
- 因子分解機:FM,FFM
- 組合模型:GBDT+LR
CF
通過貢獻矩陣和合適的相似性度量的方法,進行推薦的技術
userCF
細節(jié)不贅述
缺點:
- 實際場景中user量大,開銷大,計算量大
itemCF
細節(jié)不贅述
CF的缺點
協(xié)同過濾雖然直觀,可解釋性強,但是不具有較強的泛化能力,無法將兩個物品相似這一信息推廣到其他物品的相似性計算上.導致里一個嚴重的問題:
熱門物品具有很強的頭哦不相應,容易跟大量物品產生相似性;而尾部物品由于特征向量稀疏,很少與其他物品產生相似性,導致很少被推薦.
矩陣分解
矩陣分解即將共現(xiàn)矩陣分解得到用戶和物品的隱向量.
矩陣分解有幾種方式:
1.特征值分解eigen decomposition
2.奇異值分解sigular value decomposition
- 要求共現(xiàn)矩陣是稠密的,復雜度高,不適合大數(shù)據(jù)場景
3.梯度下降
優(yōu)缺點
- 泛化能力強
- 空間復雜度低
- 易于擴展和靈活:和embedding的思路類似
邏輯回歸
理論知識略,網(wǎng)上很多了
優(yōu)點
1.物理意義匹配
:邏輯回歸是廣義線性模型的一種,它的假設是因變量服從伯努利分布.對于用戶是否點擊的場景也可以定義為這個分布.
2.可解釋性強
:根據(jù)權重解釋特征的強弱.
3.工程化簡單
缺點
無法進行交叉,特征篩選等,有信息損失.
FM/FFM
書中使用辛普森悖論
解釋了不同性別數(shù)據(jù)和總體數(shù)據(jù)得到不同物品點擊率順序的例子,說明單一特征信息的大量損失問題.
ploy2
二階乘積是最直接的方法,但是數(shù)據(jù)非常稀疏,權重參數(shù)數(shù)量上升
FM模型-隱向量特征交叉
FM與PLOY相比,主要區(qū)別是用兩個向量的內積取代了直接交叉.
參數(shù)量個
優(yōu)點
- 參數(shù)從縮減到了;
- 稀疏性減少:不局限于單一的交叉存在時才能學習,只要有其中一個特征參數(shù),就會被更新.
FFM模型-引入特征域的概念
引入了特征域的概念,每個特征對于另外的特征(域)都有一個單獨的向量表達
參數(shù)量個
GBDT+LR-特征工程化的開端
之前提到了FFM模型,提升了特征的交叉English,但也只有二階交叉的形式,如果再進行更高階的交叉,會產生組合爆炸和計算復雜度過高的問題.
2014年FB提出了GBDT+LR的方式: 利用GBDT自動進行特征篩選和組合,進而生成新的離散特征向量,在吧該向量特征當做LR模型的輸入.
GBDT的特征轉換過程
我們首先需要訓練一個GBDT,假設我們訓練好的模型有三顆樹組成,一個樣本輸入樹中后,會知道它到底經(jīng)過了這些樹的那些葉子節(jié)點,我們把這些階段標成1其他為0即可.
MLR
阿里提出的MLR模型是對lr模型的一個擴展,它假設樣本可分為m類,每一類也會學習到參數(shù),并與lr結合,使得模型有了更強的學習復雜分布數(shù)據(jù)的能力:
如果從深度學習的角度來理解這個模型,可看做是一個加入了(attention)機制的神經(jīng)網(wǎng)絡模型.