回顧 2017 年 Google Brain 成果:機器學習的各種應用、開源都在這!

Google 大腦 2017 總結上篇:基礎研究進展迅速,開放資源遍地開花

【我們為什麼挑選這篇文章】在 AI 發展的領域中,Google 的大腦團隊(Brain)頗負盛名,除了他們在 AI 領域的貢獻以外,對於相關技術的開源、工具的建立與開放也是不遺餘力,致力想推動 AI 的普及。

而 Google 大腦團隊的負責人也代表了整個團隊,發表了對 2017 年的回顧總結。

就讓我們一起來看看 2017 年的 Google ,為 AI 領域做了什麼事情吧。(責任編輯:林厚勳)

Google 大腦團隊的工作目標是通過科學研究和系統工程不斷推進頂級 AI 系統的發展,這也是整個 Google 的 AI 戰略的一部分。2017 年的時候 Google 大腦也發出過一篇 對 2016 年工作的總結文章 ,這之後 Google 大腦團隊也在持續不斷地向著自己「讓機器更智慧」的長期研究目標進發,也和 Google 和 Alphabet 內的許多團隊合作,把研究結果應用到真正地改善人類的生活中去。

這次 Google 對 2017 年成果的總結分為了上下兩篇,這篇是第一篇,包含基礎研究成果、開源軟體和數據集更新,以及新的機器學習硬體。在稍後的下篇中會詳細介紹一些具體應用領域中的研究,機器學習可以在其中帶來很大影響,這些領域比如醫療保健、機器人、一些基礎自然科學領域,同時也會介紹 Google 大腦在創造性、公平和包容性方面的努力,以及介紹一下這個團隊。

核心研究內容

Google 大腦團隊的關注重點是 通過科學研究增進自己對機器學習領域新問題的理解以及解決它們的能力2017 年中 Google 的研究主題包括以下這些:

自動機器學習(AutoML)

自動化機器學習的目標是開發出一些技巧,讓計算機自動解決新的機器學習問題,不再需要人類機器學習專家參與每一個新的問題的解決。如果人類想要打造真正智慧的系統的話,這肯定會是不可或缺的基礎能力之一。 Google 大腦開發了 自動設計神經網絡架構的新方法 ,其中同時運用了強化學習和演化算法兩類技術,並把這項工作拓展到了「自動化機器學習在 ImageNet 分類和檢測中達到頂尖表現」論文中(https://arxiv.org/pdf/1707.07012.pdf)。

這項研究同時也展現了如何自動學習優化算法和高效的啟動函數。 Google 大腦團隊現在正在與 Google 雲端 AI 團隊積極協作,目標是讓 Google 的客戶們也都可以使用這種技術,同時也把 Google 對這種技術的探索拓展到更多方向上去。

神經網絡搜索技術探索出的卷積神經網路架構
神經網絡搜索技術探索出的卷積神經網路架構
自動機器學習學習到的網絡進行物體檢測
自動機器學習學習到的網絡進行物體檢測

語音理解和生成

另一個研究主題是開發新的技術提高計算機系統理解和生成人類語音的能力。其中, Google 大腦也和 Google 語音團隊合作,開發出了 數種端到端語音識別技術的改善方法 ,把 Google 生產環境中的語音識別系統單詞錯誤率相對降低了 16%。這項研究很有意思的一點是,本來中有很多獨立的研究路線在進行,而這項研究讓它們彙總到了一起。

(包括以下這些論文:)

端到端 Listen-Attend-Spell 語音識別模型中的組件
端到端 Listen-Attend-Spell 語音識別模型中的組件

Google 大腦團隊也和 Google 的機器理解團隊的研究同事們協作,共同開發了 新的文本到語音生成方法(Tacotron 2),它大大提升了語音生成的質量。類似可聽電子書那種專業水準的錄製語音,平均主觀分數得分 MOS 是 4.58 分,之前最好的電腦生成語音系統得分在 4.34,而這個新模型的得分為 4.53,已經很接近人類的水平。

Tacotron 2 的模型架構
Tacotron 2 的模型架構

新的機器學習算法和應用方法

Google 大腦的研究人員們持續開發著新的機器學習算法和應用手段,包括 膠囊 capsules 的研究(顯式地尋找激活特徵之間的一致性,作為執行視覺任務時評估各種不同的帶噪聲假設的手段)、專家們的稀疏門組合(這可以讓大模型的計算效率仍然保持很高)、超越網路(用一個模型的權重生成另一個模型的權重)、 新類型的多模態模型(可以用同一個模型對語音、視覺、文本等不同輸入做多任務學習)、 基於注意力機制的模型(作為卷積和循環模型的替代方案)、符號化和非符號化的學習到的優化模型(http://proceedings.mlr.press/v70/bello17a/bello17a.pdfhttps://arxiv.org/abs/1703.04813)、一種通過離散變量做反向傳播的方法(https://arxiv.org/abs/1611.01144),以及一些強化學習算法的新的改進方案(https://arxiv.org/pdf/1702.08892.pdf)。

用於計算機系統的機器學習

用機器學習方法取代傳統計算機系統中啟發式方法的想法也讓 Google 大腦成員們覺得非常有意思。 Google 大腦已經展示了在把計算圖映射到一組計算設備上的任務中,強化學習模型選擇的放置方法要比人類專家的選擇更好(https://arxiv.org/abs/1706.04972)。

和其它 Google 研究院的同事一起, Google 大腦這項研究 「聊一聊學習得到的索引架構」 中展現了神經網絡可以比 B 樹、哈希表、Bloom filters 等傳統數據結構更快、更節省空間地建立完成索引任務。

Google 大腦相信,這僅僅是探索機器學習在核心計算機系統中應用的開始,Jeff Dean 在 NIPS workshop 上進行的「Machine Learning for Systems and Systems for Machine Learning」演講中也描繪了他們的設想。

學習到的模型可以作為索引結構
學習到的模型可以作為索引結構

隱私和安全

機器學習和安全、隱私之間的互動也一直是 Google 大腦的研究重點。在獲得 ICLR 2017 最佳論文獎的論文中,他們展示了 應用機器學習時可以帶有差分隱私保障 。 Google 大腦也繼續對對抗性樣本做了更多的探索,包括真實世界中的對抗性樣本(https://arxiv.org/abs/1607.02533),以及如何在訓練過程中生成大規模的對抗性樣本以便讓模型對它們更加具備強健控制的能力(https://arxiv.org/abs/1611.01236)。

理解機器學習系統

在深度學習展現出驚人成果的同時,理解它為什麼能奏效、什麼時候不能奏效也是很重要的一件事。在另一篇 ICLR 2017 獲獎論文中, Google 大腦的研究人員們展現出 目前的機器學習理論框架無法解釋深度學習方法的喜人成果

他們也發現,優化方法找到的局部極小值點的「平坦性」和泛化能力的優秀程度之間的關係並不如人們一開始認為的那麼緊密(https://arxiv.org/abs/1703.04933)。為了更好地理解深度神經網絡架構的訓練是如何進行的, Google 大腦發佈了一系列論文分析隨機矩陣,因為這也是多數訓練方法的起始點(https://arxiv.org/abs/1710.06570)。

另一個理解深度學習的重要途徑是更好地測量模型的表現,在近期一篇比較各種 GANs 方法的論文中, Google 大腦展現了好的實驗設計、統計嚴謹性的重要性,並且發現許多對生成式模型的熱門增強方法都沒能真的改進模型表現(https://arxiv.org/abs/1711.10337)。 Google 大腦希望這項研究能在魯棒實驗研究方面作為其它研究者可以參考的樣例。

TO 編按:魯棒性,亦稱健壯性、穩健性、強健性,是系統的健壯性,它是在異常和危險情況下系統生存的關鍵,是指系統在一定 (結構、大小) 的參數攝動下,維持某些性能的特性。
資料來源:MBA 智庫百科

Google 大腦也在研究可以讓機器學習系統具備更好的可解釋性的方法(https://arxiv.org/abs/1711.00867)。2017 年三月, Google 大腦和 OepnAI、DeepMind、YC Research 等機構一起聯合創立上線了 Distill 部落格 http://distill.pub/ ,這是一個新的開放的在線科技文獻展示平台,專注於幫助人類理解機器學習。

它對機器學習概念的清晰解釋、文章中精彩且具備互動性的可視化工具都已經讓它獲得了不少讚譽,比如下面這篇 CNN 啟動特徵可視化 。在上線後的第一年中,Distill 上就已經發表了許多嘗試理解各種機器學習方法的內在運行原理的文章,很給人帶來啟迪, Google 大腦也非常期待 2018 年可預計的更多、更好的文章。

CNN 特徵可視化
CNN 特徵可視化
如何高效使用 t-SNE https://distill.pub/2016/misread-tsne/
如何高效使用 t-SNE

用於機器學習研究的開放數據集

MNIST、CIFAR-10、ImageNet、SVHN、WMT 這樣的開放數據集極大地推動了整個機器學習領域的發展。 Google 大腦和 Google 研究院也在過去的一年中共同積極開源了許多用於機器學習研究的有意思的新數據集,提供了更大的有標註數據集供開放訪問,包括:

  • YouTube-8M:標註為 4716 個不同類別的七百萬個 YouTube 影片
  • YouTube-Bounding Boxes:含有 5 百萬個邊界框的 21 萬個 YouTube 影片
  • Speech Commands Dataset:數千個人說的簡短控制詞彙
  • AudioSet:2 百萬個 10 秒長的 YouTube 影片,標註為了 527 個不同的聲音事件
  • AVA:5.7 萬個短影片中標註了一共 32 萬個動作標籤
  • Open Images:標記為 6000 個分類的 9 百萬張帶有創意共享許可的圖像
  • Open Images with Bounding Boxes:600 個不同類別的圖像中帶有 120 萬個邊界框
YouTube-Bounding Boxes 數據集中的樣例。影片的分段採樣速率為 1 幀/秒,我們關注的物體都被邊界框圈了起來
YouTube-Bounding Boxes 數據集中的樣例。影片的分段採樣速率為 1 幀/秒,我們關注的物體都被邊界框圈了起來

TensorFlow 以及開源軟體

一張 TensorFlow 使用者分佈的世界地圖
一張 TensorFlow 使用者分佈的世界地圖

Google 大腦團隊一直都有編寫工具來幫助更好地做機器學習研究、更好地在 Google 的各個產品裡部署機器學習系統的傳統。2015 年 11 月, Google 大腦開源了自己的第二代機器學習框架 TensorFlow,希望整個機器學習大家庭可以共享 Google 在機器學習軟體工具方面的這一筆投資。

2017 年 2 月,TensorFlow 1.0 發佈,11 月,TensorFlow 1.4 發佈 ,都帶來了意義重大的改進:便於交互命令式編程的 Eager execution、TensorFlow 程式的編譯優化器 XLA,以及 為移動和嵌入式設備設計的 TensorFlow Lite。預編譯的 TensorFlow 庫如今已經被超過 180 個國家的用戶下載了超過一千萬次,GitHub 上的開源項目(https://github.com/tensorflow/tensorflow)也已經有了超過 1200 個貢獻者。

2017 年 2 月, Google 大腦首次舉辦了 TensorFlow 開發者峰會,有超過 450 人到山景城參會,全球還有超過 6500 人觀看了線上直播,其中有 35 個國家都在當地舉辦了超過 85 場集體觀看活動。所有的演講都有錄影(可參見:https://www.youtube.com/playlist?list=PLOU2XLYxmsIKGc_NBoIhTn2Qhraji53cv),其中包括了新特性、使用 TensorFlow 的技巧,以及觀察揭秘 TensorFlow 的底層的抽象等等內容。2018 年 3 月 30 日 Google 大腦會再在舊金山灣地區舉行一場峰會。(雷鋒網 AI 科技評論也會保持關注)

11 月時,TensorFlow 也迎來了自己開源後的第二個紀念日。看到圍繞 TensorFlow 建立起的活躍的、不斷發展的開發者和用戶的大家庭, Google 大腦的成員們也都覺得非常滿足。TensorFlow 目前是 GitHub 上排名第一的機器學習平台,也是 GitHub 上所有開源項目的前五名。

大小企業和組織都在使用 TensorFlow,和 TensorFlow 相關的 GitHub 項目也有超過 2.4 萬個。如今,許多研究論文在發佈時也會帶有開源的 TensorFlow 實現來支持他們的實驗結果,不僅讓別人更好理解他們所提的模型,也便於重現或者拓展他們的工作成果。

TensorFlow 也從其它 Google 研究團隊的開源的相關工作中有所受益,比如 TensorFlow 中的輕量級生成式模型庫 TF-GAN,一組用於格式模型的估計器 TensorFlow Lattice,以及 TensorFlow 物體檢測 API。TensorFlow 的開源項目中包含的模型也越來越多、越來越廣。

除了 TensorFlow, Google 大腦還 發佈了深度學習 API deeplearn.js,它也是開源的,而且帶有硬體加速,可以無需下載和安裝就直接在瀏覽器中運行。deeplearn.js 的主頁就有一組很棒的示範例子,包括可以用自己電腦攝像頭訓練的計算機視覺模型 Teachable Machine、一個基於即時神經網路的鋼琴合成器以及性能展示工具 Performance RNN。在 2018 年, Google 大腦會繼續努力,讓 deeplearn.js 環境直接運行 TensorFlow 的模型變得可能。

TPU

雲端 TPU最高可以帶來 180 TFlops 的機器學習加速能力
雲端 TPU 最高可以帶來 180 TFlops 的機器學習加速能力

從大約 5 年前開始, Google 大腦的研究人員們意識到深度學習將會強烈地改變對硬體需求。深度學習計算的計算強度非常高,不過它也有兩個獨特的特點:很大程度上都是由稠密線性代數操作(矩陣乘法、向量操作等等)組成,而且降低計算精度不會帶來很大影響。

他們意識到,可以利用這兩個特點構建專用的硬體,就能夠以非常高的效率構建運行神經網絡。 Google 大腦向 Google 的硬體平台團隊提供了設計輸入,然後由他們設計並生產出了 Google 的第一代 TPU。這是一種單晶片 ASIC,專門設計用來加速深度學習模型的推理過程。第一代的 TPU 已經部署在 Google 的數據中心中三年了,它支持了所有 Google 搜索請求、 Google 翻譯、 Google 照片中的圖像理解、李世石和柯潔對戰 AlphaGo 等等許許多多的研究和生產用途背後的深度學習模型運行。

2017 年 6 月時 Google 大腦在 ISCA 2017 上發表了論文,數據表明第一代 TPU 要比同時代的 GPU 或者 CPU 競爭對手快 15 倍到 30 倍,同時每瓦性能更要高出 30 倍到 80 倍(https://arxiv.org/abs/1704.04760)。

雲 TPU 集群(TPU Pod)可以提供最高 11.5PFlops 的機器學習加速能力
雲 TPU 集群(TPU Pod)可以提供最高 11.5PFlops 的機器學習加速能力
用 ImageNet 訓練 ResNet-50 的實驗結果表明,隨著 TPU 數量增加,性能增加也幾乎是理想線性的
用 ImageNet 訓練 ResNet-50 的實驗結果表明,隨著 TPU 數量增加,性能增加也幾乎是理想線性的

推理任務很重要,而訓練過程的加速其實是一個更重要的問題,同時也更難解決。5 月份在 Google I/O 大會公佈的 第二代 TPU 是一個集成的完整系統(定製 ASIC 芯片、電路板以及芯片互聯),它的設計目標是能夠同時加速訓練和推理過程。

Google 大腦展示了單塊設備的配置模式,以及多設備組成的深度學習超級計算機集群 TPU Pod。 Google 大腦也宣佈,這些第二代 TPU 將在 Google 雲平台上作為 Google 雲 TPU 向客戶提供。

同時, Google 大腦也 公開了 TensorFlow 研究雲(TFRC),這個項目將會給有意願向全世界分享他們的研究成果的研究者免費提供 1000 個雲 TPU 組成的計算集群的使用權。在 12 月份, Google 大腦也展示了另一項成果,他們在 22 分鐘內在雲 TPU 集群上用 ImageNet 訓練了 ResNet-50 模型並且達到了很高精度,這項工作在以往的典型工作站上可能需要花費好幾天的時間。

在 Google 大腦看來,把研究過程中的測試時間縮短到這種程度將會大幅度提高 Google 以及所有使用雲 TPU 的團隊的生產力。

對雲 TPU、TPU 集群或者 TensorFlow 研究雲感興趣的讀者可以在 g.co/tpusignup 註冊後瞭解更多訊息。 Google 大腦非常期待可以讓更多的工程師和研究人員在 2018 年用上 TPU!

TO 編按:本篇為第一部分,在下篇第二部分中會介紹醫療保健、機器人、多個自然科學研究領域以及創意領域中的機器學習的具體研究案例,以及介紹 Google 大腦在公平性和包容性方面的研究工作。

─ ─

(本文經合作夥伴 雷鋒網 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈 谷歌大腦 2017 總結上篇:基礎研究進展迅速,開放資源遍地開花 〉。)


量子運算的出現,是現行安全機制的「轉機」還是「末日」?

搶先報名《2019 未來科技展》量子加密場次 2019 年正式進入量子運算應用元年,技術成熟後就能破解現有密碼系統,入侵企業電腦,干擾工廠運作與竊取商業機密! 找到可以抵禦量子運算的加密技術,是強化企業、國家資安的必修主題。 《即刻點我報名》,掌握量子加密趨勢!

點關鍵字看更多相關文章: