人工智慧聖盃雖然遙遠,但這並不妨礙機器學習繼續在2016年高歌猛進,其中,深度學習仍是最亮眼的明星。機器學習的重大進展離不開三個核心內容:演算法(或軟體)、硬體和資料。本文僅從演算法(或軟體)、硬體角度梳理2016年機器學習領域(主要是深度學習)主要進展。考慮到技術進步離不開研究社群的協力與開放,本文第三部分也對2016年研究社群重大事件進行了梳理。
一、演算法(或軟體)
能夠自主學習的機器、人與機器的自然交流一直是我們追求的人工智慧聖盃。2016年,GANs 以及深度強化學習取得的進展讓人類距離自主學習機器又近了一步。NLP 領域裡的一些重大進展,比如機器翻譯,也使得人與機器的交流更加順暢。
1、生成模型
生成對抗網路(GANs)讓我們距離無監督學習聖盃又近了一步。有學者指出2016年是深度學習的分水嶺,這要歸功於生成模型的突破性研究。
生成式對抗網路早在2014年由 Ian Goodfellow 提出。2016年,GAN 開始顯示出真正潛力,進展非常迅速,相繼出現了條件生成對抗網路(Conditional Generative Adversarial Nets)和資訊生成對抗網路(InfoGAN),深度卷積生成對抗網路(Deep Convolutional Generative Adversarial Network, DCGAN)等,更加最佳化的 GAN 模型已經解決了之前限制深度學習發展的一些難題。
InfoGAN 模型由 OpenAI 研究員在 8 月提出。InfoGAN 能夠以無監督的方式生成包含資料集相關資訊的表徵。例如,當被應用於 MNIST 資料集的時候,它能夠在不需要人工標記資料的情況下推斷出數字的型別(1、2、3……)、生成的樣本的轉動(rotation)與寬度(width)。
GAN 的另一種延展是被稱為 Conditional GAN 的模型。這些模型能夠生成考慮了外部資訊(類標籤、文字、其它影像)的樣本,並使用它來迫使 G 生成特定型別的輸出。
DCGAN ,該網路從一個高斯分佈中選取 100 個隨機數作為輸入(將這些輸入成為程式碼,或隱變數,用紅色表示),然後輸出一張影像(在這種情況下是右側的 64x64x3 的影像,用綠色表示)。隨著程式碼的逐步改變,生成的影像也在改變——這說明該模型已經學會了用來描述世界的模樣的特徵,而不僅僅是記得某些樣本。
StackGAN。模型本質就是 Conditional GAN,只不過它使用了兩層 Conditional GAN 模型,第一層模型 P(X1|z, c) 利用輸入的文字資訊 c 生成一個較低解析度的圖片。之後第二層模型 P(X|c,,X1) 基於第一層生成的圖片以及文字資訊生成更加最佳化的圖片。文中給出的實驗效果非常的驚人,可以生成 256x256 的非常真實的圖片。
PPGN。GAN 不光自身有變種和最佳化,也能被其它演算法融合吸收,發揮強大效果。2016 NIPS 會前幾天釋出的 Plug & Play Generative Networks(PPGN,即插即用生成網路)的最新進展((Nguyen et al, 2016) 就是生成模型領域 State-of-the-art 論文。 PPGN是融合了包括 GAN 在內的很多演算法和技巧的新演算法,整合了對抗訓練、CNN 特徵匹配、降噪自編碼、Langevin取樣等,它從 ImageNet 中生成了 227x227 的真實圖片,是目前在這個資料集上跑得最驚人的一套演算法。PPGN 生成的影像同類差異化大,可根據指定生成不同類別的影像、多類化,生成的影像清楚解析度高。
WaveNet。2016年9月,谷歌 DeepMind 釋出部落格介紹他們在文字轉語音系統上取得的重大進展。DeepMind 表示,他們最新的深度生成模型 WaveNet 將機器語音合成的表現與人類之間水平的差距至少縮減了 50%,也是目前文字到語音環節最好的深度生成模型。
計算機發出聲音,最常用的 TTS 方法可能是拼接式語音合成(Concatenative Synthesis),這種機械式方法使得計算機輸出音訊經常產生語音毛刺、語調的詭異變化、甚至結巴,無法調整語音的強調性音節或情緒。另外一種方法是引數化方法,利用數學模型對已知的聲音進行排列、組裝成詞語或句子來重新創造音訊,能讓機器輸出的音訊聽起來不那麼機器化。這兩種技術的共同點是簡單、機械地將語音片段拼接起來,而不是從零開始創造出整個音訊波形。
WaveNet 正是一種從零開始創造整個音訊波形輸出的技術。WaveNet 利用真實的人類聲音剪輯和相應的語言、語音特徵來訓練其卷積神經網路(convolutional neural networks),讓其能夠辨別這兩方面(語言和語音)的音訊模式。使用中,對WaveNet 系統輸入新的文字資訊,也即相對應的新的語音特徵,WaveNet 系統會重新生成整個原始音訊波形來描述這個新的文字資訊。
2016年,DeepMind 還發表了強大的影像生成模型 PixelRNN (PixelRNN 利用 RNN 建模影像畫素關係,突破傳統)、PixelCNN 以及影片生成模型 VPN (Video Pixel Network) 。
2、深度強化學習
強化學習和使用深度神經網路的深度學習可以很漂亮地互相補充,強化學習與深度學習結合的方法出現強勁勢頭。
AlphaGo。2013年以來,DeepMind 團隊相繼在 NIPS 和 Nature上發表了用深度強化學習翫 Atari 遊戲的論文。2016年1月,DeepMind AlphaGo 在圍棋大戰中擊敗歐洲冠軍。一個多月後,AlphaGo 再次震驚世界:4比1擊敗了世界頂級圍棋選手李世石。
AlphaGo 使用深度卷積網路,將棋盤當做一張 19×19 的輸入「影像」(每個位置一個畫素)進行處理。網路把當前局面作為輸入,預測/取樣下一步的走棋,儘量讓機器落子向量接近人類高手的落子結果。但是,只用策略網路(policy network)不行,因為策略網路沒有價值判斷功能,加了搜尋之後,計算機才有價值判斷的能力,因此,AlphaGo 綜合了深度神經網路和 MCTS 。AlphaGo 利用強化學習進行訓練,透過與自己對抗,逐步改善策略來挑選行動(策略網路),以評估誰將獲勝(價值網路,另一深度卷積網路)。價值網路的作用是減少搜尋的深度,所以,AlphaGO 搜尋深度並不是特別深,它並不是一下子搜尋出直達比賽末尾的300多步,而是搜尋更少的步數,比如20多步,並評估這些位置,而不是一路評估到底,看誰最終能贏。
AlphaGo 在蒙特卡洛樹搜尋框架下,利用深度學習和強化學習進行訓練和評估,實現巨大突破。在遊戲上取得了不錯的成果後,深度強化學習也逐漸被引入NLP領域,比如較為熱點的研究方向基於強化學習的文字生成技術(NLG)。另外,加州大學伯克利分校副教授 Pieter Abbeel 正在研究將深度強化學習應用到機器人上,比如 BRETT 在學習提升自己在家務勞動中的表現。
VIN。2016年 NIPS 最佳論文是一篇強化學習論文 Value iteration Network。這篇論文介紹了一個能學習設計策略,而不是完全被動遵循策略的神經網路。同時,這種新的強化學習觀並不是基於模型的(model-free)。VIN 的目的主要是解決深度強化學習泛化能力較弱的問題。傳統的深度強化學習(比如 deep Q-learning)目標一般是採用神經網路學習一個從狀態(state)到決策(action)的直接對映。神經網路往往會記憶一些訓練集中出現的場景。所以,即使模型在訓練時表現很好,一旦我們換了一個與之前訓練時完全不同的場景,傳統深度強化學習方法就會表現的比較差。
作者提出,不光需要利用神經網路學習一個從狀態到決策的直接對映,還要讓網路學會如何在當前環境下做長遠的規劃(learn to plan),並利用長遠的規劃輔助神經網路做出更好的決策。
在文章中,我們提出了一種特殊的網路結構(value iteration module),這種結構和經典的規劃演算法 value iteration 有著相同的數學表達形式。利用這種數學性質,VIN 將傳統的規劃演算法(planning algorithm)嵌入了神經網路,使得網路具有長期規劃的能力。
VIN 中所使用的特殊結構 value iteration module,在很多問題上都可以直接加入現有的強化學習框架,並用來改進很多現有模型的泛化能力。
3、NLP 方面的重要進展
實現人機流暢的交流需要解決一些問題,比如文字理解,問題回答以及機器翻譯等。
(1)機器翻譯
GNMT。2016年 9 月底,谷歌在 arXiv.org 上發表了論文Google`s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation,介紹了谷歌的神經機器翻譯系統(GNMT),該系統實現了機器翻譯領域的重大突破。11 月,谷歌再發論文宣佈了其在多語言機器翻譯上的突破:實現了 zero-shot 翻譯。
傳統統計機器翻譯(Statistical Machine Translation, SMT)技術,SMT 方法的最大特點是基於資料驅動的機器學習方法,只要提供足夠數量的雙語句對,在很短時間內可以自動構建一套統計機器翻譯系統,翻譯效能超過基於規則的方法。2013年提出了神經機器翻譯(Neural Machine Translation, NMT)技術。其思路與傳統 SMT 方法完全不同,它採用神經網路直接實現兩個句子之間的自動翻譯,完全沒有規則方法和 SMT 方法的從小片段組裝成大片段翻譯的過程。2014年,Cho 和 Sutskever 提出了 Encoder-Decoder 架構的神經網路機器翻譯系統。2015年,Yoshua Bengio 團隊進一步加入了Attention 的概念。Bengio 團隊的這個工作也奠定了後續很多NMT商業系統的基礎,也包括 Google 這次釋出的GNMT。GNMT 基本框架仍然是帶 Attention 模組的 Encoder-Decoder。
儘管有這些進步,但 NMT 的速度和準確度還沒能達到成為 Google Translate 這樣的生產系統的要求。谷歌新論文描述了我們怎樣克服了讓 NMT 在非常大型的資料集上工作的許多挑戰,以及谷歌如何打造了一個在速度和準確度上都已經足夠能為谷歌的使用者和服務帶來更好的翻譯的系統。
ByNet。DeepMind 提出了線性時間的神經機器翻譯 ByNet。
我們提出了一種用於序列處理(sequence processing)的神經架構。ByteNet 是一種兩個擴張的卷積神經網路(dilated convolutional neural networks)的堆疊;其中一個網路用於編碼源序列(source sequence),另一個網路用於解碼目標序列(target sequence)——這個過程中目標網路動態展開從而生成可變長度輸出。ByteNet 有兩個核心特性:它在與序列長度成線性的時間上執行;它能保留序列的時間解析度(temporal resolution)。ByteNet 解碼器在字元級的語言建模上獲得了頂尖水平,並超越了之前迴圈神經網路取得的最好結果。ByteNet 也在原始的字元級機器翻譯(raw character-level machine translation)上獲得了接近最好的神經翻譯模型(執行在二次時間(quadratic time)中)所能取得的頂尖表現。由 ByteNet 學習到的隱含架構能反映出序列之間的預期對應。
(2)文字理解
JMT。Salesforce 的 MetaMind (http://metamind.io/) 建立了一個叫做 Joint Many-Tasks(JMT)的模型,目標是要創造出一個可以學習五個常見自然語言處理任務的模型:
詞性標註(Part-of-speech tagging)。指對句子中的每個詞都指派一個合適的詞性,比如說名詞、動詞、形容詞等。
詞塊分析(Chunking)。也叫做淺層句法分析(shallow parsing),其中涉及到很多工,像是尋找名詞和動詞片語等。
依存關係分析(Dependency parsing)。識別詞語之間的語法關係(比如說形容詞修飾名詞)。
語義相關度(Semantic relatedness)。衡量兩個句子之前的語義相關程度,其結果是用一個實值分數來表示的。
文字蘊含(Textual entailment)。確定前提的句子是否包含一個表示假設的句子。可能出現的句子關係包括:蘊含、矛盾 和中立。
這個模型背後的魔力就在於它是端對端訓練的。也就是說,它能夠讓兩個不同層面的處理兵種,這樣淺層任務(不那麼複雜的)可以得到改善,從深層(較複雜的任務)中得出結論。我們之前的想法是隻用淺層來改進深層的任務,而不是用其他的方式,所以這個採用不同的方式與之前的思路比較來說是一個新的想法。除了詞性標註之外,這個模型在其他方面都取得了很好的成績。
(3)問題回答
DCN。MetaMind 同樣提出了稱之為 Dynamic Coattention Network (DCN) 的新模型來解決疑問解答問題,該模型建立在相當直觀的思路之上。想象下給你了一篇長文並問你一些問題,你是想先看文章再聽問題呢,還是更想先聽問題再開始閱讀文章?一般提前知道問題是怎麼樣的就會知道看文章要注意些什麼,如果不知道問題,那麼你就會將你的注意力平均分配並記下每一點可能會被提問的細節。DCN 也是在做這樣一件事,首先它生成一個內部表徵,這個內部表徵是基於文字並且由系統將要回答的問題做為約束條件,然後就是按照可能的回答列表迭代,直到收斂到最後的回答。
(4)語音識別
2016年10月19日的一篇論文Achieving Human Parity in Conversational Speech Recognition 中,微軟人工智慧與研究部門的一個研究者和工程師團隊報告他們的語音識別系統實現了和專業速錄員相當甚至更低的詞錯率(WER),達到了 5.9%,而上個月這一數字還是 6.3%。 5.9% 的詞錯率已經等同於人速記同樣一段對話的水平,而且這是目前行業標準 Switchboard 語音識別任務中的最低記錄。這個里程碑意味著,一臺計算機在識別對話中的詞上第一次能和人類做得一樣好。
受到機器學習整合技術(machine learning ensemble techniques)的啟發,該系統使用了一系列卷積和迴圈神經網路。I-vector 建模和 lattice-free MMI 訓練為所有聲學模型架構帶來了顯著的提升。使用了多個前向和反向執行 RNNLM 的語言模型重新計分(Language model rescoring)與基於後驗的詞系統結合為系統效能帶來了 20% 的增益。最好的單個系統使用 ResNet 架構聲學模型和 RNNLM rescoring,在 NIST 2000 Switchboard 任務上實現了 6.9% 的詞錯率。結合系統取得了 6.3% 的詞錯率,代表了在這一基準任務上對先前成果的改進。
LipNet。來自牛津大學、Google DeepMind 和加拿大高等研究院(CIFAR)的研究人員發表了一篇具有重要價值的論文,提出了 LipNet——一種可以將可變長度的影片序列對映成文字的模型,其使用了時空卷積、一個 LSTM 迴圈網路和聯結主義的時間分類損失(connectionist temporal classification loss)。它是第一個將深度學習應用於模型的端到端學習的模型,可以將說話者的嘴唇的影像幀序列對映到整個句子上。這個端到端的模型在預測句子前不再需要將影片拆分成詞。在 GRID 語料庫上,LipNet 實現了 93.4% 的準確度,超過了經驗豐富的人類唇讀者和之前的 79.6% 的最佳準確度,將自動唇讀技術的前沿水平推進到了前所未有的高度。在不久的將來,這一影片識別應用會非常有用。
4、可微神經計算機
邁向通用人工智慧的又一重要成果。除了深度強化學習,DeepMind 另一重要研究領域是記憶(memory),特別是如何將神經網路的決策智慧和有關複雜結構化資料的儲存、推理能力結合起來的難題。
2016年 10 月,DeepMind 在 Nature發表了一篇論文Hybrid computing using a neural network with dynamic external memory,該論文介紹了一種記憶增強式的神經網路(memory-augmented neural network)形式——被稱為可微神經計算機(differentiable neural computer),研究表明其可以學習使用它的記憶來回答有關複雜的結構化資料的問題,其中包括人工生成的故事、家族樹、甚至倫敦地鐵的地圖。研究還表明它還能使用強化學習解決塊拼圖遊戲(block puzzle game)問題。
人工神經網路非常擅長感官訊號處理、序列學習和強化學習,但由於缺乏外部記憶(external memory),它們在表徵變數和資料結構以及長時間儲存資料上的能力卻很有限。這裡我們介紹一種名叫可微神經計算機(DNC: differentiable neural computer)的機器學習模型,該模型由一個可以讀寫外部記憶矩陣(external memory matrix)的神經網路構成,這類似於傳統計算機中的隨機存取儲存器(RAM)。它既可以和傳統計算機一樣使用它的記憶(memory,注:對應於傳統計算機的「記憶體」)表徵和操作複雜的資料結構,也能和神經網路一樣從資料中學習這麼做的方法。當使用監督學習進行訓練時,我們發現 DNC 可以成功回答設計用來模仿自然語言中的推理和推斷問題的合成問題。我們表明 DNC 可以學習尋找特定點之間的最短路徑和推斷隨機生成的圖中所缺少的連結等任務,然後還能將這些任務泛化到交通網和家族樹等特定的圖上。當使用強化學習進行訓練時,DNC 可以完成移動塊拼圖任務,其中變化的目標又符號的序列指定。總而言之,我們的結果表明 DNC 有能力解決對沒有外部讀寫記憶的神經網路而言難以解決的複雜的結構化任務。
5、深度學習與其他機器學習技術的融合
Deep Sequential Networks 與 side-information 結合起來以獲取更加豐富的語言模型。在 A Neural Knowledge Language Model 論文中,Bengio 的團隊將知識圖譜和 RNNs 結合起來。
交流知識是語言的一個主要目的。但是,目前的語言模型在編碼或解碼知識的能力上還存在顯著的限制。這主要是因為它們是基於統計共現(statistical co-occurrences)獲取知識的,但大部分描述知識的詞基本上都不是被觀察到的命名實體(named entities)。在這篇論文中,我們提出了一種神經知識語言模型(NKLM: Neural Knowledge Language Model ),該模型結合了知識圖譜提供的符號知識(symbolic knowledge)與 RNN 語言模型。在每一個時間步驟,該模型都能夠預測被觀察到的詞應該是基於哪種事實。然後,就會從詞彙庫生成或從知識圖譜中複製出一個詞。我們在一個名叫 WikiFacts 的新資料集上訓練和測試了這個模型。我們的實驗表明,NKLM 能在生成遠遠更小量的未知詞的同時顯著提升困惑度(perplexity)。此外,我們發現其中被取樣的描述包含了曾在 RNN 語言模型中被用作未知詞的命名實體。
在 Contextual LSTM models for Large scale NLP Tasks 這篇研究中, Deepmind 提出了CLSTM (語境LSTM ,Contextual LSTM),是當前 RNN LSTM 的延伸,將語境特徵(比如 ,主題 topics )吸收進了模型。另外,語言模型的注意力和記憶建模方面也很多有趣研究,比如 Ask Me Anything: Dynamic Memory Networks for NLP(ICML)。
二、硬體
隨著深度學習演算法變得越來越複雜、所使用的資料集變得越來越大,對專用硬體的需求也正變得越來越大。2016 年,面向人工智慧的平臺成了計算硬體開發的一個主要的新方向。這一年,除了英特爾和英偉達這兩家晶片巨頭在人工智慧方向連綿不斷的高調動作,掌握核心科技的創業公司也在盡力改變著市場格局(儘管其中大部分有潛力的都被收購了),此外,就連谷歌這樣的網際網路也從中看到了發展的空間。
傳統晶片廠商方面,英偉達藉助 GPU 和深度學習演算法的高度契合而順勢發展,股價飛漲,可以說是 2016 年人工智慧計算硬體領域的最大贏家。可以預見,英偉達將在整個2017年繼續佔據主導地位,因為他們擁有最豐富的深度學習生態系統。
體量更大的巨頭英特爾自然也不會等著這個新市場被競爭對手佔領,而收購似乎是個更快捷的追趕方法。2016 年,英特爾收購了多家人工智慧創業公司,其中包括計算機視覺創業公司 Movidius 和深度學習晶片創業公司 Nervana 等。到 11 月份,有了 Nervana 和 2015 年收購的 FPGA 廠商 Altera 加持的英特爾公佈了其人工智慧路線圖,介紹了該公司在人工智慧晶片市場上的公司戰略和產品生態系統。
另外順便一提,在這一領域存在感差很多的 AMD 在 2016 年年底也終於發力,宣佈推出了其首款基於VEGA GPU 架構的機器學習晶片。這款晶片的研發旨在大幅提升計算機在處理深度神經網路相關工作上的表現,能夠更高效且更輕鬆執行相關工作。新的 Radeon Instinct 加速晶片將給從事深度學習訓練和推論的研究機構更強勁的 GPU 來開展深度學習相關研究。
此外,高通在 2017 年年初的 CES 開幕之前披露了其最新的 Snapdragon 835 的相關資訊,除了其它方面的效能提升,在機器學習方面,其新增的功能包括支援客戶生成神經網路層、同時還支援谷歌的機器學習架構 TensorFlow。高通表示,Hexagon 682是首個支援TensorFlow和Halide 架構的移動 DSP。
另外,DSP 供應商 CEVA、FPGA 供應商 Xilinx 和處理器技術提供商 Imagination 等廠商也都已經在機器學習領域進行了佈局。
網際網路巨頭似乎也從計算硬體領域發現了新的機會。2016 年 5 月,谷歌釋出了一款新的定製化設計的晶片張量處理單元(TPU/Tensor Processing Unit),這款晶片是專門為基於谷歌已經開源的 TensorFlow 機器學習框架而量身定製的。亞馬遜已經宣佈了他們的基於FPGA的雲例項。這是基於Xilinx UltraScale +技術,在單個例項上提供了6800個DSP片和64 GB記憶體。微軟也透過 Project Catapult 表明了對 FPGA 的支援。另外,這一年 IBM 在神經形態計算上的進展也得到了很大的關注,甚至可能預示著一種人工智慧發展的新方向。
在這場競賽中,創業公司也並未落後太遠。該領域已經流入了 5.89 億美元的風險投資和私募基金。前 NASA 局長建立的 Knuedge 在銷聲十幾年後再次出現在大眾面前,宣佈完成了 1 億美元的融資。Mobileye ,一家向寶馬、沃爾沃、通用、特斯拉等汽車公司提供 ADAS 的公司在自動駕駛汽車領域處於領導地位。 Wave Computing、Kneron 以及中國的寒武紀和深鑑科技等公司都在努力開發自家的深度學習專用晶片平臺。而這些公司在 2016 年同樣也取得了相當不俗的表現,比如源自中科院計算機研究所的寒武紀就在 2016 年推出的寒武紀 1A 處理器,據稱這是世界首款商用深度學習專用處理器。
學術界也並未避開這一領域。最近,MIT 的研究人員展現了比手機 GPU 快 10 倍的晶片 Eyeriss,能夠在手機本地執行深度學習演算法。
創業公司 | 投資方 | 產品描述 |
Mobileye(199 年)耶路撒冷, 5.15 億美元, IPO) | Fidelity Investments, Goldman Sachs, Blackrock | 為自動駕駛汽車設計基於深度學習的計算機影片 ASICs |
Nervana Systems(2014 年,聖地亞哥,2400 萬美元,被英特爾收購) | In-Q-Tel, Lux Capital, Draper Fisher Jurvetson | 為基於深度學習系統的晶片設計定製的 ASIC。 |
Knuedge(2005 年,聖地亞哥,1億美元,處於早期階段) | 未知 | 為機器學習應用和 HPC 資料中心設計神經形態晶片。 |
Movidius(2005 年,聖馬特奧,8650 萬美元,E 輪) | West Summit Capital, Robert Bosch Venture Capital | 為 IoT 裝置設計深度學習視覺處理晶片。 |
Teradeep(2014 年,聖克拉拉,未知,早期階段) | Xilinx 科技公司合夥人 | 為 IoT 設計基於深度學習的嵌入式計算機視覺系統。 |
CoreViz(2014 年,帕羅奧圖,未知,早期階段) | Graph Ventures | 為資料中心、汽車、手機系統設計低能耗的視覺處理晶片。 |
創業公司一欄中的記錄方式為(創立年份、城市、融資、公司所處階段),該表只展示了一些主要的投資者。
三、研究社群
1、開放
世界上最大的科技公司,頂尖大學甚至 DARPA 都在開源他們的人工智慧系統。
谷歌。2016年3月,谷歌宣佈加入開放計算專案(Open Compute Project),透過這個專案,將其伺服器和資料中心的解決方案開源。5月,谷歌開源最精確自然語言解析器 SyntaxNet。6月,新開源「寬度&深度學習」框架。8月,Google Research 釋出部落格稱開源了在 Annotated English Gigaword 上進行新聞標題生成任務的 TensorFlow 模型程式碼。12月,谷歌開源了一款用於互動式視覺化和高維資料分析的網頁工具 Embedding Projector,其作為 TensorFlow 的一部分,能帶來類似 A.I. Experiment 的效果。同時,谷歌也在 projector.tensorflow.org 放出了一個可以單獨使用的版本,讓使用者無需安裝和執行 TensorFlow 即可進行高維資料的視覺化。12月,谷歌還開源了機器閱讀理解資料集 MC-AFP。
Facebook。2016年6月,Facebook 釋出最新開源 Torchnet工具包。這個工具包可快速建立有效且可重複使用的學習系統,從而促進深度學習協同發展,加速人工智慧研究。Facebook 的影像識別功能一直為人所讚歎,也是一些專業人士介紹相關技術的範例。8月,Facebook 官方釋出部落格稱開源 DeepMask 分割構架、SharpMask 分割精煉模組、MultiPathNet 的程式碼。FastText是 Facebook 開發的一款快速文字分類器,提供簡單而高效的文字分類和表徵學習的方法,效能比肩深度學習而且速度更快。8月,Facebook 官方部落格發文稱開源 fastText。9月,Facebook 開源重磅專案 CommAI-env,一個開發基於通訊的人工智慧系統的平臺。12月,Facebook 宣佈開源 TorchCraft,它在星際爭霸與深度學習環境 Torch 之間架起了一道橋樑。TorchCraft 可讓每個人編寫出星際爭霸人工智慧玩家Bot。另外,Facebook 還開源了圍棋人工智慧系統 DarkForest。
微軟。2016年1月,微軟釋出了深度學習工具包 CNTK。7月,微軟建立的 Malmo 專案將 Minecraft 作為高階人工智慧研究的測試平臺,在開源許可下開放給了 GitHub 上從新手到老手等所有程式設計師。在此之前,這一系統只對很少的電腦科學家開放過私人預覽,它被設計用於幫助研究者開發先進的、更為普遍能做像學習、對話、決策以及完成複雜任務等工作的人工智慧。這一系統將會幫助研究者們開發用於強化學習的新技術和新方法。目前微軟現在正努力讓 Malmo 可以在 Universe 中使用。10月,微軟開放了LightGBM(Light Gradient Boosting Machine),一個基於決策樹演算法的快速的、分散式的、高效能 gradient boosting(GBDT、GBRT、GBM 或 MART)框架,可被用於排行、分類以及其他許多機器學習任務中。12月,微軟釋出資料集 MS MARCO。其背後的團隊聲稱這是目前這一類別中最有用的資料集,因為這個資料集是基於匿名的真實資料構建的。透過將該資料集免費開放給更多的研究者,該團隊希望能夠促進機器閱讀領域的研究突破,就像之前研究者已經在影像識別和語音識別領域所取得顛覆性突破一樣。
谷歌、微軟、Facebook 等傳統的人工智慧技術巨頭之外,百度近來也加入到了技術開源的浪潮之中。2016年1月,百度宣佈開源人工智慧程式碼,百度矽谷實驗室已經向 GitHub 上傳了 Warp-CTC C 程式碼庫。與此同時,百度在一篇部落格文章中鼓勵開發者試用這些程式碼。繼 9月 PaddlePaddle 之後,百度又宣佈開源了一項深度學習基準 DeepBench。
2016年12月,DeepMind 開源3D人工智慧訓練平臺。DeepMind Lab 是一個類全3D遊戲平臺,為基於智慧體的人工智慧研究量身打造。和 Malmo 類似,也允許研究者建立迷宮,讓不同演算法學習如何尋路,獲得獎勵。DeepMind 正在嘗試將「更自然的元素」(如起伏的地形和植物)整加入到這個虛擬世界中。開源後,DeepMind 希望在其他研究者的幫助下,這個平臺能夠更加複雜,從而訓練更聰明的訓練演算法。
兩天以後,OpenAI 釋出了一個「元平臺」Universe 。它允許人工智慧程式在其中與最初為人類玩家設計的十幾款 3D 遊戲互動,另外,這個環境還包含了一些網路瀏覽器與手機 app。相比 DeepMind Lab 的 3D 世界,OpenAI 的元平臺 Universe 則更進一步。透過為同一個人工智慧程式提供多種不同型別的環境,這一平臺或許可以解決領域內最棘手的問題:如何建立一個可以解決任何新問題的演算法。
大學方面。2016年9月,伯克利大學和 Adobe 在 Github 上開源了新的深度學習影像編輯工具 iGAN。神經機器翻譯是近段時間以來推動機器翻譯發展的主要推動力。2016年12月,哈佛大學自然語言處理研究組(Harvard NLP)宣佈開源了其研發的神經機器翻譯系統 OpenNMT,該系統使用了 Torch 數學工具包。該研究組在官網上表示該系統已經達到生產可用的水平(industrial-strength)。
DARPA 已經向開源機器學習技術邁出了一大步。事實上,DARPA XDATA專案產生了一個目前最先進的機器學習、視覺化和其他技術的目錄,任何人都可以下載、使用和修改這些技術以打造定製化的人工智慧工具。
下面簡單列出了 2016 年最受歡迎的深度學習工具:
TensorFlow,來自谷歌,地址:https://github.com/tensorflow/tensorflow
Keras,來自 François Chollet,地址:https://github.com/fchollet/keras
CNTK,來自微軟,地址:https://github.com/Microsoft/CNTK
MXNet,來自 DMLC,被亞馬遜採用,地址:https://github.com/dmlc/mxnet
Theano,來自蒙特利爾大學,地址:https://github.com/Theano/Theano
Torch,來自 Ronan Collobert, Koray Kavukcuoglu, Clement Farabet,被 Facebook 廣泛使用,地址:https://github.com/torch/torch7
2、合作
OpenAI 是一個非營利性組織,它旨在建立學界和工業界之間的合作關係,並將其研究結果免費公開。OpenAI 在 2015 年建立,並在 2016 年開始發表它的研究結果(透過 InfoGAN 出版物、Universe 平臺、this one 會議)。OpenAI 的目標就是確保人工智慧技術對儘可能多的人來說都是可行的,並且防止出現超人工智慧。
另一方面,亞馬遜、DeepMind、谷歌、Facebook、IBM 和微軟還在人工智慧之上達成了一項合作,其目標是提升公眾對這一領域的理解、支援最佳的實踐和為討論和參與開發一個開放的平臺。
另外,Yoshua Bengio 新書《Deep Learning》中文版已經發布,該書由北京大學張志華老師團隊負責翻譯。2016年6月,吳恩達宣佈開放訂閱自己的新書《machine learning yearning》。後來,吳恩達推特發文稱已經郵件傳送了該書的前12個章節。