卷積層和分類層,哪個更重要?
點擊左上方藍(lán)字關(guān)注我們

卷積層和分類層,哪個更重要?
在分類任務(wù)里,一個網(wǎng)絡(luò)能達(dá)到比較好的效果,那么是其中提feature的卷積層效果比較好呢,還是分類器訓(xùn)練的比較好?哪個更重要一點呢?
因為我想直接拿預(yù)訓(xùn)練的網(wǎng)絡(luò)提的feature做其他的事情,并不是要單純完成分類任務(wù),所以我不確定卷積層提的feature是不是就是我想要的,因此提出這個問題。
夕小瑤
機(jī)器學(xué)習(xí) 話題的優(yōu)秀回答者
這個問題雖然問的很大,但是在細(xì)分領(lǐng)域內(nèi)蠻有意思的(感謝題主你將討論范圍限定在分類,要不然真沒法答了)
正好以前研究過這個問題,基于圖像和文本這兩個經(jīng)典領(lǐng)域說一下吧。先說感性結(jié)論,強(qiáng)特征數(shù)量多但是容易提取的話分類層更重要,反之卷積層更重要。壓榨分類性能的話依然是卷積層更重要。
圖像分類場景
圖像任務(wù)貌似沒什么懸念,從LeNet,AlexNet到GoogLeNet, ResNet等,卷積層數(shù)的加深對模型性能的提升是大家有目共睹的事情,這其中一個很重要的原因就是圖像數(shù)據(jù)中對于分類描述能力強(qiáng)的特征往往隱藏的很深,難以直接在原始像素數(shù)據(jù)中描述。以人臉檢測為例,想象一下手寫一個規(guī)則來映射像素值到高level特征“嘴”的難度。但是,想象一下,如果我們得到了一個樣本的高level特征,比如特征向量的每個維度分別描述圖片里有眼睛,鼻子,嘴的可能性,那么這時再做人臉檢測的話是不是就容易多了?手寫規(guī)則都感覺貌似可以做的不錯(一條簡單粗暴的規(guī)則:設(shè)置一個決策閾值將各個特征cast到bool型,然后眼睛+鼻子+嘴=人臉,else=無人臉)。
也就是說,在人臉檢測任務(wù)中,強(qiáng)分類特征隱藏很深但是數(shù)量不多,一旦提取到了這些較為有效的特征,分類就變得異常容易(相對來說)。所以對于圖像分類來說當(dāng)然是要花大精力去提取這些特征啊,所以你看,大佬們把卷積層做的這么深,分類層卻沒太大的變化,懂了吧~(當(dāng)然,這里說的眼睛,鼻子,嘴等強(qiáng)特征不一定能被深度卷積層學(xué)習(xí)到,但是毫無疑問的是頂層卷積層的神經(jīng)元一定學(xué)到了其他類似的強(qiáng)特征[1])
文本分類場景
文本分類則恰好是對面的世界。試想一下,你要對文本進(jìn)行情感分類時,文本里的有效特征容易get嗎?簡直一想一大把哇,比如“開心”,“好棒”,“難過”,“煩”,“傷心“都是對于分類來說非常實錘的強(qiáng)特征,基本上只要樣本里出現(xiàn)了其中一個特征,就能以非常大的把握決定這個樣本的情感極性。也就是說,文本分類里的強(qiáng)特征藏的非常淺,從原始數(shù)據(jù)里可以輕松描述。但是,這些強(qiáng)特征也非常之多,情感詞有多少?情感短語呢?是不是覺得數(shù)不清哇?數(shù)不清就對啦~
但是,拿到一個樣本的一組強(qiáng)特征后,好不好準(zhǔn)確分類呢?對于大部分樣本來說,直接學(xué)習(xí)每個特征的權(quán)重然后做個簡單的加權(quán)就好咯,這確實可以取得非常好的效果,因此樸素貝葉斯這個異常簡單的線性分類器以及2014Kim提出的這個簡單的淺卷積文本分類器[5](俗稱TextCNN)可以在文檔分類任務(wù)中取得非常高的性能。如圖1。

但是總有一些描述“隱晦”的樣本,可能明褒暗貶,那這種線性分類器就無力了。怎么辦呢?
當(dāng)然是加強(qiáng)分類層呀~讓分類層給每個情感詞的重要性打分!讓分類層去描述中性詞與情感詞的作用關(guān)系,讓分類層找出情感詞共現(xiàn)的分類規(guī)律,反正我提取特征的層已經(jīng)給你把特征提取出來了哼。
好了口說無憑,近年來已經(jīng)有不止一篇paper專門研究文本分類里的卷積層深淺的有效性問題,[2]使用[4]這個簡單的一層卷積+線性分類就已經(jīng)足以讓文本分類取得非常好的效果了,而作者將DenseNet直接拿來用發(fā)現(xiàn)效果很差勁,性能如下表。

[3]類似。同時[4]提出的DAN(Deep Averaging Nets)恰好是指出特征隨便提取一下(僅使用神經(jīng)詞袋模型),然后分類層瘋狂加深,則發(fā)現(xiàn)可以大幅提升文本語義的描述能力,如圖2。

同時我自己也做了一下相關(guān)研究,發(fā)現(xiàn)僅使用1層CNN+3層全連接即在大多數(shù)文本分類數(shù)據(jù)集上超過了當(dāng)時的state-of-art,當(dāng)時做實驗時首先用的是1層CNN1層全連接,也就是2014Kim[5]的這個經(jīng)典結(jié)構(gòu),然后加深CNN卻發(fā)現(xiàn)模型性能不升反降,但是加深全連接卻明顯提升,加到3層時提升的效果很顯著,4層又能得到小幅提升,5層出現(xiàn)下降,6層下降明顯。所以在出現(xiàn)提取了大量強(qiáng)特征的情況時,考慮加深一下分類層還是比較有意義的嘗試。
“職責(zé)轉(zhuǎn)移”問題
直到2017ACL上有篇文章提出的Deep Pyramid CNN (DPCNN)[6],才讓人覺得貌似word-level的文本分類模型也是可以做的很深嘛,只不過確實要設(shè)計的非常謹(jǐn)慎。DPCNN結(jié)構(gòu)如圖3。

誒?剛不說了強(qiáng)特征數(shù)量多但是容易提取時,CNN沒必要太深,分類層值得加深嘛?
其實這里是存在一個“職責(zé)轉(zhuǎn)移”的通道的。眾所周知,把分類層做深是計算代價很高、學(xué)習(xí)效率很低的操作,而卷積層則高效的多。既然加深分類層獲得性能增益的原理是學(xué)習(xí)特征之間的關(guān)聯(lián)與權(quán)重,也就是類似于將特征進(jìn)行加權(quán)以及合并。那么其實這個過程可以提到卷積層進(jìn)行。
想一想,如果特征“不要”和“太好”在文本里先后鄰接出現(xiàn)的話,那顯然這兩個強(qiáng)特征可以合并為“不要太好”這個強(qiáng)特征,類似于“很好”的語義。同樣,特征之間還可以通過句法關(guān)系來進(jìn)一步合并,只不過這種句法關(guān)系可能空間上相隔較遠(yuǎn),需要多疊幾層卷積層才方便捕捉。通過卷積層來進(jìn)行特征合并更加接近樣本里本來的特征作用關(guān)系,因此這種操作在這一層面上反而是比加深分類層更加高效明智的。
也正因為如此,隨便一加深卷積層是容易起反效果的,這時既難以很準(zhǔn)確的合并特征,還可能產(chǎn)生了一堆干擾分類的噪聲特征,正如[2]中展現(xiàn)的DenseNet直接從圖像領(lǐng)域拿到文本領(lǐng)域是非常不work的,而經(jīng)過精心設(shè)計的DPCNN[6]就能取得顯著的分類性能提升。我猜這也是為什么時隔這么久才在文本分類領(lǐng)域出現(xiàn)一個word-level “ResNet”的原因吧。
參考文獻(xiàn)
[1] http://www-cs.stanford.edu/people/ang/papers/icml09-ConvolutionalDeepBeliefNetworks.pdf
[2] Le H T, Cerisara C, Denis A. Do Convolutional Networks need to be Deep for Text Classification?[J]. arXiv preprint arXiv:1707.04108, 2017.
[3] Rie Johnson and Tong Zhang. 2016. Convolutional neural networks for text categorization: Shallow word-level vs. deep character-level.arXiv:1609.00718?.
[4] Iyyer M, Manjunatha V, Boyd-Graber J, et al. Deep unordered composition rivals syntactic methods for text classification[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2015, 1: 1681-1691.
[5] Kim Y. Convolutional neural networks for sentence classification[J]. arXiv preprint arXiv:1408.5882, 2014.
[6] Johnson R, Zhang T. Deep pyramid convolutional neural networks for text categorization[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017, 1: 562-570.
END
