【導(dǎo)讀】來自意大利米蘭理工大學(xué)的 Maurizio 團隊近日發(fā)表了一篇極具批判性的文章,劍指推薦系統(tǒng)領(lǐng)域的其他數(shù)十篇論文,指出這些論文中基于深度學(xué)習的推薦算法大部分都存在不同程度的數(shù)據(jù)集缺失和源碼缺失,導(dǎo)致它們無法復(fù)現(xiàn),而那些可復(fù)現(xiàn)的算法,其性能也難以達到預(yù)期,甚至難以超越基于傳統(tǒng)的、簡單的機器學(xué)習推薦算法。
推薦系統(tǒng)領(lǐng)域研究的潛在問題
近年來,基于深度學(xué)習的算法是非常熱門的研究方向,其在許多領(lǐng)域,如計算機視覺,自然語言處理等領(lǐng)域都取得了巨大的成功,因此許多研究人員也期待能借助深度學(xué)習方法在推薦系統(tǒng)領(lǐng)域取得突出的進展,例如基于長期依賴配置和基于場景的 top-n 推薦算法。近年來也有許多基于深度學(xué)習的推薦算法發(fā)表在知名會議和期刊上,然而過去有工作指出這些深度學(xué)習推薦算法并不是完全可信的,主要存在以下三個問題:
許多聲稱有提升的方法事實上并不能超越經(jīng)過合理調(diào)參的基準對比工作,甚至不能超越很簡單的傳統(tǒng)方法。具體來說,這些方法在實驗上存在一定的缺陷。
基準對比工作的選擇問題:許多方法選擇的對比工作本身就有問題,不是廣義上的基準工作。并且該領(lǐng)域的基準工作很混亂,不太統(tǒng)一。
不同工作采用的數(shù)據(jù)集,驗證方法,性能指標,數(shù)據(jù)預(yù)處理步驟都不同,這使得性能對比很困難,無法確定哪個工作在相同的應(yīng)用環(huán)境中表現(xiàn)最好。而且很多工作不開源數(shù)據(jù)和代碼,這不符合現(xiàn)在的代碼開源趨勢,甚至即使開源了,也不把完整代碼放出來。
系統(tǒng)的算法評估標準
為了深入探究基于深度學(xué)習的推薦算法是否存在以上問題,作者制定了兩個算法評估標準:
可復(fù)現(xiàn)性:能否通過代碼和數(shù)據(jù)集重現(xiàn)文中的實驗結(jié)果
性能評估:這些工作和基準工作相比能提高多少
在此標準的基礎(chǔ)上,作者評估了近幾年發(fā)表在頂尖會議上,運用深度學(xué)習方法來實現(xiàn) top-n 推薦的 18 篇工作,最后發(fā)現(xiàn):只有七篇工作是可復(fù)現(xiàn)的;而這 7 篇工作中,有 6 篇都沒能超越傳統(tǒng)的、經(jīng)過合理調(diào)參的啟發(fā)式方法。即使是簡單地將最流行的items推薦給每個用戶(TopPopular),也能在特定的性能指標衡量下超越深度學(xué)習方法達到最優(yōu)。
文章可復(fù)現(xiàn)性判斷
(一)調(diào)研文章范圍
作者收集了2015年到2018年 KDD、SIGIR、WWW 和 RecSys 會議上的研究工作,這些論文都是采用基于深度學(xué)習的方法來解決top-n分類問題的。在此基礎(chǔ)上,只考慮與精度評估有關(guān)的工作,因此最終篩選出了18篇文章。
(二)可復(fù)現(xiàn)性的數(shù)據(jù)和代碼標準
首先,盡量通過文章原作者提供的源碼和數(shù)據(jù)來復(fù)現(xiàn)結(jié)果。由于有太多的實現(xiàn)細節(jié)以及驗證程序需要考慮,想要單純的依靠作者提供的資源來重現(xiàn)文中的結(jié)果是很難的。為了解決這個問題,作者擴大了代碼和數(shù)據(jù)的搜索范圍,只要是和原文章有關(guān)的代碼,即便不是官方代碼也考慮在內(nèi),如果實在找不到現(xiàn)成的實現(xiàn)代碼和數(shù)據(jù),就聯(lián)系原文作者并等待30天。在進行了以上步驟后,將同時滿足以下兩個條件的文章定性為可復(fù)現(xiàn)文章,具體的:
1、有源代碼,并且源代碼只需要微小的細節(jié)改動(例如調(diào)整路徑,調(diào)整工作環(huán)境)就能正確運行。如果只是有一個代碼框架,而缺少許多細節(jié),是不滿足這個要求的。
2、至少有一個文中用到的數(shù)據(jù)集是可以獲得并使用的(某些文章用的數(shù)據(jù)集是自建數(shù)據(jù)集或者不是公開數(shù)據(jù)集,對于作者而言很難獲?。6矣?xùn)練集和驗證集的劃分方法也是在文中或者源碼中進行明確闡述的。
最終,18篇文章中只有 7 篇滿足以上條件,具備可復(fù)現(xiàn)性。作者還表示:“這是一個驚人的結(jié)果,如果深入追究可能會涉及到學(xué)術(shù)造假問題,就不貼那些結(jié)果不能復(fù)現(xiàn)的文章編號了”。
可復(fù)現(xiàn)工作的性能評估
在挑選出 7 篇可復(fù)現(xiàn)的工作后,作者進一步的評估了它們的性能。為了保證不同方法之間的可對比性,本文介紹了兩種評估策略。第一種評估策略是將所用的方法和基準方法在同樣的測試流程和測試集上進行評估,這有助于橫向?qū)Ρ炔煌姆椒ㄔ谕粩?shù)據(jù)集上的性能差異,雖然這種策略在之前的類似文章中已經(jīng)用過,但會導(dǎo)致驗證方法和每個方法的原始文章中采用的方法有一定的差距,因此不能完全反應(yīng)原始方法的性能(不完全復(fù)現(xiàn))。
為了解決這個問題,作者提出將超參調(diào)優(yōu)過程和測試過程分開進行,保證所有的方法(包括基準)方法都使用相同的測試代碼,但是允許它們有不同的調(diào)參過程,這樣每種方法都可以按照原文中提出的調(diào)參策略在自己的數(shù)據(jù)集上,即保證完全復(fù)現(xiàn)了原文方法,又保證不同方法之間具有可對比性。
基準方法的選擇
所有的基準方法都是簡單的非神經(jīng)網(wǎng)絡(luò),啟發(fā)式算法,或者說基于傳統(tǒng)機器學(xué)習和統(tǒng)計學(xué)的方法。選擇簡單的非深度學(xué)習方法作為基準方法,通過和基于深度學(xué)習的方法進行對比,以驗證模型復(fù)雜度的提升能否帶來性能上的顯著提升,作者得到的結(jié)論是不能。一方面是因為該領(lǐng)域的研究過于跟風使用深度學(xué)習方法,沒有細致嚴謹?shù)厝パ芯繂栴}的本質(zhì),另一方面也是因為神經(jīng)網(wǎng)絡(luò)本身沒有那么強大(現(xiàn)在有許多工作都是對神經(jīng)網(wǎng)絡(luò)的真實能力提出了質(zhì)疑),當然,學(xué)術(shù)上的不嚴謹也是一個重要原因(可能存在的造假行為)。
本文主要采用了如下幾種基準方法:
TopPopular:直接統(tǒng)計“最流行”的items(物品,項目)并推薦給每個用戶,這里的“最流行”可以用不同的指標來衡量。
ItemKNN:基于K最近鄰算法的一種推薦算法,衡量指標是物品之間的距離,因此是基于相似物品的推薦算法。首先通過TF-IDF或BM25算法獲取每個物品對每個用戶的隱式評分(評價向量,rating vector,可以簡單理解為該用戶對該物品的需求程度),然后按照以下公式計算兩個物品之間的距離:
UserKNN:基于相似用戶的推薦算法,類似于ItemKNN,只不過計算樣本點變成了每個用戶自身的評級。
ItemKNN-CBF:基于內(nèi)容過濾的相似物品推薦算法,CBF表示content-based-filtering,在標準ItemKNN的基礎(chǔ)上,將物品自己的特征向量作為距離衡量向量。
ItemKNN-CFCBF:將每個物品的排名向量和特征向量結(jié)合,這樣每個物品就由兩個向量表示,通過計算兩個物品的向量之間的余弦夾角來衡量相似度。
??:基于隨機游走的方法,從用戶 u 游走到物品 i 的概率為:
是物品 i 對用戶 u 的評級向量,是用戶 u 的評級,α 是阻尼因子。同理,從商品 i 游走到用戶 u 的概率為:
其中是商品 i 的評級。最后,兩個商品 i,j 的相似度計算公式為:
? 是? 另一個版本,將? 輸出的相似度進一步地按系數(shù) β 擴張,所有基準方法都采用貝葉斯搜索來獲取最優(yōu)參數(shù)。
算法性能測試與對比結(jié)果
通過將可復(fù)現(xiàn)的 7 個方法與基準方法在相同數(shù)據(jù)集上進行測試,可以評估這些可復(fù)現(xiàn)方法的真實性能。這里主要評估之前挑選的7中可復(fù)現(xiàn)方法,其中只有Collaborative Variational Autoencoder(CVAE)能在同等訓(xùn)練條件下超越傳統(tǒng)方法,其他算法都不如同等測試條件下的傳統(tǒng)方法。
CMN方法的實驗結(jié)果
MCRec方法的實驗結(jié)果
CVAE實驗結(jié)果
CDL實驗結(jié)果
NCF 實驗結(jié)果
SpectralCF 實驗結(jié)果
結(jié)論
本文主要關(guān)注近年來發(fā)表在熱門會議上的基于深度學(xué)習的 top-n 推薦算法,聚焦于它們的可復(fù)現(xiàn)性和真實性能。結(jié)果表明大部分算法都無法重現(xiàn)理想結(jié)果,甚至無法超越傳統(tǒng)的啟發(fā)式算法,這說明推薦算法領(lǐng)域的研究和審核需要更加嚴謹和仔細,算法的性能評估需要更加標準,正確的方法。文中提到的那些無法復(fù)現(xiàn)和效果低于預(yù)期的工作肯定會被重新審核,甚至退回。
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24703 -
深度學(xué)習
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121170 -
自然語言處理
+關(guān)注
關(guān)注
1文章
618瀏覽量
13561
原文標題:數(shù)十篇推薦系統(tǒng)論文被批無法復(fù)現(xiàn):源碼、數(shù)據(jù)集均缺失,性能難達預(yù)期
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論