天天看點

NIPS機器學習煉金術之争,Twitter機器學習研究員參戰

NIPS機器學習煉金術之争,Twitter機器學習研究員參戰

新智元報道

編輯:胡祥傑

【新智元導讀】LeCun阿裡煉金術戰火再更新:倆人在Facebook上展開了直接的對話,火藥味甚濃。Twitter機器學習研究員發表了見解:機器學習需要什麼樣的研究方法?

2017NIPS "Test of Time"論文大獎獲得者Ali Rahimi (阿裡·拉希米)在長灘現場的演講中把機器學習稱為“煉金術”(Alchemy)引起的機器學習界大讨論仍在蔓延。

昨天,著名的深度學習領軍人物 Yann LeCun 在自己的首頁上回應阿裡,他說自己完全不同意阿裡的說法,還說,It's Insulting, yes. But Never Mind: It's Wrong。

這事還沒完,阿裡随後曬出了自己在NIPS現場的合影,并稱“A NIPS rigor police reuinion”(NIPS 嚴謹警察聚在一起),LeCun随後轉發并評論:Rigor 警察沒引起 Rigor Mortis(死後的第三階段,也就是屍體變硬)。

看來LeCun老人家也是夠毒舌。

NIPS機器學習煉金術之争,Twitter機器學習研究員參戰

早些時候,兩人還在Facebook上直接過招:

NIPS機器學習煉金術之争,Twitter機器學習研究員參戰

一石激起千層浪,今天,網絡上出現了更多機器學習界的代表發聲,其中較為有代表性的便是Twitter機器學習資深研究員 Ferenc Huszár。 Ferenc 此前是Magic Pony的首席科學家,去年Twitter出資1.5億美元收購這家位于倫敦的初創企業後, Ferenc 加入Twitter。

Ferenc說,和你們中的許多人一樣,我從頭到尾看完了阿裡·拉希米(Ali Rahimi)的NIPS演講,很享受。

如果你還沒有,我建議大家看看。(視訊在文末)

我也讀了 Yann LeCun 對阿裡演講内容的反駁。他說阿裡所指的“煉金術”實際上是工程學。雖然我認為LeCun實際上反對東西阿裡在演講中并沒有提到,但是他提到了一些很重要的點:Tricks、經驗證據和理論分别在工程中扮演什麼角色?

他說在混戰中,我也想補充一點自己的見解和經驗,以下内容為Ferenc的觀點:

創新的不同方式

我們可以将機器學習的知識作為一個圖來思考,其中各種方法是一個個節點,線條則表示方法之間的連接配接或類比。

而創新指的是讓圖不斷增長,這可以通過不同的方式來實作:

1.增加新的節點

這是關于“跳出去”的思考,關于發行一些全新的、新奇的方法,當然,最好還是有用的。最近這種ML創新的例子包括Herding,目标噪聲,批量規範,dropout和GAN。這就好像是你在圖中增加了一個新的節點,可能與圖的其他部分有些微弱的聯系,但是一開始你并不能想所有人清楚地解釋自己的邏輯。

2.在既有的節點中發現新的連接配接

這其實指的為新的方法提供解釋。比如,将k-means解釋為期望最大化,dropout解釋為變分推理,随機梯度下降解釋為變分推理,GANs作為f-GANs,蝙batchnorm作為自然梯度,降噪自動編碼器作為分數比對等。這些都是有着巨大影響力的工作,在機器學習中,我們非常需要這類工作,因為這些連接配接經常使我們能夠改進或擴充技術,進而取得更可預測的進展。

3. 完成模式

這指的是類比推理。您注意到圖中有很多不完整的模型,并通過完成模式推斷出一些節點必須存在。在NIPS 2010的Sam Roweis研讨會上,我記得Zoubin Ghahramani開玩笑說他和Sam如何一起通過完成超立方體(hypercubes)寫了一大堆基本上免費的論文,就像下面的那樣。長期以來,我的部落格讀者會知道,Sam和Zoubin的unifying review 是我最喜歡的論文之一。請注意,這種“模式完成”也發生在貝葉斯世界之外:請參閱雙向卷積RNN或PixelGAN自動編碼器。

這些創新模式中的每一個在建立知識和推動發展的過程中都是重要的。我們所在的社群傾向于看重#1,隻要論文标題中出現标志性熱詞(比如DeepLearning)。從個人來看,我們被激勵去寫大量的論文,是以我們大部分時間都花在#3上,這可以說是風險最小的增量項目。我認為我們對2的獎勵或鼓勵還不夠。在我看來,這是阿裡談話中的主要資訊之一過多關注基準,資料集和實證結果,我們實際阻礙了那些解釋為什麼方法起作用或不起作用的人們設下障礙。

今天大概沒有多少人會記得最開始提出GAN的論文取得的結果是怎麼樣的。回到當時,那些效果真的不錯,但是在今天,看起來卻讓人忍俊不禁。

GAN可以說是一個非常有影響力的、偉大的新想法。如果這篇論文是在今天,很肯定能是沒有人接收的,因為照片看起來不夠漂亮。 Wasserstein GANs是一個好的想法,坦率地說,認識到這是個好想法,我根本不需要看實驗結果。

同樣,Yann認為神經網絡在90年代被不公平地抛棄,因為缺乏凸優化方法的收斂性保證,今天我們也在不公平地否定任何不産生最新或近SOTA結果的方法或思想。我曾經評審過一篇論文,其中一位評審員寫道:“如果這種方法成為與現有方法相比最有效的方法,那麼這項工作可能是新穎的……”。這是錯誤的,至少沒有比因為缺乏理論支撐而否定新創業正确多少。(這是順便說一下,這不是阿裡建議的)

可以使用非嚴謹的方法,但是...使用非嚴謹的評估就是你的不對了

就我而言,現在我習慣于使用非嚴謹的方法,或者理論架構不完善或者根本不存在理論架構的方法。但是,對于任何評估不嚴格的論文,任何人都不應該叫好。

在GAN論文中,我們展示了漂亮的圖檔,但是我們絕對沒有嚴格的方法來評估樣本的多樣性,或者是否發生了任何形式的過度拟合,至少不是我所知道的。從我的經驗來看,讓一個足夠新穎的深度學習理念起作用,整個過程是非常脆弱的:一開始,沒有任何東西起作用,然後開始工作但不會收斂,然後收斂了,但是卻得到錯誤的東西。整個事情偶是行不通的,而且往往還不清楚具體是什麼工作的,直到某一天忽然一切忽然好起來。這個過程類似于多個假設檢驗。你可以跑無數的實驗,并報告那些看起來最好并按照你預期的方式行事的結果。但是,根本問題是,我們是将實施一種方法所需的軟體開發過程與手動超參數搜尋和結果挑選相結合得到的結果。是以,我們所報道的“經驗證據”可能比人們所希望的更加具有偏向和不可靠性。

一旦可用,你就不應該抵制理論

我同意Yann所說,在理論或嚴謹的分析變得可行之前,開始采用技術是有好處的。然而,一旦理論洞察變得可用,關于經驗表現的推理往往繼續超越嚴謹。

讓我告訴你我遇到過幾次的事情(你可能會說我隻是為此而苦惱)。

具體是:有人提出了一個想法,他們表明,使用一個非常大的神經網絡和大量的技巧,加上大概幾個月的手動調整和超參數搜尋,一些大的、複雜的問題可以得到很好的解決。

我發現這個方法有個理論上的問題。

但是人們說:在實踐中仍然運作良好,是以我沒有看到問題。

這是我提出對“定期抽樣”和“彈性權重合并”批評後得到的回複。在這兩個例子中,批評者指出這些方法在“現實世界的問題”上工作得很好,而在“定期抽樣”的例子中,人們評論說“畢竟這個方法在基準評測中是第一位的,是以必須是正确的”。不,如果一個方法有效,但是卻是出于錯誤不同于作者給出的原因,這裡還是有問題。

你可以把“對資料集進行深度學習的方法”作為一個統計測試。我認為實驗的統計力量是非常弱的。我們做了很多事情,比如提前停止,手動調整超參數,運作多個實驗,隻報告最好的結果。我們大概都知道在測試假設時我們不應該做這些事情。然而,在ML論文中報告實證結果時,這些實踐被認為是很好的。許多人繼續認為這些報道的實證結果在支撐某一種方法時,是“有力的經驗證據” 。

什麼才算是嚴謹?

我想感謝阿裡發表這個演講。是的,這是一種對抗。侮辱(Insulting,LeCun用詞)?我覺得挑釁是一個更好的詞。顯然,這至少有點争議。它雖然,包含了幾點我不同意的内容。但我不認為這是錯的。

它觸及了很多我認為應該得到社群認識和贊賞的問題。 嚴謹指的不是學習理論、收斂保證、邊界或定理證明。 智力上的嚴謹适用于所有機器學習,無論我們是否已經完全開發出用于分析的數學工具。

嚴謹意味着徹底,詳盡,細緻。它包括良好的實踐,如誠實地描述方法的潛在弱點、考慮可能出現什麼問題、設計突出和分析這些弱點的實驗、對某些算法的行為做出預測,并憑經驗證明其行為滿足預期、拒絕使用不合理的評估方法、接受和處理批評。

所有這些應該适用于機器學習,不管它們是不是深度學習,實際上它們都适用于整個工程。

阿裡·拉希米(Ali Rahimi)的NIPS演講:

LuCun回應的位址:https://www.facebook.com/yann.lecun/posts/10154938130592143