博客專欄

        EEPW首頁 > 博客 > 通用卷積神經(jīng)網(wǎng)絡(luò)CCNN

        通用卷積神經(jīng)網(wǎng)絡(luò)CCNN

        發(fā)布人:數(shù)據(jù)派THU 時(shí)間:2022-09-26 來源:工程師 發(fā)布文章

        來源:機(jī)器之心

        在 VGG、U-Net、TCN 網(wǎng)絡(luò)中... CNN 雖然功能強(qiáng)大,但必須針對特定問題、數(shù)據(jù)類型、長度和分辨率進(jìn)行定制,才能發(fā)揮其作用。我們不禁會問,可以設(shè)計(jì)出一個(gè)在所有這些網(wǎng)絡(luò)中都運(yùn)行良好的單一 CNN 嗎?


        本文中,來自阿姆斯特丹自由大學(xué)、阿姆斯特丹大學(xué)、斯坦福大學(xué)的研究者提出了 CCNN,單個(gè) CNN 就能夠在多個(gè)數(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ù)的多個(gè)應(yīng)用程序中實(shí)現(xiàn) SOTA 性能。然而,CNN(以及一般的神經(jīng)網(wǎng)絡(luò))存在一個(gè)嚴(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è)長度定制一個(gè)精心選擇的步長和池化層來捕獲整個(gè)上下文自定義架構(gòu)。此外,許多數(shù)據(jù)本質(zhì)上是連續(xù)的,在不同的分辨率下具有相同的語義,例如圖像可以在任意分辨率下捕獲,并具有相同的語義內(nèi)容,音頻可以在 16kHz 或 44.1kHz 采樣,但人耳聽起來仍然是相同的。


        然而,由于卷積核的離散性,傳統(tǒng)的 CNN 不能跨分辨率使用。當(dāng)考慮具有相同 CNN 的不同維度數(shù)據(jù)時(shí),這兩個(gè)問題會進(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)建一個(gè)單一的 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)建一個(gè)通用的 CNN 架構(gòu),關(guān)鍵是開發(fā)一個(gè)分辨率不可知的卷積層,該卷積層能夠以參數(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):一個(gè)簡單、通用的 CNN,可以跨數(shù)據(jù)分辨率和維度使用,而不需要結(jié)構(gòu)修改。CCNN 在序列 (1D)、視覺 (2D) 任務(wù)、以及不規(guī)則采樣數(shù)據(jù)和測試時(shí)間分辨率變化的任務(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í)將卷積核參數(shù)化為連續(xù)函數(shù)。該網(wǎng)絡(luò)將坐標(biāo)圖片映射到該位置的卷積核值:圖片(圖 1a)。通過將 K 個(gè)坐標(biāo)圖片的向量通過 G_Kernel,可以構(gòu)造一個(gè)大小相等的卷積核 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)楹藢⒃诿總€(gè)分辨率下覆蓋不同的輸入子集。另一方面,連續(xù)核是分辨率無關(guān)的,因此無論輸入的分辨率如何,它都能夠識別輸入。


        當(dāng)以不同的分辨率(例如更高的分辨率)呈現(xiàn)輸入時(shí),通過核生成器網(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 個(gè)隱藏通道,而不會增加網(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ò)時(shí),標(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 在初始化時(shí)的 logits 大約為 1e^19。這是不可取的,這可能導(dǎo)致訓(xùn)練不穩(wěn)定和需要低學(xué)習(xí)率。


        為了解決這個(gè)問題,該研究要求 G_Kernel 輸出方差等于 gain^2 /(in_channels?kernel_size)而不是 1。他們通過、圖片重新加權(quán)核生成器網(wǎng)絡(luò)的最后一層。因此,核生成器網(wǎng)絡(luò)輸出的方差遵循傳統(tǒng)卷積核的初始化,而 CCNN 的 logits 在初始化時(shí)呈現(xiàn)單一方差。


        實(shí)驗(yàn)結(jié)果



        如下表 1-4 所示,CCNN 模型在所有任務(wù)中都表現(xiàn)良好。


        首先是 1D 圖像分類 CCNN 在多個(gè)連續(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 個(gè)點(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)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: AI

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 兴化市| 汝城县| 株洲市| 万载县| 元氏县| 竹山县| 且末县| 平泉县| 石城县| 修武县| 南阳市| 利川市| 合肥市| 金乡县| 宁化县| 弋阳县| 土默特左旗| 西华县| 太康县| 砀山县| 盐山县| 沐川县| 哈尔滨市| 和林格尔县| 宁都县| 葵青区| 洪湖市| 房山区| 铅山县| 涪陵区| 肃南| 乌拉特中旗| 凤凰县| 盐池县| 晋州市| 杭锦后旗| 长宁区| 武平县| 繁昌县| 新泰市| 上犹县|