深度學習2017成果展
編者按:據公司Statsbot對過去一年(也許更久)深度學習領域的成果做了總結,全文共分為6部分,分別是文字、語音、計算機視覺、GAN、強化學習、新聞、投資。以下是論智對原文的編譯,讓我們看看深度學習2017年的成績如何。
文字
1.1 谷歌神經機器翻譯
去年9月,谷歌釋出了新一代機器翻譯模型,並詳細介紹了該網路的架構——迴圈神經網路(RNN)。
最終,該模型在翻譯的準確度上與人類縮小了55%~85%的差距(由人類打分,滿分為6)。如果沒有谷歌龐大的資料集,這個模型很難重現良好的結果。
1.2 聊天機器人的“談判”
前段時間,Facebook的聊天機器人因為“建立了自己的語言”被緊急關閉的新聞讓許多人惶恐了一陣子。這個聊天機器人是Facebook用於談判而建立的,它的目的是與另一個agent進行文字談判並達成協議,即如何將一物品分成兩部分。每個agent在談判中都有自己的目標,但另一個卻不知道那是什麼。交易沒有達成,談判就不可能結束。
為了訓練這個聊天機器人,他們收集了一些人類談判的資料,並訓練了一個監督式迴圈網路。然後,他們訓練一個受過強化學習訓練的agent,讓它跟自己對話,前提是要模仿人類說話的方式。
機器人已經學會了談判策略的中一個技巧,那就是它會假裝對交易的某些方面感興趣,但最後會放棄以便達到它真正的目的。這是人們第一次嘗試建立這樣的聊天機器人,而且非常成功。
當然了,說機器人自創了語言完全是誇張的說法,當機器人與同樣的agent訓練時,它們就無法以人類說話的方式執行了,演算法在這一過程中會修改語言,是很正常的。
過去一年,迴圈神經網路在許多人物和應用中都有所體現。RNN的架構也變得越來越複雜,但是在一些領域,利用簡單的前饋網路——DSSM也可以獲得類似的結果。谷歌之前將LSTM用於“智慧回覆”也收到了不錯的效果。此外,Yandex還基於這樣的網路推出了一個新的搜尋引擎。
語音
2.1 WaveNet:原始音訊的生成模型
DeepMind在一篇文章中介紹了該模型的原理。簡而言之,研究人員基於之前影像生成的方法(PixelRNN和PixelCNN)製作了一個自迴歸全卷積WaveNet模型。
相關閱讀:DeepMind解密WaveNet,如何讓機器人自然發聲
該網路是端到端訓練:輸入文字,輸出音訊。最終合成人聲與真人的聲音差距縮小了50%。
但是,網路的主要缺點就是生產率低,因為是自迴歸,聲音是按照字的順序生成的,所以製作一秒長的音訊往往需要1~2分鐘。
若只讓網路依靠之前產生的音素生成語音而不依靠文字,網路雖然會產生類似人類的聲音,但卻毫無意義。
這種模式不僅適用於演講,也適合音樂創造。想像一下,使用鋼琴遊戲的資料集訓練出的神經網路可以教模型彈奏出一首鋼琴曲。
如果你有興趣,請點選「閱讀原文」閱讀DeepMind研究的完整版本。
2.2 脣語識別
脣語辨識(lip reading)是深度學習戰勝人類的又一巨大成果。
去年十一月,谷歌DeepMind聯合牛津大學共同發文Lip Reading Sentence in the Wild,介紹了他們利用從電視上收集到的資料集訓練了一個模型,能夠超越BBC的專業脣讀者。
資料集中共有10萬個帶有音訊和視訊的句子,他們將LSTM用於音訊,CNN和LSTM用於視訊。這兩個狀態向量被反饋到最終的LSTM,產生結果(字元)。
訓練時輸入了不同型別的資料:音訊、視訊還有音訊與視訊的結合。換句話說,這是一個”多渠道“的模型。
2.3 合成奧巴馬:從音訊中同步合成脣部動作
華盛頓大學的研究人員利用神經網路“偽造”奧巴馬的演講視訊。至於為什麼選擇奧巴馬呢?因為網上奧巴馬的線上視訊數量巨大,適合用於訓練。
計算機視覺
3.1 OCR:谷歌地圖和街景
在谷歌的博文和論文中,谷歌大腦團隊介紹了他們的用於地圖上的新型光學字元識別(OCR)引擎,利用其新技術,可以識別路標和店名。
在開發過程中,團隊建立了一個新的法國街道名稱標誌(FSNS)資料集,其中包含許多複雜的樣本。
為了識別每個標誌,神經網路最多使用四張圖片,通過CNN提取特徵後利用空間注意進行縮放(包括畫素座標),並將結果反饋到LSTM。
識別店鋪招牌上的名稱也用了同樣的方法,雖然其中會有很多噪音資料,但是網路不會受其影響。這一演算法已經應用於800億張照片中了。
3.2 視覺推理
視覺推理任務要求神經網路通過照片來回答問題。例如:“圖中是否有和黃色金屬圓柱尺寸相同的橡膠物體?”這種問題直到最近才由DeepMind解決(沒錯又是DeepMind),但準確率只有68.5%。論文:A simple neural network module for relational reasoning。
網路的架構十分有趣:
在文字問題上適用預先訓練好的LSTM,我們得到了問題的嵌入;
使用只有四層的CNN和圖片,我們得到了含有圖片特徵資訊的地圖;
在特徵地圖上形成座標圖的成對組合(下圖中黃色藍色紅色區域),並對每組新增座標和文字嵌入。
將三個組合通過另一個網路並彙總;
最終的表徵是通過另一個前饋網路執行的,它提供了softmax的答案。
3.3 Pix2Code
Uizard公司創造了一個有趣的神經網路應用:根據介面設計者的螢幕截圖生成一個佈局程式碼。
這是個非常有用的神經網路應用,它能讓軟體開發的過程大大縮短。作者稱它的精確度為77%。但是這款應用目前仍在研究中,而且還沒有正式的反饋結果。另外,也沒有開原始碼放出,不過該公司保證會上傳。
3.4 SketchRNN:教機器畫畫
論智君曾介紹過谷歌的“快畫”小遊戲,它會要求你在20秒內繪製各種物件的草圖。谷歌團隊在它們的部落格和文章中表示,他們收集使用者的畫後形成資料集以教導神經網路作畫。
資料集包含了7萬個草圖,它們不是圖片,而是圖畫的向量表示。研究人員已經使用RNN作為編碼和解碼機制來訓練seq2seq的變分自編碼器(VAE)。
最終,為了適應自動編碼器,該模型接收到刻畫原始影像的隱向量。
盡管解碼器可以從這個向量中提取一幅圖畫,但你可以改變它重畫一個草圖。
甚至執行向量演算法創造出一個“貓豬”:
相關閱讀:10億幅畫,讓這個被調戲了一年的AI發現了一些人類的小祕密
3.5 GANs
生成對抗網路(GANs)是深度學習最熱門的話題之一,大多數情況下,這個模型是用來處理影像的。
GANs的主要由兩部分組成——生成器和判別器。前者建立圖片,後者判斷圖片是真實的還是生成的。示意圖如下:
在訓練期間,來自隨機向量的生成器產生影像並將其輸入到判別器中,判別器會根據資料集中真實的圖片來判斷輸入的圖片是否是假的。
由於很難找到這兩個網路的平衡點,所以這樣的結構難以訓練。大多數情況下都是判別器獲勝,訓練停止。但是,這個系統的好處在於,我們可以解決損失函式難以確定的問題(例如提高照片的質量)。
在這個專案中,系統利用向量生成人臉圖片,你可以改變向量,看看臉部是如何變化的。
同樣的演算法在潛在空間中也有體現:“戴眼鏡的男人”減去“男人”再加上“女人”等於“戴眼鏡的女人。”
相關閱讀:從零學習:生成敵對網路(GAN)入門指南
3.6 用GANs“換臉”
如果你在訓練過程中教授潛在向量控制引數,那麼在生成潛在向量時你可以更改它,並在圖片中管理必要的圖片。這種方法被稱為條件GAN。
Face Aging with Conditional Generative Adversarial Networks的作者也是如此。用IMDB上已知年齡的演員做成資料集,訓練引擎,可以改變一個人的面部年齡。
3.7 專業照片
谷歌利用GAN生成了一個有趣的應用——挑選並改善照片。在專業照片組成的資料集上訓練後,GAN的生成器試圖改善差圖片,鑑別器來區分改進過的圖片與真正的專業照片。
訓練有素的谷歌街景演算法在全景中搜尋最佳場景,並生成了專業和半專業水準的照片。
3.8 從文字生成圖片
GANs的另一個重要成果就是用文字生成圖片。
這項研究的作者認為,不僅要將文字嵌入到(Conditional GAN的)生成器的輸入中,還要將其嵌入到判別器中,以便驗證文字與圖片的一致性。為了保證判別器能學會執行它的功能,除了訓練之外,他們還在實際圖片中新增了不正確的文字對。
3.9 Pix2pix
2016年最引人注目的文章之一是BAIR的Image to Image Translation with Conditional Adversarial Networks。研究人員解決了影像到影像生成的問題。例如,用衛星影像創造地圖或者用草圖建立逼真的紋理。
這是另一個利用Conditional GAN完成任務的例子。在這種情況下,條件會應用於整個畫面。作為生成器的體系結構,UNet在影像分割中很受歡迎。另外一個新的PatchGAN分類器被用作處理模糊影像的判別器(例如影像被切分稱N個補丁,判斷它們每個補丁是否來自真實的圖片。
以及Christopher Hesse做的“恐怖貓”實驗也引起了讀者極大的興趣。
3.10 CycleGAN
為了應用Pix2Pix,你需要一個與不同領域相對應的圖片資料集。但是,如果你想做些更復雜的事,例如更換物件或者造型,那就無法簡單地找到對應的物件。
因此,Pix2Pix的作者提出了能在不同域之間轉換的CycleGAN,無需特定的組合。
這一過程是教兩對GANs把影像從一個域傳到另一個域,同時保持迴圈的一致性——在生成器產生應用之後得到一個類似於原始L1損失的影像。迴圈損失函式要確保生成器不只是開始將一個域的影像傳送到另一個完全無關的影像中。
這一方法可以將馬變成斑馬。
不過有的時候也會失敗……
3.11 腫瘤分子學的發展
機器學習正應用於醫學,除了識別超聲波、核磁共振並用於診斷外,還可以用來新藥物對抗癌症。
在對抗自動編碼器(AAE)的幫助下,你可以學習分子的潛在表徵,然後用它來搜尋新的分子。結果發現了69個分子,其中一半可以用來對抗癌症,其他的也有很大的潛力。
3.12 對抗攻擊(Adversarial-attacks)
什麼是對抗攻擊?例如,在ImageNet上,當給被訓練過的標準網路新增特定的噪聲時,他們完全無法穩定。在下面的例子中,我們看到帶有噪聲的圖片看起來幾乎沒有變化,但是模型卻產生了劇烈的變化,最終的預測結果是一個跟大熊貓完全不相關的類別(長臂猿)。
例如,使用快速梯度符號法(FGSM)可以實現穩定性:通過改變模型的引數,你可以改變向目標類別進行一步或多步梯度改變,最終更改原始圖片。
Kaggle的任務之一就與此相關:參賽者需要創造通用的攻擊和防禦,這些攻擊和防禦都是最終互相對立的,然後確定最好的。
我們為什麼要研究這些攻擊呢?首先,如果我們想保護我們的產品,我們可以向驗證碼中新增噪音,防止自動識別。其次,演算法正越來越多地影響我們的生活,從面部識別到自動駕駛。在這種情況下,演算法的缺點容易被攻擊者利用。
有一個例子是,特殊的眼鏡可以騙過面部識別系統,讓它將你看作另一個人。所以,當訓練模型的時候,我們需要考慮到可能受到的攻擊。
這種符號的使用也不能讓它們被正確識別。
一些文章:www.kaggle.com/c/nips-2017-non-targeted-adversarial-attack/discussion/35840
對抗攻擊的庫:
github.com/tensorflow/cleverhans
github.com/bethgelab/foolbox
強化學習
強化學習也是機器學習中最有趣、最有前景的發展方向之一。
這種方法的本質是agent通過在一個環境中得到獎勵而學會的成功行為,就像人學習一樣。
強化學習在遊戲、機器人和系統管理(交通等)中被廣泛使用。
AlphaGo的研究人員正是用強化學習訓練機器人自我改進,才能在比賽中擊敗專業棋手。
4.1 強化訓練與不受控制的輔助任務
在過去幾年,DeepMind學習利用DQN玩街機遊戲,表現得比人類更好。目前演算法正教授機器玩更復雜的遊戲,比如Doom。
研究人員的大部分精力都放在學習加速上,因為agent與環境的互動經驗需要在GPU上訓練好幾個小時。
在他的部落格中,DeepMind表示引入額外的損失(輔助任務)例如預測幀變化,以便agent更好地理解行為的後果,大大加速了學習速度。
4.2 學習機器人
OpenAI一直在研究讓人類在虛擬環境中控制機器人,這樣比在實際環境中更安全。
在其中一項研究中,OpenAI的團隊證明了單次學習的可能性:一個人用VR展示如何完成一項特定任務,然後演算法就能學會並在現實中重複這一動作。
4.3 學習人類的偏好
這是OpenAI和DeepMind共同合作的結果,agent有一個任務,演算法提供了兩個解決方案並讓人類指出哪個更好。該過程需要不斷地重複同時演算法要學習如何解決該問題。
並且,人必須意識到他在教機器幹什麼。例如,評估者認為演算法想讓機器拿起這個物體,但實際上他只是在模擬這一動作。
4.4 在複雜環境中運動
DeepMind還教了機器人如何做一系列複雜的動作,比如走路、跳躍等等,甚至讓它接近人類動作。你必須重視損失函式的選擇,這將影響到期望的行為。然而,演算法如果能依靠簡單的獎勵來學習複雜行為是更好的方法。
研究人員最終成功實現了這一目標:他們通過構建一個複雜的有障礙的環境並給予agent簡單的獎勵,就能教它學會執行復雜行為。
其他
5.1 資料中心冷卻系統
2017年7月,谷歌宣佈他們利用DeepMind在機器學習方面的成果降低了資料中心的能耗成本。
基於資料中心上千個感測器的資訊,谷歌開發人員訓練了一個整合的神經網路來預測電力使用效率(PUE)和更高效的資料中心管理。這是機器學習在實際中應用的一個重要例子。
5.2 多工模型
訓練過的模型很難轉移到其他任務中去,因為每個任務都要有訓練特定的模型。而谷歌大腦的研究人員發文:One Model To Learn The All,向通用模型邁出了一小步。
研究人員已經訓練了一個模型,可以執行不同領域的八個任務(文字、語音和影像等)。例如,可以翻譯不同語言、進行文字解析以及識別影像和聲音。
為了實現這一目標,他們建立了一個複雜的網路結構,利用不同的塊處理不同的輸入資料並生成結果。編碼器和解碼器的塊分為三種型別:卷積、注意和門控專家混合層(MoE)。
主要學習成果:
得到了幾乎完美的模型(作者沒有微調引數);
不同領域之間可以進行知識轉移,即在資料量大的任務中,效能表現幾乎相同。小問題上表現得更好,例如解析。
不同任務所需模組不會相互干擾,有時甚至可以在ImageNet的MoE上發揮作用。
順便說一句,該模型在tensor2tensor上執行。
5.3 一小時訓練ImageNet
Facebook研究人員利用256個Tesla P100教授一個ResNet-50模型在一小時內訓練完ImageNet。
他們使用Gloo和Caffe2進行分散式學習。為了讓過程更有效,需要對學習策略進行大量調整,包括平均梯度、預熱階段、特殊學習等。
新聞
6.1 自動駕駛汽車
最近自動駕駛汽車上路測試的新聞頻發,各大公司也是紛紛搶佔頭條。從英特爾收購Mobileye,到Uber和谷歌的醜聞等等。
值得關注的還有谷歌Waymo推出了beta版程式。另外,最近自動駕駛汽車已經被允許在美國所有州內行駛。
6.2 醫療保健
機器學習已經開始進入醫療領域。例如谷歌正與醫療中心合作,幫助醫生診斷病情。DeepMind還建立了一個獨立的醫療部門。
今年,在Data Science Bowl的專案之下又建立了一項肺癌預測競賽,獎金為一百萬美元。
6.3 投資
目前的機器學習就像當年的大資料,迎來了一波投資熱潮。
中國在人工智慧方面投資1500億美元,成為全球行業的領先者。
百度研究院共有1300名員工,而Facebook研究院只有80名。另外,阿里巴巴公開了其內部的分散式平臺——鯤鵬,能夠用萬億個引數執行1000億個樣本。
原文地址:https://blog.statsbot.co/deep-learning-achievements-4c563e034257
點選下方“閱讀原文”下載【科技頭條】↓↓↓相關文章
- 【讀書1】【2017】MATLAB與深度學習——深度學習(2)Matlab深度學習
- 一文概述2017年深度學習NLP重大進展與趨勢深度學習
- 深度學習發展史深度學習
- 深度學習發展歷史深度學習
- 深度學習發展歷程深度學習
- 【讀書1】【2017】MATLAB與深度學習——消失的梯度(1)Matlab深度學習梯度
- 【讀書1】【2017】MATLAB與深度學習——異或問題(1)Matlab深度學習
- 谷歌又出量子計算新成果,這次用上了深度強化學習谷歌強化學習
- 谷歌又出量子計算新成果,這次用上了深度強化學習!谷歌強化學習
- 流體力學深度學習建模技術研究進展深度學習
- 深度學習技術發展趨勢淺析深度學習
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- 9.9~9.15號學習成果彙總
- 深度學習及深度強化學習研修深度學習強化學習
- 深度學習學習框架深度學習框架
- ####深度學習深度學習
- 深度學習深度學習
- 深度 學習
- 深度學習及深度強化學習應用深度學習強化學習
- 讀懂深度學習,走進“深度學習+”階段深度學習
- 深度學習——學習目錄——學習中……深度學習
- 深度學習模型深度學習模型
- Python深度學習Python深度學習
- 深度學習引言深度學習
- MySQL深度學習MySql深度學習
- 深度學習-LSTM深度學習
- 深度學習《CycleGAN》深度學習
- 深度學習《StarGAN》深度學習
- 深度學習《patchGAN》深度學習
- 機器學習&深度學習之路機器學習深度學習
- 深度學習學習7步驟深度學習
- 深度學習很難?一文讀懂深度學習!深度學習
- 深度學習判別新冠肺炎準確率達九成,《Radiology》已收錄相關研究成果深度學習
- 機器學習&深度學習 操作tips機器學習深度學習
- 機器學習是深度學習之母機器學習深度學習
- 深度學習框架Pytorch學習筆記深度學習框架PyTorch筆記
- CCAI 2017 | 香港科技大學計算機系主任楊強:論深度學習的遷移模型AI計算機深度學習模型
- 【深度學習】深度學習md筆記總結第1篇:深度學習課程,要求【附程式碼文件】深度學習筆記
- 深度學習工程模板深度學習