日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度學習實戰(不定時更新)
8.5 深度學習CTR排序模型
學習目標
- 目標
- 知道深度學習排序模型的發展特點
- 應用
- 無
8.5.1 深度學習CTR模型的前夜
2010年FM被提出,特徵交叉的概念被引入CTR模型;2012年MLR在阿里大規模應用,其結構十分接近三層神經網絡;2014年Facebook用GBDT處理特徵,揭開了特徵工程模型化的篇章。這些概念都將在深度學習CTR模型中繼續應用,持續發光。
另一邊,Alex Krizhevsky 2012年提出了引爆整個深度學習浪潮的AlexNet,深度學習的大幕正式拉開,其應用逐漸從圖像擴展到語音,再到NLP領域,推薦和廣告也必然會緊隨其後,投入深度學習的大潮之中。
2016年,隨着FNN,Deep&Wide,Deep crossing等一大批優秀的CTR模型框架的提出,深度學習CTR模型逐漸席捲了推薦和廣告領域,成爲新一代CTR模型當之無愧的主流。
深度學習CTR算法演化圖
我們在學習使用一些廣告、推薦領域流行的深度學習CTR模型的結構特點時候。應當選擇模型的標準儘量遵循下面三個原則:
-
1.模型的在業界影響力較大的
-
2.已經被Google,微軟,阿里等知名互聯網公司成功應用的
-
3.工程導向的,而不是僅用實驗數據驗證或學術創新用的
DNN
實驗表明從線性的LR到具備非線性交叉的FM,到具備Field信息交叉的FFM,模型複雜度(模型容量)的提升,帶來的都是結果的提升。而LR和FM/FFM可以視作簡單的淺層神經網絡模型,基於下面一些考慮,我們在把CTR模型切換到深度學習神經網絡模型:
- 通過改進模型結構,加入深度結構,利用端到端的結構挖掘高階非線性特徵,以及淺層模型無法捕捉的潛在模式。
- 對於某些ID類特別稀疏的特徵,可以在模型中學習到保持分佈關係的稠密表達(embedding)。
- 充分利用圖片和文本等在簡單模型中不好利用的信息。
Google Wide&Deep(2016年)記憶能力和泛化能力的綜合權衡
首先嚐試的是Google提出的經典模型Wide & Deep Model,模型包含Wide和Deep兩個部分(LR+DNN的結合)
- 其中Wide部分可以很好地學習樣本中的高頻部分,在LR中使用到的特徵可以直接在這個部分使用,但對於沒有見過的ID類特徵,模型學習能力較差,同時合理的人工特徵工程對於這個部分的表達有幫助。
- 根據人工經驗、業務背景,將我們認爲有價值的、顯而易見的特徵及特徵組合,喂入Wide側。
- Deep部分可以補充學習樣本中的長尾部分,同時提高模型的泛化能力。Wide和Deep部分在這個端到端的模型裏會聯合訓練。
- 通過embedding將tag向量化,變tag的精確匹配,爲tag向量的模糊查找,使自己具備了良好的“擴展”能力。
Wide&Deep對之後模型的影響在於——大量深度學習模型採用了兩部分甚至多部分組合的形式,利用不同網絡結構挖掘不同的信息後進行組合,充分利用和結合了不同網絡結構的特點。
阿里DIN(2018年)阿里加入Attention機制的深度學習網絡