本周,我在加拿大蒙特利爾參加了NIPS(Neural Information Processing Systems,神經(jīng)信息處理系統(tǒng))2015年論壇。這是一次令人難以置信的經(jīng)歷,就像從信息海洋中汲水一樣。特別感謝我的雇主Dropbox派遣我參加這場(chǎng)會(huì)議(我們正在招人)。
這里是本周我注意到的一些趨勢(shì);注意到這些趨勢(shì)更偏向于深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)(reinforcement learning),因?yàn)樗鼈兪俏以谶@次論壇中參加的主要部分。
神經(jīng)網(wǎng)絡(luò)框架變得越來(lái)越復(fù)雜而精密
在感知、語(yǔ)言翻譯等等方面的大部分最先進(jìn)的神經(jīng)網(wǎng)絡(luò)框架正在發(fā)展并且不在僅僅關(guān)于簡(jiǎn)單前饋式(feed forward)框架或者卷積式框架(convolutional)。特別地,它們正在混合并匹配不同的神經(jīng)網(wǎng)絡(luò)技術(shù)如LSTMs、卷積、自定義目標(biāo)函數(shù)、多皮層柱(multiple cortical columns)等等。
所有最酷的系統(tǒng)都在使用 LSTMs
大部分最先進(jìn)的系統(tǒng)都將LSTMs納入到系統(tǒng)中,以使系統(tǒng)具有捕捉重復(fù)模式的記憶力。
“注意力模型”在升溫
一些系統(tǒng),但不是全部,開始放到“注意力模型”的背景中,或者說(shuō)讓神經(jīng)網(wǎng)絡(luò)在完成任務(wù)的過程中試圖學(xué)習(xí)在哪里放置其“注意力”。這些還不是一個(gè)正規(guī)神經(jīng)網(wǎng)絡(luò)流水線中的一部分,但是已經(jīng)時(shí)不時(shí)的出現(xiàn)在模型中了。
神經(jīng)圖靈機(jī)仍然有趣,但并沒有影響到實(shí)際工作
神經(jīng)網(wǎng)絡(luò)圖靈機(jī)(Neural Turing Machines)的研究,或者說(shuō)能夠有差異地訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)算法,仍然有趣,但是還沒有應(yīng)用到實(shí)際工作中。它們還很復(fù)雜并且目前只能解決玩具問題(toy problems)。
計(jì)算機(jī)視覺和自然語(yǔ)言處理,會(huì)變得幾乎不可分離——在電腦視覺和自然語(yǔ)言處理的領(lǐng)域的深度學(xué)習(xí)正在互相融合
卷積神經(jīng)網(wǎng)絡(luò)第一次出現(xiàn)是在電腦視覺中,但是現(xiàn)在用于一些自然語(yǔ)言處理(NLP)中了,LSTMs和主流對(duì)遞歸神經(jīng)網(wǎng)絡(luò)使用的傾向性,第一次做出引人注目的成果是在NLP任務(wù)中——如序列到序列的翻譯(sequence-to-sequence translation),然而現(xiàn)在通過修剪被納入到電腦視覺神經(jīng)網(wǎng)絡(luò)任務(wù)中。
另外,電腦視覺和NLP的交叉部分再加上在如圖片捕捉任務(wù)中使用到的常見的嵌入(embeddings)技術(shù),還很熱門。
符號(hào)微分法越來(lái)越重要
隨著神經(jīng)網(wǎng)絡(luò)框架和它們的目標(biāo)函數(shù)可以自定義,同時(shí)也變得越來(lái)越復(fù)雜,人為手動(dòng)提取它們反向傳播中的梯度變得越來(lái)越難,也容易出錯(cuò)。最新的工具包如谷歌的TensorFlow有了自動(dòng)符號(hào)微分,所以你可以構(gòu)建你的框架和目標(biāo)函數(shù),在訓(xùn)練過程中工具包會(huì)在眾多的碎片中自動(dòng)地找出正確的微分來(lái)保證誤差梯度可以反向傳播。
神經(jīng)網(wǎng)絡(luò)模型壓縮帶來(lái)了越來(lái)越多令人驚喜的結(jié)果
多個(gè)團(tuán)隊(duì)展示了不同的方式來(lái)劇烈地壓縮一個(gè)訓(xùn)練過的模型的權(quán)重?cái)?shù)量:二值化(binarization)、固定浮點(diǎn)(fixed floating point)、迭代剪枝(iterative pruning)和微調(diào)措施(fine tuning steps)等等更多。
這些方法為許多應(yīng)用帶來(lái)了可能:有可能將很復(fù)雜的模型適配到手機(jī)上,例如,與云端無(wú)延遲的對(duì)話來(lái)得到結(jié)果,如語(yǔ)音識(shí)別。另外,如果我們能夠高幀率的快速查詢一個(gè)模型(因?yàn)樗目臻g和計(jì)算運(yùn)行時(shí)間成本很低,如30 FPS),那么在移動(dòng)裝置上使用復(fù)雜的、訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型來(lái)完成接近實(shí)時(shí)的新類型電腦視覺任務(wù)就有可能了。
NIPS展示了這些壓縮技術(shù),但是我沒有看到任何人應(yīng)用它們。我覺得我們?cè)?016年可能見到相應(yīng)的應(yīng)用。
深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的交叉在繼續(xù)
雖然今年NIPS沒有展示關(guān)于強(qiáng)化學(xué)習(xí)的主要結(jié)果,但是深度強(qiáng)化學(xué)習(xí)研究討論室只剩下站立的地方,他們展示了深度神經(jīng)網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)的計(jì)劃能力兩者結(jié)合給人帶來(lái)的令人興奮的可能。
在這個(gè)領(lǐng)域一些令人興奮的工作正在發(fā)生,如端對(duì)端機(jī)器人,使用深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)來(lái)完成原始傳感器數(shù)據(jù)到實(shí)際動(dòng)作執(zhí)行器的直接過度。我們正從過去的只是分類一步步發(fā)展到試圖理解如何在方程中加入計(jì)劃和行動(dòng)。還有更多的工作要做,但是早期工作很令人興奮。
如果你沒使用批量歸一化,那么現(xiàn)在應(yīng)該開始了
批量歸一化(batch normalization)正被考慮成為神經(jīng)網(wǎng)絡(luò)工具包的一個(gè)標(biāo)準(zhǔn)部分,并在論壇的整體工作過程中作為參考(reference)。
神經(jīng)網(wǎng)絡(luò)和產(chǎn)品應(yīng)用,應(yīng)該攜手同行
你需要讓研究人員創(chuàng)造新的神經(jīng)網(wǎng)絡(luò)方法,而且也有途徑將這些方法快速擴(kuò)展到實(shí)際應(yīng)用產(chǎn)品中。谷歌的TensorFlow是數(shù)據(jù)庫(kù)中很少做到這一點(diǎn)的平臺(tái)之一:研究人員可以快速創(chuàng)造新的網(wǎng)絡(luò)拓?fù)淙鐖D像,然后這些能夠擴(kuò)展在不同的配置中——如使用像Python或C++主流程序語(yǔ)言的單個(gè)設(shè)備、多個(gè)設(shè)備或者是移動(dòng)設(shè)備中。
然而,注意到TensorFlow還在早期階段;Caffe現(xiàn)在倒是能使用。TensorFlow的單裝置表現(xiàn)不如其他的構(gòu)架;谷歌也宣稱不久他們會(huì)公布一個(gè)使用Kubernetes和gRPC的分布式版本但是分布式訓(xùn)練尚未發(fā)揮作用;并且使用TensorFlow目前還不能在亞馬遜的AWS上運(yùn)行。盡管如此,TensorFlow的前景可期。
源:coding in paradise
譯者:張巨巖
作者:Brad Neuberg 是一個(gè)在Dropbox做新產(chǎn)品開發(fā)的工程師