論文 | 《Deep Pyramid Convolutional Neural Networks for Text Categorization》DPCNN文本分類模型介紹

一 寫在前面

未經(jīng)允許,不得轉(zhuǎn)載,謝謝~~

這篇主要是我這學(xué)期深度學(xué)習(xí)課程的作業(yè),所以選了一篇NLP方向的簡(jiǎn)單學(xué)習(xí)一下。接下來有時(shí)間的話再整理一篇關(guān)于用DPCNN模型在AG news數(shù)據(jù)集上進(jìn)行新聞?lì)悇e分類任務(wù)的實(shí)驗(yàn)復(fù)現(xiàn)情況~~~

文章基本信息:

這篇文章的主要任務(wù)是做文本分類的,主要貢獻(xiàn)在于提出了一個(gè)簡(jiǎn)單有效的深度金字塔神經(jīng)卷積網(wǎng)絡(luò)DPCNN模型。

關(guān)鍵詞:text categorization, DPCNN;

二 基本背景介紹

1. 任務(wù)描述

  • 文本分類是一個(gè)十分重要的任務(wù),其應(yīng)用場(chǎng)景包括垃圾郵件檢測(cè),情感和主題分類等。
  • 近幾年,神經(jīng)網(wǎng)絡(luò)利用詞序進(jìn)行文本分類的方法非常有效。最早是簡(jiǎn)單的淺層卷積神經(jīng)網(wǎng)絡(luò),最近提出了更為復(fù)雜的深層神經(jīng)網(wǎng)絡(luò),需要大概一百萬的文檔作為訓(xùn)練數(shù)據(jù);

2. 論文動(dòng)機(jī)

  • 之前的實(shí)驗(yàn)已經(jīng)證實(shí)單詞級(jí)別的CNNs比字符級(jí)別的CNNs能更有效表達(dá)信息;
  • 論文作者想為文本分類任務(wù)設(shè)計(jì)一個(gè)高效的深層單詞級(jí)別的 CNNs 架構(gòu);
  • 所以文章提出了一個(gè)DPCNN深層金字塔卷積神經(jīng)網(wǎng)絡(luò),至于為什么叫深層金字塔以及這個(gè)模型有哪些優(yōu)點(diǎn)會(huì)在接下來的模型結(jié)構(gòu)分析中給出解釋。

三 模型及方法介紹

1 DPCNN模型簡(jiǎn)介

先來看一波模型結(jié)構(gòu)圖:


DPCNN模型結(jié)構(gòu)

我們自下而上看網(wǎng)絡(luò)的處理過程:

  1. 輸入一個(gè)句子"a good buy. ”, 先不管虛線框內(nèi)的'unsupervised embedding'部分,直接到網(wǎng)絡(luò)的第一個(gè)文本區(qū)域嵌入層 ( region embedding) ,這個(gè)層就是用在自然語言領(lǐng)域通常使用的詞嵌入 (word embedding) 方式為句子中的每個(gè)詞都生成向量表示;
  2. 在得到文本的向量表示之后,將這些特征向量依次輸入到后面的卷積塊中進(jìn)行卷積操作提取文本信息,每個(gè)卷積塊都由兩個(gè)卷積層以及從輸入直接到輸出的 shortcut 殘差連接構(gòu)成。而卷積塊與卷積塊之間又由步長(zhǎng)為 2 的池化層進(jìn)行連接。
  3. 網(wǎng)絡(luò)模型的最后一個(gè)池化層用于接受最后一個(gè)卷積塊的輸入(模型中所有的池化層均采用max pooling),最終得到表示文本的特征向量。

注: 關(guān)于文中的unsupervised embeddng層是作者使用的一種訓(xùn)練技巧,對(duì)整個(gè)網(wǎng)絡(luò)影響不大,關(guān)于具體的細(xì)節(jié)我看的不是很懂,從實(shí)驗(yàn)復(fù)現(xiàn)的情況來看這個(gè)部分的影響應(yīng)該也不是很大,所以就不在這里描述了,這個(gè)部分感興趣的可以去看一看原文(o?▽?)o

我們從網(wǎng)絡(luò)層的設(shè)計(jì)情況也分析可以得到DPCNN 的關(guān)鍵特性

  1. 在特征圖維度固定的情況下降采樣
    • 在每個(gè)卷積塊之后都用大小為 3 的卷積核進(jìn)行步長(zhǎng)為 2 的最大池化操作。這樣既可以得到相鄰3個(gè)文本區(qū)域的中間特征表示,步長(zhǎng)為2的池化操作又將每個(gè)文本的中間表示直接減少了一半。
    • 很多現(xiàn)有模型都會(huì)在降采樣的過程中增加特征圖的維度,這會(huì)直接影響模型的計(jì)算復(fù)雜性。文章發(fā)現(xiàn)這些增加的維度除了增大計(jì)算復(fù)雜度外并沒有帶來模型準(zhǔn)確度上的提升,因此文章采用了保持特征圖維度不變(channel_size=250)的方式。
    • 在此基礎(chǔ)上,每次進(jìn)行補(bǔ)償為2的降采樣操作都會(huì)導(dǎo)致卷積層的操作時(shí)間直接減半,這也是為什么本文將之稱之為金字塔 (pyramid) 卷積神經(jīng)網(wǎng)絡(luò)的原因。如下圖 2所示即為金字塔計(jì)算時(shí)間示意圖。
    • 基于以上的原理,DPCNN 網(wǎng)絡(luò)模型能夠保證總的計(jì)算時(shí)間也是固定不變的,其值等于單個(gè)卷積塊計(jì)算時(shí)間的兩倍,這在計(jì)算時(shí)間上非常具有友好性。
    • 另外,步長(zhǎng)為2的降采樣操作可 以是得卷積操作的有效覆蓋面積加倍。具體來說,經(jīng)過 L 次這樣的降采樣操作后可以建立 起相鄰 2L 個(gè)單詞之間的聯(lián)系得到特征表示。
    • 因此,DPCNN 模型不僅在模型計(jì)算上具有有 效性,還能更好的表示長(zhǎng)距離的關(guān)系,從而學(xué)習(xí)到更多的全局信息。
金字塔計(jì)算時(shí)間
  1. 使用shortcut,且不需要做維度匹配:
    • 在卷積塊的設(shè)計(jì)中使用了 shorcut連接的方式,使得網(wǎng)絡(luò)可以擴(kuò)展為深層網(wǎng)絡(luò)進(jìn)行參數(shù)的訓(xùn)練。
    • 雖然 shortcut 的用法是從 ResNet中借鑒過來的,但是 DPCNN模型比 ResNet 更加簡(jiǎn)單,因?yàn)?DCPNN 中的 shortcut 連接接近等值連接, 這個(gè)過程不需要做任何的維度匹配工作。
    • 在DPCNN中,當(dāng) shortcut 碰上主流 (main street) 的時(shí)候,兩邊的數(shù)據(jù)維度是一樣的,所以可以直接進(jìn)行相加操作。當(dāng) shortout 中使用了類似于降采樣等其他不同維度的特征圖的時(shí)候就需要面臨維度不匹配的問題,通常情況下需要在相加之前進(jìn)行維度增加工作,這就會(huì)導(dǎo)致網(wǎng)絡(luò)訓(xùn)練參數(shù)的增加和計(jì)算量的增大。
    • 所以本文采用固定維度且不在卷積塊內(nèi)部采用降采樣的方式,避免了維度不匹配以及由于維度不匹配帶來的 網(wǎng)絡(luò)參數(shù)增加的問題。整個(gè)網(wǎng)絡(luò)會(huì)比較簡(jiǎn)單而且計(jì)算高效。

2 文本區(qū)域嵌入

這個(gè)部分我省略了unsupervised embedding的部分。

基于 CNN 卷積神經(jīng)網(wǎng)絡(luò)的文本分類方法通常從詞嵌入(word embedding),即將文本中的每個(gè)單詞轉(zhuǎn)換為向量這一步工作開始。本文采用了一種更加通用的文本區(qū)域嵌入(region embedding)方法。

在區(qū)域嵌入層 (region embedding) 為文檔中的每一個(gè)單詞都計(jì)算 Wx+b,其中 x 表示 k個(gè)單 詞的區(qū)域,權(quán)重參數(shù) W 以及偏置參數(shù) b 都由神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)得到。定義 v 為單詞詞匯庫的大小,即單詞個(gè)數(shù),那么對(duì)于 k 個(gè)單詞區(qū)域具有如下三種典型的表示方法:

  1. 順序輸入:由 k 個(gè)單詞的 one-hot 形式的向量 (維度為 v) 堆疊而成;
  2. 詞袋模型:由 v 維的詞袋向量構(gòu)成;
  3. n-gram 模型:由區(qū)域中的單個(gè)詞、兩個(gè)詞組或者三個(gè)詞組構(gòu)成的詞袋表示;

用順序輸入的區(qū)域嵌入方式跟直接將一個(gè)卷積層應(yīng)用在一系列 one-hot 向量上來表示一個(gè)文 檔的效果是一樣的。當(dāng)k設(shè)置為1,即只有一個(gè)單詞的時(shí)候,以上三種方式都退化成詞嵌入。

區(qū)域嵌入層旨在獲取比單個(gè)獨(dú)立單詞更加更復(fù)雜的語義信息,因此也有一些網(wǎng)絡(luò)會(huì)用多層卷積來提取詞嵌入中的特征,但通常情況下更少的層數(shù)意味著網(wǎng)絡(luò)更加容易優(yōu)化。

除此之外,最佳輸入類型和最佳的區(qū)域大小只能通過經(jīng)驗(yàn)來判定。

四 寫在最后

我的方向是CV的,雖然選擇了一篇結(jié)構(gòu)和方法都較為簡(jiǎn)單的論文,但是也不能保證沒有解讀有偏頗甚至是錯(cuò)誤的地方,路過的NLP大佬們還請(qǐng)多多包涵嘻嘻~~

有什么不對(duì)的歡迎評(píng)論或者簡(jiǎn)信,感謝。

文章在AG news上復(fù)現(xiàn)的實(shí)驗(yàn)?zāi)軌蜻_(dá)到91.49%的準(zhǔn)確度,所以后面準(zhǔn)備再整理一篇具體的實(shí)驗(yàn)過程的博客,歡迎關(guān)注嘍ヾ(?°?°?)??

最后感謝閱讀~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容