深度學習在CTR預估的應用
深度學習在各個領域的成功
深度學習在影象和音訊等方向比傳統方向有大的提升,導致很多產品能快速落地
第一行三張圖片代表圖片和音訊方向相比傳統提升30%-50%,第二行第一張代表深度學習在自然語言處理方面方向的應用(相比傳統學習方法有提升,但是提升效果有限),後兩張代表生成式模型(生成圖片比較火的是GAN)
例如:寫好故事框架有時間地點等,GAN自動生成視訊(未來)
ctr:點選率
給定使用者商品看使用者點選的概率是多少
User、Movie採用one-hot編碼,黃色部分代表歷史看過電影向量
傳統預測CTR方法:
LR和線性模型關係:LR是sigmoid函式,將數值壓縮到0-1之間
LR模型
優點:簡單、可解釋(權值大)、易擴充套件、效率高、易並行
缺點:難以捕獲特徵組合(公式沒有特徵相關聯部分)
針對缺點改進:
特徵兩兩組合,一共有n方種可能,缺點:泛化能力弱(訓練資料沒看見特徵組合權值為0,將來預測時候權值還是0)
改進泛化能力強一些:
改動地方是標紅的地方,原來是某個數值,現在是低維向量內積
GBDT很容易找到有效組合特徵,GBDT先找到有效的組合特徵加到LR模型當中
目前最好的效果之一
FM:有n個特徵有n*n種特徵組合,GBDT找到有效的組合,降低不必要的組合,增加效率
深度學習基礎模型
MLP
隱層神經元:加權求和、非線性變換
現在用的比較多的啟用函式:RELU
層數比較多,用上述傳統的啟用函式,前面淺層權重學不到東西,所以用的比較多的是RELU,導數是常數
CNN(主要用於圖片)
解釋:輸出一張圖片,卷積層、下采樣、卷積層、下采樣、全連線、輸出層
對整體模型引數量有效的降低,引數數量少不容易過擬合
每個卷積核捕獲什麼特徵那
最底層學到線段 、高層圖片紋理、再高一層模式、部件、實際物體輪廓
RNN(一維序列型資料,適合解決序列問題)
輸入層、隱層、輸出層,不同之處隱層之間有個傳遞過程(第t步不僅包括當前步的輸入還包括上一層的輸出)
RNN改進:
LSTM:
深度學習ctr預估模型
離散特徵輸入問題解決啦
Wide&Deep是目前比較低階的結構,由於上述幾個原因
低階特徵晒到模型當中
加個attention對特徵組合賦予一定的權重,表示哪些重要,哪些特徵組合不重要,對特徵組合做個甄別(AFM思想)
經驗:
某些模型需要預訓練
平行結構或菱形結構效果比較好(可能跟資料集有關)
深度網路深度(一般ctr兩層或三層,不需要層數太多)
值得研究的地方是FM_Function這個部分到底怎麼做?
深度學習做ctr模型比較單一
CTR預估案例:
目的:視訊推薦使用者能看,高點選率
問題:在幾億中找到使用者喜歡的東西,進行推送,時間要求比較高
解決該問題分兩步:
第一步:初篩,篩選可能感興趣的內容,為後面篩選一個小集合
第二步:排序,排序,特徵比較多,要求精度比較高
初篩
輸入:使用者歷史行為(看過某個視訊列表的輸入向量轉化dense),搜尋詞、群體性統計特徵(性別、中老年等)
歸為兩大類:行為特徵、統計特徵
average把輸入向量搞成定長的
給使用者推薦資訊,目前只有使用者歷史資訊
給定使用者興趣向量對視訊1000萬視訊進行投票,轉化為一個分類問題
學使用者的興趣怎麼用向量來表達
初篩:向量表達使用者興趣(篩選出50個)
訓練過程:某個使用者的embedding 、某個視訊的embedding,之後算餘弦,排序
預測使用者觀看時長架構如下:(時間越長越排到前面推薦給使用者)
一個人多種興趣,多種興趣某一時刻只體現某一興趣(區域性啟用)
流程:線上收集很多使用者歷史資料,點過哪些、看過哪些、買過哪些、建模,之後對使用者興趣進行了解,有很多廣告,把最可能點的廣告進行推送
收集的使用者特徵:
基礎模型:
推送廣告和歷史進行算一下距離
出發點:剛才出發點怎麼改進模型讓ctr效果更好,jd 圖片資訊能否柔到模型當中
兩階段:初篩:精度不要求那麼高,但是要求快;排序:精排,選取k個
網路結構
右面一部分:深度網路,可以認為是wide & deep 網路
左側一部分:圖片資訊,怎麼柔到模型當中,1-N表示過去點過N個商品圖片,CNN提取圖片特徵
A|B test對比7天對比結果,引入圖片對效果增大比較大
相同商品通過聚類,都可以聚到一類