[東京直擊]為何Google要推開源機器學習系統TensorFlow?

Google宣佈將其最新的機器學習技術TensorFlow以開放源碼專案釋出。Google 以 Apache 2.0 授權模式開放以 Python 或 C++ 為主要服務語言的 TensorFlow 專案,並將這個專案的程式碼與相關工具放在 Github 上。

TensorFlow 是 Google 繼 2011 年開發了 DistBelief 之後,透過使用資料流 (flow) 圖像,來進行數值演算的新一代開源機器學習工具。這個機器學習工具的基礎設計,主要透過圖學裡的「節點」來表達數學運算,「邊」 來表示「節點」間的多維度資料陣列 (tensors,張量),因此命名做 TensorFlow。TensorFlow 主要由 Google 機器智慧研究室與 Google 大腦研究組 (Google Brain Team ) 的學者與工程師所開發,容許開發者自由配置運算環境來做深度神經網絡研究,但也足以支持普通環境所需要的服務(例如透過影片進行圖像辨識);你可以部署 TensorFlow 在使用一個或多個 CPU 或 GPU的桌機或伺服器上,也可以透過一個 API 部署在行動裝置裡。

Gmail的垃圾郵件判讀、Google相簿臉部識別、Google翻譯,我們天天都在使用 Google的機器學習系統,現在Google將TensorFlow以開放源碼專案釋出了。相比IBM,微軟與百度等競爭對手的封閉路線,再次打出開源牌的Google是否又會成為機器學習領域的霸主呢?Goolge為什麼要推開源機器學習系統?

沒資料,光有技術,機器學習就只是空談

「如果將機器學習比喻成一架火箭,那大量的『數據』就是驅動它的能源,並且需要各種創意、多方思考設立出來的模型和運算能力來支持整個學習過程,而且電腦不比人腦,人腦只需要有限的例子和經驗就能夠成功學習。電腦則是需要『非常多樣本和案例』來建立認知。」Google人工智慧、運算神經科學及可量化機器學習研究員科拉多(Greg Corrado)強調。

Google人工智慧、計算神經科學及可量化機器學習研究員指科拉多

(圖說:Google人工智慧、計算神經科學及可量化機器學習研究員科拉多。圖片來源:Google。)

言下之意,只靠Google自己發展機器學習技術勢必會遇到一些難題,資料量不夠多元。「電腦的學習過程是相當緩慢,曠日費時,深度學習需要投入大量的人力與資源進行相關研究」科拉多說。在這樣的情況下,Google透過開放機器學習讓開源社群幫Goolge收集、整理各式各樣大量可用來訓練類神經網絡的『資料』。

「沒資料,光有技術,機器學習就只是空談。就像火箭要有燃料,要不然只有推進器,火箭也飛不起來!」台北大學資訊工程學系教授戴志華進一步解釋,一但開放機器學習系統,用的人越多,資料越多元,越多量多變,Google 機器學習系統更聰明,能提供的服務就越好,可以提供更多種服務,形成一個正向循環。

戴志華舉例, Google 想要讓機器學習認 a~z 26個小寫字母,但每個人的字跡不同,Google若自己要 準備各種不同筆跡字母太曠日費時,但若全世界有20%的人,一人給 Google 一份自己寫的a-z字母,有了這些大量,又多形變的資料,Google 機器認字母的能力也就越強。因此 Google 利用「開放」模式解決以上的難題。

也許你要問, Google 不是手握大量使用者數據了嗎?為什麼這些數據量還不夠呢?

Google過去收集的資料不適合用來做機器學習

「Google過去收集的資料都不適合用來做機器學習,因為那些資料並沒有被賦予足夠具體的意義。」戴志華指出。

舉例來說,Google手邊有很多「1」、「one」與「一」等資料,但機器並不懂得什麼意思。機器不知道「1 」... 是 1 不是 2 、「one」是 1 不是 2 、「一」是 1 不是 2 。「機器學習就跟教小孩很類似,你要他叫爸爸,你就得先告訴他誰是爸爸。」戴志華舉例。

因為類神經網絡是模擬人的大腦,訓練類神經網絡,就跟教育嬰幼兒一樣。資料要大量、多變化,資料的品質也重要,就是要大量且要含括足夠的變化,所以需要整個社群提供資料並且賦予這些資料正確具體的意義。因此,透過開源 TensorFlow 這個工具, Google 得以號召整個開發社群透過利用該工具提供相關服務時,幫 Google 完成收集真實世界資料的任務。

那對開發者或研究員來說,Google的開源機器學習系統吸引點在哪裡呢?

利用開源精神先把餅做大

Google 雖然發展機器學習10年,但還有許多領域未探索。因此需要這個社群共享力量,加速機器學習進展。「利用機系學習系統獲利並非 Google 現行目標,現在最重要的是社群的建立,透過開源社群的快速分享,建立共同標準。這對機器學習的發展非常重要。」科拉多說。

相較競爭對手微軟、IBM 與百度,機器學習技術需要付費,Google 的免費對於開發者的吸引力巨大。

利用開源社群資料,壯大Google自身系統

「讓全球聰明人,給 Google 很好的回饋與貢獻,甚至連競爭對手的團隊都會用它, Google 不走常人之路。」 Alphabet 集團執行董事長施密特(Eric Schmidt)強調。

Google 目前透過兩方面應用機器學習技術強化現有的產品服務(如:Google 搜尋裡的排名建議)與提供更先進更新穎的產品服務。如語音文字與圖像辨識。科拉多指出「Google 的語音搜尋就是透過機器學習讓正確度不斷提升。」

「這對 Google 的 Mobile Only 政策具有重大的影響,在行動的世界,不需要手,我們使用語言溝通,電腦直接辨識圖像。」科拉多說。不過對於外界非常關切的 Google 自動駕駛車的機器學習成果,科拉多語帶保留,並不多談,是個敏感議題。

以下整理出目前已經使用機器學習的 Google 相關服務:

  1. 目前 Gmail 已經可以自動判斷約 99%的垃圾郵件。
  2. Gmail 的 Smart Reply 功能,自動偵測對方寄來的郵件內容,並建立簡單的回覆(像是:對不起,我沒有空參加這個活動)。
  3. Google 相簿已經可以讓使用者透過標籤搜尋找到相關的照片 (例如輸入關鍵字「海」,也許就會出現前幾天在海邊拍的海景照)。
  4. 結合拍照功能即刻看到結果的 Google 翻譯。
  5. Google 語音辨識功能的錯誤量已經減少逾 20%。

延伸學習:
1.圖解機器學習
2.百度首席科學家吳恩達:不只「機器學習」,更要「模擬人類大腦」。
3.微軟Adam挑戰Google Brain:我的機器學習比你快

追蹤我們