廣告行業中那些趣事系列53:多模態學習在CTR預估模型中的應用實踐
導讀:本文是“資料拾光者”專欄的第五十三篇文章,這個系列將介紹在廣告行業中自然語言處理和推薦系統實踐。 本篇分享了多模態學習在CTR預估模型中的應用實踐 及效果展示, 對於想要將多模態學習應用到CTR預估模型中的小夥伴可能有所幫助 。
歡迎轉載,轉載請註明出處以及連結,更多關於自然語言處理、推薦系統優質內容請關注如下頻道。
知乎專欄:資料拾光者
公眾號:資料拾光者
摘要: 本篇分享了多模態學習在CTR預估模型中的應用實踐 及效果展示 。首先是背景介紹,通過多模態學習可以更好的處理多模態資訊,從而得到更豐富的特徵資訊,可以更好的提升CTR模型效果;然後重點介紹了多模態學習在CTR模型中的應用實踐及效果展示,主要包括多模態實驗流程介紹、文字模態和影象模態的應用實踐及效果展示和後續優化工作。對於想要將多模態學習應用到CTR預估模型中的小夥伴可能有所幫助。
下面主要按照如下思維導圖進行學習分享:
01
背景介紹
最近主要在做品牌廣告CTR預估專案,特徵方面主要使用的是傳統廣告特徵,比如ad、user、user點選ad、時序等相關特徵,而對於廣告點選影響最直觀的廣告素材圖片和標題等多模態資料並沒有被應用到CTR模型中。由於不同模態的表現方式不同,看待事物的角度不同,對於事物的理解也會不同,通過多模態學習可以更好的處理多模態資訊,從而得到更豐富的特徵資訊。結合之前在NLP和CV領域中的技術積累,將多模態學習(主要是文字模態(廣告品牌和標題)和影象模態(廣告素材圖片))應用到CTR預估模型並落地到實際業務中帶來效果提升就變成我當前最重要的任務之一。接下來主要分享我把文字模態和圖片模態特徵應用到CTR模型中的技術實踐以及離線帶來的效果提升情況。
02
多模態在CTR模型的應用實踐及效果展示
2.1 多模態實驗流程介紹
這裡先介紹下多模態實驗配置情況,對照組中將傳統廣告特徵embedding放入到DNN模型(4層全連線層[256,128,32,1])中進行訓練,模型評估指標用的是AUC和GAUC。實驗組中將多模態資料特徵embedding通過concat方式新增到傳統廣告特徵embedding後使用相同的DNN模型結構訓練, 實驗主要從特徵層面對比多模態特徵帶來的模型效果提升情況 。需要說明的是多模態特徵還有很多高階使用方式,這裡先通過最常用的concat方式快速實驗檢視效果並決定是否進行更深入的研究。
2.2 文字模態應用實踐及效果展示
2.2.1 獲取高質量的文字模態embedding
上面實驗流程介紹中也說了會將多模態資料特徵embedding通過concat方式新增到傳統廣告特徵embedding後,這裡 最重要的是如何獲取高質量的文字模態embedding 。
首先當前NLP中獲取文字embedding常規做法是使用BERT類預訓練模型作為encoder進行編碼,這裡需要考慮的是預訓練模型權重的選擇問題;然後獲取到文字embedding之後需要考慮是否要進行降維操作,如果使用BERT-base進行編碼會得到768維向量,將高維向量直接concat到傳統廣告embedding之後可能會擠佔其他特徵,從而影響其他特徵帶來的作用。 一個不錯的方式是使用蘇神提出的BERT-whitening白化方式,一方面可以提高BERT語義向量的質量,另一方面可以降低BERT語義向量的維度 ;最後需要考慮多個文字特徵的使用方式,廣告文字模態資料主要包括廣告標題和品牌兩個欄位,下面是廣告文字模態資料示例:
圖1 廣告文字模態資料示例
2.2.2 多個文字特徵的使用方式實驗
本實驗主要對比新增多模態特徵對CTR模型效果的影響,模型均使用DNN。廣告文字模態主要有廣告標題和廣告品牌兩個欄位,分別從僅使用標題、僅使用品牌和同時使用品牌和標題進行對比。因為同一個廣告可能有多個品牌名和標題,所以這裡會以廣告粒度對品牌名和標題進行分組拼接操作,比如ad1有brand1、brand2、brand3,這裡會將ad1的品牌加工成[email protected]@ brand2 @@ brand3,拼接字元使用的是“@@”。同時拼接的時候需要注意順序,如果有兩個廣告ad1和ad2,它們的品牌都是brand1、brand2、brand3,拼接的時候如果不注意順序可能拼接之後得到的文字是不同的。 實驗組中均使用4層Transformer的BERT模型得到312維,同時使用BERT-whitening白化操作並降維到64維向量 ,其中4層Transformer的BERT模型權重使用的是追一科技開源的預訓練模型,模型地址如下:
http://github.com/ZhuiyiTechnology/pretrained-models
實驗配置如下:
-
對照組:傳統廣告embedding;
-
Lab1:僅新增文字模態特徵brand;
-
Lab2:僅新增文字模態特徵title;
-
Lab3:將brand和title文字資料拼接,新增文字模態特徵;
-
Lab4:將Lab1和Lab2作為兩個特徵同時加入;
-
Lab5:將Lab1、Lab2和Lab3作為三個特徵同時加入;
實驗結果如下:
圖2 多個文字特徵的使用方式實驗結果
整體來看 新增文字模態特徵帶來的效果提升非常明顯 ,AUC提升比例最高為3.54%,GAUC提升比例最高為6.56%。多個文字特徵使用方式上將brand和title的文字進行拼接後得到embedding的GAUC效果是最好的。
2.2.3 預訓練模型實驗
本實驗主要對比不同的BERT預訓練模型對CTR模型效果的提升情況,實驗組預訓練模型會分別使用12層ROBERTA-WWM得到768維句向量、4層Transformer的BERT模型得到312維句向量,實驗組同時經過BERT-whitening加工成64維embedding,多個文字特徵使用方式選擇將brand和title拼接後得到embedding進行新增。
實驗配置如下:
-
對照組:傳統廣告embedding
-
Lab3:使用4層BERT,BERT-whitening加工成64維embedding(和上個實驗Lab3相同);
-
Lab6:使用12層ROBERT,BERT-whitening加工成64維embedding;
實驗結果如下:
圖3 預訓練模型實驗結果
通過lab3和lab6可以看出,4層BERT預訓練模型的效果要優於12層ROBERTA-WWM模型。
2.2.4 BERT-whitening降維實驗
通過BERT-whitening不僅可以提高文字語義向量質量的效果,而且還能降低BERT語義向量的維度。本實驗對比使用BERT-whitening將預訓練模型得到的句向量降低成不同維度帶來的效果提升情況,多個文字特徵使用方式選擇將brand和title拼接後得到embedding進行新增。
實驗配置如下:
-
對照組:傳統廣告embedding
-
Lab3:使用4層BERT,BERT-whitening加工成64維embedding(和上個實驗Lab3相同);
-
Lab7:使用4層BERT,BERT-whitening加工成32維embedding;
實驗結果如下:
圖4 BERT-whitening降維實驗結果
通過lab3和lab7可以看出,AUC提升比例差別不大,lab3帶來的GAUC提升效果更加明顯,說明使用BERT-whitening降維到64維效果會更好。
小結下,整體來看文字模態實驗結果,將brand和title文字拼接,使用4層BERT,同時使用BERT-whitening加工成64維embedding對CTR預估模型離線效果提升是最好的。
2.3 圖片模態應用實踐及效果展示
圖片模態實驗和文字模態實驗類似,模型使用DNN,只是在傳統廣告特徵embedding後新增圖片模態embedding。
2.3.1 獲取高質量圖片模態embedding
熟悉我的小夥伴知道我主要研究領域是NLP,對CV瞭解不深,但NLP和CV很多地方是相通的,和文字模態類似,獲取高質量圖片模態embedding主要有以下幾個因素:首先是影象預訓練模型的選擇。因為我對CV領域預訓練模型研究不深,所以這裡僅使用resnet18模型獲取圖片embedding,後續會根據業務需要進一步研究CV領域中的主流預訓練模型;然後是同一個廣告多個素材圖片embedding的獲取方式;最後是否需要通過whitening白化操作降維等。
2.3.2 同一個廣告多個素材圖片獲取embedding實驗
因為一個廣告可能會對應多個素材圖片,而我們需要的是ad粒度的圖片素材embedding,所以同一個廣告多個素材圖片獲取embedding的方式可以是根據一定的策略選擇一個素材圖片的embedding(這個策略可以是隨機選擇素材圖片,也可以根據時間選擇廣告最近使用的素材圖片),還可以將同一個廣告下多個素材圖片得到embedding取均值。實驗組均使用resnet18模型獲取圖片512維embedding。
實驗配置如下:
-
對照組:傳統廣告embedding
-
Lab1:同一個廣告多個素材圖片隨機選擇一張圖片的embedding新增;
-
Lab2:同一個廣告多個素材圖片的embedding取均值新增;
實驗結果如下:
圖5 一個廣告多個素材圖片獲取embedding實驗結果
整體來看新增圖片模態特徵對CTR預估模型的效果也有很不錯的效果提升,AUC最高提升3.41%,GAUC最高提升6.43%,和文字模態特徵帶來的效果提升相當。其中lab1效果整體優於lab2,說明同一個廣告多個素材圖片embedding取均值效果不如隨機取樣一張圖片embedding的效果好。
2.3.3 圖片素材whitening降維實驗
本實驗將素材圖片通過resnet18模型獲取圖片512維embedding,對比通過whitening白化操作降維對模型的效果提升情況,實驗組中同一個廣告多個素材圖片均隨機取樣一張圖片獲取embedding。
實驗配置如下:
-
對照組:傳統廣告embedding
-
Lab1:不使用whitening白化操作降維(和上個實驗Lab1相同);
-
Lab3:使用whitening白化操作將512維向量降維到128維;
-
Lab4:使用whitening白化操作將512維向量降維到64維;
實驗結果如下:
圖6 圖片素材whitening降維實驗結果
從上述實驗結果可以看出使用whitening白化操作降維反而會產生逆向效果。
小結下,整體來看圖片模態實驗結果,同一個廣告多個素材圖片隨機選擇一張圖片embedding,直接使用resnet18模型獲取圖片512維,不進行whitening白化操作降維對CTR預估模型離線效果提升是最好的。
2.4 後續工作
上面主要從多模態學習方向將文字模態和圖片模態特徵新增到CTR預估模型中,整體來看效果提升比較明顯,證明多模態學習潛力巨大,後續會進行深入的學習,下面是後續的工作:
-
影象模態使用主流效果更好的預訓練模型獲取高質量embedding;
-
影象模態和文字模態的聯合使用方式研究;
-
不僅僅是常用的concat,進一步研究多模態特徵更高階的使用方式。
03
總結及反思
本篇分享了多模態學習在CTR預估模型中的應用實踐 及效果展示 。首先是背景介紹,通過多模態學習可以更好的處理多模態資訊,從而得到更豐富的特徵資訊,可以更好的提升CTR模型效果;然後重點介紹了多模態學習在CTR模型中的應用實踐及效果展示,主要包括多模態實驗流程介紹、文字模態和影象模態的應用實踐及效果展示和後續優化工作。對於想要將多模態學習應用到CTR預估模型中的小夥伴可能有所幫助。
最新最全的文章請關注我的微信公眾號或者知乎專欄:資料拾光者。
碼字不易,歡迎小夥伴們點贊和分享。
- 廣告行業中那些趣事系列53:多模態學習在CTR預估模型中的應用實踐
- 總會用到的系列6:關於持續學習的一些思考
- 廣告行業中那些趣事系列51:超牛的kaggle比賽Favorita Grocery Sales Forecasting冠軍方案
- 廣告行業中那些趣事系列50:一文看懂BERT知識蒸餾發展程序
- 廣告行業中那些趣事系列49:oCTS:一個標註人員都可以優化分類器的訓練系統
- 廣告行業中那些趣事系列46:一文看懂Transformer中attention的來龍去脈
- 廣告行業中那些趣事系列45:你想要的NLP各任務baseline這裡都有
- 廣告行業中那些趣事系列44:NLP不可不學的FastText模型
- 廣告行業中那些趣事系列43:小布語音助手知識問答比賽優化實踐
- 廣告行業中那些趣事系列42:基於最近鄰演算法的廣告素材圖片聚類實踐
- 廣告行業中那些趣事系列41:廣告場景中NLP技術的業務應用及線上方案
- 廣告行業中那些趣事系列40:廣告場景文字分類任務樣本優化實踐彙總
- 廣告行業中那些趣事系列39:實戰廣告場景中的圖片相似度識別任務
- 廣告行業中那些趣事系列38:廣告搜尋業務中海量高維資料集檢索利器Faiss
- 廣告行業中那些趣事系列37:廣告場景中的超詳細的文字分類專案實踐彙總
- 廣告行業中那些趣事系列36:騰訊2021廣告大賽多模態影片廣告標籤baseline介紹和優化思路
- 廣告行業中那些趣事系列35:NLP場景中的對比學習模型SimCSE
- 廣告行業中那些趣事系列34:風頭正勁的對比學習和專案實踐
- 廣告行業中那些趣事系列33:從理論到實踐學習當前很火的圖神經網路
- 廣告行業中那些趣事系列32:美團搜尋NER技術實踐學習筆記