1. 程式人生 > >Google Brain去年幹了太多事,Jeff Dean一篇長文都沒回顧完

Google Brain去年幹了太多事,Jeff Dean一篇長文都沒回顧完


編譯 | AI科技大本營(rgznai100)

參與 | Reason_W

從AutoML、機器學習新演算法、底層計算、對抗性攻擊、模型應用與底層理解,到開源資料集、Tensorflow和TPU,Google Brain 負責人Jeff Dean髮長文來總結他們2017年所做的工作。但寫了一天,Jeff Dean也沒覆蓋到Google Brain在醫療健康、機器人、基礎科學等領域的研究,他接下來打算把如何促進人類創造性、公平和包容性也寫進去。

接下來的事情我們接下來再關心,眼下我們還是更關心Jeff Dean已經寫好的機器學習技術總結,【AI科技大本營】翻譯如下:

核心研究

我們的團隊重點追求研究那些可以提高我們對機器學習的理解力以及解決機器學習領域新問題能力的問題。

自動化機器學習(AutoML)

自動化機器學習的目標是開發計算機在不需要人類機器學習專家干預的情況下,自動解決每個新的機器學習問題的技術。如果我們想要創造真正的智慧系統,這一定是我們需要的基本能力。我們通過使用強化學習和進化演算法設計神經網路結構,開發了一些新方法,並通過這項工作在ImageNet分類和檢測任務上實現了目前最好的效果,同時提出了自動學習新優化演算法和有效的啟用函式的方法。我們也正在同我們的雲人工智慧(Cloud AI)團隊合作,以期讓更多Google的客戶享受到此項技術帶來的優勢,同時還將向多個方向推進這項研究。


通過神經架構搜尋發現的傳統架構

https://research.google.com/pubs/pub45826.html


通過自動化機器學習技術設計網路進行目標檢測

https://research.googleblog.com/2017/11/automl-for-large-scale-image.html

語音理解和生成

我們的另一項工作是開發提升計算機系統理解和生成人類語言能力的技術。在與Google語音團隊的合作中,我們通過在語音識別端到端方法上的大量改進,使得Google語音識別系統的相對單詞錯誤率降低了16%。這項工作的出色之處在於,它將很多獨立的研究線索整合到了一起。



面向語音識別的 Listen-Attend-Spell端到端模型

https://research.googleblog.com/2017/12/improving-end-to-end-models-for-speech.html

我們還和Google機器感知團隊的同事們合作開發了一種新的文字-語音生成方法,極大提高了語音生成的質量。我們的模型在mean opinion score (MOS)上的評分可以達到4.53分。而在我們之前,最好的計算機語音生成系統的評分(mean opinion score (MOS))只能達到4.34,即使是有聲讀物中使用的專業語音質量也只有4.58分。這裡我們的demo效果 listen for yourself.,你可以自己感受一下它的效果。




Tacotron 2(我們的文字-語音生成方法)的模型架構

https://research.googleblog.com/2017/12/tacotron-2-generating-human-like-speech.html

新的機器學習演算法

這一年,我們一直在不斷開發新穎的機器學習演算法,包括

  • capsules(一種可以明確地尋找啟用特徵中的一致性,從而可以用於評估視覺任務中多種不同噪聲假設的方法,該工作發表在NIPS(2017))、
  • sparsely-gated mixtures of experts(一種可以在保證計算效率的同時處理大型資料的網路模型)、
  •  hypernetworks(一種可以使用一個模型的權重來生成另一個模型權重的網路,該工作發表在ICLR (2017))、
  • new kinds of multi-modal models(一種可以在多工(音訊、視覺、文字輸入)學習中使用同一模型的方法)、
  • attention-based mechanisms (一種可以替代卷積網路和迴圈網路的模型【小編注,就是前段時間討論的很熱的Attention is All You Need】,該工作發表在NIPS (2017))、 
  • symbolic和non-symbolic的學習優化方法、
  •  back-propagate through discrete variables(一種通過離散變數反向傳播的方法,ICLR (2017))
  • 以及一系列在reinforcement learning( 增強學習,NIPS (2017))演算法上的改進。

面向計算機系統的機器學習

在計算機系統中使用機器學習來取代傳統的啟發式方法也是我們非常感興趣的一個方向。我們的工作展示了通過使用強化學習進行位置決策,以便將計算圖對映到計算裝置上的方法,該方法顯示出了比人類專家更好的表現。同Google Reasearch的同事一道,我們的工作表明瞭在“索引結構學習情形(“The Case for Learned Index Structures,)”下,神經網路工作效果比傳統資料結構(如B-trees,雜湊表和布隆過濾器)更快,記憶體更小。正如我們在NIPS 機器學習和系統(Machine Learning for Systems and Systems for Machine Learning)的研討會上說的那樣,我們相信我們才剛剛抓住了在核心計算機系統中應用機器學習的皮毛。




索引結構學習到的模型(Learned Models as Index Structures)

https://arxiv.org/abs/1712.01208

隱私和安全

機器學習及其與安全和隱私的互動仍是我們關心的研究重點。我們的工作表明瞭機器學習能以一種新穎的方式應用到隱私保護中,該工作發表在ICLR (2017)上,並獲得了最佳論文獎。我們還繼續研究了機器學習在對抗性攻擊領域的特性,包括證實物理世界的對抗性攻擊以及在訓練過程中大規模利用對抗性攻擊以使得模型在對抗性攻擊面前更加魯棒的方法。

理解機器學習系統

雖然深度學習在很多方面給我們帶來了極大的改善效果,但對我們來說更重要的是要搞明白它為什麼有效(work),什麼時候無效。在ICLR (2017)的另一篇最佳論文獎中,我們的工作表明瞭目前的機器學習理論框架都無法解釋深度學習所帶來的顯著的改善結果。我們還證明了最優化方法找到的極小值的“平滑性”並不像一開始想象的那樣同良好的泛化性緊密相關。為了更好地理解深度架構下的訓練機制,我們發表了一系列分析隨機矩陣(它們是大多數訓練方法的出發點)的論文。另一個理解深度學習的重要途徑是更好地衡量它們的表現。在最近的一項研究工作中,我們表明了良好的實驗設計和統計嚴謹性的重要性。在對很多GAN(生成式對抗網路)方法進行對比之後,我們發現這些受到追捧的生成式模型的增強方法實際上並沒有提高效能。我們希望這項研究可以為其他研究人員提高一個讓實驗研究更魯棒的範例。

我們正在研究可以更好地解釋機器學習系統的方法。在2017年的三月份,我們與OpenAI, DeepMind, YC Research及其他一些研究機構合作推出了 Distill,這是一本致力於促進人類對機器學習理解的開放性線上科學期刊。它在包括機器學習概念上清晰的闡釋,以及其文章中提供的出色的互動式視覺化工具方面好評頗多。在過去的一年中,Distill釋出了許多旨在瞭解各種機器學習技術的內部工作的啟發性的文章。2018年,我們期待更多更好的工作可以出現。




特徵視覺化(Feature Visualization)

https://distill.pub/2017/feature-visualization/


如何有效使用t-SNE(How to Use t-SNE effectively)

https://distill.pub/2016/misread-tsne/

機器學習開源資料集

諸如 MNIST, CIFAR-10, ImageNet, SVHN, 和 WMT 這樣的開源資料集已經極大地推動了機器學習領域的發展。作為一個整體,過去的一年我們和Google Research一直在積極地通過提供更多的大型標記資料集,為機器學習研究提供更多有趣的開源新資料集:

  • YouTube-8M: 4,716個不同類別,超過700萬的YouTube視訊註釋
  • YouTube-Bounding Boxes: 500萬個邊界框(bounding boxes),涉及21萬個 YouTube 視訊
  • Speech Commands Dataset: 簡短命令語,涉及數千個人
  • AudioSet: 200萬個10秒的YouTube剪輯,標有527個不同的聲音事件Atomic Visual Actions (AVA): 21萬個動作標籤 ,涉及57,000個視訊剪輯
  • Open Images: 9M的創意共享授權圖片,標有6000個類別
  • Open Images with Bounding Boxes: 1.2M的邊界框(bounding boxes),涉及600個類


來自YouTube邊界框資料集( YouTube-Bounding Boxes dataset)的示例:在以每秒1幀取樣的視訊片段中圍繞感興趣的專案成功標識邊界框。

TensorFlow 和開源軟體




TensorFlow使用者 (source) 全球分佈地圖

回顧我們團隊的歷史就會發現我們已經構建了一些有用的工具,可以幫助我們在Google的許多產品中進行機器學習研究並部署機器學習系統。2015年11月,我們開源了第二代機器學習框架TensorFlow,希望機器學習社群能夠從我們在機器學習軟體工具的工作中受益。

今年二月份,我們釋出了TensorFlow 1.0,在11月份,我們釋出了1.4版本,包括:互動式指令式程式設計,TensorFlow程式的優化編譯器XLA和TensorFlow Lite(一個針對移動和嵌入式裝置的輕量級解決方案)。預編譯的TensorFlow二進位制檔案現在下載量已經超過一千萬次,涉及到180多個國家,GitHub上的原始碼貢獻者現在已經超過1200位。

今年2月,我們舉辦了第一屆TensorFlow開發者峰會,有450多人蔘加了在山景城舉辦的活動,活動直播觀看人次超過6500人,全球35個國家和地區舉辦了超過85場的本地觀看活動。

 峰會所有的演講都已經被記錄了下來,主題包括新特性,使用TensorFlow的技巧,以及在低層次的TensorFlow抽象(low-level TensorFlow abstractions)中的詳細介紹。

我們還將於2018年3月30日在灣區舉辦第二屆TensorFlow開發者峰會。大家可以通過這裡(Sign up now )進行註冊,以確認時間並關注最新訊息。


https://youtu.be/hyNruFqe1L0 

這個剪刀石頭布實驗是TensorFlow的一種新穎的用途。我們對在2017年看到的TensorFlow廣泛的用途感到興奮,包括黃瓜自動化分揀,在航拍影象中尋找海牛,將切丁的馬鈴薯分類以製作更安全的嬰兒食品,識別面板癌,幫助解讀在紐西蘭鳥類保護區的鳥叫錄音,並在坦尚尼亞為地球上最流行的根作物鑑定病株!

在11月,TensorFlow慶祝了它開放原始碼專案兩週年。這樣一個充滿活力的TensorFlow開發人員和使用者群體的出現,給予了我們莫大的榮譽感。TensorFlow現在是GitHub上排名第一的機器學習平臺,也是GitHub上的五大軟體庫之一,使用者包括眾多的公司和組織。在GitHub上與TensorFlow相關的軟體庫超過24,500個。現在,許多研究論文都在發表時,附加上開源的TensorFlow程式碼以配合研究結果,從而使社群人員能夠更容易地理解所使用的確切方法,並重現或擴充套件工作。

TensorFlow也從Google其他研究團隊的相關開源工作中受益頗多,其中包括TensorFlow中的輕量級生成式對抗模型庫TF-GAN,用於處理晶格模型(lattice models)的一組估計器TensorFlow Lattice,以及TensorFlow 目標檢測API。TensorFlow模型庫正在同越來越多的演算法模型共同發展。

除了TensorFlow,我們還在釋出了deeplearn.js,一個開源的網頁版硬體加速深度學習API實現(無需下載或安裝任何東西,只需要一個瀏覽器)。deeplearn.js主頁有許多很好的例子,其中包括一個使用你自己的網路攝像頭(webcam)就可以訓練出的計算機視覺模型——“教學機器”,以及一個基於實時神經網路(real-time neural-network)的鋼琴作曲和表演演示——“表演RNN”。我們還將在2018年繼續努力,以便將TensorFlow模型直接部署到deeplearn.js環境中。

TPUs




提供高達180 teraflops的機器學習加速的雲端TPU Cloud TPUs

大約五年前,我們認識到深度學習會大大改變我們所需要的硬體種類。 深度學習的計算量非常大,但它們有兩個特殊的性質:它們主要由密集的線性代數運算(矩陣乘法,向量運算等)組成,它們對精度的降低非常寬容。我們意識到我們可以利用這兩個屬性來構建能夠非常快速地執行神經網路計算的專用硬體。我們為Google的平臺團隊提供了設計思路,他們設計並生產了我們的第一代Tensor Processing Unit(TPU):一種旨在加速深度學習模型推理的單晶片ASIC(推理是使用已經訓練的神經網路,並且與訓練不同)。

第一代TPU已經在我們的資料中心部署了三年,並且已經被用在包括Google搜尋查詢,Google翻譯,Google相簿中影象理解,AlphaGo與李世石以及柯傑的對戰等很多深度學習模型上,以及其他許多研究和產品用途。 六月份,我們在ISCA 2017上發表了一篇論文,顯示第一代TPU比現代GPU或CPU同類產品快15倍--30倍,效能/功耗要好30- 80倍。


可以提供高達11.5 petaflops機器學習加速的Cloud TPU Pods 



隨著所使用的TPU裝置數量的增加,在ImageNet上進行ResNet-50訓練的實驗顯示其接近完美的線性加速。

推理是重要的,但加速訓練過程是一個更重要的問題 - 也更難。訓練過程越快,研究人員嘗試一個新的想法的時間就越少,我們就可以做出更多的突破。我們在5月份的Google I / O上釋出的第二代TPU是一個旨在加速訓練和推理的完整系統(定製ASIC晶片,電路板和互連),我們展示了單機配置以及一個叫做TPU Pod的多機深度學習超級計算機配置。這些第二代裝置將作為雲端TPU在Google雲端平臺上供大家使用。 我們還公佈了TensorFlow研究雲計劃(TFRC, TensorFlow Research Cloud (TFRC)),該計劃旨在為那些致力於與世界分享他們的工作的頂級機器學習研究人員提供支援,以便他們可以免費訪問1000個雲端TPU的叢集。在十二月份,我們的一項工作表明我們可以在22分鐘內在TPU Pod上訓練一個ResNet-50 ImageNet模型,同時比在一個傳統的工作站上需要幾天或更長時間訓練出來的模型精度更高。我們認為以這種方式縮短研究週期將大大提高Google的機器學習團隊以及所有使用雲端TPU的組織的工作效率。如果您對Cloud TPU,TPU Pods或TensorFlow Research Cloud感興趣,可以在g.co/tpusignup上進行註冊以瞭解更多資訊。在2018年,我們非常開心能讓更多的工程師和研究人員使用TPU!

感謝閱讀!

(在第二部分中,我們將討論機器學習在那些可能產生重大影響的特定領域的研究,包括在醫療健康、機器人、基礎科學領域的研究。我們還將介紹我們在促進人類創造性、公平和包容性方面所做的工作。)

作者 | Jeff Dean,Google 高階研究員,Google Brain 團隊發言人

原文連結:https://research.googleblog.com/2018/01/the-google-brain-team-looking-back-on.html