360展示廣告智能化演進
分享嘉賓:劉斌 360 資深算法工程師
編輯整理:趙勇
出品平臺:DataFunTalk
01
背景介紹
1. 展示廣告業(yè)務介紹
市場上有很多媒體,用戶訪問媒體 ( 比如PC端的搜狐、網(wǎng)易、新浪,移動端的頭條等 ) 時頁面會出廣告,媒體會將用戶當前流量相關信息發(fā)送給Ad Exchange ( 流量拍賣平臺 ),該流量會由Ad Exchange發(fā)送給與其對接的多家DSP ( 廣告投放系統(tǒng) ),DSP會根據(jù)當前流量選擇合適的廣告返回給Exchange,響應時間要求在100ms以內,這些廣告一般是由客戶或者廣告主 ( 比如電商類廣告主京東、唯品會、蘇寧,旅游類廣告主攜程等 ) 在DSP平臺按照流量篩選條件 ( 用戶、媒體、時間、地點 ) 設置,Exchange將各個DSP平臺返回的結果進行整理,選擇出價最高的廣告返回給媒體,媒體最終將出價最高的廣告展示給用戶。
2. 常見展示廣告
常見的展示廣告有:
場景櫥窗廣告,購物tab欄里出現(xiàn)的購物商品廣告,有價格、商品名稱;
開屏廣告,打開媒體產品時展示由設計師精心設計的廣告素材;
信息流廣告,用戶在閱讀信息流內容時,像正常信息流形式一樣出現(xiàn)的廣告,有標題有圖片有內容,這樣的信息形式不會特別破壞用戶的閱讀體驗。
3. 展示廣告架構
展示廣告技術架構,可以分為線上系統(tǒng)和線下系統(tǒng)。線上系統(tǒng)以DSP Server切入,Ad Exchange會將流量發(fā)送給DSP Server,DSP Server會將信息傳遞給Ad Search,Ad Search是廣告的檢索召回系統(tǒng),海量廣告中粗召回匹配的幾百個甚至上千個廣告投放,Ad Search會將信息發(fā)送給Ad Selector,Selector會在幾百個廣告中選擇當前最合理的一個返回給DSP,DSP再返回給Ad Exchange。整個過程的數(shù)據(jù)都會被記錄,以消息的形式發(fā)送給Kafka,最后存儲在hdfs上。線下系統(tǒng),ETL會將數(shù)據(jù)轉成標準的訓練樣本,這些訓練樣本會提供給CVR、CTR等模型訓練,訓練好的模型在由線下推送到線上,交給Ad Search、Ad Selector作為廣告召回和排序使用。
4. CPC廣告投放設置
廣告有按照點擊扣費,有按照曝光扣費,CPC廣告是廣告主與DSP平臺按照點擊結算。右圖是典型的CPC廣告投放設置頁面,廣告主在設置頁面主要需要進行如下操作:
上傳素材(圖片、文案);
篩選流量(用戶、媒體、時間、地點);
設置出價(CPC為一次點擊的出價)
本文主要介紹CPC廣告的效果優(yōu)化。
效果優(yōu)化
轉化:用戶看到廣告,點擊廣告之后后續(xù)產生的一系列廣告主認為有商業(yè)價值的行為稱為轉化。
廣告效果優(yōu)化:獲取更多的轉化,提高轉化的概率,降低獲取轉化的成本稱為廣告效果優(yōu)化。
360效果優(yōu)化產品設計的基本理念是一切選項皆可優(yōu)化。可以將效果優(yōu)化產品分為兩大類,一類是廣告主主動開啟使用,一類是后端策略優(yōu)化自動生效。產品的核心是點擊到轉化的概率預估問題,結合廣告主需求去拓展可以做效果優(yōu)化的場景。
2. 流量分層處理
對廣告來說,流量是海量的,能夠產生轉化的流量是極少的,那么流量按照轉化的效果自下而上來看,呈現(xiàn)的是一個金字塔結構。針對塔底的低質流量可以采取預算分配和分流量調價兩個方案。預算分配是針對點擊率低的流量,設置在這類低質流量上的花費上限,如計劃的10%或20%,其他主要花費重點用在高質流量上。分流量調價是從出價的角度,對于低質流量的出價是按照正常流量出價打折。塔頂?shù)牧髁靠梢圆捎脙?yōu)選人群方案。根據(jù)用戶的廣告行為訓練模型預測其是否會發(fā)生轉化,模型輸出值高的人群被歸為優(yōu)選人群。廣告主給這類優(yōu)選人群更高的出價,這樣在競價過程中更有可能勝出,得到曝光轉化機會。
3.?智能點擊出價
智能點擊出價是一款約束了廣告主平均點擊成本,盡可能優(yōu)化后續(xù)效果的一款廣告主主動開啟的產品。出價按照轉化率分段處理,高段做溢價處理,低段做減價處理。線上策略可以從三個維度進行實現(xiàn):
廣告已經積累了大量樣本數(shù)據(jù),可以單獨為廣告實現(xiàn)一個轉化率模型,并根據(jù)模型設計分段出價;
新廣告投放,可以根據(jù)廣告主的以前的廣告數(shù)據(jù)分布,設計一個模型指導分段出價;
新廣告主投放,可以根據(jù)同行業(yè)的其他廣告主的廣告數(shù)據(jù)分布設計模型進行分段出價。
4.?智能創(chuàng)意組合
廣告主在創(chuàng)建廣告單元上傳素材時,有很多的素材(圖片文案)組合選擇,但是不清楚哪種組合轉化效果最好,所以廣告主會在投放過程中,根據(jù)實際的投放效果,選擇最佳的素材組合,關閉其他組合。智能創(chuàng)意組合,就是為了解決廣告主的這個需求而設計的產品。上圖展示的是廣告主上傳素材的界面,允許廣告主上傳多個圖片和多個文案,算法會根據(jù)當前流量選擇最佳的圖片和最佳的文案組合展現(xiàn)給用戶。
5. 創(chuàng)意組合生成網(wǎng)絡
智能創(chuàng)意組合算法通過強化學習思路實現(xiàn),打分模型為轉化率預估模型,根據(jù)當前流量信息和生成網(wǎng)絡得到的圖片文案的組合作為輸入,得到轉化率;轉化率越高,創(chuàng)意組合越有價值。創(chuàng)意組合生成網(wǎng)絡是根據(jù)Attention機制實現(xiàn)的,生成網(wǎng)絡的輸入為圖片、文案、上下文信息。在生成網(wǎng)絡結構中,以image1為例,將其作為query,與整個圖片素材庫的關系以及與整個文案庫的關系使用Attention建模,得到圖片信息經過一個前向網(wǎng)絡得到輸出分數(shù),如果是多圖片,使用Softmax得到多圖片的概率分布。組合的結果可以直接選擇圖片和文案概率最大的,或者是概率分布做采樣。在迭代過程中,這兩種方式都會有所選擇來訓練。
1. oCPC:智能化廣告投放產品
o是optimize,oCPC是針對CPC的廣告優(yōu)化。右圖展示的是oCPC的廣告設置界面。oCPC的特點如下:
相比于正常的CPC廣告界面,該界面簡化了設置內容,不需要設置點擊出價;
量化了廣告主的目標——轉化類型和目標轉化成本;
效量兼顧,既考慮實際轉化成本接近目標轉化成本,又兼顧擴量的優(yōu)化,給廣告主帶來更多未投流量的轉化。
2. 出價邏輯
普通CPC的出價邏輯,從DSP角度來說,通過點擊率預估建立與廣告主目標的橋梁,即CPC * PCTR。對于oCPC的出價邏輯:一階段基于實時反饋,廣告投放初期數(shù)據(jù)少,由系統(tǒng)給出CPC,根據(jù)線上實際轉化成本的情況來調整出價。二階段基于模型,當數(shù)據(jù)積累到一定階段,訓練轉化率模型得到PCVR,用客戶給出的目標出價CPA*PCVR來模擬CPC出價,即CPA * PCVR * PCTR。
3. 多模型→單模型
oCPC的核心是轉化率模型:
產品上線初期,客戶較少,可以采用分客戶訓練,針對使用該產品的客戶專門優(yōu)化,避免影響其他正常的客戶;
隨著數(shù)據(jù)的積累和效果穩(wěn)定,在前期投放過程中,出于謹慎考慮,對于客戶的投放都是精細化的流量,流量之間相互之間沒有重疊;
隨著客戶對投放量需求的增加,模型需要對之前沒有見過的流量做轉化率預估,利用同行業(yè)客戶的相似性,分行業(yè)訓練模型可以讓客戶共享投放信息來解決這個問題;
隨著產品的成熟,分行業(yè)和分客戶的多模型維護成本過高,使用單一模型就能滿足所有客戶需求。
4. 簡單模型→復雜模型
隨著產品的迭代,模型從簡單模型發(fā)展到復雜模型。產品初期,僅在精細流量上做投放,采用GBDT就可以滿足需求。隨著可投流量和特征數(shù)量增加,GBDT的樹深度和棵數(shù)有限無法滿足需求,采用LR模型解決可投流量擴展問題。隨著業(yè)務發(fā)展擁有海量數(shù)據(jù),傳統(tǒng)模型存在瓶頸,最終采用了DNN模型解決海量數(shù)據(jù)問題。
5.?oCPC模型結構
oCPC模型結構采用PNN架構,將特征分為多個group——廣告、媒體、用戶、其他上下文;每個group學習一個embedding表示,然后使用embedding相乘得到特征交叉??紤]到神經網(wǎng)絡的復雜性,線上計算做了性能優(yōu)化,預測時廣告無關的部分只會計算一次,只有不同的廣告特征才會被多次計算。
6. 單任務→多任務
轉化率模型初期只考慮了點擊到轉化的樣本,訓練出一個單任務的轉化率模型。隨著ESMM和ESM2的出現(xiàn),360的轉化率模型從單任務向多任務模型發(fā)展。單任務模型考慮的是點擊后到轉化的樣本,只考慮了曝光的子集樣本。如何保持線上線下一致,將曝光無點擊的樣本加入訓練,這就是多任務模型解決的問題。完整的樣本空間,子模塊CTR PNN模型是曝光樣本的點擊概率,LOSS1是pctr的loss,子模塊CVR PNN模型是點擊后轉化的概率模型,pcvr表示該曝光樣本如果點擊,點擊到轉化的概率。實際需要對于每個曝光樣本做曝光轉化預估,那么將pctr * pcvr就得到了曝光轉化概率pctcvr,而LOSS2就是該曝光轉化的loss。曝光到轉化之間還存在其他鏈路,可以使用更多的任務和loss來表示。另外,多任務模型會共享group embedding輸入。
7.?單目標出價→多目標出價
隨著業(yè)務發(fā)展,客戶會有更多的轉化要求。在注冊目標成本已經滿足需求的情況下,考慮付費的優(yōu)化。參考智能點擊出價,訓練一個付費模型,在注冊率一定的情況下,付費率如果在金字塔頂層,就增加出價,在低層,就減少出價,來滿足客戶付費優(yōu)化的需求。付費模型采用MMOE實現(xiàn),注冊是任務A,付費是任務B,Gata A僅作為任務A的輸入,Gata B僅作為任務B的輸入。對于該模型的任一任務來說,可以由幾個固定的專家打分得到。那么專家的輸出與Gata A 輸出的概率分布作為任務A的輸入,專家的輸出與Gata B輸出的概率分布作為任務B的輸入。這個模型在同時擁有多個轉化的場景中得到效果驗證。
8. 高延遲→低延遲
知識蒸餾解決線上高延遲問題。知識蒸餾存在Student模型參數(shù)減少過多,導致效果Teacher模型差很多,以下是兩個優(yōu)化方法:
提高Teacher模型復雜度
Teacher模型加入點擊后轉化前的特征
嘉賓介紹:
劉斌
360 |?資深算法工程師
特別推薦一個分享架構+算法的優(yōu)質內容,還沒關注的小伙伴,可以長按關注一下:
長按訂閱更多精彩▼
如有收獲,點個在看,誠摯感謝
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!