10.23 推薦系統中的前沿技術研究與落地:深度學習、AutoML與強化學習

整理 | 夕顏

出品 | AI科技大本營(ID:rgznai100)

個性化推薦算法濫觴於互聯網的急速發展,隨著國內外互聯網公司,如 Netflix 在電影領域,亞馬遜、淘寶、京東等在電商領域,今日頭條在內容領域的採用和推動,個性化推薦如今已成為互聯網公司背後的無形“推手”,可以說,如今我們打開任意一款聯網的產品,用戶看到的內容,接收到的信息,絕大部分取決於提供這些商品和服務背後企業的推薦算法團隊。

在效率至上的時代,推薦系統將信息生產者與信息受眾有效地連接起來,前者可以將信息精準傳達給後者,後者也能接收到自己最感興趣的內容。

然而,推薦系統並非完美無缺。比如,再完美的個性化推薦系統都逃不過“信息繭房”的桎梏,因為人的興趣會隨著時間的變化而改變,甚至自己都無法意識到自己感興趣的話題和領域有哪些,在何時悄然發生變化,推薦系統更是無法精準“揣度”人的心思,這導致僅憑推薦算法已無法滿足用戶越來越高的要求。因此,基於推薦算法,結合知識圖譜、深度學習、AutoML 等技術的新方法隨之誕生,讓推薦系統變得更加可信賴。

推薦系統與深度學習、強化學習、AutoML 等新技術將碰撞出什麼樣的火花?推薦系統用上這些技術之後便“如虎添翼”還是會被其所累?新技術與推薦算法的結合還有哪些新的可能和方向?在2019 AI開發者大會上,來自華為諾亞方舟實驗室推薦與搜索項目組資深研究員唐睿明在推薦系統技術分論壇上,為觀眾分享了華為在這些新技術與推薦系統結合探索中的最新成果。

2019 AI開發者大會是由中國IT社區 CSDN 主辦的 AI 技術與產業年度盛會,2019 年 9 月 6-7 日,近百位中美頂尖 AI 專家、知名企業代表以及千餘名 AI 開發者齊聚北京,進行技術解讀和產業論證。

以下為唐睿明的演講實錄整理,AI 科技大本營整理(ID:rgznai100):

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

我所在的華為諾亞方舟實驗室是偏算法研究的團隊。今天我將主要從三個方面來向大家介紹一下我們的研究進展,其中強化學習目前偏探索,而深度學習和 AutoML已經落地。深度學習的一些新模型,我們已落地兩年左右;AutoML 是最近較新的進展,可以和大家分享。

深度學習在推薦系統中的研究與應用

推薦系統的三個功能模塊

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

工業界推薦系統基本上都遵循這樣的框架,我們稱之為候選集生成、排序和重排序。

推薦技術發展歷程及技術趨勢

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

我們總結出,推薦模型的技術發展的演進路線基本上經過了協同過濾、廣義線性模型,到 2015 年,業界比較流行深度學習模型,之後又出現強化學習模型,以及 AutoML 推薦模型。但是業界的互聯網公司真正使用這些技術的時間點遠遠早於圖片中我標註的時間點,因為這些時間點是我根據網上公開的博客、論文資料找到的,資料往往比業界商用來的晚。

深度學習推薦算法挑戰:高維稀疏特徵+海量樣本

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

深度學習模型在推薦系統中的應用面對兩個比較重要的挑戰,一是如何合理地表達特徵,即把一個高維稀疏的向量表達成低維稠密的表示。第二是如何學習特徵之間的交互關係。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

2016 年 YouTube 提出 DNN 框架。這是一個 Embedding+MLP 的算法框架。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

2018 年,谷歌發表一篇論文,提出推薦系統的交互方式,有內部交互的數據中,如果用傳統的非常簡潔的 MLP結構來學習,理論上可以學出來,但是這需要非常寬的網絡結構。這在實際應用中非常難以實現,因為需要用到的神經網絡寬度遠遠大於 Embedding SIZE。這篇文章同時提出,我們需要一些非線性的網絡結構來學習特徵之間的交互關係,而非MLP中的簡單加法。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

之後,業界很多工作把一些模型創新點轉向了特徵交互,實際上特徵交互的設計非常合理,因為在深度學習引用到推薦系統之前,推薦系統的這類算法核心技術就是在建模特徵之間的關係。在深度學習中,我們為何不把低階模型(淺層模型)中一些特徵交互的設計經驗引入到深度學習模型中呢?這樣做的優勢是可以顯示建模與特徵之間交互的關係。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019
推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

業界有幾類特徵交互設計:第一種是 Product Operation,用點擊操作建模特徵交互(從 2016 年開始是 PNN,我們諾亞連續發了兩篇論文,分別是 DeepFM 和 PIN);第二種是用attention operation(比如AFM,阿里的DIN,DIEN等);第三種是RNN/CNN(例如谷歌的LatentCross,諾亞的FGCNN等);第四種是Memory-based,因為之前的這些網絡結構都沒法捕捉到超長序列中的關係。

我們先來介紹一下諾亞的兩個深度學習模型DeepFM和PIN。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

DeepFM 的思想比較簡單,在工業界中應用也較為容易,完全沒有操練過深度學習的人可以把這個模型當作入門級演練。該模型的思路其實和谷歌的Wide & Deep模型比較類似。當時,學術界對是否將深度學習引入到推薦模型還沒有得出定論,到底是淺層模型還是深度模型好,兩個學派還在爭論。因此谷歌的研究員把這兩個模型結合起來,提出了有名、實用的Wide & Deep模型。

在復現Wide & Deep模型的訓練過程中我們發現一個問題,即做一個公開數據集(Criteo數據集)時經過匿名化處理,那麼如何在這樣的特徵數據集上做人工的特徵交互(以輸入Wide & Deep模型中的Wide部分)?在這種情況下,如果無法做特徵交互,是否能有一個端到端自動提取低階特徵的模型?在這種思路下,我們提出了DeepFM模型,用FM模型來自動地學習低階特徵交互。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

第二個模型是 PIN,思路同樣聚焦於建模特徵之間的相互關係。不同特徵交互關係是不同的,有的信息量較大的特徵域進行交互應該用較複雜的操作進行建模,而信息量較少的特徵域之間的交互可以用相對簡單的模型建模。基於這個想法,我們用子神經網絡來學習不同特徵域之間的交互關係,每一對域之間的交互由一個子神經網絡來表達並學習,而具體的參數通過訓練數據訓練得到。如果深度學習中域的數量為幾十,我們可以把所有兩個域之間的組合羅列出來,這樣的結果是子神經網絡的數量非常巨大,在這種情況下神經網絡規模必須非常小。由於子神經網絡數量較大,我們現在假設所有的神經網絡架構一模一樣,否則非常難以為數量如此龐大的子神經網絡來設計它們的結構(我們用一層或者兩層的網絡進行原始輸入)。今年,我們提出來用AutoML 來解決這個問題,後面會進行詳解。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

我們團隊直接服務於華為應用市場,把DeepFM和PIN用在應用市場遊戲推薦的場景,當時連續做了 12 天的 AB 測試之後,深度學習模型在更新頻次不佔優勢的情況下,精度大幅度超過了線性模型。而PIN 以複雜的建模輕而易舉地擊敗了 DeepFM。但由於複雜度的原因,PIN 模型最終沒有大規模上線,所以在我們內部,主流模型還是 DeepFM。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

現在我介紹一個個人覺得工業界非常感興趣的問題,那就是位置偏差問題。很多推薦場景往往不是推薦一個商品,而是一組商品。推薦一組商品時,擺放位置不同會影響推薦的效果,比如某個商品擺放在位置 1 時下載量較高,那是因為用戶喜歡它,還是放在了好的位置?這兩個影響因子融合起來,產生的影響不容忽視。據我瞭解,工業界通常處理這個問題時會把位置當做一般特徵輸入到神經網絡進行訓練;而在預測時,位置特徵的值是無法獲取的,則會輸入一個默認值做為位置特徵。

經過實驗,我們團隊認為這個方法並不好,因為不同的位置特徵的值輸入神經網絡後,會造成 CTR 預估數值不同。我們對這一點進行了改進,把神經網絡分為兩部分,一部分只用來建模 Position,另外一部分建模除 Position 之外的所有特徵,兩部分合在一起得到最後的 CTR。我們希望右邊的神經網絡能夠完全把 Position 的影響去除,這樣做 預測時,用右邊的神經網絡即可。我們選取了 Position1、Position5、Psition9這三個值做為baseline的位置特徵值,而我們的模型在預測時不需要 Position。通過三週的線上AB測試發現,我們的模型比固定位置特徵值的baseline方法在下載率上有大幅度提升。現在,我們都是用這個模型進行處理位置特徵。

AutoML在推薦系統中的研究與應用

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

前面介紹的是過去深度學習模型部分的工作,下一步介紹我們目前正在進行,或者計劃進行的工作,那就是 AutoML。大家都在提 AutoML,目前 AutoML 80%-90% 的工作聚焦於CV領域,搜索 CNN 網絡架構。

在推薦系統裡,我們如何用 AutoML 技術解決模型上之前無法解決的一些問題呢?

基於深度學習的推薦算法主要包括三個模塊,第一個是 Embedding,第二個是特徵交互,第三層是 MLP,我們現在想做的是 Embedding 和特徵交互。我們先來看看業界一些公開工作。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

第一個工作是第四範式的 AutoCross。對於傳統的淺層模型,專家一般只設計二階特徵交互,而用 AutoCross 可以自動地搜索出一階、二階或更高階的特徵加入到特徵中,精度可以媲美深度學習,甚至用AutoCross搜索出來的特徵組合可以用到深度學習模型中。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

谷歌今年 7 月份公開了一個具有開創性的工作——NIS。基於深度學習的推薦系統模型,絕大部分參數都在Embedding層。現在,很多商用的深度學習模型中不同特徵的Embedding Size相同,其中的原因是讓矩陣算得更快,或者是為了調參方便。但是這不是合理的做法,舉例來說,城市和性別這兩個特徵相比較,城市的數量有成百上千,但是性別只有兩類,男或者女,我們應用使用更多的參數去表達城市這個特徵;在城市這個特徵內部,也有著不同的特點,如北上廣深這些城市,有著很大的樣本量,而拉薩、呼和浩特這些城市樣本量較小,我們可以用更大的參數去描述北上廣深這些城市,而用較少的參數去表達其他城市。總結來說,在參數量給定,資源有限的情況下,如何合理分配 Embe

dding 參數非常關鍵。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

基於深度學習的推薦系統當中,絕大參數聚焦於 Embedding,這部分參數如何合理分配,可能使得深度學習效果得到大幅提升。這是初步的嘗試,把整個搜索空間劃分成矩陣的形式進行搜索。我們認為,該工作指出了一個正確的方向,我們也在推薦系統中進行相關工作,這個方向是我們的目標之一。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

下面介紹三個我們團隊已經基本上完成的工作。

第一個工作叫做 AutoGroup,高階特徵交互自動化探索。深度學習止步於二級特徵交互,沒有向三階、四階邁進。AutoGroup 的思想是讓特徵交互有意義。對於不同的階數(二階,三階,…,P階),AutoGroup會自動地找到一些特徵子集,以生成對應階數的特徵交互。AutoGroup 訓練複雜度是 DeepFM的兩到三倍,在現有計算資源下比較容易實現。8 月份,我們上線測試了三週, AutoGroup 相比於基線在 AB 測試上平均提升 8%。

在該工作過程中,我們還得到另外一個方向:特徵交互的自動化選擇。現在有很多模型中的二階特徵交互時沒有權重的(或者是權重都是1),也有一些工作嘗試用加權重的方式來學習不同特徵交互的重要性。我們用類似的方法給二階特徵交互加上權重來探索權重到底能學習到什麼。我們隨機對神經網絡進行初始化,把最終學習到的權重進行排序,得到比較重要的特徵交互。但通過這種方式學出來的權重極其不穩定,表現為不同的神經網絡初始化下,得到的重要的特徵交互有著很大的區別。這種不穩定性導致這種權重的定義和學習方法在工業界基本不可用。我們用另外一種方式進行改造(正在申請專利不便公佈),發現特徵選取的穩定性達 96%。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

我們選取兩個模型,一個是 FM、一個是 DeepFM,經過改造之後的模型比原始的版本相比性能有了大幅提升。如果有更多計算資源,我們還可以把三階特徵交互羅列出來,性能還會繼續提升。我們選取了20%有用的特徵交互,相比於基線,AB 測試線上平均提升 10%。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

第三個工作是基於 PIN 模型的改造。PIN 模型有成百上千個子網絡,我們現在的做法是不同的子網絡有著相同的網絡結構,而這些子網絡的權重則是由訓練數據學習出來的。我們用AutoML方法來決定不同子網絡的網絡結構,對於一些無用的特徵域的交互,可以不用子網絡建模,一些非常重要的特徵域交互,可以使用複雜的網絡結構。初步的實驗表明,用AutoML的方法來精細化、自動化地設計不同子網絡的網絡結構可以帶來精度的提升(相比於PIN模型)。

以上是我們在 AutoML 上的一些工作。

強化學習在推薦系統中的研究與應用

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

因為更加偏向於探索,強化學習在推薦系統中的應用這部分我做簡單的介紹。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

我總結了近幾年基於強化學習的推薦算法的工作,大致分為三類模型:第一類模型是 Policy-Based,直接決定推薦的策略;第二類模型是 Value-Based,算出每一個候選動作的價值,然後進行推薦;第三類模型是 Policy & Value-Based,是前兩種模型的結合。

谷歌在2019年提出了兩個模型,其中一個應用在YouTube的視頻推薦中。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

另外一個比較有意思的工作與淘寶相關,這是南京大學俞揚老師在搜索場景中做的一個模擬器。一般這種模擬器都用在遊戲場景中,因為沒什麼損失,而推薦系統就不能這麼做。虛擬淘寶的作用是建立一個與淘寶類似的虛擬場景。在這個虛擬場景下,強化學習可以得到充分的訓練,從而安全、有效的上線。

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

我們在去年提出了一個工作,TPGR。我們想要解決在將強化學習模型應用推薦系統中時,推薦商品侯選集較大的問題。首先,TPGR模型基於商品候選集建出一棵平衡聚類樹,樹的葉子節點代表待推薦的商品,非葉子節點代表聚類的一些信息。推薦商品其實就是在這棵樹中從根節點走到一個葉子節點的過程,走到哪個葉子節點就推薦哪一個商品。每一個非葉子節點上都有一個小的策略網絡,用來決定接下來走向該非葉子節點的哪一個孩子節點。多個策略網絡聯合決策,共同決定了推薦哪個商品。而推薦商品的用戶反饋可以反向傳播,更新這條路徑上的這些策略網絡。

總結與回顧

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019

最後總結一下,深度學習算法已成為業界主流,平臺+算力+算法+數據是深度學習推薦系統能力的核心競爭力。強化學習加快探索,實現動態自適應的推薦能力。AutoML技術在推薦中的研究也成為熱點,不久會有大量的成功應用案例湧現。

演講嘉賓:

唐睿明,華為諾亞方舟實驗室推薦與搜索項目組資深研究員。他於 2009 年在中國東北大學獲得學士學位,專業為計算機科學與技術;並在 2014 年從新加坡國立大學計算機專業獲得博士學位。2014 年底,他加入華為諾亞方舟實驗室。他的研究方向包括機器學習、推薦系統、深度學習、強化學習、AutoML等。在基於深度學習和強化學習的推薦系統領域,他的多篇論文發表於國際頂級會議和期刊,如

WWW,IJCAI,TOIS,AAAI,RecSys,SIGIR等。

(*本文為 AI科技大本營整理文章,請微信聯繫 1092722531

彩蛋~ ◆

1024程序員節超值特惠限時秒殺!

活動時間:2019年10月24日00:00-24:00凡在此活動期間購買大會單人票,即送價值298元的CSDN VIP年卡哦!

(VIP年卡特權:全站免廣告+600個資源免積分下載+學院千門課程免費看+購課9折)

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019


分享到:


相關文章: