關於深度學習推薦系統領域的15個問題

2021-10-07 10:32:35 字數 2975 閱讀 2155

和我的經歷有一點像,我在職業生涯頭五年一直是做計算廣告的,bidding演算法,預算控制,ctr預估之類的,推薦系統是我這三年的重點,雖然計算廣告跟推薦系統有很多相通之處,但在系統架構,推薦模型上還是有諸多區別。所以可以分享一下我的經驗。

感覺進入乙個新領域還是要多看,多想,多整理,自己的消化吸收整理特別重要,但是所有的一切一定是要建立在你之前知識基礎上的,找到很多知識之間的共通之處,才能提高吸收的效率。

但是乙個leader到底需不需要深入到細節中去,我覺得這個跟每個人的領導風格有關係,我個人倒是覺得帶兩個團隊的leader應該從領導方法上多下功夫,建立知識的大框架,作方向性的正確抉擇就好,對於細節的知識模組倒是要求不那麼高了,當然這是題外話了。

非常看好,我看好四個子領域在推薦系統的前景,強化學習、邊緣計算、知識蒸餾、深度學習工程架構。

強化學習本質上是提高了agent online學習的頻率,它更快的適應環境的發展,作出更實時地,更符合當前環境的推薦。這和提高模型表達能力是不同的,它從實時性的、探索的、可適應的角度提高效果,這是之前推薦系統不曾有過的能力和資訊。

但強化學習是跟實時推薦系統架構緊密相關的,不能簡單認為這是乙個模型訓練問題,它的要點在於如何跟工程架構,資料流,模型本身緊密的耦合起來,對於整個團隊的要求是非常高的。但毫無疑問,這種工程和模型緊密結合的領域,應是未來的方向。

a. 比較難利用深度學習模型進行訓練,也許可以考慮tree based model,或者一些傳統的分類模型,深度學習模型幾乎無法收斂。不知道gan在推薦系統中能不能應用,感覺不是特別容易work。

b. 如果樣本數量很大的話,特徵稀疏其實並不是問題,你可以做這樣的想象,id類特徵的onehot encoding,大部分維度都是0,但是在大樣本量下,照樣可以學出質量非常高的embedding。如果是樣本量太少,特徵又稀疏,這個問題太難了,希望大家有好的經驗分享。

非常好的問題,書裡面有專門的一章「推薦系統的評估」去討論這個問題。這個問題必須系統的看,好的評估系統一定是乙個體系,而不是一種方法。

線下測試的作用是快速過濾掉一些確實非常不靠譜的模型和想法,在評估體系的每個層級再去過濾掉不生效的改進,逐漸到線上ab test。

知識圖譜由於graph embedding,gcn的發展再次流行起來,跟之前的content based 系統有聯絡,也有進展。

知識圖譜是一定可以跟使用者行為類資料聯合起來在推薦系統中使用的,它是冷啟動的非常好的方法,也是使用者行為資料的最有效補充。

請參考問題4,而且事實上auc是乙個不那麼真實的指標,它評價的場景其實跟使用者真正看到的場景相去甚遠(大家可以從auc是怎麼計算的,以及線上使用者是看到什麼結果,好好想想這句話),這也就是你經常看到很多*****在評價模型的時候會對auc進行改進。

要多從問題的本質想問題,不要唯auc論,它只是乙個習以為常的,慣例性的指標,但並不意味著它是乙個好的指標。

當然,模型本身的問題肯定也是可能的,資料有偏,模型太複雜導致過擬合,線下線上環境差距太大,模型更新有問題,都是可能是原因,但這裡資訊不足無法定位。

如果是採用embedding的方法對這些id進行特徵化,那麼就要盡可能的提公升embedding的更新速度,但是我們也知道,embedding的訓練一般是非常耗時的,幾小時訓練一次已經是非常快的速度。

那麼在這樣的情況下,就要準備一些冷啟動的方法,比如用一些相似性找到近似的新聞,進行這些已有新聞embedding的平均,或者類似平均的計算。這樣的做法airbnb已經有過成功的應用。

另外,我們在模型中不要只實用id類特徵,時間、nlp處理的title,內容,作者資訊、發布地點、一些可用的分類標籤等等都可以作為特徵,這些內容和上下文特徵顯然是可以實時生成的,這些都可以作為冷啟動時期的特徵向量。

當然還有一種做法,就是在多路召回中採取基於規則或者其他策略的召回方式,這樣避免單一模型的片面性。

我們也在進行這方面的嘗試,但從pinterest的嘗試來看,在自己的資料結構是圖的特徵(訂閱、點讚關係)非常明顯的時候,圖神經網路是能夠大幅提公升推薦效果的。

但是一定要清楚的是不要寄希望於乙個技術能在幾乎所有場景上都更有效果,更有效果一定是因為這個模型非常適合於應用在你的資料特點上。

圖神經網路當然更適合處理圖資料,但一定要清楚一點,所有技術改進能夠產生效果一定是因為它符合你的資料特點,你的資料能夠支撐起模型的優勢。圖神經網路同理。

這個問題比較個人,根據自己的需求有重點的去學習吧。如果是我的建議的話,還是根據我一直提倡的,從經典模型到深度模型,逐漸建立自己的知識體系是最重要的。

我有乙個固定的總結和寫東西的時間,就是晚上10點-12點,等我娃睡覺了之後。。如果每天就固定出一塊時間做某件固定的事情,可能就不嫌時間少了。至少我做這件事情還挺開心的,不覺得工作之外額外的痛苦。

非常好的問題,參加實習,參加實驗室專案是必須的,我覺得重要性甚至超過**文。我見過的大部分演算法崗的manager都喜歡在學術能力夠用的基礎上,招工程能力強的同學。很好理解嘛,大家都喜歡來之能戰,能幫自己解決問題的同學,不會喜歡眼高手低加入團隊之後還要別人配合的同學。

如果沒有實習,也沒有專案機會,我建議要自己給自己找專案。我研究生的時候曾經自己做過乙個遊戲文章推薦系統,我甚至還靠這個專案做seo,接google ads賺了一些錢。

如果真的是從0開始的話,我覺得入門就從協同過濾開始吧。業界經典,理論簡單實用。在此基礎上不斷優化。

推薦框架其實都不用有,每個物品乙個向量,使用者乙個向量,一乘之後排序就行了。當然這裡面規模大了也有很多任務程問題,那就到時候人擋殺人,佛擋殺佛吧。

這是個非常好的問題。其實不僅是現在,推薦系統,計算廣告這種業界背景很強的學科,一直以來都是業界巨頭驅動的。amazon協同過濾,netflix矩陣分解,到google,阿里,微軟深度學習,都是因為業界的成功應用才流行起來。

這裡原因其實不難發現,現在越來越強調資料的重要性,資料規模的重要性,線上測試的重要性,這些都是只有在巨頭公司才能做的。

但另一方面,學界的價值永遠是不可替代的,一些新的idea,一些新的角度總是學界提出的。就拿google提出的word2vec這種人盡皆知的模型來說,是學界早在20年前就提出過類似的模型。更不要說rnn,lstm了,雖然他們被業界逐漸應用,越帶越火,但你要知道你是站在學界的肩膀上的。

以上,謝謝大家。

深度學習在推薦系統的應用

目錄結構 模型集合 wide and deep learning youtube recommendation deepfm lattice 模型原理 lattice是多維內插式查詢表,為了模型更好地泛化,我們充分利用查詢表的結構來滿足您指定的 單調關係,這種結構能夠通過使用多重輸入估計任意柔性關係...

推薦系統 3 深度學習發展

深度學習推薦模型,有早期微軟的deepcrossing,google的wide deep,阿里的mlr,到現在影響力非常大的din,dien,youtube的深度推薦模型等。經典的推薦演算法,矩陣分解,在矩陣分解模型的結構中,使用者one hot向量和物品one hot向量分局兩側,他們會先通過隱向...

學習週報20200621 深度學習推薦系統

學習週報 總結自己的學習和遇到的好材料。往期回顧 最近調整了作息,早上早起晚上早睡,所以學習策略也有一些調整,但是學習是一直不能落下,query理解層面自己有了比較完整的一年經驗,要開始把坑挖大,自己的計畫是稍微在推薦系統這個角度看看有沒有一些經驗可以使用吧,一方面是深度學習推薦系統這本書,另一方面...