從 2015 年到現在,Google 正式開放 TensorFlow 已經兩年多瞭,包括 Jeff Dean 在內的 Google Brain 成員們都對這一產品寄以重望。「AI 界的安卓系統」,研究員們常這樣對媒體稱呼 TensorFlow,Google 希望這款開源的 AI 工具包能像當年的安卓一樣賦能全世界的開發者們。
事實上,兩年多來,TensorFlow 已經演化成一個非常完善的深度學習軟件開放平臺,不僅是 Google 自己將 Google Brain 的這一研究成果應用於自傢的各種軟件應用上,借著硬件英特爾和英偉達等硬件平臺的配合,TensorFlow 已經成為開源網站 Github 上最受開發者歡迎的工具,遠超微軟和 Facebook 等公司提供的計算框架。
在極客公園創新大會 IF 2018 上,來自 Google Brain 的首席工程師陳智峰分享瞭兩年多來 TensorFlow 在各個領域的應用情況,從他的演講裡,我們能夠看到這款似乎距離我們非常遙遠的 AI 開發工具,實際上早已影響到我們日常的生活,並且將會在未來很長時間內,為我們帶來更多的改變。
以下內容根據 Google Brain 首席工程師陳智峰在 GeekPark IF 2018 大會上的演講梳理而成,略有刪減。
大傢好,我叫陳智峰,我是 Google 大腦團隊的一名成員,在這裡,我很高興到極客公園和大傢分享 Google 大腦最近一年到兩年時間裡的研究方向,和在 TensorFlow 方面的一些工作、成果、進展。
深度學習這幾年非常流行,在這張圖上,大傢可以看到在 Google 的搜索流量裡面,深度學習在過去的 7-8 年時間裡面,增長瞭大概 100 倍,從這個側面也反映出學界和工業界對這個技術的關註程度,是在迅速地提高。大傢都想知道,深度學習是什麼,它能夠為我們做什麼?我們如何把這個技術應用到實際場景當中去。
其實,深度學習並不是一個突然出現的技術領域,核心算法就是神經網絡。神經網絡是一種機器學習的模型,這個模型主要特點就是,它可以擬合任何數學上的函數,特別是利用大數據反復迭代的一種,類似於方法,來訓練好這個模型。
隨著大數據的普及,計算機硬件算力的發展,還有算法本身的突破,大傢突然發現,這個以神經網絡模型為核心的深度學習技術,在很多應用領域都可以大大地提高過去軟件系統需要完成的任務,最經典的應用領域大傢肯定很熟悉,就是圖像識別領域,自 2012 年以來,在這個領域,自動圖象識別的錯誤率從 20% 一直持續下降到百分之四點多,已經超過瞭一個普通人分辨圖像的能力。
Google 在很多年前就已經開始把深度學習的技術應用到它很多產品當中,在這個過程當中,我們也迭代、開發瞭好幾代支持深度學習的軟件系統,最終導致我們在 2015 年 10 月開源瞭 TensorFlow,希望能夠進一步推動深度學習的應用和研究。
TensorFlow 現在已經演化成一個相當完整的深度學習軟件開放平臺,比如說,它支持 CPU、GPU 混合搭建的數據中心的訓練平臺,它也支持將數據中心訓練出來的好的模型,相對便捷地部署到不同的移動端應用上,可以支持類似 Google 自主研發的特別定制的 TPU 處理器,這種多平臺的支持,我們覺得可以幫助到最多的用戶和應用場景,我們同時也非常感謝很多業界的同行對我們的支持,比如說在美國 Intel 和英偉達都在幫助我們優化 TensorFlow 在他們各自硬件上的性能。
支持多種硬件的平臺是基礎,TensorFlow 一直以來的一個目標,就是能夠幫助盡量多的開發者,能夠把深度學習的技術利用起來,最終使得廣大的用戶從中能得到益處,基於這個想法,TensorFlow 一直很重視多種程序員開發環境的支持。比如說,開發者可以在主要的開發環境中使用 TensorFlow。
Google 自己怎麼用 TensorFlow?
TensorFlow 在 Google 內部的應用推廣是非常全面和徹底的,比如說 TensorFlow 很早就幫助 Google 的核心業務(搜索和廣告),實施瞭深度學習的模型,並且在核心業務上體現瞭他們的性能。
在垃圾郵件過濾也使用瞭 TensorFlow 訓練的模型,同時在安卓的應用程序推薦上,也上線瞭 TensorFlow 的模型等等。很多 TensorFlow 應用都是發生後臺,大多數用戶可能沒有直接的體驗,這裡我舉幾個在移動端的例子來說明深度學習,其實已經很直接地影響瞭成千上萬的用戶。
比如說,安卓手機最近的版本當中增加瞭一個自拍功能,這個自拍功能就是通過應用深度學習訓練出來的視覺模型,可以非常準確地分離前景像素和後景像素,對前景像素和後景像素分別處理,這樣的話就可以實現背景虛化這樣的功能。
實現這種功能,傳統上,手機廠商需要增加第二個攝像頭,這就會增加手機的成本,同時對現有用戶已經獲得的手機就不太容易獲得這樣的效果,通過新的算法,可以實現一些過去可能非常昂貴才能實現的效果。
和圖像處理一樣,語音處理是另一個被深度學習深刻改變的領域,語音識別要比圖像處理更早地采用神經網絡,產品方面,這些年智能音箱語音主力大行其道,其中一個很大的原因就是深度學習算法把語音識別和語音生成的技術門檻大大地降低瞭,過去可能需要 20 — 50 個博士的團隊才能完成的任務,現在就下載一個現有模型定制一下,就可以達到同樣的效果。通用的機器學習框架,可以幫助到更多的開發人員,開發出適合自己特定應用場景的語音應用。
另外舉一個機器翻譯的例子。現在你可以用手機拍一張照片,手機軟件可以自動地識別出圖形中的文字,把文字翻譯成另外一種語音,看似簡單的應用,其實是圖像技術和機器翻譯技術很自然的結合。
一年多前,在谷歌內部,我們把過去的翻譯系統升級為神經網絡為基礎的系統,從這些圖像可以看到,那次升級極大地降低瞭機器翻譯的錯誤率,一些語言之間的翻譯,幾乎可以達到人工翻譯的效果。
利用深度學習技術,我們不僅可以大幅度地提高已有產品的功能和性能,我們還開發瞭一些過去很難想象的新功能,比如說郵件自動回復的功能,安卓上的郵箱軟件可以分析用戶的郵件,比如說你今天早上收到一份你朋友發的郵件,晚上是不是要到哪裡吃飯,大多數情況隻有三種可能的回答,比如說我會準時到或者是對不起我沒有空不能來,或者是我有空,但是我可能需要晚一點到。我們現在郵箱會自動地給你提供三個選擇,這樣的話在路上看到郵箱,隻要一鍵就可以完成郵件的回復,極大地方便瞭用戶在手機上處理郵件的效率。
TensorFlow 的互聯網應用
通過前面我講的很多應用例子,我們可以看到一個通用的深度學習框架,可以幫助到現有很多互聯網上的應用提高它的智能水平,但是我們也可以看到,TensorFlow 這樣的深度學習框架,在其他許多領域也可以得到應用,比如說我們在倫敦的同事,過去兩年努力推進 AlphaGo 在工作就非常得益於 TensorFlow 框架本身的幫助,因為 TensorFlow 在利用超大計算機集群和最新加速器方面的支持,AlphaGo 的團隊可以更加專註於算法的研究。
我們組也有人在做智能醫療工作方面,由於 TensorFlow 是一個通用的框架,他們可以很方便地利用現在已有的圖像識別模型或者是自然語言處理的模型,針對特定的應用領域和數據,重新訓練微調一下你的模型,就可以達到在檢測視網膜病變任務上超過 95% 的準確率,這個準確率已經超過瞭普通眼科專傢 91% 的準確率。
在自動駕駛方面,我們在 Waymo 的同事,也在利用 TensorFlow 不斷改進他們自動駕駛系統當中的深度模型,包括對路況場景的分割、雷達信號的處理等等。
我們特別欣慰的是通過把 TensorFlow 開源,利用深度學習技術的門檻大大降低瞭,過去兩年我們看到很多和互聯網毫無相關的行業,也開始嘗試利用深度學習的技術和方法,比如說這傢公司是一個嬰兒食品制作的公司,引進瞭 TensorFlow 訓練好的智能系統,這個智能系統可以把嬰兒食品的原料進行分類,把一些爛掉的蘋果和香蕉更準確地排除出去,這樣可以更準確地控制嬰兒食品的質量。
我們也很興奮地看到 TensorFlow 在計算機科學以外的科學研究上,也得到瞭使用,比如說上個月美國航天總署宣佈一項研究成果,美國航天總署有個開普勒計劃,他們的科學傢和我們的同事聯合開發瞭一個 TensorFlow 的模型,開普勒計劃本身的目標是通過望遠鏡持續不斷地觀察太空中恒星亮度的變化,希望發現太陽系以外的行星系統,最終希望發現另外一個適宜人類居住的行星。目前該計劃已經積累瞭上百億個觀察數據,幾個月前這個 TensorFlow 的模型,幫助科學傢發現瞭 2500 光年以外的開普勒 90 星系中的第八顆行星。
人們不僅仰望星空,同時我們在回望我們的地球,在這個應用的例子裡面,澳大利亞的科學傢用 TensorFlow 開發的圖像識別模型,在數萬張海洋航拍圖照片中,可以快速並且準確地找到需要保護的大型海洋哺乳類動物,比如說可愛的動物,就是澳大利亞附近的珍惜動物海牛。類似也有科學傢,利用 TensorFlow 把語音處理技術用到鳥類保護上,他們在叢林裡安裝瞭很多話筒,采集鳥類的聲音,模型就可以很準確地估算出鳥類在一片森林中的數量,從而可以更加精準地對他們實行保護。
我們還有同事進行一些非常有意思的應用,他們正在嘗試利用深度學習的技術來創造音樂,很有意思的是,這些音樂創作的樂曲,還受到瞭專業 DJ 的肯定。
TensorFlow 自 2015 年開源以來,我們一直在努力投入。最近我們開始加大力度對中國市場的支持,比如說我們正在建立一個 TensorFlow 的中文網站,TensorFlow 的開發者也實現瞭快速的增長,同時,我們也看到超過 1000 多人參與瞭 TensorFlow 的開發,這是一個非常活躍的社區。
另外,我們的數據也顯示,到目前全球 180 多個國傢,各種用戶已經下載瞭超過 1000 萬次的 TensorFlow 開發包,這表明 TensorFlow 的應用開發也是非常普遍的。
前面的圖也告訴大傢,在中國有大量的開發人員在持續地關註 TensorFlow,事實上,我們自己在和眾多的中國公司建立夥伴關系,積極地支持和幫助他們更好地使用 TensorFlow。
比如說京東內部搭建瞭 TensorFlow 訓練平臺,用於開發圖像、自然語言相關的模型,並且把他們用到客服廣告等領域。小米也在嘗試類似的技術路線,支持他們生態線上各種特殊的應用。網易的有道筆記、網易翻譯君也使用瞭 TensorFlow 視覺和語言的模型。
非常感謝我們的用戶和合作夥伴對 TensorFlow 的反饋,TensorFlow 也正在努力開發新的功能,在去年我們開發瞭 TensorFlow 一個模式,希望這個模式能夠更加有利於前端的開發,便於調試,支持更多動態的編程模式。
另外,TensorFlow 在過去一年中主要推進的項目是 TensorFlow Lite 模式,這個模式是專門針對移動和嵌入式應用場景打造的機器學習平臺,它的目標是希望把機器學習在雲端訓練的模型,更加簡單、高效地遷移到移動端上進行部署。
最後,我們也在開發新一代深度學習硬件加速器 TPU,去年我們宣佈瞭第二代處理器,這個處理器可以達到 180 萬億次浮點運算的性能,有 64 千兆的內存,如果我們把這樣的處理器集成在一起,搭建一個集群,這個集群我們估算到,可以非常容易排到世界上超級計算機的前五名。
目前我們正在內部各種產品研發中使用 TPU 二代,並且有計劃在不久的將來開放給公眾使用。
最後,我要再次感謝極客公園給我們這樣的一次機會,給大傢介紹一下我們的工作。謝謝大傢!
責任編輯:克裡斯