​卷積層和分類層,哪個更重要?

2021-02-08 深度學習這件小事

https://www.zhihu.com/question/270245936

在分類任務裡,一個網絡能達到比較好的效果,那麼是其中提feature的卷積層效果比較好呢,還是分類器訓練的比較好?哪個更重要一點呢?

因為我想直接拿預訓練的網絡提的feature做其他的事情,並不是要單純完成分類任務,所以我不確定卷積層提的feature是不是就是我想要的,因此提出這個問題。


機器學習 話題的優秀回答者

https://www.zhihu.com/question/270245936/answer/356176790

這個問題雖然問的很大,但是在細分領域內蠻有意思的(感謝題主你將討論範圍限定在分類,要不然真沒法答了)


正好以前研究過這個問題,基於圖像和文本這兩個經典領域說一下吧。先說感性結論,強特徵數量多但是容易提取的話分類層更重要,反之卷積層更重要。壓榨分類性能的話依然是卷積層更重要


圖像分類場景

圖像任務貌似沒什麼懸念,從LeNet,AlexNet到GoogLeNet, ResNet等,卷積層數的加深對模型性能的提升是大家有目共睹的事情,這其中一個很重要的原因就是圖像數據中對於分類描述能力強的特徵往往隱藏的很深,難以直接在原始像素數據中描述。以人臉檢測為例,想像一下手寫一個規則來映射像素值到高level特徵「嘴」的難度。但是,想像一下,如果我們得到了一個樣本的高level特徵,比如特徵向量的每個維度分別描述圖片裡有眼睛,鼻子,嘴的可能性,那麼這時再做人臉檢測的話是不是就容易多了?手寫規則都感覺貌似可以做的不錯(一條簡單粗暴的規則:設置一個決策閾值將各個特徵cast到bool型,然後眼睛+鼻子+嘴=人臉,else=無人臉)。


也就是說,在人臉檢測任務中,強分類特徵隱藏很深但是數量不多,一旦提取到了這些較為有效的特徵,分類就變得異常容易(相對來說)。所以對於圖像分類來說當然是要花大精力去提取這些特徵啊,所以你看,大佬們把卷積層做的這麼深,分類層卻沒太大的變化,懂了吧~(當然,這裡說的眼睛,鼻子,嘴等強特徵不一定能被深度卷積層學習到,但是毫無疑問的是頂層卷積層的神經元一定學到了其他類似的強特徵[1])


文本分類場景

文本分類則恰好是對面的世界。試想一下,你要對文本進行情感分類時,文本裡的有效特徵容易get嗎?簡直一想一大把哇,比如「開心」,「好棒」,「難過」,「煩」,「傷心「都是對於分類來說非常實錘的強特徵,基本上只要樣本裡出現了其中一個特徵,就能以非常大的把握決定這個樣本的情感極性。也就是說,文本分類裡的強特徵藏的非常淺,從原始數據裡可以輕鬆描述。但是,這些強特徵也非常之多,情感詞有多少?情感短語呢?是不是覺得數不清哇?數不清就對啦~


但是,拿到一個樣本的一組強特徵後,好不好準確分類呢?對於大部分樣本來說,直接學習每個特徵的權重然後做個簡單的加權就好咯,這確實可以取得非常好的效果,因此樸素貝葉斯這個異常簡單的線性分類器以及2014Kim提出的這個簡單的淺卷積文本分類器[5](俗稱TextCNN)可以在文檔分類任務中取得非常高的性能。如圖1。



圖1 TextCNN


但是總有一些描述「隱晦」的樣本,可能明褒暗貶,那這種線性分類器就無力了。怎麼辦呢?


當然是加強分類層呀~讓分類層給每個情感詞的重要性打分!讓分類層去描述中性詞與情感詞的作用關係,讓分類層找出情感詞共現的分類規律,反正我提取特徵的層已經給你把特徵提取出來了哼。


好了口說無憑,近年來已經有不止一篇paper專門研究文本分類裡的卷積層深淺的有效性問題,[2]使用[4]這個簡單的一層卷積+線性分類就已經足以讓文本分類取得非常好的效果了,而作者將DenseNet直接拿來用發現效果很差勁,性能如下表。



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


圖2 DAN arch


同時我自己也做了一下相關研究,發現僅使用1層CNN+3層全連接即在大多數文本分類數據集上超過了當時的state-of-art,當時做實驗時首先用的是1層CNN1層全連接,也就是2014Kim[5]的這個經典結構,然後加深CNN卻發現模型性能不升反降,但是加深全連接卻明顯提升,加到3層時提升的效果很顯著,4層又能得到小幅提升,5層出現下降,6層下降明顯。所以在出現提取了大量強特徵的情況時,考慮加深一下分類層還是比較有意義的嘗試。


「職責轉移」問題

直到2017ACL上有篇文章提出的Deep Pyramid CNN (DPCNN)[6],才讓人覺得貌似word-level的文本分類模型也是可以做的很深嘛,只不過確實要設計的非常謹慎。DPCNN結構如圖3。


圖3 DPCNN arch


誒?剛不說了強特徵數量多但是容易提取時,CNN沒必要太深,分類層值得加深嘛?


其實這裡是存在一個「職責轉移」的通道的。眾所周知,把分類層做深是計算代價很高、學習效率很低的操作,而卷積層則高效的多。既然加深分類層獲得性能增益的原理是學習特徵之間的關聯與權重,也就是類似於將特徵進行加權以及合併。那麼其實這個過程可以提到卷積層進行。


想一想,如果特徵「不要」和「太好」在文本裡先後鄰接出現的話,那顯然這兩個強特徵可以合併為「不要太好」這個強特徵,類似於「很好」的語義。同樣,特徵之間還可以通過句法關係來進一步合併,只不過這種句法關係可能空間上相隔較遠,需要多疊幾層卷積層才方便捕捉。通過卷積層來進行特徵合併更加接近樣本裡本來的特徵作用關係,因此這種操作在這一層面上反而是比加深分類層更加高效明智的。


也正因為如此,隨便一加深卷積層是容易起反效果的,這時既難以很準確的合併特徵,還可能產生了一堆幹擾分類的噪聲特徵,正如[2]中展現的DenseNet直接從圖像領域拿到文本領域是非常不work的,而經過精心設計的DPCNN[6]就能取得顯著的分類性能提升。我猜這也是為什麼時隔這麼久才在文本分類領域出現一個word-level 「ResNet」的原因吧。


參考文獻

[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.

相關焦點

  • 理解CNN卷積層與池化層計算
    概述深度學習中CNN網絡是核心,對CNN網絡來說卷積層與池化層的計算至關重要,不同的步長、填充方式、卷積核大小、池化層策略等都會對最終輸出模型與參數
  • 一文讀懂CNN中卷積層與轉置卷積層的關係
    那麼,轉置卷積層和正卷積層的關係和區別是什麼呢,轉置卷積層實現過程又是什麼樣的呢,筆者根據最近的預研項目總結出本文。1.卷積層和全連接層在CNN提出之前,我們所提到的人工神經網絡應該多數情況下都是前饋神經網絡,兩者區別主要在於CNN使用了卷積層,而前饋神經網絡用的都是全連接層,而這兩個layer的區別又在於全連接層認為上一層的所有節點下一層都是需要的,通過與權重矩陣相乘層層傳遞,而卷積層則認為上一層的有些節點下一層其實是不需要的,所以提出了卷積核矩陣的概念,如果卷積核的大小是n*m,那麼意味著該卷積核認為上一層節點每次映射到下一層節點都只有
  • 深入卷積神經網絡:高級卷積層原理和計算的可視化
    在深度計算機視覺領域中,有幾種類型的卷積層與我們經常使用的原始卷積層不同。在計算機視覺的深度學習研究方面,許多流行的高級卷積神經網絡實現都使用了這些層。這些層中的每一層都有不同於原始卷積層的機制,這使得每種類型的層都有一個特別特殊的功能。在進入這些高級的卷積層之前,讓我們先快速回顧一下原始的卷積層是如何工作的。
  • 學習筆記TF014:卷積層、激活函數、池化層、歸一化層、高級層
    圖像識別分類,使用不同層類型支持卷積層,減少過擬合,加速訓練過程,降低內存佔用率。TensorFlow加速所有不同類弄卷積層卷積運算。池化層減少過擬合,減小輸入尺寸,提高性能。輸入降採樣,為後續層保留重要信息。池化層減小尺寸效率比tf.nn.conv2d高。tf.nn.max_pool,跳躍遍歷張量,卷積核覆蓋元素最大數值作卷積結果。適合輸入數據灰度與圖像重要性相關。輸入為前一層輸出,非直接圖像。跨度strides使用image_height、image_width遍歷輸入。只保留輸入張量最大元素。
  • 深度學習中的「卷積層」如何深入理解?
    在現有深度學習框架下,我們所編寫的卷積層往往是一個單行語句,它可以抽象出許多結構細節。不過,有時候後退一步去揭開一些抽象概念也是一個不錯的選擇。本文試圖闡述卷積層的一個特定的解剖特徵,而這是在大多數文章和相關討論中被忽略的問題。許多卷積架構是從一個外部卷積單元開始的,它將信道RGB的輸入圖像映射到一系列內部過濾器中。
  • 卷積層的參數量與計算量
    最近這兩天翻了一下shufflenet的論文,裡邊有一段介紹了ResNet的殘差模塊與shuffle block的計算量的對比介紹,這裡特意去查了一下資料,這裡整理記錄一下卷積層參數量與計算量的計算方式
  • 做為媽媽,事業成功和陪伴孩子,哪個更重要?
    ​縱觀父母和孩子的一生,我們見到過太多這樣的例子——孩子幼時,父母以事業之名,把孩子丟給老人養育,扔給保姆照顧,亦或讓孩子獨處……可是,等待三四十年後,孩子成人了,父母變老退休了,事業不在之時,又開始需求孩子來「陪伴」自己,這其中當然有有孝心的孩子
  • 圖像分類-卷積網絡閱讀筆記(二)VGG
    16-19層使網絡的性能有了明顯的提升。在ImageNet2014年挑戰賽中,我們的團隊在定位和分類任務中分別獲得第一、第二(分類的第一為GoogLeNet)。我們的表徵對其它數據集也具有很好的泛化能力,在其中也取得行業領先的結果。1. Introduction
  • 第一學歷與最高學歷,哪個更重要?
    第一學歷與最高學歷,哪個更重要?學歷一直是網友熱議的一個話題,總的來說,學歷論就以下兩個點:一、「學歷不重要,關鍵靠能力」二、「學歷很重要,選擇要慎重」大家都知道今年的就業情況並不良好編輯​順著這個話題,今天就來聊一聊最受熱議以及最難搞懂的「第一學歷和最高學歷」,首先我們需要先了解兩個概念:什麼是第一學歷和最高學歷?
  • 資源 | 從全連接層到大型卷積核:深度學習語義分割全指南
    如下圖:左:輸入圖像,右:該圖像的語義分割除了識別車和騎車的人,我們還需要描繪出每個物體的邊界。因此,與圖像分類不同,語義分割需要根據模型進行密集的像素級分類。VOC2012 和 MSCOCO 是語義分割領域最重要的數據集。有哪些不同的解決方案?
  • 頭層牛皮和牛皮哪個好 牛皮和頭層牛皮的辨別
    頭層牛皮和牛皮哪個好 牛皮和頭層牛皮的辨別 2018-11-08 11:14:56 來源:全球紡織網 頭層牛皮和牛皮哪個好?
  • 機器學習:二維卷積層及其參數的視覺和數學解釋
    它們是二維卷積層的核心。可訓練參數和偏差可訓練參數,簡稱「參數」,是神經網絡訓練時需要更新的所有參數。在Conv2d中,可訓練元素是組成核的值。對於3×3的卷積核,我們有3*3=9個可訓練的參數。我們可以包含偏差,也可以不包含。偏差的作用將加到convolution product的總和上。
  • 零基礎入門深度學習(七):圖像分類任務之VGG、GoogLeNet和ResNet
    圖3 是VGG-16的網絡結構示意圖,有13層卷積和3層全連接層。,並在網絡的最後面使用三層全連接層,將最後一層全連接層的輸出作為分類的預測。為了減小參數量,Inception模塊使用了圖(b)中的設計方式,在每個3x3和5x5的卷積層之前,增加1x1的卷積層來控制輸出通道數;在最大池化層後面增加1x1卷積層減小輸出通道數。基於這一設計思想,形成了上圖(b)中所示的結構。下面這段程序是Inception塊的具體實現方式,可以對照圖(b)和代碼一起閱讀。
  • 乾貨| 深度學習在文本分類中的應用
    ,判斷文本情感屬於{非常消極,消極,中立,積極,非常積極}中的哪一類新聞主題分類:判斷新聞屬於哪個類別,如財經、體育、娛樂等自動問答系統中的問句分類社區問答系統中的問題分類:多標籤分類,如知乎看山杯對於句子分類任務,1-max pooling往往比其他池化策略要好;這可能是因為上下文的具體位置對於預測Label可能並不是很重要,而句子某個具體的n-gram(1-max pooling後filter提取出來的的特徵)可能更可以刻畫整個句子的某些含義,對於預測
  • Tensorflow 2.0圖片分類入門實戰
    好模型的標準是高精度,還有多類分類,例如區分不同的狗種,感興趣的學習者可以在覆蓋基礎後深入研究。但為簡單起見,我們將解決二進位分類問題。對深層模型的需求雖然深度學習和神經網絡可以互換使用,但它們並不相同。與淺模型相反,深度模型在網絡中隱藏了更多層。通常,更多層意味著可以從數據中提取更多信息。
  • 棉褲和保暖褲的區別 ​棉褲和保暖褲哪個暖和
    棉褲和保暖褲的區別 ​棉褲和保暖褲哪個暖和 2020-09-23 16:07:39 來源:全球紡織網 棉褲和保暖褲的區別,棉褲和保暖褲哪個暖和?
  • 圖像分類-卷積網絡閱讀筆記(一)AlexNet
    這個網絡由5個卷積層、3個池化層和3個全連接層組成,共包含6000萬多個參數。為了降低全連接層過擬合的風險,我們使用最近開發的正則化方法-Dropout。在ILSVRC-2012年的圖像分類競賽中,我們訓練的網絡在測試集上的top-5誤差為15.3%,大幅度領先第二名的26.2%的成績。1. Introduction(簡介)
  • 選擇和努力,到底哪個更重要?
    進而我深深的意識到一個曾經被辯論多次的話題「選擇與努力哪個更重要」有了答案:「選擇比努力更重要。」自此之後,每當別人拿這句話說事的時候,我都頗為得意的把愛迪生後邊那半句跟出來好好的噁心對方一番,同時也小小的增加了自己的虛榮心。愛迪生語錄考證但是,好多事兒就怕認真。
  • 基於PaddlePaddle的圖片分類實戰 | 深度學習基礎任務教程系列
    圖像相比文字能夠提供更加生動、容易理解及更具藝術感的信息,圖像分類是根據圖像的語義信息將不同類別圖像區分開來,是圖像檢測、圖像分割、物體跟蹤、行為分析等其他高層視覺任務的基礎。圖像分類在安防、交通、網際網路、醫學等領域有著廣泛的應用。
  • 網絡流量分類方法和RNN
    加密流量分類基於載荷的分類對應基於埠的方法和基於深層包檢測不同的加密方法都有其固定的協議格式,因此採用模式匹配的方式檢查數據包的包頭格式能夠判斷其是否為加密流量,即識別加密流量這種方式不能進一步分類加密流量的具體種類,因此其使用範圍比較受限。