深度圖像特徵在推薦和廣告中的應用(一)

 

一直對圖像有濃厚的興趣,最近在關注:如何經過深度學習抽取圖像特徵,用於廣告和推薦。網絡

CNN 是一個簡單的網絡結構,初學者通常從MNIST入手,說起CNN第一印象可能只有經典的圖像分類的那個model。深刻了解纔會發現,學術圈和工業界是如何經過稍稍改變 Feature Map 以後的結構和目標函數等實現各類複雜任務,這其中迸發的想象力讓人激動。ide

 

「Image Feature Learning for Cold Start Problem in Display Advertising「 這篇文章發表在ijcai15,是騰訊把圖像特徵應用到廣告ctr預估的總結,同時也解答了廣告中什麼區域對點擊率影響較大。這篇文章是較早把圖像的深度特徵用於點擊率預估的工做之一,2015年的時候,推薦學術界裏在深度學習方面起到重要影響的文章 Wide and Deep 、Youtube Rec with DNN 和一些 RNN 作推薦的方法還沒有出現,高維稀疏特徵的one hot encode embedding 成低維稠密特徵的方法還沒有被大衆熟悉,因此這篇文章的作法並非直接端到端的結構,而是經過CNN 抽取圖像特徵,而後用到 Logistic Regression(LR) 等常見的CTR模型中使用。函數

下面進入廣告時間,猜猜什麼因素致使左邊點擊率高,文末有答案。學習

文章主要想法分爲兩步,第一步,利用卷積神經網絡,實現從原始像素到用戶點擊反饋的 end-to-end 的圖像特徵學習。第二步,訓練好的CNN能夠抽取與點擊率相關的圖像特徵,外加廣告屬性的特徵,這些特徵綜合起來訓練LR等模型來預估最終點擊率。測試

抽取圖像特徵的網絡結構以下:spa

100*100像素圖像輸入 => 4層conv+pool => 3層FC => 二分類softmax(點擊率)設計

視覺元素的位置重要性日誌

傳統的圖像分類只關心是否包含某個視覺元素,而不關心該視覺元素在圖像中的位置。對於展現面積比較大的廣告圖片,由於用戶的視覺焦點通常在圖像中心,關鍵的視覺元素在圖像中的位置對於點擊率有明顯影響,所以設計的卷積神經網絡的最後一層卷積輸出層的feature map應該稍大,以傳遞原圖的位置信息。code

數據集blog

  • 樣本規模:470億樣本,樣原本源於騰訊在線廣告日誌,包含5種類別,5 種展現位置。樣本數據量太大,直接用CNN訓練在時間上不可接受,所以做者吧相同的圖片聚合一塊兒,造成二維樣本<未點擊數,點擊數>。文章沒有提到的一點是,<1000,10><100, 1> 從統計上來講點擊率相同,訓練的時候有什麼區別?我猜想對梯度應該有必定影響,樣本數量越大,步長越長。

  • 數據加強:25萬張廣告圖片,劃分爲22萬張訓練集和3.3萬張測試集。訓練集縮放裁剪到 128 * 128像素大小,而後隨機裁剪 100 * 100 子圖做爲卷積網絡的輸入。測試集隨機裁剪 10 次,用輸出機率的平均值做爲最後的預測結果。

  • 單機GPU訓練 2 天

實驗結果

作了兩種版本的比較,第一種只用圖像特徵,第二種包括廣告id、類目id和展現位置id三個額外特徵,分別用LR模型預測ctr,用AUC離線評測:

什麼影響點擊率

用可視化方法,能夠觀察d奧圖片模特人臉區域和文字區域對點擊率影響比較大:

 

 

 

附:公衆號 

相關文章
相關標籤/搜索