在以AI技術為支持的推薦、搜索、廣告等業務中,點擊率預估(CTR)一直是技術攻堅的核心,同時也是AI技術在業務落地中最難實現的技術方向之一。近日,來自京東廣告團隊的一篇論文《Category-Specific CNN for Visual-aware CTR Prediction at JD.com》,即《在京東,視覺助力點擊率預估——基於給定類目信息的卷積神經網絡》被KDD2020成功收錄。論文構建了一種基於特定類目的卷積神經網絡(Category-Specific CNN, CSCNN),該算法有效利用了電商領域中豐富的商品類目信息,創新性的將商品類目信息與商品主圖共同作為主圖特徵提取模塊的輸入,提取基於特定先驗類目信息的商品主圖特徵,大大提高了CTR預估的準確度。
儘管京東的廣告業務在業界起步的比較晚,但增速卻讓人刮目相看。這其中很大一部分原因得益於AI技術在廣告業務的大範圍應用。據京東商業提升事業部廣告質量部負責人包勇軍介紹,京東機器學習在2015年正式應用在在線廣告中,初版排序模型使用淺層FM base的超稀疏模型,淺層模型時代的模型工作,主要著眼在業務理解和特徵提取。這為以後模型發展技術路線奠定了一定的迭代基礎,相對於當時許多tree base model架構的業務線,京東更容易向神經網絡遷移。在2016年,商業提升事業部部署LR-DNN模型架構,基於Theano框架離線訓練,自研在線severing服務。模型上線早於google的wide & deep模型發布,雖然較w&d模型設計和使用略顯粗糙,但是也是將深度學習算法引入廣告生產環境中的一次大版本升級,對於部門有舉足輕重的意義。2017年,商業提升事業部的算法部門將整個模型基礎架構進行升級,9N機器學習平臺進行內功修煉,內核遷移到工業界主流的TensorFlow平臺,完善作為工業生產平臺的所有配套模塊。
2018年後,模型算法進入業務建模時代,算法升級從特徵加工、模型調參,邁向業務理解建模的新階段。模型迭代升級進入快車道,業務指標顯著增長。模型建模出現新的細分方向,同時,模型建模迭代也推動自研機器學習平臺9N的升級。京東將精力更多的放在用戶刻畫、預估商品刻畫、用戶和商品關係的建模上,同時致力於發現模型應用中的使用短板,解決模型規模、學習效率、參數更新實時性等關鍵技術問題:
Multi task DCN主要解決了兩個問題。首先將LR-DNN升級到DCN,將算法工程師從特徵選擇交叉的繁重工作中解放。其次採用多路輸出的模型解決position bias。
User Memory Net靜態用戶刻畫。長期行為更致力於刻畫用戶內在屬性和偏好,並可以排除由外界因素導致的用戶短期興趣波動。由於使用了很長的用戶行為,在線serving架構設計存在難點。
Category Specific CNN (CSCNN)是一種使用CNN抽取圖像信息,並和CTR任務端到端聯合優化的建模方法。一方面,需要考量高效離線訓練及線上serving的方法。另一方面,和傳統只以圖片為輸入的CNN不同,CSCNN將電商場景下豐富、具有強視覺先驗的「商品類目標註」作為CNN輸入的一部分,降低CNN訓練的難度。CSCNN可以從商品圖中提取到標題/類目等特徵刻畫不出的細節,並對冷啟商品有更好的泛化。
KFAtt(KF Attention model for user behavior sequence)是用戶實時行為序列建模的方法。整體我們採用Transformer的框架建模時序及用戶行為和當前target的關聯,是綜合考量線上serving和後期迭代的擴展性的技術選型,實驗驗證效果優於流行的DIN和DIEN。我們進一步指出傳統attention存在的問題,並直接對attention機製做出了改進。在用戶興趣多變、異質行為差異巨大電商場景下,KFAtt比傳統attention表現出更優的效果。
Realtime Graph Convolutional Network (RGCN)是用戶-商品實時關係圖建模的方法。對於長尾和冷起階段的商品,藉助關係圖可以得到更豐富的表示;對於活動、促銷,實時關係圖也可以更快捕獲商品的時變特性。
目前機器學習已經在京東廣告的各個環節得到深入應用。後續我們會逐一為大家進行詳細介紹。此次入圍KDD的論文,就是機器學習在廣告CTR模型生產環境中結合圖像信息的CTR建模的應用,接下來讓我們一起詳細了解一下這篇論文
一、任務背景:
廣告點擊率(Click Through Rate, CTR)預測問題,即已知用戶、廣告、環境等信息,預測該用戶點擊該廣告的概率,是廣告領域的最根本問題之一。精準的廣告點擊率預測是整個廣告系統的基石,直接關係到京東數億活躍用戶的使用體驗與百萬廣告主的切身商業利益。
在電商領域中,商品普遍以商品主圖搭配文字描述的格式展示給消費者。相比於文字描述,商品主圖往往包含更多的細節的、直觀的商品信息,具有更強的視覺衝擊力,直接影響用戶偏好。因此,提取商品主圖中的豐富的視覺特徵,能有效挖掘商品特性,從而為CTR預測提供強有力的支持。
圖一、電商廣告示意圖,紅框內為商品主圖。因其佔面積大、表達的信息多和更吸引的用戶注意力,故其特徵的有效提取,對於後續CTR預測,有著至關重要的作用。
我們的目標是:在百億規模的訓練樣本上,構建一種CNN有效抽取視覺特徵,並和CTR任務聯合訓練。與此同時,滿足線上系統的平響要求。
二、現有方法的問題:
引入視覺信息的CTR預估中,業界通常會採用一種後融合的方式。做法是:採用現成、經典的CNN結構(Inception[1], ResNet[2], SeNet[3] 等)抽取圖片特徵,並與其他非視覺特徵(如廣告商品的類目信息、用戶的個人特徵、廣告位置時間等)以後融合的方式,一起作為CTR預估模型的輸入。
圖二、現有的商品主圖特徵提取技術的缺點,紅色虛線框為現有技術缺失部分。主圖特徵提取模塊缺失了商品類目作為CNN的輸入,無法精確地提取基於特定商品類目的主圖特徵,限制了CTR預估的準確性。
然而這種業界通用的做法,一直面臨兩個重要的問題:
工業級廣告CTR預估系統需要滿足線下快速訓練和線上低延遲服務兩項重要技術要求。 然而,由於CNN的運算速度遠遠慢於CTR預估系統的其他模塊,它可能成為整個CTR預估系統的運算瓶頸。所以,在實際CTR預估系統中應用CNN來提取圖像特徵通常是極為困難的。
現有的商品主圖特徵提取模塊,絕大多數搬遷自經典的、原本用於圖像分類的CNN結構。在原本的圖像分類任務中,圖像的類別是未知的、待預測的,因此這些CNN結構並沒有把圖像的類別作為輸入。而在CTR預估中,電商商品的類別是被清晰的標註的,並且極有可能含有能輔助圖像特徵提取的,豐富的視覺先驗。在業界常用的,視覺特徵與非視覺特徵「後融合」的結構中,CNN沒有有效利用「商品類別」這一重要信息,從而可能提取到與當前類目無關的特徵,浪費了CNN有限的表達能力。相反,如果我們能設計一種新的CNN結構,有效利用商品類別信息,那麼提取到的基於特定類目的視覺特徵,會極大地降低CNN的訓練難度。
三、我們的算法原理:
旨在有效利用電商領域中豐富的商品類目信息,我們將商品類目信息與商品主圖共同作為主圖特徵提取模塊的輸入,從而提取基於特定先驗類目信息的商品主圖特徵。算法命名為基於特定類目的卷積神經網絡(Category-Specific CNN, CSCNN)。相比於現有的主圖特徵提取技術,我們提取的主圖特徵能更為精確地描述商品特徵,觸達用戶偏好,提升CTR預估的性能。
設計靈感最初來源於SeNet 和CBAM[4],即用輕量級的自身注意力網絡刻畫卷積特徵之間的內在聯繫。亮點在於我們創新性地在每一個卷積層,都加入了類目信息,從而使基於特定類目的注意力網絡能學到既重要又專注於特定類目的視覺特徵。
圖三、商品主圖特徵提取的流程圖,為了清晰表述,本圖只突出單一層的變換模塊。實際中,該Attention結構可加在多層卷積網絡中。
商品主圖I通過多層卷積神經網絡處理。在每一層CNN後,本層CNN的輸出一個特徵圖張量(Tensor)F,該特徵圖張量經過通道注意力模塊Mc 的變換後,調整為新的特徵圖張量F』,進一步經過空間注意力模塊Ms變換後,調整為特徵圖張量F』』,這個特徵圖張量F』』作為本層輸出的特徵圖,被輸入到下一層CNN中處理。如圖三。
我們來具體介紹下,通道注意力和空間注意力模塊內部結構。
CNN的輸出特徵圖張量F,先經過通道注意力模塊Mc調整為F』,具體流程如圖四(上): 首先,特徵圖F經過空間維度的壓縮,得到了C維的Maxpooling和Avgpooling向量。兩者分別拼接上C』維的類目特徵向量Akc通過全連接層變換為兩個C維向量後相加,得到一個C維的通道注意力向量,與原特徵圖廣播後元素相乘後,得到調整後的特徵圖張量F』。總結為:
其中類目特徵向量Akc,因類目k而異,和其他網絡參數一起隨機初始化後通過反向傳播算法迭代優化。
圖四、通道注意力模塊和空間注意力模塊
通道注意力調整後的特徵圖張量F』,經過空間注意力模塊Ms調整為F』』,具體流程如圖四(下):首先,特徵圖F』經過通道維度的壓縮,得到了WH維的Maxpooling和Avgpooling矩陣。兩者拼接上WH維的類目特徵向量Aks,共同通過7*7的卷積核變換後,得到一個HW維的空間注意力矩陣,與原特徵圖廣播元素相乘後,得到調整後的特徵圖張量F』』。總結為:
其中類目特徵向量Aks,因類目k而異,和其他網絡參數一起隨機初始化後通過反向傳播算法迭代優化。
經通道和空間維度兩次調整後的特徵圖張量F』』,已經包含了類目k的先驗信息,被作為了下一個卷幾層的輸入。以上兩個調整模塊,可以用在各個卷積層中,使得整個網絡能提取基於特定類目先驗信息的商品主圖特徵。
四、我們的架構流程:
圖五、在線模型系統架構
離線訓練:CSCNN模塊與整個CTR預估預估模型(Deep & Cross Net[5])共同訓練。為了解決CNN的計算瓶頸問題,加速訓練,我們採用了一種特殊的採樣方式[6]。集中25個,有相同圖像的廣告訓練樣本在同一個訓練Batch中。如此CNN圖像特徵提取可以只計算一次,然後廣播到這個訓練Batch中的25個樣本。現在我們可以在一天內完成150億廣告展示樣本、1.77億圖片的聯合訓練。
離線詞表生成:商品圖像和商品類目信息被共同輸入到訓練好的CSCNN模塊中,計算商品圖像的視覺特徵向量。在線預估系統加載這些視覺特徵,作為CNN模塊的替代,輸入到CTR預估系統中。結合一定的頻次控制策略,20GB的詞表可以覆蓋第二天的90%的線上流量。
在線服務:在線服務系統接收到一條CTR預估請求後,會根據廣告ID,從圖像特徵詞表中直接查詢視覺特徵向量,與非視覺特徵一起輸入到CTR預估模型中計算。在3 Million/second的流量峰值中,我們的CPU在線服務系統能把TP99延遲嚴格控制在20ms以內。
五、實驗效果:
我們的實驗設計主要關注於兩方面:
測試CSCNN模塊的,有效提取特定類目信息的視覺特徵的能力。為了排除龐大的CTR系統中的多方幹擾,我們選擇了Amazon Benchmark 數據集,和簡單的線性CTR預估模型Bayesian Personalized Ranking (BPR).
我們進一步測試CSCNN對於整個CTR系統的提升。包括在京東廣告系統收集的150億訓練樣本的工業數據集,和真實流量的Online A/B Test.
具體結果如圖:
圖六、Amazon Benckmark數據集上的AUC比較。我們的算法顯著優於State-of-the-Art。得益於圖像信息和商品類目信息的加入和有效早融合
圖七、Amazon Benckmark數據集上的AUC比較。不同的Attention機制中,都可以通過加入CSCNN模塊獲得一致提升。證明了CSCNN的優秀適應性。
圖八、Amazon Benckmark數據集上的AUC比較。網絡Backbone結構,都可以通過加入CSCNN模塊獲得一致提升。證明了CSCNN的優秀適應性
圖九、工業數據集 & Online A/B Test。CSCNN貢獻了線下AUC和線上CTR的顯著提升。
五、結論:
我們提出了一種基於給定類目信息的卷積神經網絡。通過CNN圖像特徵提取與商品類目信息的早融合網絡結構,有效的強調了既重要、又直接跟特定類目相關的視覺特徵。從而顯著提升CTR預估的準確性。匹配高效的基礎架構,CSCNN現在被應用到京東搜索廣告系統的主流量中,服務於數億活躍用戶。
雷鋒網雷鋒網