成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

深度學習在搜狗無線搜索廣告中的應(yīng)用

Jason / 388人閱讀

摘要:本文來自搜狗資深研究員舒鵬在攜程技術(shù)中心主辦的深度學習中的主題演講,介紹了深度學習在搜狗無線搜索廣告中的應(yīng)用及成果。近年來,深度學習在很多領(lǐng)域得到廣泛應(yīng)用并已取得較好的成果,本次演講就是分享深度學習如何有效的運用在搜狗無線搜索廣告中。

本文來自搜狗資深研究員舒鵬在攜程技術(shù)中心主辦的深度學習Meetup中的主題演講,介紹了深度學習在搜狗無線搜索廣告中的應(yīng)用及成果。重點講解了如何實現(xiàn)基于多模型融合的CTR預(yù)估,以及模型效果如何評估。

搜索引擎廣告是用戶獲取網(wǎng)絡(luò)信息的渠道之一,同時也是互聯(lián)網(wǎng)收入的來源之一,通過傳統(tǒng)的淺層模型對搜索廣告進行預(yù)估排序已不能滿足市場需求。近年來,深度學習在很多領(lǐng)域得到廣泛應(yīng)用并已取得較好的成果,本次演講就是分享深度學習如何有效的運用在搜狗無線搜索廣告中。

本次分享主要介紹深度學習在搜狗無線搜索廣告中有哪些應(yīng)用場景,以及分享了我們的一些成果,重點講解了如何實現(xiàn)基于多模型融合的CTR預(yù)估,以及模型效果如何評估,最后和大家探討DL、CTR預(yù)估的特點及未來的一些方向。

深度學習在搜索廣告中有哪些應(yīng)用場景

比較典型的深度學習應(yīng)用場景包括語音識別、人臉識別、博奕等,也可以應(yīng)用于搜索廣告中。首先介紹下搜索廣告的基本架構(gòu),如下圖:

首先用戶查詢。

查詢詞給Bidding Server處理,Bidding Server主要負責業(yè)務(wù)邏輯。例如某種廣告在什么情況下不能展現(xiàn),或這個客戶同一個廣告在什么時間段什么地域展現(xiàn)。

Bidding Server請求Retriever Server,Retriever Server主要負責召回,廣告庫很龐大(搜狗的廣告庫大概在幾十億這個規(guī)模),因為數(shù)據(jù)量非常大,所以需要根據(jù)一些算法從中找出和當前查詢詞最相關(guān)的一批廣告,這就是Retriever Server做的事情。

Retriever Server處理完后,會把這些比較好的廣告回傳給Quality Server,Quality Server主要負責點擊率預(yù)估和排序,此時的候選集數(shù)量相對較少,Quality Server會采用復(fù)雜的算法針對每條廣告預(yù)估它當前場景的點擊率,并據(jù)此排序。

Quality Server將排序結(jié)果的top回傳給Retriever Server。

Retriever Server回傳給Bidding Server。

Bidding Server做封裝最后展示給用戶。

以上過程中可應(yīng)用到深度學習的場景如下:

基于多模型融合的CTR預(yù)估

CTR預(yù)估流程

CTR預(yù)估的流程圖如下:

Data是原始數(shù)據(jù),包括點擊及查詢?nèi)罩荆瑥倪@些原始數(shù)據(jù)里抽出一些特征。

Feature包括查詢特征、廣告特征、匹配特征。?

查詢特征是和查詢詞相關(guān)的特征,查詢發(fā)生的地域、時間等。廣告特征是指廣告本身的信息,例如:來自哪個客戶,是哪個行業(yè)的,它的關(guān)鍵詞是什么,它的標題、描述、網(wǎng)址是什么等各種信息。匹配特征是指查詢詞和廣告的匹配關(guān)系。

然后會進行模型的訓(xùn)練,包括線性和非線性。

模型在線下訓(xùn)練完后會到線上,線上Server會實時做特征抽取并預(yù)估。?

例如:線上實時收到查詢請求后,就會知道查詢詞是什么。前面講的Retriever Server,它會召回一系列廣告,并抽出相關(guān)信息,比如廣告的標題、關(guān)鍵詞、描述等信息,有了這些信息后會利用加載的模型給出預(yù)估CTR,最終會進行Rank排序,從而篩選出滿足指定條件的一些廣告進行展示。

特征設(shè)計

離散特征

離散特征是指把東西分散出來表示,比如OneHot,非常直觀,例如用戶當天所處的時間段,他和最終點擊率有關(guān)系,那么我把一天24小時分成24個點,他在哪個小時就把哪個點點亮置1,這個特征就設(shè)計完了。它的刻畫比較細致,設(shè)計比較簡單,但他的特征非常稀疏,我們線上特征空間非常大,有上十億,但任何一個請求場景到來,它真正有效的特征大概只有幾百個,絕大部分都是空的。因為特征量非常大,不能設(shè)計太復(fù)雜的模型,否則無法用于線上。

離散特征總結(jié):容易設(shè)計,刻畫細致,特征稀疏,特征量巨大,模型復(fù)雜度受限。

連續(xù)特征

還是以時間舉例,離散特征會把它變成24個點,連續(xù)特征就會變成一個值,比如1、2、3、4、5一直到24,它只會占一個位置。需要仔細設(shè)計,很難找到一個直接的方法來描述查詢詞中包括哪些東西。它是定長的,所以一個請求場景到來,它有多少特征是固定的。不像離散特征是不定長,查詢詞不一樣,有的是兩個特征或三個特征,對于特征點可能有兩個或三個,這對于我們后面的工作也有一定的影響。連續(xù)特征比較稠密,每個位置都會有值,它特征量相對較小,如果用連續(xù)特征設(shè)計的話可能需要幾百維就可以,因此可以使用多種模型來訓(xùn)練。

連續(xù)特征總結(jié):需要仔細設(shè)計,定長,特征稠密,特征量相對較小,可以使用多種模型訓(xùn)練。

模型類別

線性

優(yōu)點:簡單、處理特征量大、穩(wěn)定性好。?

缺點:不能學習特征間的交叉關(guān)系,需要自己去設(shè)計。比較典型的如Logistic Regression,有開源的工具包,部署簡單且效果不錯。

非線性

優(yōu)點:能夠?qū)W習特征間非線性關(guān)系。?

缺點:模型復(fù)雜、計算耗時。

比如LR模型就算特征再多,它只是查表加在一起做指數(shù)運算就出來了,像DNN、GBDT就會非常復(fù)雜,導(dǎo)致計算過程比較慢。

總結(jié):Logistic Regression即能處理連續(xù)值又能處理離散值。DNN幾乎不能處理離散值,除非做特殊的預(yù)處理。

模型融合

前面講過每個模型都有自己的特點:Logistic Regression處理特征量大,大概在2010年前后開始大量應(yīng)用于業(yè)界,很難有模型能完全超越它;DNN可以挖掘原來沒有的東西。我們就想這兩個模型能不能將優(yōu)點進行融合,揚長避短,從而得到更好的結(jié)果。

第一種方案:CTR Bagging

有多個模型,將多個模型的輸出CTR加權(quán)平均。

實現(xiàn)方法簡單,模型之間不產(chǎn)生耦合。

可調(diào)參數(shù)有限,只能調(diào)Bagging權(quán)重的參數(shù),不能調(diào)其他東西,所以改進空間相對較小。

第二種方案:模型融合

任一模型的輸出作為另一模型的特征輸入,彼此進行交叉。

實現(xiàn)方法復(fù)雜,模型之間有依賴關(guān)系,因依賴關(guān)系復(fù)雜,風險也比較高。

好處是實驗方案較多,改進空間較大。

我們選了后一種方案,因為單純CTR Bagging太過簡單粗暴了。

模型融合的工程實現(xiàn)

目標

可支持多個不同模型的加載和計算

可支持模型之間的交叉和CTR的bagging

可通過配置項隨時調(diào)整模型融合方案

避免不必要的重復(fù)操作,減少時間復(fù)雜度

解決方法(引入ModelFeature的概念)

模型本身也看做一個抽象特征

模型特征依賴于其他特征,通過計算得到新的特征

模型特征輸出可作為CTR,也可作為特征為其他模型使用

限定ModelFeature的計算順序,即可實現(xiàn)bagging模型交叉等功能

模型融合

模型融合流程圖如下:

首先線下,將PV、Click、Session做成一個sample。

然后把sample做成特征,包括OneHot、CTR。

分別將OneHot、CTR傳送到各自模塊的train,就會得到相應(yīng)的模型。

線上,Bidding Server 會經(jīng)過 Retriever Server召回廣告。

然后傳給Quality Server進行計算,它是通過One Case存儲和這個查詢相關(guān)的所有信息。

Quality Server會把One Case里的信息轉(zhuǎn)換成One Hot特征。

然后將結(jié)果存到特征池,特征池包含所有特征。

LR模型從特征池里讀取數(shù)據(jù),而后計算出CTR,還包括其他增量信息。

將這些回送到特征池。

此外DNN模型也會讀取特征池里的信息,并將最終計算結(jié)果回傳給特征池。

CTR可以從特征池里直接取出,然后進行后續(xù)的操作。

我們?nèi)ツ陮⑦@套框架部署到線上,并持續(xù)進行改進,在線上運行了半年多,基本能適用于業(yè)務(wù)的發(fā)展:曾經(jīng)上線了LR和DNN的交叉,還上線了LR和GBDT的融合。GBDT會將過程信息回傳給LR,由LR完成最終輸出。此架構(gòu)經(jīng)過生產(chǎn)系統(tǒng)的檢驗,運轉(zhuǎn)正常。

模型效果評估

期間我們會做很多實驗,比如DNN訓(xùn)練比較耗時,線上也比較耗時,因此我們會進行多種優(yōu)化和評估。那么就涉及到一個問題,如何評估一個模型的好壞?線下指標主要采用AUC,定義如下圖所示:

我們來分析下這個圖,選定一系列閾值將對應(yīng)一系列點對,形成一條曲線,曲線下方的面積總和就是AUC的值:紅線就是純隨機的結(jié)果,對應(yīng)的AUC是0.5;模型越好,曲線離左上角就越近。這個值在我們模型評估里用得非常多,該值考察的是模型預(yù)估的排序能力,它會把模型預(yù)估排序結(jié)果和實際結(jié)果進行比對運算。該值很難優(yōu)化,一般而言,AUC高,模型的排序能力就強。

線下指標AUC很重要,但我們發(fā)現(xiàn)單純靠這指標也是有問題的,不一定是我們的線上模型出了問題,可能是其他的問題。做廣告預(yù)估,AUC是線下指標,除此之外,最核心的指標是上線收益,有時這兩個指標會有不一致的地方,我們也嘗試去定位,可能的原因主要有:

Survivorship bias問題:線下訓(xùn)練時所有的數(shù)據(jù)都是線上模型篩選過的比較好的樣本,是我們展示過的比較好的廣告,一次查詢?nèi)龡l左右,但實際上到了線上之后,面臨的場景完全不一樣。前面講過RS篩選出最多近千條廣告,這些廣告都會讓模型去評判它的CTR大概是多少,但實際上訓(xùn)練的樣本只有最終的三條,對于特別差的廣告模型其實是沒有經(jīng)驗的。如果一個模型只適用于對比較好的廣告進行排序,就會在線上表現(xiàn)很差,因為從來沒有見過那些特別差的廣告是什么樣的,就會做誤判。

特征覆蓋率的問題,例如:我們有個特征是和這個廣告自身ID相關(guān)的,該信息在在線下都能拿到,但真正到了線上之后,因為廣告庫非常大,很多廣告是未展示過的,相關(guān)的信息可能會缺失,原有的特征就會失效,線上該特征的覆蓋率比較低,最終將不會發(fā)揮作用。

并行化訓(xùn)練

做DNN會遇到各種各樣的問題,尤其是數(shù)據(jù)量的問題。大家都知道模型依賴的數(shù)據(jù)量越大效果越好,因為能知道更多的信息,從而提升模型穩(wěn)定性,所以我們就會涉及到并行化訓(xùn)練的事情。

加大數(shù)據(jù)量,提升模型穩(wěn)定性

我們做搜索廣告有一個重要指標:覆蓋率,是指此情況下是否需要顯示廣告。覆蓋率高了,用戶可能會不滿意,而且多出來那些廣告多半不太好;但如果覆蓋率很低,又等于沒賺到錢。這個指標很重要,所以我們希望融合模型上到線上后覆蓋率是可預(yù)測的。

我們發(fā)現(xiàn)這個融合模型會有自己的特點,上到線上之后會有些波動。例如:今天我們剛把模型覆蓋率調(diào)好了,但第二天它又變了。然后我們分析,可能是因為數(shù)據(jù)量的問題,需要在一個更大的數(shù)據(jù)集上訓(xùn)練來提升模型的穩(wěn)定性。

加大數(shù)據(jù)量,提升模型收益

其實就是見多識廣的意思,模型見得多,碰到的情況多,在遇到新問題的時候,就知道用什么方法去解決它,就能更合理的預(yù)估結(jié)果。

我們調(diào)研了一些方案,如下:

Caffe只支持單機單卡

TensorFlow不支持較大BatchSize

MxNet支持多機多卡,底層C++,上層Python接口

MxNet我們用得還不錯,基本能達到預(yù)期的效果。

若干思考

Deep Learing的強項

輸入不規(guī)整,而結(jié)果確定。

例如:圖像理解,這個圖像到底是什么,人很難描述出到底是哪些指標表明它是一個人臉還是貓或狗。但結(jié)果非常確定,任何人看一眼就知道圖片是什么,沒有爭議。

具體到我們的廣告場景,廣告特征都是有具體的含義。例如:時間信息,說是幾點就是幾點,客戶的關(guān)鍵詞信息,它寫的是什么就是什么,文本匹配度是多少,是高還是低,都有確定的含義。

CTR預(yù)估

輸入含義明確,場景相關(guān),結(jié)果以用戶為導(dǎo)向。

例如:一個查詢詞,出現(xiàn)一條廣告,大家來評判它是好是壞,其實它的結(jié)果是因人而異的,有人覺得結(jié)果很好,而有人卻覺得一般,它沒有一個客觀度量的標準。所以我們認為CTR預(yù)估跟傳統(tǒng)的DL應(yīng)用場景不太一樣。

我們DNN用到線上后,收益大概提升了百分之五左右,但相對Deep Learing在其他場景的應(yīng)用,這個提升還是少了些。語音輸入法很早就有人做,因為準確率的問題一直沒有太大應(yīng)用,但Deep Learing出來后,比如訊飛及我們搜狗的語音輸入法,用起來很不錯,準確率相比之前提高了一大截。

未來方向

Deep Learing既然有這些特性,我們會根據(jù)特定的業(yè)務(wù)場景進行應(yīng)用,比如在某些情況下把它用上去效果會很好,我們還想做一些模型融合的事情。

我們做實驗發(fā)現(xiàn)把DNN和LR融合后,較好的結(jié)果相比LR本身,AUC大概高不到一個百分點。我們也嘗試過直接把DNN模型用到線上去,效果很差,就算在線下跟LR可比,但到線上后會有一系列問題,不管是從覆蓋率還是從最終收益都會有較大的差異,這是我們在搜狗無線搜索數(shù)據(jù)上得出的實驗結(jié)論,大家在各自的業(yè)務(wù)場景下可能有所區(qū)別。

如果你們沒有足夠經(jīng)驗去手工做各種交叉特征的設(shè)計,直接用DNN可能會有好的成果。如果在非常成熟的模型上做,可能需要考慮下,收益預(yù)期不要太高。

歡迎加入本站公開興趣群

商業(yè)智能與數(shù)據(jù)分析群

興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價值的辦法,實際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報表系統(tǒng)等全方位知識

QQ群:81035754

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/4370.html

相關(guān)文章

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<