過去一年,關於人工智慧的事件、發現和發展比比皆是。很難從這些嘈雜的環境裡分辨出關於 AI 的真實訊號,即便可以,很多人也不知道那些訊號表達的是什麼資訊。因此,我將盡力提煉過去一年裡人工智慧大環境中的一些模式來讓你明確這一點。甚至,我們會在不久的將來見證其中的一些趨勢。
孔子曾說:「知其不可而為之。」他真是個智者啊。
你從圖中發現貓了嗎?
別誤會,本文只是一片評論類文章。我不會全面記錄 AI 2018 年的成就,只是概括其中一些趨勢。而且我的描述是圍繞美國展開的,因為我不太瞭解其他國家發生的事,比如中國。本文的目標讀者包括工程師、企業家以及技術支持者。
演算法
演算法篇主要由深度神經網路主導。當然,你也會零零落落地聽到有人部署了「經典的」機器學習模型(如梯度提升樹或者多臂老虎機),並且聲稱這是每個人唯一需要的東西。也有一些質疑說深度學習正在做瀕死掙扎。甚至還有頂尖的研究者也在質疑一些深度神經網路架構的有效性和魯棒性。但是,無論你喜不喜歡,深度神經網路無處不在:在自動駕駛中,自然語言處理系統中,機器人中——你可以這麼說。深度神經網路中沒有能夠與自然語言處理、生成對抗網路以及深度強化學習匹敵的進展。
深度 NLP:BERT 等
雖然在 2018 年之前就有一些突破性研究將深度神經網路用於文字(如 word2vec,GLOVE 和基於LSTM 的模型),但它們忽略了一個關鍵的概念:遷移學習。即在大規模的公開資料集上訓練好一個模型,然後在你正在使用的資料集上對其進行「微調」。在計算機視覺中,用著名的 ImageNet 資料集上發現的模式來解決特定問題通常是解決方案的一部分。
問題在於,用於遷移學習的技術並不真正適用於自然語言處理問題。從某種意義上講,像 word2vec 這樣預訓練的嵌入就起了這個作用,但是它們只在單個詞彙上起作用,並不能捕獲到語言的高階結構。
然而,在 2018 年,情況有所改變。語境化嵌入 ELMo 成為了自然語言處理中改進遷移學習的重要第一步。ULMFiT 則更進一步:不滿意嵌入的語義捕獲能力,它的作者提出了為整個模型進行遷移學習的方法。
但是最有趣的進展肯定是 BERT 的引入。通過讓語言模型從英文維基百科的所有文章集合中學習,BERT 團隊在 11 項自然語言處理任務中達到了當前最先進的結果——了不起!而且,BERT 的程式碼和預訓練模型都發布在網上了——所以你可以將這項突破用於自己的問題中。
GAN 的很多方面
CPU 的速度不再呈指數增長了,但是關於生成對抗網路的學術論文卻在持續增加。生成對抗網路一直是學術界的寵兒。儘管它的實際應用似乎很少,並且在 2018 年也鮮有變化。但是生成對抗網路還是有著待實現的驚人潛力。
出現了一種新的方法,就是逐步增加生成對抗網路:讓生成器在整個訓練過程中持續增加輸出的解析度。使用該方法的一篇更加令人印象深刻的論文是使用風格遷移技術來生成逼真的照片。請告訴我,下面的這些照片有多逼真?
這些照片中哪張是真人?答案是一張都沒有。
GAN 是如何工作的呢?為何 GAN 會起作用?我們目前還沒有深入的瞭解,但是已經有人邁出了重要的步伐:MIT 的一個團隊對這個問題做了高質量的研究。
另一個有趣的進展就是 Adversarial Patch。雖然技術上來說它不是 GAN,但它使用黑盒(基本來說,就是不看神經網路的內部狀態)和白盒的方法來製作一個「補丁」,這個補丁能夠欺騙基於卷積神經網路的分類器。這是一個重要的結果:它能讓我們更好地理解深度神經網路的工作原理,以及認識到我們距離實現具有人類感知級別的 AI 還有多遠。
你很容易分清楚烤麵包機和香蕉,但人工智慧還不行。
我們需要強化
自從 AlphaGo 在 2016 年戰勝李世石之後,強化學習就成了一個熱點。人工智慧已經主宰了最後的「經典」遊戲,還有什麼可讓它來征服呢?也許,剩下的其它所有遊戲!
在訓練的時候,強化學習依靠的是「激勵」訊號,這是對它上一次嘗試動作的打分。與現實生活相反,計算機遊戲提供了一個自然的環境,其中這種訊號很容易獲得。因此強化學習研究者把所有的注意力都給了教人工智慧如何玩雅達利遊戲上。
談到 DeepMind,他們的新創造 AlphaStar 又製造了一個大新聞。這個新模型擊敗了一名星際爭霸 II 的頂級玩家。星際爭霸比圍棋和象棋複雜得多,與絕大多數棋類遊戲不同,它有巨大的動作空間和隱藏在玩家身上的重要資訊。這場勝利對整個領域而言都是一次巨大的飛躍。
強化學習領域的另一個重量級玩家 OpenAI也沒閒著。他們的系統 OpenAI Five 在 8 月擊敗了一個領先 99.95% 玩家的 Dota 2 團隊,一戰成名,要知道 Dota 2 是一款非常複雜的電子遊戲。
雖然 OpenAI 花了這麼多注意力在電子遊戲上,但他們並沒忽略強化學習的一個潛在的實際應用:機器人。在現實世界中,人給予機器人的反饋非常稀少,並且創造這種反饋也很昂貴:你需要人來照看你的 R2D2,不過 OpenAI 也在嘗試著邁出第一步。你會需要上百萬的資料點。為了彌補這種差距,最新的一種趨勢是在把機器人放到真實世界之前,先學習模擬一個環境然後並行執行大量場景來教機器人學習一些基本技巧。OpenAI 和谷歌都在使用這種方法。
重大突破:Deepfakes
Deepfakes 是一些圖片或者視訊,上面顯示某公眾人物說一些從未說過的話或者做一些從未做過的事。它們是通過在大量的鏡頭資料上針對某個目標人物訓練一個 GAN 來建立的,然後使用期望的動作來生成新的媒體檔案。2018 年 1 月釋出的一款桌面應用 FakeApp 允許任何一個不具備電腦科學知識的人只需要一臺電腦就可以建立 deepfakes。儘管很容易發現它生成的視訊是假的,但這項技術已經走得很遠了。
基礎框架
TensorFlow vs Pytorch
我們已經有很多深度學習框架了。這個領域很廣闊,這種多樣性在表面看來也是說得通的。但實際上,最近大多數人不是使用 TensorFlow 就是在使用 Pytorch。如果你和 SRE 工程師(網站可靠性工程師)一樣,關心的是可靠性、易於部署以及模型的過載,那你很有可能會選擇 TensorFlow。如果你在寫研究論文,並且沒有在 Google 工作——你很有可能使用 PyTorch。
機器學習:一種隨處可見的服務
過去一年裡,我們見證了更多的人工智慧解決方案被打包成 API,供沒有史丹佛大學機器學習博士學位的軟體工程師使用。Google Cloud 和 Azure 都已經改進了舊服務並新增了新服務。AWS 機器學習服務列表也開始看起來有點嚇人了。
AWS 很快就需要 2 級層次結構來展示它們的服務了。
儘管這種狂熱已經冷卻了一點點,但是多家初創公司已經開始放手一搏了。大家都在承諾模型訓練的速度、呼叫過程的易用性以及驚人的效能。僅需要輸入你的信用卡賬號,上傳你的資料,給模型一些訓練或者微調的時間,呼叫一下 REST(或者,對於更具前瞻性的初創公司而言是 GraphQL 型別)API,你就可以在不用弄清楚到底發生了什麼的情況下成為人工智慧的主人。
既然已經有這麼多的選擇,為啥還會有人煞費苦心地自己去建立一個模型和基礎框架呢?事實上,貌似拿來即用的 MLaaS 產品在 80% 的情況中是可以很好地工作的。而剩下 20% 的情況則沒那麼好運了:你非但無法實際選擇模型,甚至連超引數都不能控制。或者你需要在雲端之外進行推理,通常也是做不到的。
重大突破:AutoML 和 AI Hub
2018 年推出的兩款非常有趣的服務都是由 Google 釋出的。
第一個,Google Cloud 的 AutOML 是一個定製的自然語言處理和計算機視覺模型訓練產品的集合。這意味著什麼呢?AutoML 的設計者通過自動微調幾個預訓練模型就能進行模型定製化,然後選擇一個效能最好的。這意味著你不再需要因為自己定製模型而煩惱。當然,如果你想做一些真的新穎和與眾不同的事情,他們的服務並不適合你。但是,作為一個附帶的好處,Google 在大量的專有資料上預訓練了他們的模型。想一下那些貓的圖片;那些肯定要比僅僅使用 ImageNet 的泛化效能更好。
第二個是 AI Hub 和 TensorFlow Hub。在這兩個之前,重用別人的模型真的是很繁瑣的事情。GitHub 上隨機找到的程式碼很少有能用的,沒有很好的文件,通常不好處理。還有為了遷移學習而預訓練的權重....... 可能你根本不想做這些。這正是開發 TF Hub 所要解決的問題:它是一個可靠的、精選的倉庫,包含了你可以在進行微調或基於它們進行構建的模型。僅需要包含幾行程式碼和 TF Hub 客戶端,你就可以從 Google 伺服器上獲取程式碼和對應的權重。AI Hub 則更進一步:它允許你分享整個機器學習流程,而不僅僅是模型!儘管它還是一個預覽版本,但是早已比某個最新檔案是「三年前修改的」隨機倉庫好多了。
硬體
Nvidia 英偉達
如果 2018 年你認真學了機器學習,尤其是深度神經網路,那麼你可能會使用一個或多個 GPU。相對來說,GPU 的領先生產商則度過了忙碌的一年。隨著數字加密狂潮的冷卻和緊接其後的股市暴跌,英偉達釋出了基於圖靈架構的全新一代消費級顯示卡。與釋出於 2017 年的基於 Volta 晶片的顯示卡相比,新卡包含被稱之為張量核心(Tensor Cores)的新高速矩陣乘法硬體。矩陣乘法是深度神經網路運算的核心,所以加速這些運算能夠很大程度地加速神經網路在新一代 GPU 上的訓練。
英偉達為那些不滿於「小」而「慢」的遊戲級顯示卡的使用者升級了他們的企業級「超級計算機」。DGX-2 是一個擁有 16 塊 Tesla V 卡的魔法盒,它支援 FP16 的 480 TFLOPs 運算。當然價格也升級了,真的是令人印象深刻,40 萬美元。
自動硬體也進行了升級。Jetson AGX Xavier 是一款英偉達希望能夠推動下一代自動駕駛技術的板級模組。具有 8 個核心的 CPU、視覺加速器、深度學習加速器——所有這一切都是日益增長的自動駕駛行業所需要的。
在一次有趣的發展中,英偉達釋出了為他們的遊戲卡設計的基於深度神經網路的功能:深度學習超取樣(Deep Learning Super Sampling)。這個思想是為了代替抗鋸齒的影象保真功能,這一功能一般是通過將一張圖片渲染到比真正需要的解析度(比如 4k)還要高的解析度,然後再縮放到本機顯示器的解析度來完成的。現在英偉達允許開發者在釋出遊戲之前以極高的質量在執行的遊戲上訓練影象轉換模型。然後,將遊戲與預訓練的模型一起傳送給終端使用者。在一次遊戲會話中,並不存在舊式的抗鋸齒消耗,影象幀執行在那個模型中來提高畫質。
英特爾
英特爾確實不是 2018 年人工智慧硬體世界的先驅。但是它似乎想改變這一點。
令人驚訝的是,英特爾的絕大多數活動發生在軟體領域內。英特爾在努力使他們現有的以及即將問世的硬體變得對開發者更加友好。基於這個精神,他們釋出了一對(令人驚訝而有競爭力的)工具包:OpenVINO 和 nGraph。
他們升級了神經計算棒:這是一個小型 USB 裝置,它可以用一個 USB 埠加速執行在任何裝置上的深度神經網路,甚至是在樹莓派上。
關於英特爾獨立 GPU 的傳言越來越多。雖然八卦愈演愈烈,但是新裝置在深度神經網路訓練上的可用性還有待觀察。而傳聞中的專用深度學習卡是確定可用的,代號分別是 Spring Hill 和 Spring Crest,後者是基於 Nervana 的技術開發的,這是英特爾早在幾年前收購的一家初創公司。
尋常和不尋常的定製硬體
Google 釋出了第三代 TPU:基於 ASIC 的深度神經網路專用加速器,具有 128Gb 的超大儲存空間。256 塊這種裝置被組裝到一個 pod 容器中,最終達到了超過 100 petaflops 的效能。這一年,Google 不僅將這些裝置的力量大秀於世界,它還讓 TPU 在 Google Cloud 上普遍公開。
Amazon 以一種類似但不是直接面向最終應用的動作部署了 AWS Inferentia(亞馬遜推理晶片):這是一個在生產中更低廉、更有效的執行模型的方式。
Google 還發布了 Edge TPU:它是我們上面討論過的大卡的小兄弟。這款晶片體積很小:一個 1 美分硬幣的表面可以放 10 張 Edge TPU。同時,可以用它進行實時的視訊分析,幾乎不耗能量。
一個有趣的潛在新入者是 Graphcore。這家英國公司完成了 3.1 億美元的融資,並且在 2018 年釋出了他們的第一款產品——GC2 晶片。基準測試顯示,GC2 在顯著的更低功耗下擊敗了英偉達的伺服器 GPU。
重大突破:AWS Deep Racer
Amazon 釋出了一款小型無人駕駛汽車 DeepRacer 及其聯盟,雖然始料未及,但是也從某種程度上反映了他們之前的 DeepLens。400 美元就可以配備 Atom 處理器,4MP 的相機,WiFi,幾個 USB 藉口,以及足以執行數小時的電源。自動駕駛模型可以在雲端使用 3D 模擬環境進行訓練,然後直接部署到車內。如果你一直夢想著構建自己的自動駕駛車汽車,這就是一次機會,你不用啟動一個有風投支援的公司就能做這件事。
接下來是什麼?
將注意力轉移到決策智慧上
演算法、基礎框架、硬體相關的部分已經涉及到了——為了讓 AI 比以往任何時候更有用,業界開始意識到,讓 AI 開始應用的最大阻礙在實用方面:你如何在生產中將 AI 從一個想法變成有效、安全、可靠的系統?應用 AI,或者應用機器學習,也被稱作決策智慧,它是在現實世界中創造 AI 解決方案的科學。儘管過去人們已經將很多注意力放在演算法背後的科學上面,但是未來很可能會將同等的注意力放在領域內的端到端應用方面。
相比被它毀掉的工作崗位,AI 似乎在創造更多的工作
「AI 將會替代我們所有的工作」,這是媒體老生常談的論調,也是廣大白領和藍領共同的擔憂。並且,從表面來看,這似乎是有道理的。但是到目前為止,它的反面似乎才是事實。例如,很多人都在通過建立標記資料集而獲得報酬。
它超越了低收入國家的普通資料承包商:一些 app,例如 LevelApp,它可以讓難民在自己的手機上標記資料來掙錢。Harmoni 則更進一步,他們甚至提供了裝置來讓難民營的移民工作以謀生計。
在資料標記的頂層,整個行業都是通過新的 AI 技術來建立的。我們可以做那些數年之前都想不到的事情,就像自動駕駛或者醫藥發現一樣。
與機器學習更加相關的計算將發生在邊緣
資料導向的系統,其工作方式是,更多的資料通常是在系統中非常邊緣的地方,在輸入側。流程中靠後的階段通常都在做下采樣或者以其它方式來減少訊號的保真度。另一方面,越來越複雜的 AI 模型正在藉助更多的資料獲得更好的效能。讓 AI 元件更靠近資料的邊緣是不是很有意義?
一個簡單的例子:想象一下能夠產生 30fps 的高質量視訊的高解析度相機。處理這些視訊的計算機視覺模型執行在伺服器上。相機將視訊流式傳輸到伺服器,但是上行鏈路的頻寬是有限的,所以視訊被做了高度壓縮。為什麼不將視覺模型放在相機上,讓它來處理原始視訊呢?
做這件事總是面臨著多個障礙,主要是:邊緣裝置上可用的計算力和管理的複雜性(例如在邊緣更新模型)。專用硬體(例如 Google 的 Edge TPU,蘋果的 Neural Engine 等等)、更高效的模型和優化演算法的出現讓計算力的限制不再是問題。管理的複雜性也在通過機器學習框架和工具在不斷地解決。
整合 AI 基礎框架的空間
前幾年滿是與 AI 基礎設施相關的活動:盛大的宣言、豐厚的資金回合以及高尚的承諾。在 2018 年,這個空間的競賽冷卻下來了,儘管仍然有新入場的,但是絕大多數貢獻都是由現有的大玩家做出的。
其中一個可能的解釋或許就是:我們對理想的人工智慧系統是什麼樣子還不夠理解。因為問題是複雜的,所以這將會需要長期、持久、專注、資源充足的努力來產生可行的解決方案——這是初創公司和小公司不擅長的事情。如果一家初創公司出其不意地「解決」了 AI 基礎設施的問題,這將會是極其驚人的事情。
另一方面,機器學習基礎框架工程師是特別稀缺的。一個擁有幾個這種員工的苦苦掙扎的初創公司會成為更大玩家的珍貴收購目標。至少有幾個玩家在參與這場競賽,開發內部和外部的工具。例如,對 AWS 和 Google Cloud 而言,AI 基礎設施服務成為了一個主要的賣點。
將它們放在一起,做一個主要的整合成為了一個合理的預測。
更加定製化的硬體
摩爾定律已經失效了,至少對 CPU 是失效了,而且已經很多年了。GPU 很快也會面臨相似的命運。儘管我們的模型變得越來越有效,但是為了解決某些更加高階的問題,我們將會需要有更多的計算力。這個可以通過分散式訓練來解決,但是它也會有自己的侷限性和權衡。
此外,如果你想在資源有限的裝置上執行更大的模型,分散式訓練是沒有幫助的。進入到定製化 AI 加速器時代,根據你想要的或者能夠達到的定製化需求,你可以節省一個數量級的功率、成本或者延遲。
從某種程度來說,英偉達的 Tensor Core 就是這種趨勢的一個例子。以後我們會看到更多這種硬體,而不是通用硬體。
對訓練資料更少的依賴
有標籤的資料通常都是既昂貴又不可訪問的。這條規則下很少有例外。像 MNIST、ImageNet、COCO、Netflix prize 和 IMDB reviews 這種開放的高質量資料集並不多見。但是很多問題都沒有對應的資料集可供使用。儘管對於研究人員而言,構建資料集並不是偉大的職業發展方向,但是那些可以贊助或者釋出資料集的大公司卻並不著急:他們正在構建龐大的資料集,但卻讓這一切都不露聲色。
所以,像初創公司或者大學的研究團隊一樣比較小的獨立個體如何來解決這種難題呢?開發越來越少依賴監督訊號和越來越多依賴無標籤和非結構化資料的系統——這得益於網際網路和廉價感測器的普及。
這從某種程度上解釋了人們對 GAN、遷移學習和強化學習興趣的增長:所有的這些技術都是不需要或者需要較少的訓練資料投資。
所以這一切全都是泡沫嗎?
所以那個黑屋裡有沒有貓呢?我認為肯定是有的,而且不是一隻,而是很多隻。雖然有一些是正常的貓,具有四條腿、尾巴和鬍鬚,而但有些則是奇怪的動物,我們才開始看到它們的基本輪廓而已。
這個行業已經進入了第七個人工智慧的「夏天」。這些年來,很多的研究精力、學術資助、風險投資、媒體關注、程式碼都湧入這個領域。但是人們有理由指出,大部分人工智慧的承諾仍然沒有實現。他們上一次的 Uber 乘車背後仍然有一個人類駕駛員。仍然沒有機器人在早上幫助我們做雞蛋。我甚至不得不自己繫鞋帶,暴風哭泣!
然而,不計其數的研究生和軟體工程師的努力並非徒勞。似乎每家大公司都已經嚴重依賴於人工智慧,或者有未來的相關計劃。AI 藝術品也開始出售。雖然自動駕駛汽車尚未出現在這裡,但他們很快就會出現。
原文連結:https://medium.com/thelaunchpad/what-is-the-next-big-thing-in-ai-and-ml-904a3f3345ef