通用卷積神經(jīng)網(wǎng)絡(luò)CCNN
來源:機(jī)器之心
在 VGG、U-Net、TCN 網(wǎng)絡(luò)中... CNN 雖然功能強(qiáng)大,但必須針對特定問題、數(shù)據(jù)類型、長度和分辨率進(jìn)行定制,才能發(fā)揮其作用。我們不禁會問,可以設(shè)計(jì)出一個在所有這些網(wǎng)絡(luò)中都運(yùn)行良好的單一 CNN 嗎?
本文中,來自阿姆斯特丹自由大學(xué)、阿姆斯特丹大學(xué)、斯坦福大學(xué)的研究者提出了 CCNN,單個 CNN 就能夠在多個數(shù)據(jù)集(例如 LRA)上實(shí)現(xiàn) SOTA !
1998 年 LeCun 等人提出卷積神經(jīng)網(wǎng)絡(luò) (CNN),這是一類廣泛用于機(jī)器學(xué)習(xí)的深度學(xué)習(xí)模型。由于 CNN 具有高性能和高效率等特點(diǎn),使其在跨序列、視覺和高維數(shù)據(jù)的多個應(yīng)用程序中實(shí)現(xiàn) SOTA 性能。然而,CNN(以及一般的神經(jīng)網(wǎng)絡(luò))存在一個嚴(yán)重缺陷,這些架構(gòu)必須針對特定應(yīng)用進(jìn)行定制,以便處理不同的數(shù)據(jù)長度、分辨率和維度。這反過來又導(dǎo)致大量特定于任務(wù)的 CNN 架構(gòu)出現(xiàn)。
數(shù)據(jù)可以有許多不同的長度,例如圖像可以是 32x32 或 1024x1024。標(biāo)準(zhǔn) CNN 存在的問題是,它們的卷積核是局部的,這需要為每個長度定制一個精心選擇的步長和池化層來捕獲整個上下文自定義架構(gòu)。此外,許多數(shù)據(jù)本質(zhì)上是連續(xù)的,在不同的分辨率下具有相同的語義,例如圖像可以在任意分辨率下捕獲,并具有相同的語義內(nèi)容,音頻可以在 16kHz 或 44.1kHz 采樣,但人耳聽起來仍然是相同的。
然而,由于卷積核的離散性,傳統(tǒng)的 CNN 不能跨分辨率使用。當(dāng)考慮具有相同 CNN 的不同維度數(shù)據(jù)時,這兩個問題會進(jìn)一步加劇,例如序列(1D)、視覺(2D)和高維數(shù)據(jù)(3D、4D),因?yàn)椴煌木S度以不同的特征長度和分辨率運(yùn)行,例如一秒音頻的長度很容易達(dá)到 16000,這與基準(zhǔn)數(shù)據(jù)集中的圖像大小形成強(qiáng)烈對比。
在本文中,研究者提出了邁向通用 CNN 架構(gòu)。其目標(biāo)是構(gòu)建一個單一的 CNN 架構(gòu),可以用于任意分辨率、長度和維度的數(shù)據(jù)。標(biāo)準(zhǔn) CNN 需要特定于任務(wù)的架構(gòu),因?yàn)槠渚矸e核的離散性將內(nèi)核綁定到特定的數(shù)據(jù)分辨率,并且由于構(gòu)建大型離散卷積核所需的大量參數(shù),它們不適合對全局上下文進(jìn)行建模。
因此,為了構(gòu)建一個通用的 CNN 架構(gòu),關(guān)鍵是開發(fā)一個分辨率不可知的卷積層,該卷積層能夠以參數(shù)有效的方式對遠(yuǎn)程依賴關(guān)系進(jìn)行建模。該研究入選 ICML 2022 。
論文地址:
https://arxiv.org/pdf/2206.03398.pdf
代碼地址:
https://github.com/david-knigge/ccnn
本文的貢獻(xiàn)
該研究提出 Continuous CNN(CCNN):一個簡單、通用的 CNN,可以跨數(shù)據(jù)分辨率和維度使用,而不需要結(jié)構(gòu)修改。CCNN 在序列 (1D)、視覺 (2D) 任務(wù)、以及不規(guī)則采樣數(shù)據(jù)和測試時間分辨率變化的任務(wù)上超過 SOTA。
該研究對現(xiàn)有的 CCNN 方法提供了幾種改進(jìn),使它們能夠匹配當(dāng)前 SOTA 方法,例如 S4。主要改進(jìn)包括核生成器網(wǎng)絡(luò)的初始化、卷積層修改以及 CNN 的整體結(jié)構(gòu)。
連續(xù)核卷積
連續(xù)核卷積將小型神經(jīng)網(wǎng)絡(luò)作為核生成器網(wǎng)絡(luò),同時將卷積核參數(shù)化為連續(xù)函數(shù)。該網(wǎng)絡(luò)將坐標(biāo)映射到該位置的卷積核值:(圖 1a)。通過將 K 個坐標(biāo)的向量通過 G_Kernel,可以構(gòu)造一個大小相等的卷積核 K,即。隨后,在輸入信號和生成的卷積核之間進(jìn)行卷積運(yùn)算,以構(gòu)造輸出特征表示,即。
任意數(shù)據(jù)維度的一般操作。通過改變輸入坐標(biāo) c_i 的維數(shù) D,核生成器網(wǎng)絡(luò) G_Kernel 可用于構(gòu)造任意維數(shù)的卷積核。因此可以使用相同的操作來處理序列 D=1、視覺 D=2 和更高維數(shù)據(jù) D≥3。
不同輸入分辨率的等效響應(yīng)。如果輸入信號 x 有分辨率變化,例如最初在 8KHz 觀察到的音頻現(xiàn)在在 16KHz 觀察到,則與離散卷積核進(jìn)行卷積以產(chǎn)生不同的響應(yīng),因?yàn)楹藢⒃诿總€分辨率下覆蓋不同的輸入子集。另一方面,連續(xù)核是分辨率無關(guān)的,因此無論輸入的分辨率如何,它都能夠識別輸入。
當(dāng)以不同的分辨率(例如更高的分辨率)呈現(xiàn)輸入時,通過核生成器網(wǎng)絡(luò)傳遞更精細(xì)的坐標(biāo)網(wǎng)格就足夠了,以便以相應(yīng)的分辨率構(gòu)造相同的核。對于以分辨率 r (1) 和 r (2) 采樣的信號 x 和連續(xù)卷積核 K,兩種分辨率下的卷積大約等于與分辨率變化成比例的因子:
CCNN:在 ND 中建模遠(yuǎn)程依賴關(guān)系
具有連續(xù)核卷積的殘差塊改進(jìn)。該研究對 FlexNet 架構(gòu)進(jìn)行了修改 ,其殘差網(wǎng)絡(luò)由類似于 S4 網(wǎng)絡(luò)的塊組成。CCNN 架構(gòu)如下圖 2 所示。
基于這些觀察,該研究構(gòu)建了 FlexConv 的深度(depth-wise)可分離版本,其中通道(channel-wise)卷積是使用核生成器網(wǎng)絡(luò)生成的核計(jì)算的,之后是從 N_in 到 N_out 進(jìn)行逐點(diǎn)卷積。這種變化允許構(gòu)建更廣泛的 CCNN—— 從 30 到 110 個隱藏通道,而不會增加網(wǎng)絡(luò)參數(shù)或計(jì)算復(fù)雜度。
正確初始化核生成器網(wǎng)絡(luò) G_Kernel。該研究觀察到,在以前的研究中核生成器網(wǎng)絡(luò)沒有正確初始化。在初始化前,人們希望卷積層的輸入和輸出的方差保持相等,以避免梯度爆炸和消失,即 Var (x)=Var (y)。因此,卷積核被初始化為具有方差 Var (K)=gain^2 /(in channels ? kernel size) 的形式,其增益取決于所使用的非線性。
然而,神經(jīng)網(wǎng)絡(luò)的初始化使輸入的 unitary 方差保留在輸出。因此,當(dāng)用作核生成器網(wǎng)絡(luò)時,標(biāo)準(zhǔn)初始化方法導(dǎo)致核具有 unitary 方差,即 Var (K)=1。結(jié)果,使用神經(jīng)網(wǎng)絡(luò)作為核生成器網(wǎng)絡(luò)的 CNN 經(jīng)歷了與通道?內(nèi)核大小成比例的特征表示方差的逐層增長。例如,研究者觀察到 CKCNNs 和 FlexNets 在初始化時的 logits 大約為 1e^19。這是不可取的,這可能導(dǎo)致訓(xùn)練不穩(wěn)定和需要低學(xué)習(xí)率。
為了解決這個問題,該研究要求 G_Kernel 輸出方差等于 gain^2 /(in_channels?kernel_size)而不是 1。他們通過、重新加權(quán)核生成器網(wǎng)絡(luò)的最后一層。因此,核生成器網(wǎng)絡(luò)輸出的方差遵循傳統(tǒng)卷積核的初始化,而 CCNN 的 logits 在初始化時呈現(xiàn)單一方差。
實(shí)驗(yàn)結(jié)果
如下表 1-4 所示,CCNN 模型在所有任務(wù)中都表現(xiàn)良好。
首先是 1D 圖像分類 CCNN 在多個連續(xù)基準(zhǔn)上獲得 SOTA,例如 Long Range Arena、語音識別、1D 圖像分類,所有這些都在單一架構(gòu)中實(shí)現(xiàn)的。CCNN 通常比其他方法模型更小架構(gòu)更簡單。
然后是 2D 圖像分類:通過單一架構(gòu),CCNN 可以匹配并超越更深的 CNN。
對 ND 進(jìn)行遠(yuǎn)程依賴建模的重要性。原則上可以將所有任務(wù)視為不考慮 2D 結(jié)構(gòu)的序列任務(wù),該研究只需改變進(jìn)入核生成器網(wǎng)絡(luò)的坐標(biāo)維數(shù),就可以在多維空間上輕松定義 CCNN。有趣的是,該研究觀察到,通過在 LRA 基準(zhǔn)測試中考慮圖像和 Pathfinder 任務(wù)的 2D 特性,可以獲得更好的結(jié)果(上表 3)。
在具有 2D 圖像的 PathFinder 中,最大的 CCNN 獲得了 96.00% 的準(zhǔn)確率,比之前 SOTA 高出近 10 個點(diǎn),并在扁平圖像上的表現(xiàn)明顯優(yōu)于 CCNN。
此外,在原始 2D 數(shù)據(jù)上訓(xùn)練的模型顯示出比它們的序列對應(yīng)物更快的收斂(圖 3)。具有小卷積核的 2D CNN,例如 ResNet-18,由于中間池化層缺乏細(xì)粒度的全局上下文建模,無法解決 Pathfinder。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。