ICLR 2017 有什麼值得關注的亮點?

提交的 paper 已經掛出 Open Review
看到不少好的文章,歡迎討論


謝邀,那我又來拋磚引玉一下(搞CVPR的不務正業時間).因為我自己比較關注跟Computer Vision和general AI比較相關的工作,所以挑選出來的純屬個人喜好.我也很期待其他朋友的分享.

先介紹下背景,ICLR的論文是Open Review, 所以deadline過後可以立刻看到投稿的論文,大家也可以留言拍磚.這是LeCun和Bengio他們幾年前提倡的一種新不同於double blind的論文審閱方式.這種審稿方式有好有壞,比如說一個好處的是投稿的工作立刻就可以問世,不用再等幾個月的審稿和camera-ready revision, 整個研究cycle大大提前了;一個壞處是因為看得見論文作者,所以作者的名氣和口碑使得讀者對論文有了重要的第一印象,這點對不是這麼有名氣的組其實不太好.ICLR的論文投稿數量和質量都非常不錯,接收的論文的質量已經可以跟NIPS匹敵了,值得大家關注和學習.

我大致掃了掃論文(詳讀還得等到CVPR之後),覺得有以下幾點挺有意思:

  1. Generative models

generative model是這一年deep learning的熱點方向.總的來說可以說是GAN, PixelCNN, VAE三分天下的趨勢.一些相關工作

UNSUPERVISED CROSS-DOMAIN IMAGE GENERATION

http://openreview.net/pdf?id=S1OufnIlx

WHAT DOES IT TAKE TO GENERATE NATURAL TEXTURES?

http://openreview.net/pdf?id=BJhZeLsxx

PIXELCNN++: A PIXELCNN IMPLEMENTATION

http://openreview.net/pdf?id=BJrFC6ceg

TOWARDS PRINCIPLED METHODS FOR TRAINING GENERATIVE ADVERSARIAL NETWORKS

From FAIR Leon Bottou

是篇Theoretic analysis of Generative Adversarial neural network

這裡有兩篇比較類似的Energy-based model for GAN:

GENERATIVE ADVERSARIAL NETWORKS AS VARIATIONAL TRAINING OF ENERGY BASED MODELS

http://openreview.net/pdf?id=HkAwhYcxl

ENERGY-BASED GENERATIVE ADVERSARIAL NETWORKS

http://openreview.net/pdf?id=ryh9pmcee

之前著名ML博客inFERENce對energy-based GAN的拍磚,討論滿有意思,就算是Yann LeCun自己的paper都有人拍磚:).Are Energy-Based GANs any more energy-based than normal GANs?


2. Reinforcement learning.
這是Google, DeepMind,OpenAi, 以及Berkeley的主戰場,今年ICLR這方向的paper也是非常多.RL的一個子方向imitation learning挺火:

UNSUPERVISED PERCEPTUAL REWARDS FOR IMITATION LEARNING

http://openreview.net/pdf?id=Bkul3t9ee

THIRD PERSON IMITATION LEARNING

http://openreview.net/pdf?id=B16dGcqlx

Reinforcement learning應用方向也有幾篇新奇的論文:

EPISODIC EXPLORATION FOR DEEP DETERMINISTIC POLICIES FOR STARCRAFT MICROMANAGEMENT

http://openreview.net/pdf?id=r1LXit5ee

他們在FAIR內部組會裡present的時候我還以為是全圖打Starcraft,可是這工作還是在研究用Q-learning加一些heuristics優化局部戰爭(星際微操).DeepMind昨天剛release news(DeepMind and Blizzard to release StarCraft II as an AI research environment), 跟暴雪合作在starcraft 2搞全局AI,這點讓人非常期待.畢竟DeepMind專註打遊戲這麼多年,FAIR估計還得花一段時間才能望其項背.

LEARNING TO OPTIMIZE

http://openreview.net/pdf?id=ry4Vrt5gl

這篇來自Jitendra Malik組,利用RL來優化優化問題(沒有打錯,的確倆'優化'),可能會對optimization那個community的人提供新思想.


NEURAL ARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING
http://openreview.net/pdf?id=r1Ue8Hcxg
來自Google Brain. 利用RL來優化RNN的結構。

DESIGNING NEURAL NETWORK ARCHITECTURES USING REINFORCEMENT LEARNING
http://openreview.net/pdf?id=S1c2cvqee

來自MIT media lab.利用RL來優化CNN的結構。

AI Doom game: 今年九月下旬有個VizDoomAI比賽(http://vizdoom.cs.put.edu.pl/competition-cig-2016), 有兩個track, 一個是known map,一個是unknown map. 兩個track的冠軍隊FAIR和Intel都把論文在ICLR放出來了,兩篇論文對比起來看非常有意思.Doom這個遊戲本身比Atari之類的遊戲要難很多,遊戲過程中AI robot不僅需要不停撿彈藥和醫療包,避免掉血的硫酸地面,而且需要瞄準和攻擊敵人.這就使得AI需要各種不同技能,如navigation, battling. 打好這種第一人稱射擊遊戲,是通向強AI的必經之路.


TRAINING AGENT FOR FIRST-PERSON SHOOTER GAME WITH ACTOR-CRITIC CURRICULUM LEARNING

Yuxin Wu, Yuandong Tian

http://openreview.net/pdf?id=Hk3mPK5gg

田總 @田淵棟 和Yuxin的FAIR隊的這篇論文, 主要利用了deep RL裡面的A3C和curriculum learning.相信田總自己會寫篇專欄分析這篇論文:)


LEARNING TO ACT BY PREDICTING THE FUTURE

http://openreview.net/pdf?id=rJLS7qKel

Intel這邊的這篇論文跳出了"凡是打遊戲就得上reinforcement learning"的固有框架,利用了sensory stream和measurement stream之間的相關性來訓練模型,而且很精巧地利用了supevised learning的框架,但是沒有explicit的supervision信號。模型本身挺簡單,也容易擴展到其他應用之中。這種supervised training的方法訓練收斂速度都要優於reinforcement learning。一作,Alexey Dosovitskiy,是我比較喜歡的一個研究者,他之前feature invertion相關的工作都做得蠻solid,而且據說個德國的天才小哥:22還是23歲就拿到math的phd了,然後現在是讀第二個CS PhD….


3. CNN的理解和分析

UNDERSTANDING INTERMEDIATE LAYERS USING LINEAR CLASSIFIER PROBES

http://openreview.net/pdf?id=ryF7rTqgl

Yoshua Bengio組他們利用linear classifer當做探針(probe)放在CNN的不同層,來分析CNN內部在模型訓練的不同階段的information flow和representation的變化.這點對診斷,分析和提出新的網路結構非常有幫助.


IMPROVING INVARIANCE AND EQUIVARIANCE PROPERTIES OF CONVOLUTIONAL NEURAL NETWORKS

http://openreview.net/pdf?id=Syfkm6cgx

Invariance和equivariance是CNN表徵挺重要的能力.這篇文章提出了個loss改善這兩個性質.


STEERABLE CNNS

http://openreview.net/pdf?id=rJQKYt5ll

Max Welling出品,必屬精品.我個人是非常欣賞Max的工作(雖然我真正能讀懂的沒幾篇...).Max之前是統計物理學家,轉手來搞deep learning,給這個圈子帶來了很多新思路.那篇VAE的論文也是出自他之手,嚴謹的證明,簡單的實現,堪稱經典.這篇也是在做invarnace和equivariance,對比上面那篇更能看出Max紮實的理論功底.

最後還有兩篇分析adversarial example的也挺有意思.

ADVERSARIAL EXAMPLES IN THE PHYSICAL WORLD

http://openreview.net/pdf?id=S1OufnIlx

這篇來自Google Brain和OpenAI的工作說明了列印出來的紙質圖片也可以欺騙分類CNN網路.

ADVERSARIAL EXAMPLES FOR GENERATIVE MODELS

http://openreview.net/pdf?id=SJk01vogl
這篇分析了在Generative model裡面也是有adversarial example的存在.

還有諸多其他有意思的論文,值得大家學習.也鼓勵大家多去論文下面留言,拍磚,跟作者互動,這才是Open Review的意義所在.除了美國大選,真相總是越辯越明:p


謝邀(其實是來夾帶私貨的)。

ICLR 2017 的論文實在太多,看了三四天也就看完了一小小部分,所以這個回答會在近期多次更新。

1. GAN
首先如所有答案里幾乎都提到的,GAN 確實火得不能再火。在這次 ICLR 2017 全部 GAN 的論文里,我個人覺得主要集中在三個方向:
1.1. 如何提高 GAN 穩定性
GAN 的訓練之不穩定,調參之難,也是眾所周知的。與不穩定性並存的是 GAN 很容易產生一個叫 missing modes problem,即用 GAN 中的生成網路 G 產生的樣本會很容易局限在某些 mode 上,而不夠豐富。為了改進這兩點,以下四篇論文從不同角度提出了不同的方法:
Mode Regularized Generative Adversarial Networks》[pdf](http://openreview.net/pdf?id=HJKkY35le)
這篇是我和 @Gerry Che 的工作。主要貢獻是提出了兩種 regularizers 去提高穩定性和解決 missing modes。這兩種 regularizers 可以很方便地用在任何 GAN 網路中(不比如 DCGAN,或者 Goodfellow 原版的 MLP GAN)。
第一個 regularizer 是:與其讓生成網路 G 直接從 noise vector z 映射到樣本空間,我們可以讓 z 從一個樣本空間先映射過來,也就是有一個 z = encoder(X) 的過程,從而再,G(encoder(X))。這樣的好處是,reconstruction 過程會增加額外的學習信息,使得生成網路生成出來的 fake data(generated sample)不再那樣容易被判別網路 D 一下子識別出來。這樣 D 和 G 就都能一直有 loss/gradient 去將訓練過程較為穩定地進行下去,從而達到了讓 GAN 訓練更加穩定的效果。另一方面,因為 encoder(X) 保證了 X 和映射後的 X 的空間的對應性,也就可以保證了生成網路能覆蓋所有樣本空間的樣本 modes,也就理論上保證了 missing modes 問題的減少。
第二個 regularizer 是在此基礎上,我們提出了一種 manifold-diffusion GAN(MDGAN),它將 reconstruction loss 提取成單獨的一步去訓練——第一步 manifold step 就是去做 G(Enc(X)) 和 X 的訓練,減少這兩者之間的差別;第二步 diffusion 就是讓 G(Enc(X)) 再和 G(z) 做拉近。這樣從模型訓練的過程,形象的理解就是,先把兩個分布的 「形狀」 調整好,再把兩個分布的距離拉近。
為了能評價我們的 regularizers 的效果,我們在 inception score 的基礎上提出了一種 MODE score。我們發現,Inception score 有一種很不好的現象是,即使 GAN 的網路訓練塌了(即會產生完全是噪音,肉眼根本不 perceptual 的圖片),inception score 的分數也會很高(很高應該代表的是圖片非常像真實樣本)。這是不 make sense 的。而我們提出的 MODE score,將塌了的情況用一種額外的 metric 衡量進來——從而使得最終的 MODE score 是基於樣本質量和樣本 mode(塌了的話,mode 就非常差),兩個角度。

Generative Adversarial Parallelization》[pdf](http://openreview.net/pdf?id=Sk8J83oee)
這篇是很早以前另一篇 GRAN 的工作的後續。它解決穩定性的方法很簡單,我個人認為它也和 OpenAI 提出 Inception Score 的那篇論文有關係。在那篇論文里,openAI 團隊還提出了一種 minibatch discrimination 的訓練方法,也就是在每次讓 GAN 的判別網路 D 進行判別時,不要基於單個樣本,而是基於一個 minibatch 的一批樣本。這樣一批樣本組成起來,就更加 「robust」。而這篇論文 GAP,它就是說,我們不要讓 GAN 每次一個生成網路用一個判別網路來判別,而是同時訓練幾組 GAN,然後讓他們的判別網路 D 們,swap,交替著去判別其他的生成網路 G 的樣本。這就很像是 minibatch discrimination 了。就是我們一起學,你可能只見過現象 A(mode A),我見過 mode B,那我見過 mode B 的 D_B 去來判別你只會生成 mode A 的 G_A,這就更容易 robust 了,也更容易不 miss modes。

Unrolled Generative Adversarial Networks》[pdf](http://openreview.net/pdf?id=BydrOIcle)
這篇論文做的更加理論一點,它們提出了一種新的 loss。這種 loss 並不是通過改變模型 architecture 來引入的,也不是一種新的 metric,而是一種 gradient-based loss。如果說我們過去做 gradient descent trainig 時候,是讓 gradient 進行改變,讓其他模型參數保持不變的話;那麼他們提出的這種 loss,被叫做 surrogate loss,則是要能基於一階 gradient 改變後的其他模型參數的變化再去改變二階甚至高階 gradient——從而是一種 gradient dynamics 信息。這件事其實並不是很常見,因為在我們大部分神經網路和機器學習的訓練中,我們都只會用到一階導數信息。然而,二階或者高階導數的出發點其實是我們真正的不 approximate 的求解就應該是不斷的 unroll 出 gradient 的或者是 exact solution 的。而這件事就是非常難算的。所以可以認為,這篇論文提出的這種 loss 是一種中間態,tradeoff。所以這篇論文我認為最重要的貢獻就是,它指出了也強調了高階信息在神經網路或者在機器學習中的重要性(主要是神經網路)。順著這個思路思考下去,應該也能為其他模型和其他任務帶來一些新的解決方法。

Improving Generative Adversarial Networks with Denoising Feature Matching》[pdf](http://openreview.net/pdf?id=S1X7nhsxl)
這篇論文的想法和上一篇 unrolled 有點相似,同時也可以認為是 openAI 那篇論文中(minibatch discrimination 那篇)另一個 trick——feature matching 的延伸和泛化。在之前訓練 GAN 中,已經有許多人提出了一些比較 heuristic 的訓練方法,或者說 addiitional feature,去幫助穩定和提高效果。其中就有一些是用判別網路 D 學到的 feature 來做輔助,讓 G 生成的時候要儘可能去匹配 D 的一些 feature 的統計特徵。這個事情其實比較好理解,就是說既然你 D 能通過一些東西(feature)判斷我不好,那麼我就把你的東西直接抄過來,變成我自己的一種能力,讓你不再能(只)利用這個 feature 來判別出我是假的。但是這個事情,在之前都很 heuristic,包括前人的 VAEGAN 也提到了 Dis_l(layer)這種 feature 加入一種新 loss。然後,這篇 ICLR 2017 也指出了一種 gradient 或者說生成網路 G 要去改進的方向。上面那篇 unrolled 是用高階 gradient 直接指導 G,而這篇論文 denoising 是用 denoising feature matching 來讓 G 生成的時候 manifold 更趨向於真實 distribution——而這個 distribution 是通過用 D 學出來的 feature space 來體現的。

Energy-based Generative Adversarial Networks》[pdf](http://openreview.net/pdf?id=ryh9pmcee)
這個 EBGAN,其實已經放在 arXiv 上有一段時間了。在解決 missing modes 這個問題時,它的方法更加 ad-hoc——用 energy model 來衡量 diversity,然後把這個 diversity metric 加入 loss function。如他們在論文里說的,這種 loss 和 minibatch discrimination 沒什麼本質區別。


1.2. 用新角度/框架去理解和建模 GAN
Generative Adversarial Networks as Variational Training of Energy Based Models》[pdf](http://openreview.net/pdf?id=ry7O1ssex)
這篇論文我覺得就是比較好的用 energy model 的框架重新理解和建模 GAN 的工作,發揮了 energy model 的優勢。就像 infoGAN 想從資訊理論的角度去刻畫 GAN 一樣,這篇論文就想用 energy 來刻畫 energy-based GAN(這個是上面介紹的 energy-based GAN 所沒有的)。具體的可以看這篇論文里的公式(5)-(7),將 GAN 和用 variational training 建模的 EBM 給聯繫在了一起。論文還有更多的貢獻在 Section 5、6 里,甚至也提出了一種 semi-supervised 的結合方式。我覺得整篇論文給出的用 energy 刻畫 GAN,是未來可以繼續探索的方向與角度。

1.3. GAN 與 (semi)-supervised 的結合
這方面的論文就太多了。
Adversarially Learned Inference》[pdf](http://openreview.net/pdf?id=B1ElR4cgg)
Adversarial Feature Learning》[pdf](http://openreview.net/pdf?id=BJtNZAFgg)
Multi-view Generative Adversarial Networks》[pdf](http://openreview.net/pdf?id=SJgWQPcxl)
其中前兩篇都是有點 bi-directional GAN 的意思,把 latent space 和 data space 的信息一起結合利用。然後第三篇是第二篇的一個後續工作。

Semi-Supervised Learning with Context-Conditional Generative Adversarial Networks》[pdf](http://openreview.net/pdf?id=BJ--gPcxl)
這篇是關於 conditional GAN 的,是 DCGAN 的作者的工作。

然後再來關於 Domain Adaption 的:
Unsupervised Cross-Domain Image Generation》[pdf](https://arxiv.org/pdf/1611.02200v1.pdf)
這篇一看圖就覺得超有趣!做得效果看起來也很棒!

Delving into Transferable Adversarial Examples and Black-box Attacks》[pdf](http://openreview.net/pdf?id=Sys6GJqxl)
做得相當 solid,不可不讀的一篇論文,會得到很多關於 adversarial examples 的 insights。

2. Attention and Memory
除了已經被很多人提到的 GAN 這個 ICLR 2017 大火的方向,其實 Attention 和 Memory 這倆已經火了兩年的方向也還在發展。
Structured Attention Networks》[pdf](http://openreview.net/pdf?id=HkE0Nvqlg)
這篇絕對是必看中的必看,它將我們經典的 attention mechanism 和他們提出的新的兩種(兩個 attention layer)統一在一個框架里,使得 attention mechanism 從普通的 soft annonation 變成了既能 internally modeling structure 信息又不破壞 end-to-end training 的新機制。
具體來講,我們以往的 attention 機制的作用方式是,encoder 端的 input x_1,..., x_n,這個被作者稱為 x,decoder 端已經解碼產生的序列 y_1, ..., y_n,這個被作者稱為 q(query)。那麼,attention 機制就可以看做是一個 attention position 基於 x, q 的分布。有了這樣一個框架,我們就可以將一系列獨立的 z 變成了互相之間有關聯,有依賴——從而也就有了 structure 信息的 z 的分布表達——也就是一種 structured attention networks。為了實現這個,作者使用了 CRF 來建模,並給出了兩種具體的例子。第一個例子叫,segmentation attention layer,它可以用於選擇源句子中的 sub-sequence(而不再是經典 attention 中以 word 為單位了)。它的設計也十分簡單直觀,就是我們把 z 像 gate 機制一樣,變成 z=[z_1, ..., z_n],並且 z_i in {0,1}。然後,第二個例子,則在這種雖然是 seb-sequence 上但仍然是 continuous、順序進行的基礎上,又改進了一些,被叫做 syntactic attention layer。它的 motivation 是直接去建模我們 NLP 中的語法樹結構。這一次,我們要從 z_i 變成 z_{ij},用它來表示一對語法樹中的父結點和子結點。用這兩種新的 attention layer,作者在多個任務上都取得了比經典 attention layer 更好的結果。

Hierarchical Memory Networks》[pdf](http://openreview.net/pdf?id=BJ0Ee8cxx)
這篇論文則是將 Memory Networks 改造成了一種 soft attention 和 hard attention 之間的 trade-off。我們都知道,attention mechanism 中的 soft attention 的計算量其實是非常龐大的,hard attention 又不夠 stable——分別取其二者之精華後,這篇論文的作者便想出了 hierarchical memory networks(HMN)。HMN 是利用層次化結構,將 soft attention 每次需要計算的量縮小。那麼如何 「找到」 這種層次化結構呢?它們提出使用一種叫 Maximum Inner Product Search(MIPS)的方法。MIPS 不僅可以建立這種層次化形式的 memory,還能通過計算這個 maximum inner product 的值,找到和 query 最相關的 memory 子集。最後,因為這種 MIPS 的精確計算也很難,它們又提出了幾種近似的計算方法。

Generating Long and Diverse Responses with Neural Conversation Models》[pdf](http://openreview.net/pdf?id=HJDdiT9gl)
這篇論文我也比較推薦。雖然乍一看 Abstract 會覺得並沒有什麼新技術(research point),但其實整篇文章對於當前 sequence-to-sequence conversation models 中存在的問題和背後的原因,分析得相當清楚。並且,這篇論文也修改了 attention 機制,使得以前只依賴於 input(source-side) 的 attention 能融合進已經產生的 output(target-side)的信息——所以被他們成為 target-side attention。作者指出,我們經典的 attention 機制在計算的時候,它的 attended pool 只包含了 C,也就是只包含了 source-side encoder 中的信息——這個模型也就只能 attend 這些 candidates(比如說 input words)。這個本來,在機器翻譯這種任務上是沒問題的,因為畢竟我們的 source sentence 已經包含了我們要產生的全部信息了;但是在對話這種任務上就有問題了。問題是啥呢,我們很多時候,source sentence,也就是用戶說的那句話,是不夠 informative 的,比較短——這個時候反而是 decoder 中已經產生的 output 可能會對我們更有幫助。於是乎,直接的解決辦法就是把 decoder 中已經產生的序列也扔到 attention candidate pool 里去。這樣做還有啥好處呢,好處就是我們的 decoder 的 hidden states 就可以少 「記」 一些已經生成的信息了,也就能更好的去做整體的語義建模和表達。

Sequence to Sequence Transduction with Hard Monotonic Attention》[pdf](http://openreview.net/pdf?id=HkyYqU9lx)
這篇論文的二作是 NLP 里良心出品的 Yoav Goldberg,所以第一時間找來讀了。本文設計的 attention mechanism,也和上面那篇 diverse 有相似之處——比如都考慮了 decoder 端已經產生的 input。更獨特的是,它融入了一種 hard attention 的思想,使得在 decoder 的過程中,decoder 並不是一直在 output(不是每個 step 都產生輸出),而是像被一個 gate 控制一樣,有的時候需要輸出,有的時候則需要重新修改 attention 值(在 encoder 端進行 move)。這樣的好處是,soft attention 是比較依賴於 training data 才能自動學好這種 alignments 的,然而很多時候我們的小語料不存在足夠多的能產生好 alignments 的數據 pair——這時候 hard attention 就能發揮出更好的作用了。其實這個關於 gate 的改進方法,很像 RL NTM。那麼具體來講,他們的主要改造其實就在於那個 control mechanism。這個模型不再只由 decoder 的 output 作為唯一 action,而是增加了 encoder 端 hard attention 的第二種 action——step。所以,當在進行 training 的時候,就會在 step/write 兩種 action 之間進行交替(不是穩定交替),只由噹噹前 action 是 write 的時候,output 才會輸出;否則,當 action 是 step 的時候,encoder 端的 hard attention head 就會 move 一個位置,並且將新的 encoded representation 計算出來。

未完待續!
未完待續!
未完待續!


利用周末時間,快速瀏覽了一些自己關心的論文。
出於個人背景以及工作需要,我主要關心的是:

model interpretationdebuggingmodel compression(一個明顯的感覺,今年在model compression方向相關的論文很多,估計是跟去年Deep Compression斬獲ICLR 16 best paper有很大關係)distributed learningoptimization method以及一些之前我不了解的神經網路模型的應用場景。

限於時間精力,下面的內容更像是瀏覽論文的碎碎拌,有些文章自己花的精力多一些,解釋得會詳細一些,也會有一些自己的critical comments,更多的則只是對論文內容的一個簡短的羅列,並沒有提供自己對文章的comments,而是留待後續的follow-up,所以看到這篇回答的同學可以先有一個預設的期望收益。

1. Model Interpretation Debugging
在[2](http://104.155.136.4:3000/pdf?id=ryF7rTqgl)里Bengio和別人一起propose了一種對神經網路進行probe的interpretation的方法,作法的大致描述如下:
為每個隱藏層引入一個probe layer,這個probe layer與隱藏層之間存在一層線性變換,probe layer會通過訓練樣本的標註構成loss,然後為在固定模型的情況下,來訓練這些probe layer的weights(這些probe layer其實就是linear classifier),然後來看這些probe layer上訓練出的linear classifier probes在測試集上的表現,從而能夠起到下面的一些輔助作用:
引入一層layer是否帶來了額外的收益
加入額外的loss是否帶來了額外的收益
增加branch layer是否帶來了額外的收益
不過,我看到這篇文章的疑問是,在design model topology的過程中,本來不就是應該增加一層layer/loss/branch就應該單獨觀察其對最終效果的影響么?因為文章里propose的方法是單獨來看每個layer的probe的效果,並沒有看inter-layer的組合probe效果,這樣來看,跟自己在design model的過程中,對layer/loss/branch的增加通過試錯方法來進行挨個嘗試似乎並沒有帶來本質的方法論上的變化。這是讓我有些confuse的。雖然文章作者之一是Bengio,但我個人對文章的價值含量還是存在較大的疑問。

[16]里試圖對卷積神經網路提煉出幾種」design pattern」,比如Normalize layer inputs、Available resources guide Network Depth/Summation Joining。我個人感覺,文章里提出的這些」design pattern」還是比較preliminary的工作,對於實際的網路設計的指導意義還比較有限。

[17]里則試圖通過實證的方法來驗證在卷積神經網路里,使用相同數量的模型參數,模型的層級越深,模型質量會越好,從我的角度來看,這篇文章的實證味道還是太重了一些,結論泛化性比較差。

[18]里探索了一種基於Javascript的Deep Learning平台方案,這種方案使得我們可以在瀏覽器里完成DL模型的訓練以及可視化,在這個方案里基於Javascript實現了一套矩陣計算庫,並且還通過WebCL來調用GPU來進行性能加速。比較有趣的是,這個方案里居然還提供了分散式訓練的支持。

在[22](http://104.155.136.4:3000/pdf?id=SJBr9Mcxl)里探索了一種通過模型可視化的方法來理解神經網路中神經元對顏色和label的敏感程度的策略。我看了一下,並沒有感覺文章中提供的方法有什麼讓人眼前一亮的地方,我對文章中方法的理解就是給定一個神經元,將maximize這個neuron activation的top-K的圖片的二進位描述進行加權平均,從而作為這個神經元的NF(Neuron Feature),來觀察不同神經元對顏色和label的敏感程度。有些神經元可能看不到明顯對某個顏色或label的敏感度,我們稱這種神經元為Blur NF,對這類神經元,我們認為是和其他神經元構成一種distributed的表徵方式來對原始輸入圖片進行表徵判別。

在[33](http://104.155.136.4:3000/pdf?id=BJ5UeU9xx)里propose了對深度卷積神經網路進行可視化理解的方法,名之為」prediction difference analysis」,具體來說,給定一個訓練好的分類模型,一張特定圖片,將導致預測成某個分類的圖片區域標識出來,將導致不會預測成某個分類的圖片區域也標識出來,從而形成一張熱力圖,用來獲得對模型的理解。比如下面這張示例圖:

這個方法跟[34]里提出的」occluding」的方法有些相似。

[40]里提出了一種名之為LOTS(layerwise origin-target synthesis)的方法,用於對神經網路的隱藏層進行可視化,同時還可以用於生成對抗性樣本以期提高模型的魯棒性。

[41]這篇文章我並沒有理解清楚其point,因為文章主題跟模型的interpretation相關,而我最近對這個主題正好有所關注,所以會羅列進來,留待後續follow up。

[44]這篇文章里試圖對Deep ResNet能夠在這樣深的網路結構下表現這樣好的原理進行一些探索。

2.Model Compression
在[4]里propose了一種稱之為DeepRebirth的模型壓縮方法,這個壓縮方法與ICLR16的Deep Compression的區別在於,DeepRebirth針對的是non-tensor layer(也就是不帶訓練weight的layer,比如LRN/Batch Normalization/Drop-out/Pooling),在propose優化細節之前,文章先給出了一些經典的CNN模型里的inference環節,non-tensor layer所消耗的時間:

然後提出了DeepRebirth的兩個主要壓縮策略:

Streamline Merging
Branch Merging
如果從我的角度來看,還是覺得DeepRebirth比起DeepCompression在品質上還是有比較明顯的差距。
在Streamline Merging里,convolution與pooling的merging通過加大stride還算有些依據,而直接去掉LRN和batch normalization就感覺有些過於豪放了。
在Branch Merging里,也是對於Inception-V3里的branch layer,直接將pooling這樣的branch給去掉,然後fine-tune merge之後的model。
所以對這篇文章的評價,我並不是很高。裡面的一些作法思路可以借鑒參考,但作法的泛化性和嚴謹度還是比Deep Compression差了不少。

在[8]里,NVIDIA提出了一種模型壓縮的策略。在[8]里,與Deep Compression里直接對weight進行greedy pruning不同,設計了一種迭代式的pruning策略。

在[20]里,Intel提出了一種sparse與dense矩陣混合運算的優化方案,從而為CNN模型的壓縮帶來更多的inference speed收益。在ICLR 16里提出的Deep Compression為代表的模型壓縮技術里,會對卷積層進行壓縮,從而產生一個sparse的CNN Layer,而CNN layer的輸入則會是dense的矩陣,sparse-dense-matrix-multiplication的優化實現是這篇文章里的一個貢獻。另外,在這篇文章里,propose了一種performance model,能夠對給定CNN layer,一定的sparsity比例對性能帶來的收益會進行預估,從而指導model compression的過程,文章里名之為Guide Sparsity Learning。這篇文章我會認為價值含量還是比較高的,值得花時間去精讀。

在[21]里,針對Deep Compression里的quantization方案,propose了進一步的優化。基本的思路是試圖在做quantization的時候,通過loss function相對於各個parameters二階Hessian量,來評估不同parameter的重要性,從而在定長和變長quantization這兩個壓縮場景下,獲得更好的壓縮—模型效果的trade-off。

在[26]里,propose了一種不改變網路結構,但是對網路weight進行增量式quantization的方法,將每個parameter由原始的32位浮點數離散化到2/3/4/5個bit,從而達到模型壓縮的效果。在文章propose的作法里,會先對model weight進行group,將其分為low-precision和full-precision兩類,然後對於full-precision的weights進行re-train,這個過程會迭代進行,直到所有的weight都轉換為low-precision。最後在AlexNet/VGG-16/GoogleNet/ResNet這幾個網路上進行了評測。

在[27]里,提出了一種硬體加速器,用於神經網路的inference環節。這裡propose的硬體加速器與其他加速器的區別是,會在精度的損失與功耗/性能的提升之間建立起一個換算關係,這樣便於用戶在實際使用的時候進行trade-off。

在[39]里,FAIR在FastText這個文本分類模型基礎上提出了一種模型壓縮的策略,對FastText做了進一步壓縮之後,可以比壓縮前節省10倍以上的內存,而模型準確率上的損失並不顯著。

3.Distributed Learning
[5]里在CPU和GPU上對Caffe、SINGA、TensorFlow這三個深度學習框架進行和性能評估。

其中CPU選取了Intel Xeon的一款CPU,IBM Power8 with/without NVLink的兩款CPU,GPU則選擇了NVIDIA比較老的一款K20X以及最新P100(with NVLink support)。

評測模型則選擇了AlexNet/GoogLeNet/LeNet/ConvNet這四個CNN模型。

有一些評測數據還是有些意思,比如處理一個mini-batch的耗時:

再比如K20X和P100在訓練過程中的GPU utilization rate(能夠從側面反映出是否出現IO-bound的情況):

至於多卡以及多機的性能對比,就可以參見論文細節了。

在[6]里針對輸入數據存在多種不同的shape/dim的情形,提出了一種稱之為dynamic batching的技術,這種應用情形在我之前的經驗中遇到的並不多,所以雖然對這篇文章比較好奇,但並沒有去細讀,留到後續follow。

在[9]里試圖為不同的神經網路結構,在特定的軟硬體運行環境中,對其性能狀況進行建模,從而指導具體的訓練過程中的運行配置(需要幾張卡,幾個結點,預計的加速比,等等)。目前[9]在並行加速上只考慮到了data parallelism,未考慮model parallelism。在多機的通信模式下,也沒有考慮比較複雜的非同步通信或是bounded-delay通信。關於通信模式未考慮非同步通信,我覺得可以理解,因為非同步通信是一種有損的加速通信策略,計算吞吐率的上升是以收斂行為發生變化為前提的,而並行模式下只考慮了data parallelism就給人感覺還是覆蓋不足。關於Data Parallelism下allreduce的不同實現,在[9]倒是考慮了一些,比如鏈式的allreduce、tree-based allreduce以及butterfly allreduce,對於更精細的一些allreduce策略,比如butterfly mixing[32],並沒有加以考慮。

在[10]里針對神經網路的分散式訓練,提出了一種通信優化的策略,名之為Linear Pipelining(LP)。這個通信優化策略乍一看起來跟騰訊的Mariana[12]里提出的通信優化策略似乎蠻有些相似之處。理想效果是通信開銷隨著並發卡數或結點數增加而保持近似常量。

在[11]里,對分散式的SGD演算法的實現進行了review。包括標準的同步BSP SGD和非同步SGD。在指出這兩種套路各自的問題之後(低吞吐率 v.s. 差收斂點),propose了一個BSP SGD的變種,說穿了就是Hadoop里對straggler worker的backup instance策略。正好組內的同學剖析TensorFlow 0.9版本的代碼,也看到了相關的實現。如果從創新性來看,這個方法談不上有什麼明顯的新意,不過文章的細節處理得很不錯,針對不同分散式SGD演算法的收斂速度、收斂模型的質量以及開設不同的backup worker數對不同模型的收斂速度的影響做了蠻細緻的量化分析,這是我覺得比較出彩的地方。

在[36]里為GPU訓練大詞典的語言模型這種任務場景propose了一種softmax的近似計算方案。在[36]里把這個方案與經典的Hierarchy Softmax以及其他負採樣技術進行了對比,claim在保證on-par性能的同時 ,獲得取跟原始精確版softmax最接近的模型表現。

4.Optimization Method
[7]提出了一種在複雜神經網路模型訓練過程中,為gradient增加高斯雜訊,從而改善模型質量的方法。

方法的描述很簡單:

g_t 	o g_t + N(0,sigma_t^2 ); sigma_t = frac {eta}{(1+t)^gamma}
其中,eta是一個超參數,高斯雜訊的方差會隨時間推移基於模擬退火策略進行decay。
這個方法看起來很簡單,倒是在一些模型里獲得了比較明顯的提升,比如在Neural Programmer模型和一些QA模型里,但也在一些模型上沒有發現提升。

[13]對於神經網路模型訓練演算法SGD隨著batch size增得過大會出現overfit的問題進行了實證分析,試圖通過這些現象說明,當mini-batch的size過大時,模型會收斂到比較尖的local minima點,這與overfit的表現看起來比較一致。並且試圖propose一些方法,來mitigate當mini-batch過大時的over-fit的問題,雖然這些方法的效果截止論文發表時效果都還並不明顯。不過這篇文章還是能夠幫助我們打開一些思路,我們都知道,分散式訓練過程中,batch size越大,計算通信比就越高,也對並行加速越有力,但是batch size設到多大比較合適?如果設得過大了,帶來overfit的風險,是否可以輔之以一些mitigation策略來避免這種影響,從而保障並行加速的收益?這是我覺得這篇文章對我會有所啟發的地方。

[14]對ResNet為什麼能夠通過引入short-cut connection使得huge-deep網路的模型質量得到保證進行了一些理論化的分析。這篇文章的理論性較強,我並沒有仔細閱讀 。留待後面去follow up。

[23]里propose了一種新的優化演算法,在這個優化演算法里,對loss function進行了調整,為loss function增加了一個叫作」local entropy」的項。

[24]里則propose了一種新的激活函數—PELU,這是ELU(Exponential Linear Unit)的參數化變種,類似於PReLU與ReLU的關係。ELU是2015年在[25]里被提出的激活函數,被引用的動機是為了緩解神經網路訓練過程中bias shift(神經元的期望均值發生飄移)的問題,PELU則是在ELU的基礎上,將一些magic number給參數化,使其可以結合訓練數據被learn出來。

[38]里propose了一種新的優化演算法Eve,在Eve里,通過tracking目標函數的變化,基於目標函數的變化用作反饋信號來調整learning rate。從這個描述可以看得出來Eve實際上是一種根據objective function的變化,調整learning rate的策略框架,可以應用到不同的優化演算法里,比如Adam,在[38]里也的確將Eve應用在Adam上,與原始的Adam演算法進行了比較,並且在CNN和RNN這兩種網路上與其他優化演算法進行了性能評測。我比較好奇的是,之前的優化演算法,通常會結合參數gradient的變化情況來調整learning rate,為什麼Eve加入了對目標函數變化的考慮,就能claim獲得進一步的性能收益。目標函數的變化相較於gradient的變化,提供了哪些額外的信息?

[42]里對神經網路的error surface做了一些研究。這兩年有一種觀點,認為雖然多層神經網路的error surface是non-convex的,但是最終學到的local minima往往表現還不錯的原因是因為這些local minima與global minima其實很接近。而[42]試圖通過構造一些counter-example來給出反證,並推導論證模型訓練初始點的選取對模型最終質量的影響。

5.Data Augmentation
[35]里propose了一種新的domain-independent的數據擴充策略,與我們通常使用的data augmentation策略不同,在[35]里是直接在隱藏層的feature space里進行數據擴充。

6.Application
在[15]里將神經網路語言模型應用於為Python語言訓練code suggestion工具,類似工作之前聽說有國外的start-up在做,這回是第一回看到相關的論文,倒也是挺有意思。

在[19]里則基於神經網路設計了一種入侵檢測的技術方案。將Machine Learning技術應用於安全領域從21世紀初就已經有人在這麼幹了,包括工業界也有公司將其應用到具體產品中(比如Qihoo的QVM引擎),將神經網路也應用到這個領域在我看來只不過是技術方案的進一步升級,倒也蠻自然。

在[30]里對ImageNet近四年比賽中的一些model AlexNet/VGG/ResNet/GooLeNet進行了量化評估,評估重點集中在accuracy與inference時間的關係、功耗、inference時間與batch size的關係、內存消耗、計算操作數等。文章的評估是在Torch上做的,給出的數字是否客觀還需要進一步驗證。文章的定位是期望為設計更有效的神經網路模型提供參考,但我的感覺,文章更多是關注在inference環節的內存、功耗、性能問題,而如果在設計網路的時候,就考慮到inference環節的很多約束,是不是一個好的工作模式,我其實是存在一定的疑問的。畢竟,從工作切分的角度來說,兩個phase的工作能夠正交化是最理想的情況。這也是我個人認為近兩年模型壓縮以及神經網路硬體加速器會出現諸多進展的原因。當然,計算機行業總會存在大量的leaky abstraction[31],所以,肯定會存在training和inference不能完全解耦的情形,從這個角度上來說,文章提出的對網路模型進行定量評估的思路還是有一些參考價值的。

在[37]里針對Walmart的數據集,把商品文本描述和圖片信息融合在一起,進行商品多標籤分類。在[37]里分別嘗試了文本和圖片的特徵級融合,以及分類器級別的融合。分類器級別的融合 本質上其實可以視為一種模型ensemble的策略。而特徵級的融合,在[37]被claim說效果並不如分類器級別的模型ensemble表現好。

7.Reinforcement Learning
[28]里將強化學習的方法引入,用來指導RNN構建的語音生成模型,並且在[29]里提供了代碼鏈接。強化學習方面的內容我目前關注不多,對這篇文章的key point並沒有把握得很清晰,還是有一個困惑,因為我看到了文章里試圖通過在RL里引入樂理知識來指導RNN生成模型,但我的point是為什麼不直接將樂理知識encode到RNN生成模型的loss里,看起來更general一些呢?

[43]里則將強化學習的方法用於設計深度卷積神經網路,並將學出來的模型與其他的baseline模型進行了性能對比。在[43]里,會對卷積層的深度、kernel size、stride size,Pooling層的stride size以及fc層的神經元個數通過RL的方法進行探索。

References:

[1]. ICLR 2017. Update -
[2]. Yoshua Bengio. Understanding Intermediate Layers Using Linear Classifier Probes. ICLR 2017.

[3]. https://www.youtube.com/watch?v=x8j4ZHCR2FI [2]的配套demo視頻

[4]. Dawei Li. DEEPREBIRTH: A GENERAL APPROACH FOR ACCELERATING DEEP NEURAL NETWORK EXECUTION ON MOBILE DEVICES. ICLR 2017.

[5].Shayan Shams. EVALUATION OF DEEP LEARNING FRAMEWORKS OVER DIFFERENT HPC ARCHITECTURES. ICLR 2017.

[6]. Peter Norvig. DEEP LEARNING WITH DYNAMIC COMPUTATION GRAPHS. ICLR 2017.

[7]. Quoc V.Lee. ADDING GRADIENT NOISE IMPROVES LEARNING FOR VERY DEEP NETWORKS. ICLR 2017.

[8]. NVIDIA. PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE. ICLR 2017.

[9]. Hang Qi. PALEO: A PERFORMANCE MODEL FOR DEEP NEURAL NETWORKS. ICLR 2017

[10]. Linan Wang. EFFICIENT COMMUNICATIONS IN TRAINING LARGE SCALE NEURAL NETWORKS. ICLR 2017.

[11]. Google Brain. REVISITING DISTRIBUTED SYNCHRONOUS SGD. ICLR 2017.

[12]. Yongqiang Zou. Mariana: Tencent Deep Learning Platform and its Applications. VLDB 2014.

[13]. Nitish Shirish Keskar. ON LARGE-BATCH TRAINING FOR DEEP LEARNING: GENERALIZATION GAP AND SHARP MINIMA. ICLR 2017.

[14]. Sihan Li. DEMYSTIFYING RESNET. ICLR 2017.

[15]. Avishkar Bhoopchand. Learning Python Code Suggestion with a Sparse Pointer Network. ICLR 1017.

[16]. Lesile N.Smith. DEEP CONVOLUTIONAL NEURAL NETWORK DESIGN PATTERNS. ICLR 2017.

[17]. Gregor Urban. DO DEEP CONVOLUTIONAL NETS REALLY NEED TO BE DEEP AND CONVOLUTIONAL. ICLR 2017.

[18]. Masatoshi Hidaka. DEVELOPMENT OF JAVASCRIPT-BASED DEEP LEARNING PLATFORM AND APPLICATION TO DISTRIBUTED TRAINING. ICLR 2017.

[19]. Gyuwan Kim. LSTM-BASED SYSTEM-CALL LANGUAGE MODELING AND ROBUST ENSEMBLE METHOD FOR DESIGNING HOST-BASED INTRUSION DETECTION SYSTEMS. ICLR 2017.

[20]. Intel. FASTER CNNS WITH DIRECT SPARSE CONVOLUTIONS AND GUIDED PRUNING. ICLR 2017.

[21]. Yoojin Choi. TOWARDS THE LIMIT OF NETWORK QUANTIZATION. ICLR 2017.

[22]. Ivet Rafegas. UNDERSTANDING TRAINED CNNS BY INDEXING NEURON SELECTIVITY. ICLR 2017.

[23]. Pratik Chaudhuri. ENTROPY-SGD: BIASING GRADIENT DESCENT INTO WIDE VALLEYS. ICLR 2017.

[24]. Ludovic Trottier. PARAMETRIC EXPONENTIAL LINEAR UNIT FOR DEEP CONVOLUTIONAL NEURAL NETWORKS. ICLR 2017.

[25]. Djork-Arne Clevert. Fast and accurate deep network learning by exponential linear units. Arxiv, 2015.

[26]. Intel Lab China. INCREMENTAL NETWORK QUANTIZATION: TOWARDS LOSSLESS CNNS WITH LOW-PRECISION WEIGHTS. ICLR 2017.

[27]. Alberto Delmas Lascorz. TARTAN: ACCELERATING FULLY-CONNECTED AND CONVOLUTIONAL LAYERS IN DEEP LEARNING NETWORKS BY EXPLOITING NUMERICAL PRECISION VARIABILITY. ICLR 2017.

[28]. Google Brain.TUNING RECURRENT NEURAL NETWORKS WITH REINFORCEMENT LEARNING. ICLR 2017.

[29]. GitHub - natashamjaques/magenta at rl-tuner .

[30]. Alfredo Canziani. AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS. ICLR 2017.

[31]. Leaky Abstraction. Leaky abstraction .

[32]. Huasha Zhao. Butterfly Mixing: Accelerating Incremental-Update Algorithms on Clusters. 2013.

[33]. Luisa M Zintgraf. VISUALIZING DEEP NEURAL NETWORK DECISIONS: PREDICTION DIFFERENCE ANALYSIS. ICLR 2017.

[34]. Matthew D.Zeiler. Visualizing and Understanding Convolutional Networks. Arxiv, 2011.
[35]. Terrance DeVries. DATASET AUGMENTATION IN FEATURE SPACE. ICLR 2017.

[36]. édouard Grave. EFFICIENT SOFTMAX APPROXIMATION FOR GPUS. ICLR 2017.

[37]. Walmart Labs. IS A PICTURE WORTH A THOUSAND WORDS? A DEEP MULTI-MODAL FUSION ARCHITECTURE FOR PRODUCT CLASSIFICATION IN E-COMMERCE. ICLR 2017.

[38]. Jayanth Koushik. IMPROVING STOCHASTIC GRADIENT DESCENT WITH FEEDBACK. ICLR 2017.

[39]. FAIR. FASTTEXT.ZIP: COMPRESSING TEXT CLASSIFICATION MODELS. ICLR 2017.

[40]. Andras Rozsa. EXPLORING LOTS IN DEEP NEURAL NETWORKS. ICLR 2017.

[41]. Stefan Carlsson. THE PREIMAGE OF RECTIFIER NETWORK ACTIVITIES. ICLR 2017.

[42]. DeepMind. LOCAL MINIMA IN TRAINING OF DEEP NETWORKS. ICLR 2017.

[43]. Bowen Baker. DESIGNING NEURAL NETWORK ARCHITECTURES USING REINFORCEMENT LEARNING. ICLR 2017.

[44]. Etat Littwin. THE LOSS SURFACE OF RESIDUAL NETWORKS: ENSEMBLES THE ROLE OF BATCH NORMALIZATION. ICLR 2017.


謝邀。 @周博磊已經回答得很好了,這個是我夾帶私貨的部分小結:

ICLR總結 - 遠東軼事 - 知乎專欄


大多文章都屬於跟風型,研究都太浮躁了,大家可評論下這兩篇文章。
An Information-Theoretic Framework for Fast and Robust Unsupervised Learning via Neural Population Infomax
http://openreview.net/forum?id=SkYbF1slg
Symmetry-Breaking Convergence Analysis of Certain Two-layered Neural Networks with ReLU nonlinearity
http://openreview.net/forum?id=Hk85q85ee


我發現這篇文章很不錯
Deep Learning: The Unreasonable Effectiveness of Randomness
https://medium.com/intuitionmachine/deep-learning-the-unreasonable-effectiveness-of-randomness-14d5aef13f87#.f3to72ufh
結合ICLR的文章介紹了一些DL趨勢


ICLR還沒被CCF收錄(連C類都不是),國內高校學生都不願意投。


謝邀。
上周實在沒空刷,結果今天一刷,GAN簡直稱霸半邊天,Generative這個詞的出現頻率簡直。。厲害了word的哥。。。
還有Yoshua Bengio大神依然致力於unsupervise,前半段看到四篇有他的指導或參與的,兩篇unsupervise,一篇generative,還有一篇是modify network。。


各種conditional GAN,繼DRL發明以來的又一偉大發明


推薦閱讀:

如何用簡單易懂的例子解釋條件隨機場(CRF)模型?它和HMM有什麼區別?
在 Caffe 中如何計算卷積?
卷積神經網路工作原理直觀的解釋?
在與 AlphaGo(包括 Master) 的對局中是否出現了一些人類歷史上從未想到過的著法、技巧?
如何理解感知機學習演算法的對偶形式?

TAG:Facebook | 人工智慧 | 機器學習 | 神經網路 | 深度學習(Deep Learning) |