丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給奕欣
發(fā)送

1

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

本文作者: 奕欣 2018-05-03 12:00 專題:ICLR 2018
導(dǎo)語:如何減少卷積神經(jīng)網(wǎng)絡(luò)中的乘法數(shù)量?

雷鋒網(wǎng) AI 科技評(píng)論按:ICLR 2018  于 5 月初在加拿大溫哥華舉辦。論文「Efficient Sparse-Winograd Convolutional Neural Networks」被 ICLR 2018 錄用,第一作者、斯坦福大學(xué)的博士生劉星昱為雷鋒網(wǎng)AI 科技評(píng)論撰寫了獨(dú)家解讀稿件,未經(jīng)許可不得轉(zhuǎn)載。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

引言

卷積神經(jīng)網(wǎng)絡(luò)在許多機(jī)器學(xué)習(xí)應(yīng)用中體現(xiàn)出巨大優(yōu)勢(shì)。其計(jì)算性能和功耗主要由卷積過程中乘法操作的數(shù)量決定。但卷積神經(jīng)網(wǎng)絡(luò)的巨大計(jì)算量限制了其在移動(dòng)設(shè)備上的應(yīng)用。

目前有兩種主流方法用于減少卷積神經(jīng)網(wǎng)絡(luò)中的乘法數(shù)量:

  • 1)利用卷積的線性代數(shù)性質(zhì),例如 Winograd 卷積算法可以通過神經(jīng)元和卷積核的線性變換減少乘法數(shù)量;

  • 2)神經(jīng)網(wǎng)絡(luò)壓縮,例如利用權(quán)重經(jīng)過剪枝后的稀疏性和神經(jīng)元由于 ReLU 產(chǎn)生的稀疏性。

然而,上述兩個(gè)方向無法兼容:對(duì)神經(jīng)元和卷積核的線性變換會(huì)使得它們?cè)镜南∈栊圆粡?fù)存在,因此無法利用其稀疏性進(jìn)行加速。在稀疏卷積神經(jīng)網(wǎng)絡(luò)上使用 Winograd 卷積算法會(huì)反而使計(jì)算量增大。

針對(duì)上述問題,本文提出兩點(diǎn)改進(jìn)。

  • 首先,我們將 ReLU 激活函數(shù)移至 Winograd 域,使得在乘法操作時(shí)神經(jīng)元是稀疏的;

  • 其次,我們對(duì) Winograd 變換之后的權(quán)重進(jìn)行剪枝,使得在乘法操作時(shí)權(quán)重是稀疏的。

實(shí)驗(yàn)結(jié)果表明,在精度損失 0.1% 之內(nèi)時(shí),我們提出的新方法在 CIFAR-10,CIFAR-100 和 ImageNet 數(shù)據(jù)集上能將乘法數(shù)量分別減少 10.4 倍,6.8 倍和 10.8 倍,乘法減少率相較于原有基準(zhǔn)提升 2.0-3.0 倍。

稀疏 Winograd 卷積

傳統(tǒng) Winograd 卷積算法的基本單元作用在輸入時(shí)域特征圖 d 的大小為 p x p 的小塊上,經(jīng)過 3 x 3 的時(shí)域卷積核 g 卷積得到 (p-2) x (p-2) 的輸出塊 S。所有的輸出塊拼在一起得到輸出特征圖。

具體操作: d 和 g 分別用矩陣 B 和 G 進(jìn)行變換得到 Winograd 域的 p x p 大小的 B^TdB 和 GgG^T,兩者進(jìn)行 Hadamard 乘法后用矩陣 A 進(jìn)行變換得到 S。當(dāng) p 等于 4 時(shí),矩陣 B 和 A 只含有 0,1 和-1 元素,因此與 B 和 A 的乘法只需要加減法。計(jì)算過程如下公式所示: 

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

時(shí)域剪枝網(wǎng)絡(luò):當(dāng)使用普通剪枝的網(wǎng)絡(luò) (Han et al. 2015) 時(shí),前一層的 ReLU 激活函數(shù)作用在時(shí)域輸入 d 上,同時(shí)時(shí)域權(quán)重 g 被剪枝。輸出塊 S 由以下公式計(jì)算得到:

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

當(dāng) p=4 時(shí)的計(jì)算如下圖所示。盡管 d 和 g 分別由于 ReLU 和剪枝都是稀疏的,然而 G(?)G^T 和 B^T(?)B 變換會(huì)抹掉時(shí)域的 0。因此,稀疏性無法減少乘法數(shù)量。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

Winograd 本地剪枝網(wǎng)絡(luò):當(dāng)使用 Winograd 本地剪枝網(wǎng)絡(luò) (Liu et al. 2017, Li et al. 2017) 時(shí),前一層的 ReLU 激活函數(shù)作用在時(shí)域輸入 d 上,同時(shí) Winograd 域權(quán)重 GgG^T 被剪枝。輸出塊 S 由以下公式計(jì)算得到 

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

當(dāng) p=4 時(shí)的計(jì)算如下圖所示。盡管由于剪枝,Winograd 域的權(quán)重 GgG^T 是稀疏的,然而 B^T(?)B 變換會(huì)抹掉時(shí)域 d 中包含的 0。因此,時(shí)域 d 由于 ReLU 造成的稀疏性仍然無法帶來乘法數(shù)量減少。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018 

Winograd-ReLU 卷積神經(jīng)網(wǎng)絡(luò):為了解決上述問題,我們提出了 Winograd-ReLU 卷積神經(jīng)網(wǎng)絡(luò)。我們將 ReLU 操作放在 Winograd 域而不是時(shí)域。如此,在進(jìn)行乘法操作時(shí),Winograd 域的權(quán)重 GgG^T 和輸入 B^TdB 都是稀疏的,乘法數(shù)量得以進(jìn)一步減少。輸出塊 S 由以下公式計(jì)算得到

 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

當(dāng) p=4 時(shí)的計(jì)算如下圖所示。

 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

值得注意的是,我們完全擯棄了時(shí)域的卷積核。因?yàn)?ReLU 是和前一層的卷積層綁定的,Winograd 域的 ReLU 操作實(shí)際上是從第二層開始的。需要指出,新提出的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)和普通的卷積神經(jīng)網(wǎng)絡(luò)在數(shù)學(xué)上不等價(jià)。因此,網(wǎng)絡(luò)的訓(xùn)練、剪枝和重訓(xùn)練都需要進(jìn)行如下改變。

訓(xùn)練:我們直接在 Winograd 域訓(xùn)練變換后的卷積核。卷積核隨機(jī)初始化后直接由反向傳播計(jì)算梯度進(jìn)行優(yōu)化。

剪枝:我們對(duì) Winograd 域卷積核進(jìn)行剪枝:所有絕對(duì)值小于閾值 t 的元素置為 0。閾值 t 是通過達(dá)到某一要求的剪枝率 r 計(jì)算得到的。在我們進(jìn)行的實(shí)驗(yàn)中,所有層的剪枝率是相同的。

重訓(xùn)練:我們利用前一步得到的剪枝掩碼來進(jìn)行重訓(xùn)練。在重訓(xùn)練過程中,被剪枝的權(quán)重通過掩碼強(qiáng)制設(shè)置為 0。網(wǎng)絡(luò)損失函數(shù)對(duì)輸入神經(jīng)元和 Winograd 域權(quán)重的梯度可通過鏈?zhǔn)椒▌t由上游傳遞來的梯度計(jì)算得到:

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

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

我們將上述方法應(yīng)用在不同數(shù)據(jù)集上的不同網(wǎng)絡(luò)架構(gòu)上。我們選擇實(shí)驗(yàn)的網(wǎng)絡(luò)架構(gòu)中大多數(shù)卷積核的大小為 3x3,這可以保證大多數(shù)卷積層都可以轉(zhuǎn)化為 Winograd 卷積層。我們分別使用圖像分類數(shù)據(jù)集 CIFAR-10、CIFAR-100 和 ImageNet 進(jìn)行實(shí)驗(yàn)。對(duì)每個(gè)網(wǎng)絡(luò)架構(gòu)我們比較前述三類網(wǎng)絡(luò)。三類網(wǎng)絡(luò)都是從頭開始訓(xùn)練并進(jìn)行迭代的剪枝-重訓(xùn)練過程。

CIFAR-10:

我們使用 VGG-nagadomi 網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。VGG-nagadomi 可以視作輕量級(jí)的 VGGNet,其中有 8 層 3x3 卷積層。我們將第一層的權(quán)重密度設(shè)為 80%,其余層迭代地從 80% 剪枝為 20%。

 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

由上圖可以看到,當(dāng)準(zhǔn)確率損失小于 0.1% 時(shí),時(shí)域剪枝網(wǎng)絡(luò)、Winograd 本地剪枝網(wǎng)絡(luò)僅可以被剪枝到 60% 密度,而我們提出的 Winograd-ReLU 網(wǎng)絡(luò)可以被剪枝到 40% 密度。 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

上表比較了各個(gè)剪枝后網(wǎng)絡(luò)的計(jì)算量以及權(quán)重和輸入神經(jīng)元的密度。時(shí)域剪枝網(wǎng)絡(luò)、Winograd 本地剪枝網(wǎng)絡(luò)僅可以將計(jì)算量分別減少 5.1 和 3.7 倍。而我們提出的 Winograd-ReLU 網(wǎng)絡(luò)可以減少計(jì)算量 13.3 倍,相較于兩個(gè)基準(zhǔn)網(wǎng)絡(luò)分別提升 2.6 和 3.6 倍。

CIFAR-100:

我們使用 ConvPool-CNN-C 網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。ConvPool-CNN-C 有 9 個(gè)卷積層,其中有 7 個(gè) 3x3 卷積層。我們將第一層的權(quán)重密度設(shè)為 80%,其余層迭代地從 80% 剪枝為 20%。

 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

由上圖可以看到,當(dāng)準(zhǔn)確率損失小于 0.1% 時(shí),Winograd 本地剪枝網(wǎng)絡(luò)可以被剪枝到 70% 密度,而時(shí)域剪枝網(wǎng)絡(luò)和我們提出的 Winograd-ReLU 網(wǎng)絡(luò)可以被剪枝到 60% 密度。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

上表比較了各個(gè)剪枝后網(wǎng)絡(luò)的計(jì)算量以及權(quán)重和輸入神經(jīng)元的密度。時(shí)域剪枝網(wǎng)絡(luò)、Winograd 本地剪枝網(wǎng)絡(luò)僅可以將計(jì)算量分別減少 3.5 和 3.2 倍。而我們提出的 Winograd-ReLU 網(wǎng)絡(luò)可以減少計(jì)算量 7.1 倍,相較于兩個(gè)基準(zhǔn)網(wǎng)絡(luò)分別提升 2.1 和 2.2 倍。

ImageNet:

我們使用 ResNet-18 網(wǎng)絡(luò)的一個(gè)變體進(jìn)行實(shí)驗(yàn)。該變體與原 ResNet-18 的差別在于,我們用 1x1 步長 3x3 卷積以及 2x2 池化層來替代 2x2 步長 3x3 卷積。同時(shí)我們也去掉了最后一個(gè)池化層,使得最后一組卷積層的大小為 14x14。我們將卷積層的權(quán)重密度迭代地從 80% 剪枝為 10%。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

由上圖可以看到,當(dāng)準(zhǔn)確率損失小于 0.1% 時(shí),時(shí)域剪枝網(wǎng)絡(luò)、Winograd 本地剪枝網(wǎng)絡(luò)僅可以被分別剪枝到 60% 和 50% 密度,而我們提出的 Winograd-ReLU 網(wǎng)絡(luò)可以被剪枝到 30%/35% 密度。

 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

上表比較了各個(gè)剪枝后網(wǎng)絡(luò)的計(jì)算量以及權(quán)重和輸入神經(jīng)元的密度。時(shí)域剪枝網(wǎng)絡(luò)、Winograd 本地剪枝網(wǎng)絡(luò)僅可以將計(jì)算量分別減少 5.1 和 4.5 倍。而我們提出的 Winograd-ReLU 網(wǎng)絡(luò)可以減少計(jì)算量 13.2 倍,相較于兩個(gè)基準(zhǔn)網(wǎng)絡(luò)分別提升 2.6 和 2.9 倍。

討論

我們對(duì)提出的 Winograd-ReLU 網(wǎng)絡(luò)的卷積核進(jìn)行可視化。我們挑選了 res2a_2a 層的前 6 個(gè)輸入和輸出通道。可以看到,Winograd-ReLU 網(wǎng)絡(luò)的卷積核并未顯示出明顯的物理意義。然而,我們發(fā)現(xiàn) (2,2) 元素(從左至右從上至下,初始指標(biāo)為 1)通常較其它元素更顯著。一個(gè)可能的原因在于,(2,2) 元素在 Winograd 域輸入神經(jīng)元中是特別的:它是 B^TdB 中唯一一個(gè)只由加法而無減法進(jìn)行線性變換的神經(jīng)元。在光滑的輸入特征圖中,這意味著 (2,2) 元素是唯一擁有非零均值的元素。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經(jīng)網(wǎng)絡(luò)| ICLR 2018

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說