機器學習行業盛會-舊金山機器學習研討會上的10點思考
作者 | Alan
選文 | Aileen
翻譯 | 酒酒
校對 | 姜范波
2016舊金山/三番機器學習研討會(The 2016 Machine Learning Conference SF, 以下簡稱MLconf)于2016年11月11日在舊金山的Hotel Nikko召開。這是一場機器學習行業的盛會,來自各行各業的機器學習大咖和使用者發表了演講。
本文作者是機器學習領域的從業者,同時也是此次大會的贊助商以及親歷人,大數據文摘為您帶來他在本次大會上的心得體會:深度學習已經取代了業界現有的其他方法嗎?谷歌的自動回復是如何工作的?一起看看機器學習行業的一線大會給我們帶來了什么。
我們最近參加了三番的機器學習研討會(MLconf),真心祝賀會議的所有演講者、贊助者和組織者,這次會議非常成功!聽了很多業界機器學習使用者的演講,我們收益頗豐,也希望在這篇文章里分享給大家一些我們所學到的。
1. 深度學習(仍然)不是一切
眾所周知深度學習已經在很多領域取得了成功,比如圖像和聲音識別,機器翻譯和游戲等。難道深度學習已經取代了業界現有的其他方法了么?其實并不然。
經典的機器學習模型仍發揮著效力。像Gradient Boosing, 邏輯回歸和SVM實際上效果都很好,并且在業界被廣泛使用著。比如亞馬遜的搜索結果用的就是Graident Boosting, Quara也開誠布公地展示了他們使用的算法,其中就有邏輯回歸和隨機森林。
在一些垂直領域,比如醫療業,因為人們需要對模型進行理解和分析,僅僅使用黑匣子的模型是不行的。我們本以為這可能阻礙了深度學習的一些應用,但是 Metis的Brian Lucena就展示了一系列方法,使得即使是黑匣子模型,我們也能對其分析。
大會現場照片 圖片來自大會官網
2.使用正確的衡量方法,選擇正確的問題
你想在公司中使用機器學習,經過了一番頭腦風暴后,你想到了很多可以用到的地方。這次很多演講者都強調了我們要選擇*合適的問題*。一個工程上的挑戰并不一定是合適的問題,一個合適的問題應該是能夠給公司帶來****的商業收益*的問題。
即使是大公司也難以確定怎樣讓機器學習帶來***收益。Elena Grewal(Airbnb的數據科學部經理)在她的演講中清楚地表明,你的機器學習模型的衡量標準并不是準確率/查全率,而是**商業效果**。評估一下模型給業務帶來的價值可以防止我們走到錯誤的方向上。
3. 模型調參只占了項目的5%
玩轉模型的各項參數來提高1%的精確率對于工業項目來說沒有意義。千萬別花太多時間在調參上,有的是比調參更值得花時間的地方。
研究一下怎樣才能有一個更統一的收集數據的流程,怎樣更好地對數據進行預處理,對于缺省的數據該怎么辦?還有算法的時間復雜度,因為現實世界的用戶們對延遲可敏感了。你還得思考怎樣衡量模型對產品帶來的影響,評估一下模型的演進還要設置預警,當然還有如何高效地在投入產品后及時進行模型的更新。
要知道,現實世界里的機器學習可不簡單吶。
4.使用集成算法幾乎總比單一模型要好
集成算法是將不同模型組合起來,這樣我們就有了k個學習模型,M1, M2,..., Mk,來組成一個有更高精確率的模型M*。比方說,你可以平均所有分類器的概率結果,或者使用它們的加權和。
斯坦福的卷積神機網絡課程(CS231n),Andrej Karpathy就開玩笑地說過在深度學習中使用集成模型一定能讓準確率提高2%。(大數據文摘已經獲得了這門課程的授權,并組織團隊翻譯漢化,在網易云課堂上免費發布,每周二上午八點更新,點擊文末閱讀原文,查看網易云【斯坦福CS231n深度學習與計算機視覺】,和5000+人一起學習這門課程)
玩笑歸玩笑,多個演講均強調,業界使用多種模型事實上是集成算法。在最近Kaggle競賽的優勝方案中也能看到這一趨勢。(點擊查看大數據文摘近期相關文章:Kaggle大賽:債務違約預測冠軍作品解析)看來集成算法有立足之地。
5.個性化趨勢
個性化可不僅僅指某一方面(比如廣告推送),現在的趨勢是完全的個性化:用戶看到的一切(像是日常反饋,主頁等)都是只為他們專門設置的。
這在好幾個演講中都有提到,比如Pinterest的Stephanie deWet就說到了用戶主頁的完全個性化(針對用戶喜好和相似用戶喜好的各種推薦),Netflix的 Guy Lebanon也講了對于圖片產品的個性化服務(推廣海報和視頻截圖展示等)。
6.完全自動化還沒有實現
如果你使用Gmail(或是Inbox),你大概已經看到過Google的智能回復功能。這個功能令人印象深刻,現在超過10%的移動端回復都在使用它。Anjuli Kannan(谷歌的研究工程師)與我們分享了這個功能是怎樣工作的。
所有的自動回復都是從數據中學習出來的,沒有任何人為規定的規則或特征。它們使用了一個序列對序列的模型(a sequence to sequence model),包括兩個端對端訓練的神經網絡,最終的輸出是可能的回復里單詞的概率分布。
我們有過這樣一個問題:他們怎么確定這個方法得到的回復一定能用呢?神經網絡可能會學到錯誤的單詞和語法,或者不正規的,不同于用戶的表達等。僅僅限制回復里的單詞正確性是不夠的(比如,“your the best”的語法是不正確的,但是每個單詞都是正確的)。
解決的方法是限定于一套有效的或者高質量的回復集內。。這套回復集也是從大量數據中得到的(通過半監督學習)。看來想要有一個完全自動化學習的模型來得到準確的表達還有很長一段路要走。
大會現場照片 圖片來自大會官網
7.避免復雜性詛咒
如果你在一個大型公司里,公司的很多小組都在做數據科學的相關項目或者是解決機器學習的問題,那可就要警惕不必要的工作開銷了。
Nikhil Garg (Quara的工程經理)介紹了一個概念:復雜性詛咒(curse of complexity),即當不同小組使用著不同的流程,數據收集的方法也不同,但工作又緊密相關時,要接著開始新的項目就很困難,由于不同的數據結構等原因,之前的資源不能重復利用,這樣項目開銷就大大提高了。
改善的方法應該是使得不同小組的工具和資源都能被重復使用,而關鍵就在于建立一個良好的機器學習平臺(使得每一步流程都最有效率),和有效的平臺設施。
8.有效利用已有的資源
我們能看到最近幾年市場已經從各自為營的文化轉移為更開放,更趨于合作的氛圍。人們不再從零開始一切,相反地,更愿意在已有的平臺上繼續自己的項目。相比從前,大家的效率大大提高了。
在這次會議上,很多人,比如Josh Wills (Slack數據工程部總監)都坦然承認他們的工作都是站在巨人的肩膀上完成的:學習行業翹楚們的開發經驗,比如Facebook, Netflix, Airbnb等,并且選擇已有的***的工具來開發自己的項目。而且,同在這些大公司里工作過的人合作也可以擴散大公司的優秀文化。
別閉門造車了,像大家一樣使用已有的資源吧,因為:
9.人人都愛開源工具
數據科學已經民主化了,使得如今我們有大量開源工具。從數據管理到模型建立,很多知名公司都開源了他們的工具(比如谷歌的TensorFlow, Airbnb的Airflow)。這讓每個機器學習使用者都有了更強大的平臺。
這次會議我們發現公司都不懼承認他們使用了開源工具。像是TenserFlow, XGBoost, scikit-learn等,即使是行業巨頭也不想投入大量資源各自研究重復產品,而是節約成本,選擇已有的工具。
10.確保項目得到管理層的支持
如果你不在谷歌也不在臉書,想要得到數據上的支持可能更困難一些,因為小公司對產品結果的壓力更大。谷歌早已知道投資數據項目會有好的回報,但不是所有公司都這么認為。
想要開始一個機器學習項目有一個阻礙就是,這些項目可能要等到6個月后才能看到價值,所以一開始你得說服管理層,告訴他們這個項目是值得投資時間和資源的。也許要做一個ppt展示,說明可以帶來的商業效益和需要的資源。
總結
總之,這次會議是個難忘的經歷,我們也準備積極地把此行所學投入到我們的項目里。如果你也參加了,并且認為還有一些要點被我們忽略了,就請在評論里告訴我們吧。
原文:https://tryolabs.com/blog/2016/11/18/10-main-takeaways-from-mlconf/
【本文是51CTO專欄機構大數據文摘的原創譯文,微信公眾號“大數據文摘( id: BigDataDigest)”】