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