張量化網絡論文彙總(2015年-2020年)

用張量分解的方法壓縮神經網絡模型這一方向還有哪些坑可以挖呢?這是我研究生以來一直研究的問題。看了很多論文,感覺大體可以分爲兩條line:

(一)基於低秩近似的張量分解方法
也就是對原有的模型參數做低秩張量分解,用分解後得到的因子替換原有的大張量。這一過程後通常還需要一個fine-tune的過程。其中的難點就是怎麼從大的張量中保留最有價值的參數留下來,作爲一個很好的初始參數值。

(二)張量化網絡
用張量分解得到的因子重新定義新的網絡結構,新的張量計算方法代替原來的卷積操作或全連接層的矩陣運算。這一方法姑且就叫張量化網絡吧,下面是該方向的論文彙總,按時間順序排列。

1.《Tensorizing Neural Networks》(NIPS2015)
2.《Ultimate tensorization compressing convolutional and FC layers alike》(NIPS2016 workshop)
3.《Compressing recurrent neural network with tensor train 》(IJCNN2017)
4.《Tensor-Train Recurrent Neural Networks for Video Classification》(ICML2017)
5.《Learning Compact Recurrent Neural Networks with Block-Term Tensor Decomposition》(CVPR2018)
6.《Sharing Residual Units Through Collective Tensor Factorization》(IJCAI2018)
7.《Tensor Regression Networks》(2018)
8.《Tensor Regression Networks with various Low-Rank Tensor Approximations》(2018)
9.《Wide Compression:Tensor Ring Nets 》(CVPR2018)
10.《Compressing Recurrent Neural Networks with Tensor Ring for Action Recognition》(AAAI2019)
11.《Bayesian Tensorized Neural Networks with Automatic Rank Selection》(2019)
12.《Robust deep networks with randomized tensor regression layers》(2019)
13.《Compressing Deep Neural Networks via AdaptiveDimension Adjustment Tucker Decomposition》(2019)
14.《Compression and Interpretability of Deep Neural Networks via Tucker Tensor Layer:From First Principles to Tensor Valued Back-Propagation》(2020)
從時間順序上來看這條line的發展脈絡還蠻清晰的

1,2是這個方向的開篇之作,用tensor train分解方法分別重新定義了全連接層和卷積層,都是先將它們reshape成更高維的張量。

3,4都是基於1做的,方法基本相同,只不過擴展到了RNN網絡中。

5同樣是對RNN網絡做壓縮,只不過換了一種分解方法block-term分解。

6和之前的思想不是十分相同,它利用了block-term分解後的參數形式對各種resnet殘差網絡用一個框架表示。tucker分解後的參數可以轉化爲11,33,1*1的卷積層,早在2016年就有。而block-term分解是tucker分解的一種泛化形式,可以看做多個tucker的集成。

7,8是一組,它們針對的神經網絡中的最後一層分類層。

9用了一種新提出的tensor ring分解方法,對卷積和全連接層都進行了重新的表示。

10和9的方法一樣,只不過任務不一樣,不過10這篇論文寫的真好,一讀就懂。

11用了貝葉斯推理法,看不懂。

12是7,8的後續工作,將隨機的思想添加了進來。

13主要研究的是分解前將參數reshape成哪種維度比較好,並且core tensor的維度怎麼取比較好。

14試圖通過張量對神經網絡模型的可解釋性進行探索,主要通過對tucker分解後的因子求偏導,比較大小。

總結下來,其實並沒有很大的飛躍,基本就是有了新的更好的張量分解方法就將其應用在網絡的參數上;或是應用在不同的神經網絡模型上;或是研究一下分解之前把全連接層的矩陣和卷積層的四維張量reshape成多大維度的張量。難點主要是秩的選擇。因爲張量分解中的秩決定分解後因子的維度,也就是決定了張量化後的網絡模型的結構。而目前幾乎所有的工作都是憑經驗指定的或者通過實驗挑選最優的。

未來能刨的坑還有很多!

以上轉載自博客 link.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章