Categories
程式開發

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用


ACM SIGKDD(ACM SIGKDD Conference on Knowledge Discovery and Data Mining)是世界數據挖掘領域的頂級國際會議。今年,KDD Cup共設置四個賽道共五道賽題,涉及數據偏差問題(Debiasing)、多模態召回(Multimodalities Recall)、自動化圖學習(AutoGraph)、對抗學習問題和強化學習問題。
美團搜索廣告算法團隊最終在去偏賽道中獲得冠軍(1/1895),在簽名賽道中也獲得了冠軍(1/149)。在多模式召回賽道中,亞軍被美團搜索與NLP團隊摘得(2/1433),而季軍被美團搜索廣告算法團隊收入囊中(3/1433)。
本文將介紹多模態召回賽道季軍的技術解決方案,以及在美團搜索廣告業務中的應用與實踐。希望能給從事相關工作的同學帶來一些幫助或者啟發。

背景

美團到店廣告平台搜索廣告算法團隊基於自身的業務場景,一直在不斷進行前沿技術的深入優化與算法創新,團隊在圖學習、數據偏差、多模態學習三個前沿領域均有一定的算法研究與應用,並取得了不錯的業務結果。

基於這三個領域的技術積累,團隊在KDD Cup 2020比賽中選擇了三道緊密聯繫的賽題,希望應用並提升這三個領域技術積累,帶來技術與業務的進一步突破。團隊的黃堅強、胡可、漆毅、曲檀、陳明健、鄭博航、雷軍與中科院大學唐興元共同組建參賽隊伍Aister,參加了AutoGraph、Debiasing、Multimodalities Recall三道賽題,最終在AutoGraph賽道中獲得了冠軍( 1/149)(KDD Cup 2020 自動圖學習比賽冠軍技術方案及在美團廣告的實踐),在Debiasing賽道中獲得冠軍(1/1895)(KDD Cup 2020 Debiasing比賽冠軍技術方案及在美團廣告的實踐),並在Multimodalities Recall賽道中獲得了季軍(3/1433)。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 1

圖1 KDD 2020會議

要處理自然界、生活中多種模態糾纏、互補著的信息,多模態學習是必由之路。隨著互聯網交互形態的不斷演進,多模態內容如圖文、視頻等越發豐富;在美團的搜索廣告系統中,也體現出同樣的趨勢。

搜索廣告算法團隊利用多模態學習相關技術,已在業務上取得了不錯的效果,並在今年KDD Cup的Multimodalities Recall賽道獲得了第三名。本文將介紹Multimodailites Recall賽題的技術方案,以及團隊在廣告業務中多模態學習相關技術的應用與研究,希望對從事相關研究的同學能夠有所幫助或者啟發。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 2

圖2 KDD Cup 2020 Multimodalities Recall 比賽TOP 10榜單

賽題介紹與分析

題目概述

多模態召回賽題由阿里巴巴達摩院智能計算實驗室發起並組織,關注電商行業中的多模信息學習問題。 2019年,全世界線上電商營收額已經達到3530億美元。據相關預測,到2022年,總營收將增長至6540億美元。大規模的營收和高速增長同時預示著,消費者對於電商服務有著巨大的需求。跟隨這一增長,電商行業中各種模態的信息越來越豐富,如直播、博客等等。怎樣在傳統的搜索引擎和推薦系統中引入這些多模信息,更好地服務消費者,值得相關從業者深入探討。

本賽道提供了淘寶商城的真實數據,包括兩部分,一是搜索短句(Query)相關,為原始數據;二是商品圖片相關,考慮到知識產權等,提供的是使用Faster RCNN在圖片上提取出的特徵向量。兩部分數據被組織為基於Query的圖片召回問題,即有關文本模態和圖片模態的召回問題。

為方便理解,本賽道提供了少量真實圖片及其對應的原始數據,下面是一個例子。該圖例是一個正樣例,其Query為Sweet French Dress,圖片主體部分是一名身著甜美裙裝的女性,主體部分以外,則有大量雜亂信息,包括一個手提包、一些氣球以及一些商標和促銷文字信息。賽題本身不提供原始圖片,而提供的是Faster RCNN在圖片上提取出的特徵向量,即圖片中被框出的幾個部分。可見,一方面Faster RCNN提取了圖片中有明顯語義的內容,有助於模型學習;另一方面,Faster RCNN的提取會包含較多的框,這些框體現不出語義的主次之分。怎樣利用這些框和文本相匹配,是該賽題的核心內容。

本次賽題設置的評價指標為[email protected]。具體來說,在給定的測試集裡,每條Query會給出約30個樣本,其中大約6條為正樣本,其餘為負樣本。賽題需要選手設計匹配算法,召回出任意5條正樣本,即可獲得該Query的全部分數,否則,按照召回的正樣本條數來計算NDCG指標作為該Query的分數。全部Query的分數進行平均,即為最終得分。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 3

圖3 Query和Product數據示例

數據分析和理解

本賽道提供了三份數據集,分別稱為訓練集、驗證集和測試集。各個數據集的基本信息如下:

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 4

表1 數據集概況

為進一步探索數據特點,我們將驗證集給出的原始圖片和特徵信息做了聚合展現,下表是一組示例。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 5

表2 搜索短語與圖片的匹配正負例

根據如上探索,我們總結了數據集的三個重要特點:

  • 训练集和验证集/测试集的数据特点大不相同。训练集量级显著高于验证集/测试集,足有三百万条Query-Image对,是验证集/测试集的一百倍以上。同时,训练集的每条Query-Image对均被视为正样本,这和验证集给出的一条Query下挂多个有正有负的Image截然不同。而通过对验证集原始图片和Query进行可视化探索,可见验证集数据质量很高,应该为人工标注。考虑人工标注成本和负样本的缺失,训练集有极大可能描述的是点击关系,而非人工标注的语义匹配关系。我们的解决方案中必须要考虑到训练集分布和测试集分布并不匹配这一基本特点。
  • 圖片信息複雜,常常包含多個物體。這些物體均被框出,作為給定特徵,但各個框之間語義信息並不平等;某些是噪音,如Query(men’s high collar sweater)下的墨鏡、圍巾、相機等框圖,某些又是因商品展示需要而重複,如Query(breathable and comfortable children’s shoes)下的重複鞋的框圖。平均來說,一張圖片有4個框,怎麼將這多個框包含的語義信息去噪、綜合,得到圖片的整體語義表達,是建模的一個重點。
  • Query作為給定的原始文本,有著與常用語料截然不同的構造和分佈情況。從示例表可見,Query並非自然語句,而是一些屬性和商品實體連綴成的短語。經過統計發現,90%的Query都由3-4個單詞組成;訓練集有約150萬的不同Query,其詞表大小在15000左右;通過最後一個單詞,可將全部Query歸約為大約2000類,每一類都是一個具體的商品名詞。我們需要考慮文本數據的這些特質,進行針對性處理。

問題挑戰

本競賽是在電商的搜索數據上的一個多模信息匹配任務。從上述數據集的三個特點出發,我們總結了該競賽的兩大主要挑戰:

第一,分佈不一致問題。經典統計機器學習的基礎假設是訓練集和測試集分佈一致,不一致的分佈通常會導致模型學偏,訓練集和驗證集效果難以對齊。我們必須依賴於已有的大規模訓練集中的點擊信號和小規模的和測試集同分佈的驗證集,設計可行的數據構建方法和模型訓練流程,採取諸如遷移學習等技術,以處理這一問題。

第二,複雜多模信息匹配問題。怎麼進行多模信息融合是多模態學習中的基礎性問題,而怎麼對複雜的多模信息進行語義匹配,是本競賽特有的挑戰。從數據看,一方面商品圖片多框,信息含量大、噪點多;另一方面,用戶搜索Query一般具有多個細粒度屬性詞,且各個詞均在語義匹配中發揮作用。這就要求我們在模型設計上針對性處理圖和Query兩方面的複雜性,並做好細粒度的匹配。

針對這兩大挑戰,下面將詳述搜索廣告團隊的解決方案。

競賽方案

我們的方案直接回應了上述兩個挑戰,其主體部分包含兩方面的內容,一是通過聯合多樣化的負採樣策略和蒸餾學習以橋接訓練數據和測試集的分佈,處理分佈不一致問題;二是採取細粒度的文本-圖片匹配網絡,進行多模信息融合,處理複雜多模信息匹配問題。最後,通過兩階段訓練和多模融合,我們進一步提升了模型表現,整個方案的流程如下圖所示。下面詳述方案的各個部分。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 6

圖4 基於多樣化負採樣的多階段蒸餾學習框架

多樣負採樣策略和預訓練

訓練集和測試集分佈不一致。最直觀的不一致是,訓練集中只有正樣本,沒有負樣本。我們需要設計負採樣策略來構造負樣本,並儘可能使得採樣出的負樣本靠近測試集真實分佈。最直觀的想法是隨機採樣。隨機採樣簡單易行,但和驗證集區別較大。

但分析驗證集發現,對同一Query下的候選圖片,通常有著緊密的語義關聯。如“甜美法式長裙”這一Query下,待選的圖片全是裙裝,只是在款式上有不同。這說明,這一多模匹配賽題需要在較細的屬性粒度上對文本和圖片進行匹配。從圖片標籤和Query詞兩個角度出發, 我們可以通過相應的聚類算法,使得待採樣的空間從全局細化為相似語義條目,從而達到負採樣更貼近測試集分佈的目的。

基於如上分析,我們設計瞭如下表所示的四種採樣策略來構建樣本集。這四種策略中,隨機採樣得到的正負樣本最容易被區分,按Query最後一詞采樣得到的正負樣本最難被區分;在訓練中,我們從基準模型出發,先在最簡單的隨機採樣上訓練基準模型,然後在更困難的按圖片標籤採樣、按Query的聚類採樣的樣本集上基於先前的模型繼續訓練,最後在最難的按Query最後一詞采樣的樣本集上訓練。這樣由易到難、由遠到近的訓練方式,有助於模型收斂到驗證集分佈上,在測試集上取得了更好的效果。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 7

表3 多樣化負採樣

蒸餾學習

儘管使用多種採樣策略,可從不同角度去逼近測試集的真實分佈,但由於未直接利用測試集信息指導負採樣,這些採樣策略仍有不足。因而,我們採用蒸餾學習的辦法,來進一步優化負採樣邏輯,以求拿到更貼近測試集的樣本集分佈。

如下圖所示,在通過訓練集負採樣得到的樣本集上預訓練以後(第1步),我們將該模型在驗證集上進一步Finetune,得到微調模型(第2步)。利用微調模型,我們反過去在訓練集上打偽標籤,作為Soft Label,並把Soft Label引入Loss,跟原始的0-1 Hard Label聯合學習(第3步)。這樣,訓練集的訓練上,即直接引入了驗證集的分佈信息,進一步貼近了驗證集分佈,提升了預訓練模型的表現。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 8

圖5 多階段蒸餾學習

細粒度匹配網絡

多模態學習方興未艾,各類任務、模型層出不窮。針對我們面臨的複雜圖片和搜索Query匹配的問題,參照CVPR 2017的VQA競賽的冠軍方案,我們設計瞭如下的神經網絡模型作為主模型。

該模型的設計主要考慮瞭如下三點:

  • 利用带门全连接网络做语义映射。图片和Query处于不同语义层级,需利用函数映射到相同的语义空间,我们采取了两个全连接层的方式达到该目的。实验发现,全连接层的隐层大小是比较敏感的参数,适当增大隐层,可在不过分增加计算复杂度的情况下,显著提升模型效果。此外,如文献所述,使用带门的全连接层可进一步提升语义映射网络的效果。
  • 採用雙向Attention機制。圖片和Query均由更細粒度的子語義單元組成。具體來說,一張圖片上可能有多個框,每個框均有獨立的語義信息;一個Query分為多個詞,每個詞也蘊含獨立的語義信息。這一數據特點是由電商搜索場景決定的。因而,在模型設計時,需考慮到單個子語義單元之間的匹配。我們採用單個詞和全部框、單個框和全部詞雙方向的注意力機制,去捕捉這些子單元的匹配關係和重要程度。
  • 使用多樣化多模融合策略。多模信息融合有很多手段,大部分最終歸結為圖片向量和Query向量之間的數學操作符。考慮到不同融合方式各有特點,多樣融合能夠更全面地刻畫匹配關係,我們採用了Kronecker Product、Vector Concatenation和Self-Attention 三種融合方式,將經過語義空間轉化和Attention機制映射後的圖片向量和Query向量進行信息融合,並最終送入全連接神經網絡,得到匹配與否的概率值。

此外,我們採用在訓練集樣本上預訓練詞向量的方式得到原始Query的表示,而非使用BERT模型等流行的預訓練模型。這裡的主要考慮是,數據分析指出,Query和常見的自然語句很不同,而更像是一組特定屬性/品類名詞組合在一起的短語,這和BERT等預訓練模型所使用的語料有明顯差異。事實上,我們初步嘗試引入Glove預訓練詞向量等,和直接在Query文本上預訓練相比,並無明顯收益。再考慮到BERT模型比較笨重,不利於快速迭代,我們最終沒有使用相關的語言模型技術。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 9

圖6 細粒度匹配網絡

多模融合

在上述技術手段的處理下,我們得到了多個基礎模型。這些模型均可在驗證集上進行Finetune,從而使其效果更貼近真實分佈。一方面,Finetune階段可繼續使用前述的神經網絡匹配模型。另一方面,前述神經網絡可作為特徵提取器,將其在規模較小的驗證集上的輸出,放入樹模型重新訓練。這一好處是樹模型和神經網絡模型異質性大,融合效果更好。最終,我們提交的結果是多個神經網絡模型和樹模型融合的結果。

評估結果

我們以隨機採樣訓練的粗粒度(圖片表示為所有框的平均,Query表示為所有詞的平均)匹配網絡為基準模型。下表列出了我們解決方案的各個部分在基準模型上的提升效果。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 10

表4 不同方法的NDCG提升

廣告業務應用

搜索廣告算法團隊負責美團與點評雙平台的搜索廣告與篩選列表廣告業務,業務類型涉及餐飲、休閒娛樂、麗人、酒店等,豐富的業務類型為算法優化帶來很大空間與挑戰。搜索廣告中的創意優選階段,目的在通過當前搜索詞或者篩選意圖,為用戶的每一個廣告展示結果選擇高質量的圖片。用戶的搜索詞與圖片在維度,表達粒度均有較大差異,我們採用多模態學習來解決這一問題,將跨模表達進行同空間映射。

如下圖所示,在多模態網絡中,將廣告特徵、請求特徵、用戶偏好連同圖片特徵作為輸入,其中圖片特徵通過CNN網絡提取圖片向量表示,其他特徵通過多層MLP進行交叉得到稠密向量表示,最終通過圖片Loss和多模Loss兩個損失函數約束模型訓練。通過這樣的建模方式,創意優選模型可以根據查詢為不同用戶的廣告結果呈現最合適的圖像。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 11

圖7 廣告創意業務中的多模態學習

搜索廣告系統分為廣告觸發、創意優選,點擊率預估(廣告粒度)等模塊。其中,創意優選階段對於每個廣告結果有超過十張的圖片候選,線上服務的計算量是點擊率預估(廣告粒度)的十倍以上,對性能有更高的要求。而為了縮短耗時而減少模型複雜度又必然導致模型精度的的下降。

為了平衡模型的性能和效果,我們藉鑑了知識蒸餾的思路來處理這一難題,借用了高表達能力的廣告粒度預估模型。如上圖7所示,左側模型為複雜的廣告粒度點擊率預估模型,可以作為教師網絡;右側為簡單的創意粒度優選模型,作為學生網絡。學生網絡的目標損失函數中,除學生網絡自身輸出Logit的Logloss以外,還加入了其Logit和老師網絡輸出Logit之間的平方誤差。這一輔助Loss能夠迫使學生模型的輸出和老師模型的輸出更接近。因此,學生模型可以學得與老師模型更接近,從而達到保持相對簡單網絡規模的同時、提升精度的目的。

除此以外,底层共享Embedding的设计,也使得学生模型的底层参数可得到老师模型的训练。并且,在提升精度的同时,多模块之间的一致性(例如CTR预估与创意优选)也是系统精度提高的一个关键,在目标与表达学习的Teacher-Student联合训练有利于多阶段的目标统一。基于精度提升与多阶段目标的一致性,我们取得线上业务效果较为显著的提升。

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用 12

圖8 廣告創意業務中的蒸餾學習

總結與展望

KDD Cup是同工業界聯接非常緊密的比賽,每年賽題緊扣業界熱點問題與實際問題,其中歷年產出的Winning Solution對工業界有很大影響。例如,KDD Cup 2012產出了FFM (Feild-Aware Factorization Machine)與XGBoost的原型,在工業界取得廣泛應用。

今年的KDD Cup主要關注在自動化圖表示學習以及推薦系統等領域上。自然界的信息常常是多種模態混合的,對多模信息的處理和處理是近年來的一大研究熱點。同時在工業界的搜索引擎或推薦系統中,涉及到的多模信息處理等,正變得越來越重要。特別是隨著直播、短視頻等業務形態的興起,多模態學習已變得不可或缺。

本文主要介绍了KDD CUP 2020的多模态竞赛情况以及美团搜索广告算法团队的解决方案。对数据进行充分探索后,我们分析出竞赛数据的三大特点,同时定位了赛题有两大挑战,即训练集和测试集分布不一致和复杂多模信息匹配。我们通过多样化负采样策略、蒸馏学习和预训练与Finetune等技术处理了分布不一致问题,并通过细粒度匹配网络处理复杂多模信息匹配问题,两方面思路均取得了效果的显著提升。

同時,本文還介紹了多模態學習相關技術在搜索廣告業務中的實際應用情況,包括創意優選模型中的圖片和用戶偏好聯合學習、蒸餾學習在創意模型中的應用等。通過比賽高強度、快頻率的迭代,團隊在多模態學習方面有了更深的理解。在未來的工作中我們會基於本次比賽取得的經驗,深入更多的多模態業務場景中進行分析和建模,發揮數據的價值。

參考文獻

[1] Teney,Damien等。 “視覺問答的技巧和竅門:從2017年挑戰中學到的知識。” IEEE關於計算機視覺和模式識別的會議論文集。 2018。

[2] Hinton,Geoffrey,Oriol Vinyals和Jeff Dean。 “在神經網絡中提取知識。” arXiv預印本arXiv:1503.02531(2015)。

[3] Pennington,Jeffrey,Richard Socher和Christopher D.Manning。 “手套:單詞表示的全局向量。” 2014年自然語言處理經驗方法會議(EMNLP)會議論文集。 2014。

[4] Devlin,Jacob等。 “專家:為理解語言而對深度雙向轉換器進行的預訓練。” arXiv預印本arXiv:1810.04805(2018)。

[5] 周伯雷等。 “視覺回答的簡單基準。” arXiv預印本arXiv:1512.02167(2015)。

[6] 於周等。 “用於視覺問題解答的深度模塊化共同關注網絡。” IEEE關於計算機視覺和模式識別的會議論文集。 2019。

作者介紹

漆毅,堅強,胡可,雷軍等,均來自美團廣告平台搜索廣告算法團隊。

本文轉載自公眾號美團技術團隊(ID:meituantech)。

原文鏈接

KDD Cup 2020多模態召回比賽季軍方案與廣告業務應用