天天看點

【2018展望Top10】GAN應用落地,NLP急需突破

人工智能最近三年發展如火如荼,學術界、工業界、投資界各方一起發力,硬體、算法與資料共同發展,不僅僅是大型網際網路公司,包括大量創業公司以及傳統行業的公司都開始涉足人工智能。

2017年人工智能行業延續了2016年蓬勃發展的勢頭,那麼在過去的一年裡AI行業從技術發展角度有哪些重要進展?未來又有哪些發展趨勢?本文從大家比較關注的若幹領域作為代表,來歸納AI領域一些方向的重要技術進展。

從AlphaGo Zero到Alpha Zero:邁向通用人工智能的關鍵一步

DeepMind攜深度增強學習利器總是能夠給人帶來震撼性的技術創新,2016年橫空出世的AlphaGo徹底粉碎了普遍存在的“圍棋領域機器無法戰敗人類最強手”的執念,但是畢竟李世石還是赢了一局,不少人對于人類翻盤大逆轉還是抱有希望,緊接着Master通過60連勝諸多頂尖圍棋高手徹底澆滅了這種期待。

2017年AlphaGo Zero作為AlphaGo二代做了進一步的技術更新,把AlphaGo一代虐得體無完膚,這時候人類已經沒有資格上場對局了。2017年底AlphaGo的棋類遊戲通用版本Alpha Zero問世,不僅僅圍棋,對于國際象棋、日本将棋等其他棋類遊戲,Alpha Zero也以壓倒性優勢戰勝包括AlphaGo Zero在内的目前最強的AI程式。

【2018展望Top10】GAN應用落地,NLP急需突破

AlphaGo Zero從技術手段上和AlphaGo相比并未有本質上的改進,主體仍然是MCST蒙特卡洛搜尋樹加神經網絡的結構以及深度增強學習訓練方法,但是技術實作上簡單優雅很多(參考圖1)。

主要的改動包含兩處:一處是将AlphaGo的兩個預測網絡(政策網絡和價值網絡)合并成一個網絡,但是同時産生兩類所需的輸出;第二處是網絡結構從CNN結構更新為ResNet。

雖說如此,AlphaGo Zero給人帶來的觸動和啟發絲毫不比AlphaGo少,主要原因是AlphaGo Zero完全放棄了從人類棋局來進行下棋經驗的學習,直接從一張白紙開始通過自我對弈的方式進行學習,并僅僅通過三天的自我學習便獲得了遠超人類千年積累的圍棋經驗。

這引發了一個之前一般人很期待但是同時又認為很難完成的問題:機器能夠不依賴有監督方式的訓練資料或者極少的訓練資料自我進化與學習嗎?如果真的能夠做到這一點,那麼是否意味着機器會快速進化并淘汰人類?

第二個問題甚至會引起部分人的恐慌。但是其實這個問題本身問的就有問題,因為它做了一個錯誤的假設:AlphaGo Zero是不需要訓練資料的。首先,AlphaGo Zero确實做到了通過自我對弈的方式進行學習,但是仍然需要大量訓練資料,無非這些訓練資料是通過自我對弈來産生的。

而且更根本的一點是應該意識到:對于AlphaGo Zero來說,其本質其實還是MCST蒙特卡洛樹搜尋。圍棋之是以看着難度大難以克服,主要是搜尋空間實在太大,單純靠暴力搜尋完全不可行。如果我們假設現在有個機器無限強大,能夠快速周遊所有搜尋空間,那麼其實單純使用MCST樹搜尋,不依靠機器學習,機器也能達到完美的博弈狀态

AlphaGo Zero通過自我對弈以及深度增強學習主要達到了能夠更好地評估棋盤狀态和落子品質,優先選擇走那些赢面大的博弈路徑,這樣能夠舍棄大量的劣質路徑,進而極大減少了需要搜尋的空間,自我進化主要展現在評估棋面狀态越來越準。

而之是以能夠通過自我對弈産生大量訓練資料,是因為下棋是個規則定義很清晰的任務,到了一定狀态就能夠赢或者輸,無非這種最終的赢或者輸來得晚一些,不是每一步落子就能看到的,現實生活中的任務是很難達到這一點的,這是為何很多任務仍然需要人類提供大量訓練資料的原因。如果從這個角度考慮,就不會錯誤地産生以上的疑慮。

Alpha Zero相對AlphaGo Zero則更進一步,将隻能讓機器下圍棋拓展到能夠進行規則定義清晰的更多棋類問題,使得這種技術往通用人工智能的路上邁出了重要一步。

其技術手段和AlphaGo Zero基本是相同的,隻是去除掉所有跟圍棋有關的一些處理措施和技術手段,隻告訴機器遊戲規則是什麼,然後使用MCST樹搜尋+深度神經網絡并結合深度增強學習自我對弈的統一技術方案和訓練手段解決一切棋類問題。

從AlphaGo的一步步進化政策可以看出,DeepMind正在考慮這套擴充技術方案的通用性,使得它能夠使用一套技術解決更多問題,尤其是那些非遊戲類的真實生活中有現實價值的問題。

同時,AlphaGo系列技術也向機器學習從業人員展示了深度增強學習的強大威力,并進一步推動了相關的技術進步,目前也可以看到深度增強學習在更多領域應用的執行個體。

GAN:前景廣闊,理論與應用極速發展中

GAN,全稱為Generative Adversarial Nets,直譯為“生成式對抗網絡”。GAN作為生成模型的代表,自2014年被Ian Goodfellow提出後引起了業界的廣泛關注并不斷湧現出新的改進模型,深度學習泰鬥之一的Yann LeCun高度評價GAN是機器學習界近十年來最有意思的想法。

Ian Goodfellow提出的最初的GAN盡管從理論上證明了生成器和判别器在多輪對抗學習後能夠達到均衡态,使得生成器可以産生理想的圖像結果。但是實際上,GAN始終存在訓練難、穩定性差以及模型崩塌(Model Collapse)等問題。産生這種不比對的根本原因其實還是對GAN背後産生作用的理論機制沒有探索清楚。

過去的一年在如何增加GAN訓練的穩定性及解決模型崩塌方面有了可喜的進展。GAN本質上是通過生成器和判别器進行對抗訓練,逼迫生成器在不知曉某個資料集合真實分布Pdata的情形下,通過不斷調整生成資料的分布Pθ去拟合逼近這個真實資料分布Pdata,是以計算目前訓練過程中兩個分布Pdata和Pθ的距離度量标準就很關鍵。

Wasserstein GAN的作者敏銳地指出了:原始GAN在計算兩個分布的距離時采用的是Jensen-Shannon Divergence(JSD),它本質上是KL Divergence(KLD)的一個變種。

JSD或者KLD存在一個問題:當兩個分布交集很少時或者在低維流形空間下,判别器很容易找到一個判别面将生成的資料和真實資料區分開,這樣判别器就不能提供有效的梯度資訊并反向傳導給生成器,生成器就很難訓練下去,因為缺乏來自判别器指導的優化目标。

Wasserstein GAN提出了使用Earth-Mover距離來代替JSD标準,這很大程度上改進了GAN的訓練穩定性。後續的Fisher GAN等模型又對Wasserstein GAN進行了進一步的改進,這些技術陸續改善了GAN的訓練穩定性。

模型崩塌也是嚴重制約GAN效果的問題,它指的是生成器在訓練好之後,隻能産生固定幾個模式的圖檔,而真實的資料分布空間其實是很大的,但是模型崩塌到這個空間的若幹個點上。最近一年針對這個問題也提出了比如标簽平滑、Mini-Batch判别器等啟發式方法來解決生成器模型崩塌的問題并取得了一定效果。

盡管在理論層面,針對GAN存在的問題,業界在2017年提出了不少改進方法,對于GAN的内在工作機制也有了更深入的了解,但是很明顯目前仍然沒有了解其本質工作機制,這塊還需要未來更有洞察力的工作來增進我們對GAN的了解。

【2018展望Top10】GAN應用落地,NLP急需突破

GAN具備非常廣泛的應用場景,比如圖像風格轉換、超分辨率圖像建構、自動黑白圖檔上色、圖檔實體屬性編輯(例如自動給人像增加胡子、切換頭發顔色等屬性變換),不同領域圖檔之間的轉換(例如同一個場景春天的圖檔自動轉換為秋天的圖檔,或者白天景色自動轉換為夜間的景色),甚至是圖像實體的動态替換,比如把一幅圖檔或者視訊中出現的貓換成狗(參考圖2)。

在推動GAN應用方面,2017年有兩項技術是非常值得關注的。其中一個是CycleGAN,其本質是利用對偶學習并結合GAN機制來優化生成圖檔的效果的,采取類似思想的包括DualGAN以及DiscoGAN等,包括後續的很多改進模型例如StarGAN等。

CycleGAN的重要性主要在于使得GAN系列的模型不再局限于監督學習,它引入了無監督學習的方式,隻要準備兩個不同領域的圖檔集合即可,不需要訓練模型所需的兩個領域的圖檔一一對應,這樣極大擴充了它的使用範圍并降低了應用的普及難度。

另外一項值得關注的技術是英偉達采取“漸進式生成”技術路線的GAN方案,這項方案的引人之處在于使得計算機可以生成1024*1024大小的高清圖檔,它是目前無論圖像清晰度還是圖檔生成品質都達到最好效果的技術,其生成的明星圖檔幾乎可以達到以假亂真的效果(參考圖3)。

英偉達這項由粗到細,首先生成圖像的模糊輪廓,再逐漸添加細節的思想其實并非特别新穎的思路,在之前的StackGAN等很多方案都采用了類似思想,它的獨特之處在于這種由粗到細的網絡結構是動态生成的而非事先固定的靜态網絡,更關鍵的是産生的圖檔效果特别好。

【2018展望Top10】GAN應用落地,NLP急需突破

總而言之,以GAN為代表的生成模型在2017年無論是理論基礎還是應用實踐都産生了很大的技術進展,可以預計的是它會以越來越快的速度獲得研發人員的推動,并在不遠的将來在各個需要創造性的領域獲得廣泛應用。

Capsule:有望取代CNN的新結構

Capsule今年才以論文的形式被人稱“深度學習教父”的Hinton老先生發表出來,而且論文一出來就成為研究人員關注的焦點,但是其實這個思想Hinton已經深入思考了很久并且之前在各種場合宣傳過這種思路。

Hinton一直對CNN中的Pooling操作意見很大,他曾經吐槽說:“CNN中使用的Pooling操作是個大錯誤,事實上它在實際使用中效果還不錯,但這其實更是一場災難”。那麼,MaxPooling有什麼問題值得Hinton對此深惡痛絕呢?參照圖4所示的例子可以看出其原因。

【2018展望Top10】GAN應用落地,NLP急需突破

在上面這張圖中,給出兩張人像照片,通過CNN給出照片所屬類别及其對應的機率。第一張照片是一張正常的人臉照片,CNN能夠正确識别出是“人類”的類别并給出歸屬機率值0.88。第二張圖檔把人臉中的嘴巴和眼睛對調了下位置,對于人來說不會認為這是一張正常人的臉,但是CNN仍然識别為人類而且置信度不降反增為0.90。

為什麼會發生這種和人的直覺不符的現象?這個鍋還得MaxPooling來背,因為MaxPooling隻對某個最強特征做出反應,至于這個特征出現在哪裡以及特征之間應該維持什麼樣的合理組合關系它并不關心,總而言之,它給CNN的“位置不變性”太大自由度,是以造成了以上不符合人類認知的判斷結果。

在Capsule的方案中,CNN的卷積層保留,MaxPooling層被拿掉。這裡需要強調的是,Capsule本身是一種技術架構,并不單單是具體的某項技術,Hinton論文給出的是最簡單的一種實作方法,完全可以在遵循其技術思路情況下創造全新的具體實作方法。

要了解Capsule的思路或者對其做一個新的技術實作其實也不困難,隻要了解其中的幾個關鍵環節就能實作此目的。如果用一句話來說明其中的關鍵點的話,可以用“一個中心,兩個基本點”來概括。

這裡的一個中心,指的是Capsule的核心目的是希望将“視角不變性”能力引入圖像處理系統中。所謂“視角不變性”,指的是當我們給3D物體拍照片的時候,鏡頭所對的一定是物體的某個角度看上去的樣子,也就是2D照片反映3D物體一定是展現出了鏡頭和3D物體的某個視角角度,而不是360度的物體全貌。

那麼,要達到視角不變性,就是希望給定某個物體某個角度的2D照片,當看到另外一張同一物體不同視角的2D照片時,希望CNN也能識别出其實這仍然是那個物體。這就是所謂的“視角不變性”(參照圖5,上下對應的圖檔代表同一物體的不同視角),這是傳統的CNN模型很難做好的事情。

【2018展望Top10】GAN應用落地,NLP急需突破

至于說兩個基本點,首先第一個基本點是:用一維向量或者二維數組來表征一個物體或者物體的某個部件。傳統的CNN盡管也能用特征來表征物體或者物體的構成部件,但是往往是通過不同層級的卷積層或者Pooling層的某個神經元是否被激活來展現圖像中是否具備某個特征。

Capsule則考慮用更多元的資訊來記載并表征特征級别的物體,類似于自然語言進行中使用Word Embedding表征一個單詞的語義。這樣做的好處是描述物體的屬性可以更加細緻,比如可以将物體的紋理、速度、方向等作為描述某個物體的具體屬性。

第二個基本點是:Capsule不同層間神經元之間的動态路由機制,具體而言是低層神經元向高層神經元傳遞資訊時的動态路由機制。低層特征向高層神經元進行動态路由本質上是要展現如下思想:構成一個物體的組成部件之間會通過協同地互相加強的方式來展現這種“整體-組成部分”的關系,比如盡管圖檔的視角發生了變換,但是對一個人臉來說,嘴和鼻子等構成人臉的構件會協同地發生類似的視角變換,它們仍然組合在一起構成了從另外一個視角看過去的人臉。

如果從本質上來說,動态路由機制其實是組成一個物體的構件之間的特征聚類,通過聚類的方式把屬于某個物體的組成部分動态地自動找出來,并建立特征的“整體-部分”的層級構成關系(比如人臉是由鼻子、嘴、眼睛等部件構成)。

以上所述的三個方面是深入了解Capsule的關鍵。Capsule的論文發出來後引發了大量的關注和讨論,目前關于Capsule計算架構,大部分人持贊賞的态度,當然也有一些研究人員提出了質疑,比如論文中采用的MINST資料集規模小不夠複雜、Capsule的性能優勢不明顯、消耗較多記憶體計算速度慢等。

但是無論這項新計算架構能否在未來取代CNN标準模型,抑或它很快會被人抛棄并遺忘,Hinton老先生這種老而彌堅的求真治學态度,以及勇于推翻自己建構的技術體系的勇氣,這些是值得所有人敬佩和學習的。

CTR預估:向深度學習進行技術更新

CTR預估作為一個偏應用的技術方向,對于網際網路公司而言應該是最重要也最關注的方向之一。道理很簡單,目前大型網際網路公司絕大多數利潤都來源于此,因為這是計算廣告方向最主要的技術手段。

從計算廣告的角度講,所謂CTR預估就是對于給定的使用者User,在特定的上下文Context下,如果展示給這個使用者某個廣告或者産品Product,估算使用者是否會點選這個廣告或者是否會購買某個産品,即求點選機率P (Click|User,Product,Context)。可以看到,這是個适用範圍很廣的技術,很多推薦場景以及包括目前比較火的資訊流排序等場景都可以轉換為CTR預估問題。

CTR預估常用的技術手段包括演進路線一般是按照:“LR→GBDT等樹模型→FM因子分解機模型→深度學習”這個路徑來發展的。深度學習在圖像視訊、語音、自然語言處理等領域最近幾年獲得了飛速的進展,但是最近一兩年學術界才開始比較頻繁地陸續出現深度學習如何和CTR預估相結合的文章。

Google最早在幾年前就開始研究這方面的内容,之後國内的大型網際網路公司也開始跟進。

CTR預估場景有自己獨特的應用特點,而想要用深度學習解決CTR預估問題,必須考慮如何融入和展現這些特點。我們知道,DNN模型便于處理連續數值型特征,而圖像語音等天然滿足這一條件,但是CTR預估場景會包含大量的離散特征,比如一個人的性别、畢業學校等都屬于離散特征。

是以用深度學習做CTR預估首先要解決的問題是如何表征離散特征,一種常見的方法是把離散特征轉換為Onehot表示,但是在大型網際網路公司應用場景下,特征次元都是百億以上級别的,如果采用Onehot表征方式,意味着網絡模型會包含太多參數需要學習。

是以目前主流的深度學習解決方案都采用将Onehot特征表示轉換為低次元實數向量(Dense Vector,類似于NLP中的Word Embedding)的思路,這樣可以大量降低參數規模。

另外一個CTR關注的重心是如何進行自動特征組合的問題,因為好的特征組合對于性能影響非常關鍵,而深度學習天然具有端對端的優勢,是以這是神經網絡模型能夠自然發揮作用的地方,能夠無需人工介入自動找到好的特征組合,這一般展現在深度CTR模型的Deep網絡部分。

【2018展望Top10】GAN應用落地,NLP急需突破

除了更早一些的流傳甚廣的Wide&Deep模型,最近一年出現了一些新的深度CTR模型,比如DeepFM、DeepCross、NFM模型等。這些模型其實如果仔細進行分析,會發現它們在網絡結構上存在極大的相似性。

除了在網絡結構上展現上述的兩個特點:一個是Dense Vector表示離散特征,另外一個是利用Deep網絡對特征組合進行自動模組化外。另外一個主流的特點是将低維特征組合和高維特征組合在網絡結構上進行分離,Deep網絡展現高次元特征組合,而引入神經網絡版本的FM模型來對兩兩特征組合進行模組化。

這三個網絡結構特點基本囊括了目前所有深度CTR模型。圖6和圖7是兩種常見的深度CTR網絡結構,目前所有模型基本都采用了其中之一種結構。

計算機視覺:平穩發展的一年

計算機視覺是AI領域最重要的研究方向之一,它本身又包含了諸多的研究子領域,包括物體分類與識别、目标檢測與追蹤、語義分割、3D重建等一些基礎方向,也有超分辨率、圖檔視訊描述、圖檔着色、風格遷移等偏應用的方向。目前計算機視覺處理的主流技術中,深度學習已經占據了絕對優勢地位。

對于物體識别、目标檢測與語義分割等基礎研究領域來說,Faster R-CNN、SSD、YOLO等技術仍然是業界最先進最主流的技術手段。

在2017年新出現的重要技術中,Facebook的何恺明等提出的Mask R-CNN獲得ICCV2017的最佳論文,它通過對Faster R-CNN增加分支網絡的改進方式,同時完成了物體識别、目标檢測與語義分割等基礎任務,這展示了使用同一套技術同時解決多個基礎領域問題的可能性,并會促進後續相關研究的繼續深入探索;

而YOLO9000以及同樣是何恺明團隊在論文“Learning to Segment Every Thing”提出的MaskX R-CNN則展現了基礎領域的另外一個重要發展趨勢:嘗試通過技術手段自動識别出更多種類的物品,終極目标是能夠識别任何物體。

目前MaskX R-CNN能夠識别超過3000種類别物體,而YOLO9000則能夠識别超過9000種物體類别。很明顯,目标檢測要在各種現實領域大規模獲得使用,除了速度快、識别精準外,能夠大量識别各種現實生活中各種各樣的物體類别也是至關重要的,而最近一年的研究在這方面産生了重要的進展。

從網絡模型結構來說,2017年并未産生類似之前ResNet這種産生巨大影響的新模型,ResNet因為其明顯的性能優勢已經廣泛使用在視覺處理的各個子領域中。雖說DenseNet獲得了CVPR2017最佳論文,但它本質上是對ResNet的改進模型,并非全新思路的新模型。

除了上述所說的視覺處理的基礎研究領域,如果對2017年的新技術進行歸納的話,在很多其他應用領域也可以看到如下的一些明顯發展趨勢:

首先,增強學習與GAN等新技術開始被嘗試用來解決很多其它的圖像處理領域的問題并取得了一定進展,比如Image-Caption、超分辨率、3D重建等領域,開始嘗試引入這些新技術。

另外,深度學習與傳統方法如何內建各自的優點并深度融合也是最近一年來視覺處理的方向,深度學習技術具有性能優異等優點,但也存在黑箱不可解釋以及理論基礎薄弱等缺點,而傳統方法具備理論完備等優勢,結合兩者來充分發揮各自優勢克服自身缺點是很重要的。

再次,弱監督、自監督或者無監督的方法在各個領域也越來越重要,這是有現實需求的,深度學習雖然效果好,但是對于大量标注訓練資料是有要求的,而這又需要大量的标注成本,在現實中往往不可行。而探索弱監督、自監督甚至無監督的方法有助于更快促進各個領域研究的快速發展。

自然語言處理:進展相對緩慢,急需技術突破

自然語言處理也是人工智能的重要方向之一,最近兩年深度學習也已經基本滲透到了自然語言處理的各個子領域并取得了一定進展,但是與深度學習在圖像、視訊、音頻、語音識别等領域取得的強勢進展相比,深度學習帶給自然語言處理的技術紅利相對有限,相比傳統方法而言,其效果并未取得壓倒性的優勢。

至于産生這種現象的原因其實是個值得深入探讨的問題,關于其原因目前衆說紛纭,但并未有特别有說服力的解釋能夠被大多數人所接受。

與一年甚至兩年前相比,目前在自然語言處理領域應用的最主流深度學習基本技術工具并未發生巨大變化,最主流的技術手段仍然是以下技術組合大禮包:Word Embedding、LSTM(包括GRU、雙向LSTM等)、Sequence to Sequence架構以及Attention注意力機制。

可以在大量自然語言處理子領域看到這些技術構件的組合及其改進的變體模型。CNN在圖像領域占據壓倒性優勢,但是自然語言處理領域仍然是RNN主導的局面,盡管Facebook一直大力倡導基于CNN模型來處理自然語言處理,除了在大規模分布式快速計算方面CNN确實相對RNN具備天然優勢外,目前看不出其具備取代RNN主導地位的其它獨特優勢。

最近一年深度學習在自然語言處理領域應用有以下幾個值得關注的發展趨勢。

首先,無監督模型與Sequence to Sequence任務的融合是個很重要的進展和發展方向,比如ICLR 2018送出的論文“Unsupervised Machine Translation Using Monolingual Corpora Only”作為代表的技術思路,它使用非對齊的雙語訓練語料集合訓練機器翻譯系統并達到了較好的效果。這種技術思路本質上是和CycleGAN非常類似的,相信這種無監督模型的思路在2018年會有大量的跟進研究。

其次,增強學習以及GAN等最近兩年比較熱門的技術如何和NLP進行結合并真正發揮作用是個比較有前景的方向,最近一年開始出現這方面的探索并取得了一定進展,但是很明顯這條路還沒有走通,這塊值得繼續進行深入探索。

再次,Attention注意力機制進一步廣泛使用并引入更多變體,比如Self Attention以及層級Attention等,從Google做機器翻譯的新論文“Attention is all you need”的技術思路可以明顯體會這個趨勢。另外,如何将一些先驗知識或者語言學相關的領域知識和神經網絡進行融合是個比較流行的研究趨勢,比如将句子的句法結構等資訊明确引入Sequence to Sequence架構中等。

除此外,神經網絡的可解釋性也是一個研究熱點,不過這一點不僅僅局限在NLP領域,在整個深度學習領域範圍也是非常關注的研究趨勢。

本文選擇了若幹具有較高關注度的AI技術領域來闡述最近一年來該領域的重要技術進展,受作者能力以及平常主要關注領域的限制,難免挂一漏萬,很多方面的重要技術進展并未列在文中,比如Google在力推的TPU為代表的AI晶片技術的快速發展,讓機器自動學習設計神經網絡結構為代表的“學習一切”以及解決神經網絡黑箱問題的可解釋性等很多重要領域的進展都未能在文中提及或展開,這些都是非常值得關注的AI技術發展方向。

過去的一年AI很多領域發生了重大的技術進展,也有不少領域前進步伐緩慢,但是不論如何,本文作者相信AI在未來的若幹年内會在很多領域産生颠覆目前人類想象力的技術進步,讓我們期待這一天早日到來!

原文釋出時間為:2018-01-06

本文作者:張俊林

本文來自雲栖社群合作夥伴新智元,了解相關資訊可以關注“AI_era”微信公衆号

繼續閱讀