機器學習論文簡析
人工智能和機器學習領域的學術論文汗牛充棟。每年的各大頂級會議、研討班錄用好幾千篇論文,即便是親臨現場也很難追蹤到所有的前沿信息。在時間精力有限的情況下,選擇精讀哪些論文,學習哪些熱門技術就成為了AI學者和從業人員所頭痛的問題。本欄目旨在要幫助大家篩選出有意思的論文,解讀出論文的核心思想,為精讀提供閱讀指導。
NIPS(Neural Information Processing Systems,神經信息處理系統進展大會)是每年12月由NIPS基金會主辦的人工智能和機器學習頂級會議,每年大會都吸引了機器學習、人工智能、統計等領域的眾多國際專家前來參與。筆者從NIPS 2016會議文章中精選出10篇有意思的文章,為讀者解惑。
Using Fast Weights to Attend to the Recent
亮點:在Short-Term Memory、Long-Term Memory以及LSTM之外,有什么更好的Attention機制呢?
本文作者陣容豪華,有來自多倫多大學的Jimmy Ba、Google DeepMind的Volodymyr Mnih、Joel Leibo以及Catalin Ionescu,外加Geoffrey Hinton坐鎮。文章一開始講明了現在的問題,在傳統的Recurrent Neural Networks(RNN)領域,有兩種形式的Memory。這兩種Memory形式有不一樣的結構、目的和容量(Capacity)。Short-Term Memory直接通過Hidden Vector來存放信息,容量是O(H),這里H是Hidden Units的數量。而另一方面,Long-Term Memory通過現在的輸入信息和Hidden Vector,來得到下一步的輸出信息以及新的Hidden Vector,總共的容量是O(H2)+O(IH)+O(HO),這里I和O是輸入單元以及輸出單元的數量。另外一種比較傳統的Long Short-Term Memory Networks(LSTM)依然只擁有O(H)的處理Short-Term Memory的能力。文章的核心是想提出一種能夠更加有效地提供記憶的機制。當然,文章用了一小節從生理學的角度來講如何有這樣的啟發,不過這恐怕主要想把文章的立意拔高,其實和后面的主要模型部分并沒有直接的聯系。簡單說來,這篇文章提出的模型基于傳統的RNN進行了這樣的改進:
下一步的Hidden Vector來自于兩個因素:
當前的Hidden Vector和當前的輸入信息;
一個類似Attention機制的但這篇文章叫做Fast Weights的Matrix作用于之前的Hidden Vector。
這個Fast Weights隨著時間的推移,會有一個衰減信息。
如何理解Fast Weights呢?直觀來說, Fast Weights是一個Attention機制,把現在的Hidden Vector和過去的任意Hidden Vector進行比較,通過Outer Product的結果來決定Attention的強度。有了這么一種Attention機制,整個模型就能夠對過去類似的記憶進行回憶,產生一個可以對近期的信息進行綜合反應的效果。在穩定Fast Weights的目的下,文章還使用了Layer Normalization技術。文章的一些實驗結果驚人,比如在一個人造的數據集上,模型效果能夠很容易達到0錯誤率。而在MNIST的數據上做Visual Attention,提出的模型也能有非常不錯的效果。總之,這篇文章值得泛讀。對于研究Attention機制的讀者來說,是一個精讀的材料。
Learning Structured Sparsity in Deep Neural Networks
亮點:如何把前幾年盛行的Structured Sparisity和DNN結合?這篇文章給出了思路。
這篇文章來自匹茲堡大學的研究人員,核心內容非常清晰,那就是要引入Structured Sparsity到DNN來,使得最終的DNN有一個比較緊湊的表示,加快運算速度,同時能夠得到硬件友善的表現形式,讓硬件能夠比較快地執行。雖然之前已經有了一些工作來對DNN進行壓縮,但這篇文章的作者認為,這些壓縮方法(比如直接使用L1 Regularization),可能會讓網絡得到一些隨機(Random)的鏈接,使得內存訪問變得不常規(Iregular)。在這樣的情況下,新的模型,雖然表面上有很大的Sparsity,但是并沒有加快運算速度,有時候甚至還有減少。另外一種最近的思路,就是最近采用的Low-Rank Approximation方法。簡單說來這種方法為先訓練DNN,然后每層得到的Tensor被分解,并且被更小的Factor所替代逼近。這種方法的好處是能夠達到加速,壞處則是需要最終重新Fine-Tune模型的精度。顯然,這篇文章就是要解決上述缺點。文章作者把前幾年火熱的Structured Sparisty Learning(SSL)和DNN相結合。具體說來,就是采用了Group Lasso的方法來讓DNN的參數能夠結構化置0。在這篇文章里,作者采用了三種方法:
懲罰(Penalizing)不重要的Filter和Channel:把一些Filter和Channel置0;
學習任意形狀的Filter:在2D空間上學習通過置0,達到學習任意形狀的要求;
縮短DNN的層數:徹底移除整個層,通過增加Shortcut的方法來達到不產生斷層的情況。
文章并沒有提供在SSL和DNN相結合的情況下的Learning算法。實驗部分非常詳實,用LeNet在MNIST、ConvNet和ResNet在CIFAR-10以及AlexNet在ImageNet上都做了實驗。總體的感覺是,在很多例子的情況下,更加Sparsity的DNN反而帶來了精度的提高。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%