TensorFlow可以做什麼?讓Google Brain首席工程師告訴你
編輯 | 明明
1月19日,在極客公園創新者大會IF2018的現場,Google Brain首席工程師陳智峰發表題為:《》的演講,分享了Google Brain最近一年到兩年時間裡面的研究方向,以及在TensorFlow方面的一些工作、成果、進展。以下為演講實錄:
深度學習
深度學習這幾年非常流行,在Google的搜尋流量裡面,深度學習在過去的7-8年時間裡,增長了大概100倍,從這個側面也反映出學界和工業界對這個技術的關注程度,是在迅速的提高。
大家都想知道,深度學習是什麼?它能夠為我們做什麼?如何把這個技術應用到實際場景當中去?
深度學習並不是一個突然出現的技術領域,它的核心演算法就是神經網路。神經網路是一種機器學習的模型,這個模型主要特點就是,它可以擬合任何數學上的函式,特別是利用大資料反覆迭代的一種類似方法來訓練好這個模型。
隨著大資料的普及,計算機硬體算力的發展,還有演算法本身的突破,大家突然發現,這個以神經網路模型為核心的深度學習技術,在很多應用領域都可以大大提高過去軟體系統需要完成的任務。
最經典的應用領域大家肯定很熟悉,就是影象識別。自2012年以來,在這個領域,自動影象識別的錯誤率從20%一直持續下降到4%左右,已經超過了一個普通人分辨影象的能力。
Google在很多年前就已經開始把深度學習的技術應用到很多產品當中,在這個過程當中,我們也迭代、開發了好幾代支援深度學習的軟體系統,最終導致我們在2015年10月開源了TensorFlow,希望能夠進一步推動深度學習的應用和研究。
TensorFlow
TensorFlow現在已經演化成一個相當完整的深度學習軟體開放平臺。
比如說,它支援CPU、GPU混合搭建的資料中心的訓練平臺,它也支援將資料中心訓練好的模型,相對便捷地部署到不同的移動端應用上,可以支援類似Google自主研發的TPU處理器。
這種多平臺的支援,可以幫助到最多的使用者和應用場景,我們同時也非常感謝很多業界的同行對我們的支援,比如說在美國Intel和英偉達都在幫助我們優化TensorFlow在他們各自硬體上的效能。
支援多種硬體的平臺是基礎,TensorFlow一直以來的一個目標,就是能夠幫助儘量多的開發者,能夠把深度學習的技術利用起來,最終使得廣大的使用者從中能力得到益處,基於這個想法,TensorFlow一直很重視多種程式設計師開發環境的支援。比如說,開發者可以在主要的開發環境中使用TensorFlow。
TensorFlow在我們公司內部的應用推廣是非常全面和徹底的,比如說TensorFlow很早就幫助Google的核心業務(搜尋和廣告),實施了深度學習的模型,並且在核心業務上體現了他們的效能。
在垃圾郵件過濾中,我們也使用了TensorFlow訓練的模型,同時在安卓的應用程式推薦上,也上線了TensorFlow的模型等等。很多TensorFlow應用都是發生後臺,大多數使用者可能沒有直接的體驗。
我舉幾個在移動端的例子來說明,深度學習其實已經直接影響了成千上萬的使用者。
安卓手機自拍功能
比如說,安卓手機最近的版本當中增加了一個自拍功能,這個自拍功能就是通過應用深度學習訓練出來的視覺模型,可以非常準確地分離前景畫素和後景畫素,對前景畫素和後景畫素分別處理,這樣就可以實現背景虛化。
實現這種功能,傳統上手機廠商需要增加第二個攝像頭,這就會增加手機的成本,同時現有的手機就不太容易獲得這樣的效果,通過新的演算法,我們可以實現一些過去可能非常昂貴才能實現的效果。
智慧音箱
和影象處理一樣,語音處理是另一個被深度學習深刻改變的領域,語音識別要比影象處理更早地採用神經網路。
產品方面,這些年智慧音箱語音主力大行其道,其中一個很大的原因就是深度學習演算法把語音識別和語音生成的技術門檻大大地降低了,過去可能需要20—50個博士的團隊才能完成的任務,現在下載一個現有模型定製一下,就可以達到同樣的效果。通用的機器學習框架,可以幫助到更多的開發人員,開發出適合特定應用場景的語音應用。
機器翻譯
另外一個例子,現在你可以用手機拍一張照片,手機軟體可以自動的識別出圖形中的文字,把文字翻譯成另外一種語言,看似簡單的應用,其實是影象技術和機器翻譯技術很自然的結合。
一年多前,我有幸參與了谷歌內部,把過去的翻譯系統升級為以神經網路為基礎的系統的專案,那次升級極大地降低了機器翻譯的錯誤率。其中一些語言之間的翻譯,幾乎可以達到人工翻譯的效果
郵件自動回覆功能
利用深度學習技術,我們不僅可以大幅度的提高已有產品的功能和效能,我們還開發了一些過去很難想象的新功能,比如說郵件自動回覆的功能,安卓上的郵箱軟體可以分析使用者的郵件。
比如說你今天早上收到一份你朋友發的郵件,“晚上是不是要到哪裡吃飯”,大多數情況只有三種可能的回答:我會準時到;對不起我沒有空不能來;我有空,但是我可能需要晚一點到。
我們現在郵箱會自動地給你提供三個選擇,這樣的話在路上看到郵箱,只要一鍵就可以完成郵件回覆,極大方便了使用者在手機上處理郵件的效率。
通過前面的很多應用例子,我們可以看到,一個通用的深度學習框架,可以幫助現有很多網際網路上的應用提高智慧水平,但是我們也可以看到,TensorFlow這樣深度學習的框架,在其他許多領域也可以得到應用。
AlphaGo
比如說我們在倫敦的同事,過去兩年努力推進AlphaGo的工作,這就得益於TensorFlow框架本身的幫助,因為TensorFlow可以利用超大計算機叢集,支援最新的加速器,AlphaGo團隊可以更加專注於演算法的研究。
智慧醫療
我們組也有人在做智慧醫療工作方面。由於TensorFlow是一個通用的框架,他們可以很方便地重用現在已有的影象識別模型或者是自然語言處理的模型,針對特定的應用領域和資料,重新訓練微調一下模型,就可以在檢測視網膜病變任務上面獲得超過95%的準確率,這個準確率已經超過了普通眼科專家91%的水平。
自動駕駛
在自動駕駛方面,我們在Alpha Waymo的同事,也在利用TensorFlow不斷改進自動駕駛系統當中的深度模型,包括對路況場景的分割、雷達訊號的處理等等。
嬰兒食品製作
我們特別欣慰的是,通過把TensorFlow開源,我們利用深度學習技術的門檻大大降低了。過去兩年我們看到很多和網際網路毫無相關的行業,也開始嘗試利用深度學習的技術和方法,比如說這家公司是一個嬰兒食品製作的公司,引進了TensorFlow訓練好的智慧系統,這個智慧系統可以把嬰兒食品的原料進行分類,把一些爛掉的蘋果和香蕉更準確地排除出去,這樣可以準確地控制嬰兒食品的質量。
科學研究——太空
我們也很興奮地看到,TensorFlow在電腦科學以外的科學研究上也得到了使用,比如說上個月美國航天總署宣佈一項研究成果,美國航天總署有個開普勒計劃,他們的科學家和我們的同事聯合開發了一個TensorFlow的模型。
開普勒計劃本身的目標是通過望遠鏡持續不斷地觀察太空中恆星亮度的變化,發現太陽系以外的行星系統,最終希望發現另外一個適宜人類居住的行星。目前該計劃已經積累了上百億個觀察資料,幾個月前這個TensorFlow的模型,幫助科學家發現了2500光年以外的開普勒90星系中的第八顆行星。
科學研究——海洋
人們不僅仰望星空,同時我們在回望我們的地球,在這個應用的例子裡面,澳大利亞的科學家用TensorFlow開發的影象識別模型,在數萬張海洋航拍圖照片中,快速並且準確地找到需要保護的大型海洋哺乳類動物,比如說珍惜動物海牛。
科學研究——叢林
也有科學家利用TensorFlow把語音處理技術用到了鳥類保護上。他們在叢林裡安裝了很多話筒,採集鳥類的聲音,模型就可以很準確地估算出鳥類在一片森林中的數量,從而更加精準地對他們實行保護。
創造音樂
我們組還有同事進行了一些非常有意思的應用,他們正在嘗試利用深度學習的技術來創造音樂,很有意思的是,這些音樂創作的樂曲,還受到了專業DJ的肯定。
自2015年開源以來,我們一直在努力加大對TensorFlow的投入,最近我們開始加大對中國市場的支援力度,比如說我們正在建立一個TensorFlow的中文網站,TensorFlow的開發者也實現了快速的增長,同時,我們也看到超過1000多人蔘與了TensorFlow的開發,這是一個非常活躍的社群。
另外,我們的資料也顯示,到目前全球180多個國家,各種使用者已經下載了超過1000萬次的TensorFlow開發包,這表明TensorFlow的應用開發也是非常普遍的。
前面的圖也告訴大家,在中國有大量的開發人員在持續的關注TensorFlow,事實上,我們正在和眾多的中國公司建立夥伴關係,積極的支援和幫助他們更好的使用TensorFlow。
比如說京東內部搭建了TensorFlow了訓練平臺,用於開發影象、自然語言相關的模型,並且把他們用到客服廣告等領域。小米也在嘗試類似的技術路線,支援他們生態線上各種特殊的應用。網易的有道筆記、網易翻譯君也使用了TensorFlow視覺和語言的模型。
非常感謝我們的使用者和合作夥伴對TensorFlow的反饋,TensorFlow也正在努力開發新的功能,在去年我們開發了一個TensorFlow模式,這個模式能夠更加有利於前端的開發,便於除錯,支援更多動態的程式設計模式。
在這裡有一個很簡短的程式,在這個程式中,大家應該能夠看出這個模式最主要的特徵就是在前端的程式流程中,可以更加直接地反映程式演算法邏輯本身的流程,這一點我們相信會特別有助於快速原形的開發和除錯。
另外,TensorFlow在過去一年中主要推進的專案是TensorFlow Lite模式,這個模式是專門針對移動和嵌入式應用場景打造的機器學習平臺,它的目標是希望把在雲端訓練的機器學習模型,更加簡單、高效的遷移到移動端上進行部署。
最後,我們也在開發新一代深度學習硬體加速器TPU,去年我們宣佈了第二代處理器,這個處理器可以達到180萬億次浮點運算的效能,有64千兆的記憶體,如果我們把這樣的處理器整合在一起,搭建一個叢集,根據我們的估算,這個叢集的可以非常容易排到世界上超級計算機的前五名。
目前我們正在內部各種產品研發中使用第二代TPU,並且計劃在不久的將來開放給公眾使用。
熱文精選
相關推薦
TensorFlow可以做什麼?讓Google Brain首席工程師告訴你
編輯 | 明明1月19日,在極客公園創新者大會IF2018的現場,Google Brain首席工
五年全棧工程師告訴你一個Mac系統,讓程式設計師程式設計效率提升30%
Mac 系統一向以提供高效的工作環境著稱,iOS、Android和服務端程式設計師都可以輕鬆的在Mac上搭建舒適的開發環境。 自己是一個五年的全棧工程師,前後端開發都有做,一般在macbook上工作,以下是這些年累積下來的一些提升工作效率的方式,和大家分享。 熟
十年開發工程師告訴你python是做什麽的,零基礎的必看哦!
-o pascal 解釋性語言 推薦 watermark 聊天 效率 django 附加 Python , 是一種面向對象的解釋型計算機程序設計語言,具有豐富和強大的庫,Python 已經成為繼JAVA,C 之後的的第三大語言。 特點:簡單易學、免費開源、高層語言、可移植性
Python開發工程師告訴你正確如何上手數據可視化,趕緊圍觀!
大學 幫助 刪除 ima eight 主題 封裝 將在 輸出 數據可視化1. 安裝 Matplotlib在Linux系統中安裝matplotlibUbuntu17.10內置Python2版本和Python3版本,可以采用下面的方式安裝Matplotlib。$ sudo ap
雲巨集WinCloud前端工程師告訴你什麼是UI扁平化
初見“UI扁平化”這個詞也許很多人會覺得陌生,但在今天UI扁平化其實一點也不神祕,因為UI扁平化在我們的生活中隨處可見。拿我們現在最常用的智慧手機為例,智慧手機的作業系統,手機裡的圖示,點選圖示開啟的應用,他們現在的UI風格大都是扁平化的。 扁平化設計已經成為UI設計中的主流設計方向,它跟以前所
阿里大資料工程師告訴你如何高效的學習大資料
雖然網上也有很多的學習路線,很多的方法建議,各類不同的工具,但是找到屬於自己的才是最好的。下面我就來詳細說下我的學習路線吧。 我還是要推薦下我自己建立的大資料資料分享群142973723,這是大資料學習交流的地方,不管你是小白還是大牛,小編都歡迎,不定期分享乾貨,包括我整理的一份適合零基
從業十餘年的阿里工程師告訴你,敏捷開發的核心是什麼?
【資料猿導讀】 工程師如何在控制性和創造性中找到平衡點?生產的嚴謹和創造的不嚴謹性怎麼解決?來自
月薪45K的Python爬蟲工程師告訴你爬蟲應該怎麼學,太詳細了!
想用Python做爬蟲,而你卻還不會Python的話,那麼這些入門基礎知識必不可少。很多小夥伴,特別是在學校的學生,接觸到爬蟲之後就感覺這個好厲害的樣子,我要學。但是卻完全不知道從何開始,很迷茫,學的也很雜,下面就跟著小編一起來看看想用python來做爬蟲到底需要學習哪些
開挖掘機月入多少?讓機巢網來告訴你
就是 朋友 我們 但是 選擇 都是 滿足 不知道 極限 學挖掘機哪家強,相信大家都應該知道這句口頭禪。挖掘機曾經非常火,很多人更是高考落榜後直接就去學挖掘機了,覺得這樣更掙錢,那時候幹一天的活就可以掙三百塊,心裏想著自己學成後月入上萬就滿足了。 ? 現在開挖掘機還能月入上萬
讓C/C++程式設計師告訴你什麼叫浪漫,表白黑科技
緣是美麗的邂逅,愛是心跳的感覺,情是心靈的交會,戀是甜蜜的思念,走在愛與被愛的邊緣,你見或者不見,愛你的心始終不改變! 在學習C/C++或者想要學習C/C++可以加我們的QQ學習交流群:623357784,大家一起學習交流 原始碼分享: 在學習C/C++
做為一名軟體工程師,你可以DIY自己的智慧硬體嗎?
timg.jpg我是小張哥,一個橫跨智慧產品,軟體,硬體開發的跨界老司機.部落格階段image.png今天我想講講我自己的故事,記得很多年前部落格興起的時候,自己就在CSDN上面開了部落格,分享,其實剛開始也就是對自己的工作做些記錄,想想日後可以做些沉澱,我是純軟體出身,當然
讓C/C++程式設計師告訴你什麼叫浪漫,表白黑科技,炫酷多彩求愛利器
前言緣是美麗的邂逅,愛是心跳的感覺,情是心靈的交會,戀是甜蜜的思念,走在愛與被愛的
前騰訊java工程師告訴你完整java應該怎麼學
眾所皆知,Java是當前最為流行的程式語言之一,學Java的人也開始越來越多了,很多人入門Java時總覺得晦澀難懂,這很正常,要是那麼容易學,Java程式設計行業工資怎麼會那麼高呢(偷笑偷笑),但初學者們也別怕,世上無難事,只怕有心人,Java就是一種計算機語言,只要熟記知識點、掌握了其中的邏輯,就能迅速上手
一線工程師告訴你嵌入式真實現狀與發展前景
個人說明:本人並不是年薪百萬的技術大牛,但總算是一名合格的嵌入式工程師,現在某企業擔任嵌入式軟體工程師開發一職,以下觀點可能會帶有片面或者分析不全,但卻是一名一線企業嵌入式軟體開發者真實感受和所得,希望能幫助那些有需要的人,我明白年輕人出來打拼都不容易。 為何要寫這片文章?
Google首席決策師告訴你資料科學究竟是什麼?
作者: Cassie Kozyrkov編譯: Mika本文為 CDA 資料分析師原創作品,轉載需授權 > 關於作者:Cassie Kozyrkov,Google首席決策師。致力於統計學, 機器學習 /人工智慧、資料、決策科學。 資料科學是讓資料變得有用的學科。在本文中我將對資料科學中的三個概念進
[譯文] Google的測試工程師是怎麼做測試的?
原文標題:What Test Engineers do at Google 釋出日期:美國時間2016-09-12 文章來源:Google Testing Blog 文章作者:Matt Lowrie, Manjusha Parvathan
PHP項目做完後想上線怎麽辦,告訴你免費上線方法!
上傳 edi 理解 多項目 更改 目前 告訴 找工作 src PHP項目做完後想上線怎麽辦,告訴你免費上線方法! PHP程序員找工作的底氣是什麽?是項目! PHP程序員沖擊高薪的信心源自哪裏?是項目! PHP程序員掌握理解PHP知識
讓我來告訴你零下40度到底有多冷!
blank round -c span ont ans 12px color style http://neihanshequ.com/p76700993002/讓我來告訴你零下40度到底有多冷!
IT界的新方向-大數據?讓我來告訴你如何從“零”學起!
大數據學習+Java大數據行業目前炒的很是火爆,但是大數據的發展依然並不是很成熟,尤其是對於一些小白。了解系統的學習大數據的方法將更有利於自己更加快速有效的去學習大數據。分享一下零基礎如何學習大數據。 第一、對於初學者尤其是編程小白,Linux、Java的學習是必須的。但這並不代表我們非要研究透這些,我們只要
微辰金服告訴你:想做JAVA技術開發需學習哪些?
圖片 數據庫技術 TE 互聯網架構 不可 異常處理 需要 img 使用 微辰金服告訴你:JAVA技術開發從這7點學起: 1.夯實java基礎:當前java新技術層出不窮,各企業有不同的側重,根據企業用人需求,只有具備堅實的java基礎功底的程序員才能快速掌握新技術。核心算