【重磅直播】Jeff Dean領銜穀歌大腦在線答疑16大問題,看好3大方向
穀歌大腦團隊現在正在Reddit上進行他們第二次AMA在線答疑,目前網友留言已經高達490多條。新智元第一時間為你編譯整理:穀歌大腦當前的工作重心在哪裏,他們認為深度學習要進一步往前需要克服哪些難題,成員看好什麼研究方向,同時,穀歌大腦如何運作,成員都有哪些背景,怎樣才能加入穀歌大腦。更有Hinton最新研究以及TPU進展爆料,趕緊來看——
TensorFlow遭遇對手,不過穀歌大腦的人歡迎各種idea
說實話,你們認為Pytorch如何?有用過嗎?擔不擔心Pytorch帶來的競爭?還是說你們認為Pytorch是TensorFlow的補充?
Alexandre Passos:我認為 pytorch 很棒!UI 很簡潔,文檔做的也不錯。編程模型裏有不少很好的idea。有更多的人在 ML libraries 上工作是件好事,這樣我們就能看到更多的idea,並充分利用它們。
Rajatmonga:ML 社群的一個優點就是互相學習。在開發 TensorFlow 的過程中,我們從以往 DistBelief 的經驗中學習,也從其他框架,比如 Theano 中學習。我們也會繼續從 Pytorch 和 DyNet 這樣的新框架中汲取養分。我們把 TensorFlow 看作是推動 ML 研究邊界的工具,它把 ML 帶給了每個人。社群中的研究和 idea 在不斷進化,TensorFlow 也在不斷進化。
穀歌大腦在關注哪些研究重難點?訓練、數據、計算力
領域麵臨的下一個最大的障礙是什麼?
Vincent Vanhoucke:使深度網絡穩定地適應來自弱監督數據的在線更新仍然是個大問題。解決這個問題,將使真正的終身學習成為可能,並使得許多應用程序開放。另一個巨大的障礙是,像GAN 或Deep RL 這樣領域內最激動人心的發展還沒有到達“批量歸一化”的時刻:在那一刻,所有一切忽然都變得自動地“想要訓練”,而不是要一次一個超參數地和模型較勁。它們仍然不夠成熟,還沒有從有趣的研究方向轉變成我們可以依賴的技術; 現在,不進行大量的精確微調,就無法可預測地訓練這些模型,因此很難將它們納入到更精細的係統中。
Jeff Dean:現在,我們傾向於構建機器學習係統來完成一個或少量的特定任務(有時這些任務是相當困難的,例如把一種語言翻譯成另一種語言)。我認為我們真的需要設計可以解決數千或數百萬個任務的機器學習係統,並且可以借鑒解決這些任務的經驗來學習自動地解決新任務,同時,模型的不同部分會根據不同任務被 sparsely activated。要搞清如何做到這一點,還有很多挑戰。今年早些時候,在斯坦福大學舉行的 Scaled ML 大會上,我發表了關於這個問題的演講,從幻燈片的第80 頁開始(有些背景知識從第 62 頁開始)。
人們常說要開放數據集/代碼,但很少提計算力。穀歌在機器學習和AI方麵投入巨大,訓練AlphaGo用了將近300個GPU,還隻是單個模型,這樣一項研究要用到好幾千個GPU了。穀歌的人在研究過程中是否會考慮計算力資源這個問題,還是把這看作是在提供知識——沒有穀歌這麼深的口袋,進行這些研究是不可能的。你們認為這是否會讓其他負擔不起相同資源的實驗室/研究組產生不合理的期望,對整個圈子產生其他潛在的積極/消極影響?
Vincent Vanhoucke:許多偉大的研發都是以貴得嚇人的研究開始的,而一旦人們知道什麼是可行的並開始優化它們時,它們就成為了人人都能達到的目標。穀歌的第一個深度網絡(用於語音識別)訓練時間需要幾個月,而且運行速度也非常慢。然後,我們發現了提升速度、改進(和開源)我們深度學習基礎設施的技巧,現在現場的所有人都在使用它們。SmartReply也一度貴得嚇人。我還能舉出不少這樣的例子。對於我們來說,重要的是探索可能的範圍,因為最終目標不是在基準測試中獲勝,而是要使科學進步。
George Dahl:我們都想要更多的資源,如今資金充足的學術實驗室實際上可以訪問相當多的計算資源,並能夠進行大量有趣的研究。我完全同意,如果學者(和所有開展研究的人)都可以獲得更多的計算資源,那一定是件好事。這就是我們為什麼要推出TensorFlow 研究雲。它將為機器學習研究界提供共計180 petaflop 的raw computer power,而且是免費的。
總是會有一些實驗室擁有比其他實驗室更多的資源,一般來說,隻要結果公布,整個社群就能從有更多資源進行大規模實驗的實驗室研究人員的所作所為中獲益。這是我們如此致力於發布和傳播我們研究的原因之一。
小公司或者剛剛開始采用機器學習的新領域,要收集帶標簽的數據集真的很難,而且效率低下。你們對無監督學習或半監督學習的未來有什麼看法? 5年後機器學習的主要研究重點還是深度學習嗎?
Samy Bengio:確實,深度學習最大的成功經常與大量可用的帶標簽的數據聯係在一起。但深度學習並非固有需要這麼多的數據。最近關於few-shot learning的論文,比如《Optimization As A Model For Few-Shot Learning》和《Prototypical Networks for Few-shot Learning》,顯示了可以顯著減少完成每個任務所需的帶標簽數據的數量。沒有人知道5年後機器學習會怎樣,但很可能會涉及到通過深度非線性模型實現一些形式的梯度下降。
很多人都說,深度學習隻是不斷試錯。把數據喂給神經網絡,調整架構,盡可能做得越深越好。你們怎麼看這些說法?構建具體問題的架構背後有什麼理論嗎?
Samy Bengio:像以前的許多領域一樣,深度學習在擁有堅實的理論基礎前就開始產生巨大的影響。但是,還是有很多很好的理論論文發表出來,包括穀歌大腦的研究,比如《Sharp Minima Can Generalize For Deep Nets》、《Understanding deep learning requires rethinking generalization》、《Investigating the learning dynamics of deep neural networks using random matrix theory》,主要是為了更好地理解“為什麼深度學習會有效”,特別是要更好地理解,如何為特定任務設計一個模型。同時,像“學會學習”這樣的方法已經從一定程度上減輕了對這些問題的擔憂。
Hinton,你的Capsules研究進展怎麼樣了?
Hinton,你的capsules進展怎麼樣了?
Nick Frosst:Hinton現在很忙,但今早我們準備了這個答案:Capsules 進展順利!
我們多倫多辦公室的一組五人(Sara Sabour,Nicholas Frosst,Geoffrey Hinton,Eric Langois 和 Robert Gens)正在取得穩步進展!Capsules是一組神經元,其活動向量表示特定類型的實體(例如對象或對象部分)的實例化參數。我們最近有一篇被作為spotlight 的 nips 論文,討論了capsules 之間的dynamic routing,作為衡量較低級別功能之間協議的一種方式。該架構在MNIST上實現了最先進的性能,並且在識別高度重疊的數字時明顯比卷積網絡更好。我們還在研究新的routing procedure,並在NORB 數據集上取得了良好結果,以及一個新的capsule 架構,可以保持與輸入空間中給定組的等價性。我們希望盡快發布這些結果!
其他被看好的方向:高效大規模優化、第三人稱視角模仿學習、在運行代碼時推理代碼
你們都對什麼項目感興趣,為什麼?
Nicolas_LeRoux:我個人對高效大規模優化感興趣。現在,我們依靠標記的數據集來訓練模型,但是我們已經看到了這種方法的局限性。將來,我們會更多地使用更大的未標記或弱標記的訓練集,每個數據點都包含較少的信息。在這種情況下,如何最大限度地利用每個樣本,不要一訓練模型就花上好幾個月乃至幾年的時間就非常重要了。我想了解如何以在線方式從這些數據點收集和保留信息,從而盡可能快速和有效地訓練模型。這將使我們能夠處理更具挑戰性的問題,也可能對訓練這些模型所需的能源產生巨大影響。
隨機梯度方法便是一個這樣的例子。雖然是選擇的方法,但在僅僅使用一次之後便立即舍棄漸變似乎很浪費。其他方法,例如動量(在線)或SAG/SAGA(有限數據集),通過保持這些梯度的記憶來加快學習。但是,我們仍然不知道如何在一般的在線非凸情況中最好地使用這些用過的樣本。
大家都在說機器學習/AI/深度學習的成功,能不能談幾個失敗的例子,或者說你們在工作中遇到的困難?穀歌大腦團隊對無監督學習方法怎麼看?你覺得未來幾年它會成為主流概念嗎?
Vincent Vanhoucke:失敗的例子:我們中的一些人試圖與紐約客漫畫編輯Bob Mankoff 合作,在紐約客漫畫上訓練一個神經字幕發生器(今年剛剛看到NIPS論文)。項目失敗了。我們沒有符合DL 標準的足夠數據,盡管我們可以預先對其他類型的漫畫進行視覺表征。我希望有一天能做到這件事,但方法可能是老式的。
至於無監督學習,我認為人們最終會明白,自動編碼是一個壞主意,而能工作的無監督的學習(例如語言模型)和不能工作的無監督的學習之間的區別通常是預測未來(比如下一個單詞、下一幀)而不是現在(自動編碼)。我很高興地看到很多人已經開始對我們去年開源的push dataset 的“預測未來”工作進行了基準測試,這讓人很驚喜。
一般來說。以NLP為例:該空間中最基本的自動編碼形式,像LSA 和LDA 這樣的線性瓶頸表征,已經完全被Word2Vec 等替代,它們仍然是線性的,但使用上下文作為監控信號。在聲學建模中,我們花費了大量的時間來衡量自動編碼音頻表征對模型信號的好處。而所有這些都被LSTM 毀了,LSTM再次使用因果預測作為監控信號。連Yann LeCun 都修改了他的“櫻桃vs蛋糕”的說法,不再是關於“無監督學習”,而是關於“預測學習”。這本質上是一回事。自動編碼器不好,未來自我預測好。
對於深度強化學習和/或機器人技術,你們認為最有希望的方向是什麼?
Vincent Vanhoucke(vincentvanhoucke):在過去十年中,機器人技術的大部分發展是基於知覺根本不會起作用這個前提,因此在該領域的大量研究集中在非常受控環境中的機器人操作。現在,有了計算機視覺的“超能力”,我們有機會返回去,重建一個圍繞知覺和豐富反饋的機器人堆棧,這些反饋很大程度都來自一個未知的環境。深度強化學習是將感知置於控製反饋循環中心最有前景的方法之一,盡管離應用還有很大的距離。我們需要弄清楚如何更容易地獲得獎勵,更可靠的訓練和更高的樣本利用率。我在AAAI演講中提到了一些,現在我很感興趣的一個問題是第三人稱視角模仿學習(imitation learning from third-party vision),我認為這是解決任務操作(task instrumentation)和提高樣本利用率的一種大有希望的方法。我們將在即將舉行的第一屆機器人學習大會(1st Conference on Robot Learning)上討論這個問題:https://www.robot-learning.org/home/program
我們越來越多地看到神經網絡在使用非常通用的數據,例如像素數據,並且能夠複製人類編碼的複雜規則。例如,一群大學生最近能夠基於用戶輸入做出老式的 2D 超級瑪麗遊戲——隻是通過看人類玩遊戲來學習,而不是在編碼上訓練。然後,他們的網絡編寫了遊戲代碼,並取得了很好的成績。什麼時候我們可以開始訓練神經網絡,比如 Python 代碼和相應的輸出,然後推理出底層代碼和規則?
Danny Tarlow(dtarlow):從代碼執行中推理代碼,這絕對是一個很酷的問題!相關研究已經很長時間了。傳統上,這些方法裏並沒有很多機器學習的成分,但20 年前,人們已經開始考慮這個問題了。最近這方麵有了相當多的工作,機器學習方法進入了研究者的視野,我認為這真的很令人興奮。
通過具體執行追溯代碼仍然是一個很難的“海底撈針”的搜索問題,值得思考機器學習能做出什麼貢獻。最近至少有兩個有趣的方向:
源代碼執行的differentiable proxy。也就是說,我們能找到一個可微函數來(很可能是近似地)解釋源代碼產生的行為嗎?這可以產生梯度來引導對行為條件程序的搜索。可以如論文 Learningto Execute(Wojciech Zaremba,Ilya Sutskever,2014)那樣在不編碼解釋器架構的情況下完成,或通過編碼解釋器的架構實現,如論文Differentiable Forth(Matko Bošnjak et al.,2017)或TerpreT (Alexander L.Gaunt et al.,2016)。值得注意的是,這些模型隻能在簡單的語言上進行測試,或者容易受到局部最優化的影響,所以我們還沒有成功地將它們擴展到小問題之外。開發出 python 的全部能力是一個很好的目標,但是現在我們還有幾個很大的挑戰。
學習從執行行為到代碼的映射。最近的一些論文,如A Machine Learning Framework for Programming by Example (Aditya Krishna Menon et al.), DeepCoder(Matej Baloget al., 2016), RobustFill (Jacob Devlin,2017)。此處的瓶頸是去哪裏獲得“代碼——行為”對的良好大規模數據。我們可以通過手動構建的基準測試或隨機產生的問題取得一些進展,但仍需要更多的高質量數據推動這一方向的研究。
所以,總體來說,這絕對是沒有解決的問題,但它是一個巨大的挑戰,也是值得積極研究的領域。
所以,穀歌大腦究竟是怎麼運作的?怎樣才能加入穀歌大腦?
你們的日常工作情況是怎樣的?你們在選人時有什麼標準?
Jeff Dean:我領導大腦團隊。每一天,我都要花時間閱讀和撰寫電子郵件,閱讀、評論、有時會編寫技術文檔,與我們的團隊或穀歌其他地方的各種人員進行1:1 或小組會議。Review 代碼,編寫代碼,思考影響我們團隊的技術或組織問題。有時會進行內部或外部的講話。
Alexandre Passos:我是一個 tensorflow 開發人員。我每天的工作基本是開始於閱讀和分類電子郵件(穀歌裏郵件可真不少)。我會看看關於 stackoverflow 的問題,挑些有趣的來回答。我每天花幾個小時編寫代碼、調試,但不像我更年輕一些時預想的那麼多。我也在合作進行一個研究項目,論文不久以後會出來。幸運的是,這些天我不用參加太多的會。
Nicolas LeRoux:我是蒙特利爾的研究科學家。我的時間花在以下三件事上:與本地學術實驗室建立聯係——這是我們的任務之一,進行自己的研究,指導更多的初級研究人員——包括實習生或大腦resident。我試圖每天至少抽出一個小時閱讀最新的論文、研究博客或瀏覽arXiv。我也嚐試花一些時間,不去任何會議,不回複電子郵件,隻是想想我目前的項目。其餘的時間我通常用於與其他研究人員進行互動,討論電子郵件或視頻會議的想法,以及參加會議(山景中的所有演講都會流傳到各處,供我們享用)。最後還有社區活動(我今年是NIPS的地區主席,對各種期刊和會議進行了 review)。
我們主要尋找具有卓越履曆的候選人,但我們也希望確保他們能夠與團隊其他成員進行有效的互動,因為團隊合作對於解決最為深遠的問題至關重要。
Nick Frosst:我是多倫多辦公室的R-SWE。我們在這裏是一個很小的團隊,都坐在一起,所以我很多時間都在和小組的其他成員談論新的想法。作為一個r-swe,我可以做自己的研究工作,以及實施其他研究人員的想法。我幾乎完全在 TensorFlow 中工作。我每周和我的主管有兩次會議,每周有一次小組會議。
Samy Bengio:作為研究帶頭人(research lead),我的大部分時間都是致力於把研究小組往重要的研究問題上引,我會與研究科學家開會,討論他們的想法,與文獻有什麼關聯,了解他們目前的進展和局限,製定下一個計劃步驟……我還組織了一些研究活動,比如閱讀小組和定期會談,內部的和外部的都有。最近,我作為NIPS的程序主席一直在忙。當考慮讓誰加入我們的團隊時,我在尋找具有開放研究心態的優秀人物,有潛力大大影響我們目前對機器學習理解的人。
Pi-Chuan Chang:我是穀歌大腦基因組學團隊([Google]Brain Genomics)的軟件工程師(SWE)。我花時間了解基因組學問題,並將其納入深度學習範圍,確保我們編寫高質量的代碼,供基因組學界的其他人使用。當我加入這個團隊時,我認為這對我來說很適合,因為我可以利用我的機器學習和工程技能,並學習一個新的領域(基因組學)。作為團隊中的新人,我認為有一些現有的技能可以滿足團隊的需求,同時也帶來新的技能/觀點是非常重要的。
George Dahl:我是大腦團隊的研究員。大腦團隊工作是我能想象的最好的工作,主要是因為我能夠做我想要做的工作,並且與超凡的同事共事。我花大部分時間來指導初級研究人員,和他們在具體的研究項目上進行合作。我手頭隨時都可能有大約5個正在進行的項目。我試圖確保這些項目中至少有一個是我自己經曆大量實驗或編寫大量代碼的程序,而對於其他人,我可能會處於更偏向監督的角色(審查代碼,規劃和優先排序任務)。這在實踐中意味著我通常會在一天內進行幾次研究會議,花一些時間在郵件上,花一些時間做代碼審查,再花大量時間與同事進行頭腦風暴。我也花時間提供有關TensorFlow的反饋意見,出去演講,看論文和進行麵試。在評估潛在的新研究團隊成員時,我們通常會尋找這樣的人,他們熱衷於機器學習研究,與他人能良好合作,擁有良好的編程和數學技能,並擁有一些機器學習研究經驗。
穀歌大腦裏研究科學家和工程師之間怎麼區分,責任有什麼不同?很多公司裏都有這樣的情況,那就是科學家對於學習寫明晰的產品代碼並不感興趣,而工程師則不關心研究/實驗。
Samy Bengio:穀歌大腦的研究科學家能自由設置自己的研究計劃(公司也期望如此)。他們也可以自己組隊,聯合起來解決更重要的項目。此外,我們還在團隊中增加了一個(不斷增長)的研究軟件工程師團隊(R-SWEs),這些軟件工程師會幫助研究科學家實現他們的目標。軟件工程師的工作包括擴展給定的算法、實現基線算法、運行各種實驗,開源重要算法,將給定算法針對特定產品做優化等。這些都是我們研究項目的一個組成部分,因此軟件工程師通常是我們論文的共同作者。
Dumitru Erhan:穀歌大腦團隊中的“研究科學家”和“工程師”之間的界線有時(通常是)是非常模煳的。有許多人根據項目或他們當前興趣的不同,隨時轉換身份。隻是因為官方title是“研究員”,並不意味著他們就不會提供產品級別的代碼了!
Pi-Chuan Chang:我是一名軟件工程師(SWE),擁有CS博士學位。我現在是穀歌大腦的成員,但在穀歌之前我也在其他研究團隊工作過。總的來說,我的印象是,穀歌大腦研究科學家和工程師之間的界限可能非常模煳,更多地取決於人的技能和偏好,而不是title。我個人喜歡做軟件工程任務和研究項目的混合。我也喜歡與不同的人合作。我真的不在乎他們的頭銜是什麼。而且,作為“研究員”,能夠編寫幹淨可讀的代碼,對於良好和可重複的研究實際上是至關重要的。明晰的代碼和文檔對於溝通至關重要,對於研究人員和工程師都是如此。
把穀歌大腦和DeepMind這樣的研究團隊分開來的主要目的是什麼?是因為 DeepMind 是被收購的,在簽署合約上有一定的獨立權限保留嗎?
George Dahl:我們保持著合作,盡管隻有少數的穀歌大腦研究人員在倫敦工作,且大多數DeepMind 研究人員都不在加州工作,時差有時候會帶來挑戰。兩個團隊都夠大,我們也不缺合作者。但是,因為有很多牛人都同時在兩個團隊工作,我們還是有時間合作的。
我不讚成這樣的想法:因為不在同一個團隊中,所以內耗會增加。與兩個生產競品的研發團隊不同,兩個研究團隊可以根據需要,在彼此的研究基礎上輕鬆地生產和協作。穀歌大腦和 DeepMind 都致力於開放式機器學習研究並會定期發布。我們都像學術界一樣享受高度的研究自由。我們開展研究的方式相似。我們在許多不同的應用領域和時間範圍內進行一係列項目。穀歌大腦和 DeepMind 都會探索有影響力的應用。我們不局限於單獨的研究領域,因為研究人員將自然地遵循自己的興趣,並根據其他同期工作來定位他們的工作。
因為這兩個團隊都非常大,可以自我維持自我運轉,所以不能也不必合並成一個。管理更大的組往往更難。
也就是說,大腦團隊對 TensorFlow 負責,DeepMind 則不用。但就研究方麵而言,我們真的非常相似。研究計劃的任何差異都更可能是由每個團隊的特定人員的具體興趣所驅動的。
Google Brain組織結構是怎麼樣的?每個人都主要靠自己,還是都在某個專注於具體問題的團隊裏工作?每個團隊每周都會和Jeff Dean、Geoff Hinton 開會嗎?你們跟不在山景城的那些團隊多久溝通一次?
Samy Bengio:穀歌大腦的研究科學家製定他們自己的研究目標,公司也鼓勵他們與任何他們想要合作的人合作,實現更大的目標。我們確實有一個(相當扁平的)管理結構,但並不總是與研究項目保持一致。人們經常會與跟項目有關的小組開會,而不是管理意義上那種。不過,我們整個團隊確實會定期開會(但是,頻率是每幾個星期一次,因為我們現在是一個非常大的團隊)。我經常通過視頻會議與幾個不同辦公室的同事開會(山景城,舊金山,蒙特利爾,劍橋,紐約,蘇黎世)。
穀歌大腦評價體係:如何衡量“成功”這件事?
你們認為,團隊做研究時,什麼樣的情況算成功?
Nicolas Le Roux:研究的成功可以有很多種形式。有些人可能對偏理論的方麵感興趣,當我們對現有問題的理解有所改善,那麼我們就認為研究是成功的。在國際會議和期刊發表的文章也能量化地衡量研究工作的成功。機器學習研究的另一個重要部分是了解什麼是使係統工作真正必要的,因此,我們也樂於見到任何提升知名係統性能的貢獻。在這種情況下,外部出版物和對穀歌產品的影響都能用來衡量成功。一般來說,我們非常幸運的是,穀歌大腦有很好的興趣組合,團隊定期將項目投入生產,例如改進Google翻譯,以及持續在頂會上的發表文章(今年穀歌大腦團隊在NIPS被接收了23篇論文)。
Jasmine Hsu:對於穀歌大腦機器人團隊來說,隻有在真實世界運行機器人時,才算真正的成功。但是,這期間也有較小的裏程碑,比如建立可擴展的機器人基礎設施,發表有影響的研究,或實現幹淨的開源Tensorflow模型,也是一樣算成功!
穀歌還會發布更新一代的TPU嗎?
還會有新版本的TPU嗎?穀歌會不會出售TPU(還是說隻出租)?你們認為定製硬件將取代通用GPU嗎?
Zak Stone(poiguy):我們已經公布了第一代TPUv1和第二代TPUv2。至於還會不會有新的版本,歡迎你來猜啊:)到目前為止,我們隻宣布了在我們的數據中心部署這些TPU的計劃。
我們也廣泛使用GPU,並正在努力擴展TensorFlow支持NVIDIA V100等新型GPU。這個領域的發展速度非常快,人們對各種各樣的應用感興趣,所以不清楚任何一個平台將無限期地覆蓋每個用例。GPU還具有機器學習以外的許多用途,並且對於需要高水平浮點精度的傳統HPC計算,它們可能仍然是更好的選擇。
原文發布時間為:2017-09-14
編譯:聞菲,熊笑
本文來自雲棲社區合作夥伴新智元,了解相關信息可以關注“AI_era”微信公眾號
原文鏈接
最後更新:2017-09-14 16:32:46