成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能 正文
    發私信給奕欣
    發送

    1

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    本文作者: 奕欣 2018-05-03 12:00 專題:ICLR 2018
    導語:如何減少卷積神經網絡中的乘法數量?

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    引言

    卷積神經網絡在許多機器學習應用中體現出巨大優勢。其計算性能和功耗主要由卷積過程中乘法操作的數量決定。但卷積神經網絡的巨大計算量限制了其在移動設備上的應用。

    目前有兩種主流方法用于減少卷積神經網絡中的乘法數量:

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

    • 2)神經網絡壓縮,例如利用權重經過剪枝后的稀疏性和神經元由于 ReLU 產生的稀疏性。

    然而,上述兩個方向無法兼容:對神經元和卷積核的線性變換會使得它們原本的稀疏性不復存在,因此無法利用其稀疏性進行加速。在稀疏卷積神經網絡上使用 Winograd 卷積算法會反而使計算量增大。

    針對上述問題,本文提出兩點改進。

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

    • 其次,我們對 Winograd 變換之后的權重進行剪枝,使得在乘法操作時權重是稀疏的。

    實驗結果表明,在精度損失 0.1% 之內時,我們提出的新方法在 CIFAR-10,CIFAR-100 和 ImageNet 數據集上能將乘法數量分別減少 10.4 倍,6.8 倍和 10.8 倍,乘法減少率相較于原有基準提升 2.0-3.0 倍。

    稀疏 Winograd 卷積

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

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    時域剪枝網絡:當使用普通剪枝的網絡 (Han et al. 2015) 時,前一層的 ReLU 激活函數作用在時域輸入 d 上,同時時域權重 g 被剪枝。輸出塊 S 由以下公式計算得到:

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018 

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

     斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    當 p=4 時的計算如下圖所示。

     斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    值得注意的是,我們完全擯棄了時域的卷積核。因為 ReLU 是和前一層的卷積層綁定的,Winograd 域的 ReLU 操作實際上是從第二層開始的。需要指出,新提出的卷積神經網絡架構和普通的卷積神經網絡在數學上不等價。因此,網絡的訓練、剪枝和重訓練都需要進行如下改變。

    訓練:我們直接在 Winograd 域訓練變換后的卷積核。卷積核隨機初始化后直接由反向傳播計算梯度進行優化。

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

    重訓練:我們利用前一步得到的剪枝掩碼來進行重訓練。在重訓練過程中,被剪枝的權重通過掩碼強制設置為 0。網絡損失函數對輸入神經元和 Winograd 域權重的梯度可通過鏈式法則由上游傳遞來的梯度計算得到:

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    實驗和結果

    我們將上述方法應用在不同數據集上的不同網絡架構上。我們選擇實驗的網絡架構中大多數卷積核的大小為 3x3,這可以保證大多數卷積層都可以轉化為 Winograd 卷積層。我們分別使用圖像分類數據集 CIFAR-10、CIFAR-100 和 ImageNet 進行實驗。對每個網絡架構我們比較前述三類網絡。三類網絡都是從頭開始訓練并進行迭代的剪枝-重訓練過程。

    CIFAR-10:

    我們使用 VGG-nagadomi 網絡進行實驗。VGG-nagadomi 可以視作輕量級的 VGGNet,其中有 8 層 3x3 卷積層。我們將第一層的權重密度設為 80%,其余層迭代地從 80% 剪枝為 20%。

     斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    由上圖可以看到,當準確率損失小于 0.1% 時,時域剪枝網絡、Winograd 本地剪枝網絡僅可以被剪枝到 60% 密度,而我們提出的 Winograd-ReLU 網絡可以被剪枝到 40% 密度。 斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    上表比較了各個剪枝后網絡的計算量以及權重和輸入神經元的密度。時域剪枝網絡、Winograd 本地剪枝網絡僅可以將計算量分別減少 5.1 和 3.7 倍。而我們提出的 Winograd-ReLU 網絡可以減少計算量 13.3 倍,相較于兩個基準網絡分別提升 2.6 和 3.6 倍。

    CIFAR-100:

    我們使用 ConvPool-CNN-C 網絡進行實驗。ConvPool-CNN-C 有 9 個卷積層,其中有 7 個 3x3 卷積層。我們將第一層的權重密度設為 80%,其余層迭代地從 80% 剪枝為 20%。

     斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    由上圖可以看到,當準確率損失小于 0.1% 時,Winograd 本地剪枝網絡可以被剪枝到 70% 密度,而時域剪枝網絡和我們提出的 Winograd-ReLU 網絡可以被剪枝到 60% 密度。

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    上表比較了各個剪枝后網絡的計算量以及權重和輸入神經元的密度。時域剪枝網絡、Winograd 本地剪枝網絡僅可以將計算量分別減少 3.5 和 3.2 倍。而我們提出的 Winograd-ReLU 網絡可以減少計算量 7.1 倍,相較于兩個基準網絡分別提升 2.1 和 2.2 倍。

    ImageNet:

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    由上圖可以看到,當準確率損失小于 0.1% 時,時域剪枝網絡、Winograd 本地剪枝網絡僅可以被分別剪枝到 60% 和 50% 密度,而我們提出的 Winograd-ReLU 網絡可以被剪枝到 30%/35% 密度。

     斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    上表比較了各個剪枝后網絡的計算量以及權重和輸入神經元的密度。時域剪枝網絡、Winograd 本地剪枝網絡僅可以將計算量分別減少 5.1 和 4.5 倍。而我們提出的 Winograd-ReLU 網絡可以減少計算量 13.2 倍,相較于兩個基準網絡分別提升 2.6 和 2.9 倍。

    討論

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

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    斯坦福ICLR 2018錄用論文:高效稀疏Winograd卷積神經網絡| ICLR 2018

    分享:
    相關文章
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說