0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過張量的降維來降低卷積計(jì)算量(CP分解)

YCqV_FPGA_EETre ? 來源:未知 ? 2019-11-28 17:15 ? 次閱讀

引言

在CNN網(wǎng)絡(luò)中卷積運(yùn)算占據(jù)了最大的計(jì)算量,壓縮卷積參數(shù)可以獲得顯著的硬件加速器的性能提升。在即將介紹的這篇論文中,作者就是通過張量的降維來降低卷積計(jì)算量的。作者通過CP分解將一個4D張量分解成多個低維度的張量,并且最后通過微調(diào)參數(shù)來提升網(wǎng)絡(luò)精度。

1 原理

CNN卷積參數(shù)可以看做一個4D的張量。其中兩個維度是對應(yīng)一幅feature map的兩個空間方向。一個方向?qū)?yīng)輸入feature map,另外一個維度為輸出feature map方向。一個全卷積運(yùn)算是對應(yīng)每個輸入feature map卷積求和,如圖所示。通過CP分解,一個全卷積運(yùn)算變成了連續(xù)多步一維卷積運(yùn)算。圖中S維度是多個輸入feature map堆疊成的,dxd是feature map的空間維度。卷積核在feature map兩個空間維度進(jìn)行劃窗運(yùn)動,圖中一個綠色方塊內(nèi)的結(jié)果求和得到一幅輸出feature map中的一個像素點(diǎn)。T是多幅輸出feature map堆疊成的。

那么這樣的分解如何來保證和全卷積結(jié)果的不變呢?其實(shí)是要保證kernel不變就行了。然后再通過一些數(shù)學(xué)變化將全卷積變?yōu)檫B續(xù)多步卷積。已知一個二維矩陣可以進(jìn)行如下分解:

其中R是矩陣A的秩。計(jì)算量的降低取決于A的秩,秩越小,那么就可以被分解為更小矩陣,計(jì)算量降低的就越大。如果A的秩為其維度d,那么如果保持分解后秩不變,那么計(jì)算量是不能減小的,所以關(guān)鍵是看矩陣的秩的大小,秩的大小反映了網(wǎng)絡(luò)的信息冗余度。將之推廣到多維張量,有:

假設(shè)A張量維度為n1xn2x…nd,那么通過上述分解,參數(shù)量就大為降低,為(n1+n2+…nd)R個。

對于二維矩陣,可以使用SVD方式來計(jì)算分解的矩陣。但是當(dāng)維數(shù)大于2,則無法使用這種方式了。作者選擇了非線性最下平方差(non-linear least squares)方法,其通過降低L2項(xiàng)來獲得分解矩陣。NLS方法計(jì)算的1維分解矩陣精度更好。

4D張量分解了,那么如何來將卷積計(jì)算分解為多步連續(xù)運(yùn)算呢?一個全卷積運(yùn)算表示為:

K為卷積核,維度為dxdxSxT。經(jīng)過分解后卷積核為:

然后通過重新排序可以得到連續(xù)多步卷積運(yùn)算:

2 實(shí)驗(yàn)

在字符識別上,作者使用4層卷積網(wǎng)絡(luò),在不進(jìn)行CP降維時,識別精度為91.2%。通過CP降維后,精度降低了1%,但是識別速率提升了8.5倍。

在ALEXNET網(wǎng)絡(luò)上,CP降維實(shí)現(xiàn)了6.6倍速率提升,但是精度只降低了1%。

結(jié)論

CP分解降低了權(quán)重的秩,進(jìn)而降低了計(jì)算量以及參數(shù)總量。多適用于小型的分類網(wǎng)絡(luò)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 卷積
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    18466
  • 硬件加速器
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    12711

原文標(biāo)題:【網(wǎng)絡(luò)壓縮四】CP分解

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    與三卷積流程及在機(jī)器視覺中的應(yīng)用

    由于計(jì)算機(jī)視覺的大紅大紫,二卷積的用處范圍最廣。本文將介紹二卷積、一
    的頭像 發(fā)表于 05-03 09:08 ?6353次閱讀
    一<b class='flag-5'>維</b>與三<b class='flag-5'>維</b><b class='flag-5'>卷積</b>流程及在機(jī)器視覺中的應(yīng)用

    張量計(jì)算在神經(jīng)網(wǎng)絡(luò)加速器中的實(shí)現(xiàn)形式

    引言 神經(jīng)網(wǎng)絡(luò)中涉及到大量的張量運(yùn)算,比如卷積,矩陣乘法,向量點(diǎn)乘,求和等。神經(jīng)網(wǎng)絡(luò)加速器就是針對張量運(yùn)算來設(shè)計(jì)的。一個神經(jīng)網(wǎng)絡(luò)加速器通常都包含一個張量計(jì)算陣列,以及數(shù)據(jù)收發(fā)控制,共同
    的頭像 發(fā)表于 11-02 13:52 ?2782次閱讀
    <b class='flag-5'>張量計(jì)算</b>在神經(jīng)網(wǎng)絡(luò)加速器中的實(shí)現(xiàn)形式

    FFT與DFT計(jì)算時間的比較及圓周卷積代替線性卷積的有效性實(shí)

    實(shí)驗(yàn)二 FFT與DFT計(jì)算時間的比較及圓周卷積代替線性卷積的有效性實(shí)驗(yàn):一 實(shí)驗(yàn)?zāi)康?:掌握FFT基2時間(或基2頻率)抽選法,理解其提高減少乘法運(yùn)算次數(shù)提高運(yùn)算速度的原理。2:掌握FFT圓周
    發(fā)表于 12-29 21:52

    TensorFlow教程|張量的階、形狀、數(shù)據(jù)類型

    TensorFlow用張量這種數(shù)據(jù)結(jié)構(gòu)表示所有的數(shù)據(jù).你可以把一個張量想象成一個n的數(shù)組或列表.一個張量有一個靜態(tài)類型和動態(tài)類型的
    發(fā)表于 07-27 18:30

    卷積神經(jīng)網(wǎng)絡(luò)一卷積的處理過程

    inference在設(shè)備端上做。嵌入式設(shè)備的特點(diǎn)是算力不強(qiáng)、memory小??梢?b class='flag-5'>通過對神經(jīng)網(wǎng)絡(luò)做量化load和省memory,但有時可能memory還吃緊,就需要對神經(jīng)網(wǎng)絡(luò)在memory使用上做進(jìn)一步優(yōu)化
    發(fā)表于 12-23 06:16

    空時自適應(yīng)處理研究

    是空時自適應(yīng)處理(STAP :SPACE-TIME ADAPTIVE PROCESSING)實(shí)用化的重要手段,基于雜波協(xié)方差矩陣特征分解
    發(fā)表于 12-18 16:46 ?13次下載

    實(shí)驗(yàn)一 連續(xù)時間系統(tǒng)卷積的數(shù)值計(jì)算

    通過程序設(shè)計(jì)實(shí)現(xiàn)連續(xù)時間系統(tǒng)卷積計(jì)算,更深刻的理解卷積的意義。
    發(fā)表于 05-23 18:21 ?1次下載

    基于FPGA的高光譜圖像奇異值分解技術(shù)

    基于FPGA的高光譜圖像奇異值分解技術(shù)
    發(fā)表于 08-30 15:10 ?2次下載

    基于張量分解的運(yùn)動想象腦電分類算法劉華生

    基于張量分解的運(yùn)動想象腦電分類算法_劉華生
    發(fā)表于 03-15 08:00 ?3次下載

    融合朋友關(guān)系和標(biāo)簽的張量分解推薦算法

    張量分解推薦算法。首先,利用高階奇異值分解( HOSVD)方法對用戶一項(xiàng)目一標(biāo)簽三元組信息進(jìn)行潛在語義分析和多路,分析用戶、項(xiàng)目、標(biāo)簽
    發(fā)表于 01-07 09:43 ?0次下載

    基于TTr1SVD的張量奇異值分解

    張量是一種數(shù)據(jù)組織形式,它的實(shí)質(zhì)是高數(shù)組。很多數(shù)據(jù)都可以被組織成張量的形式,可以考慮將人臉圖像組織成張量的形式。人臉識別過程中最重要的一個環(huán)節(jié)是特征提取,后續(xù)的匹配識別過程是建立在它
    發(fā)表于 01-16 14:48 ?1次下載

    卷積、二卷積、三卷積具體應(yīng)用

    由于計(jì)算機(jī)視覺的大紅大紫,二卷積的用處范圍最廣。因此本文首先介紹二卷積,之后再介紹一
    發(fā)表于 05-08 10:29 ?4553次閱讀
    一<b class='flag-5'>維</b><b class='flag-5'>卷積</b>、二<b class='flag-5'>維</b><b class='flag-5'>卷積</b>、三<b class='flag-5'>維</b><b class='flag-5'>卷積</b>具體應(yīng)用

    谷歌宣布開源張量計(jì)算庫TensorNetwork及其API

    張量是一種多維數(shù)組,根據(jù)數(shù)組元素的順序按層級分類:例如,普通數(shù)是零階張量(也稱為標(biāo)量),向量可視為一階張量,矩陣可視為二階張量等等。低階張量
    的頭像 發(fā)表于 06-23 09:54 ?3551次閱讀
    谷歌宣布開源<b class='flag-5'>張量計(jì)算</b>庫TensorNetwork及其API

    如何使用FPGA實(shí)現(xiàn)高光譜圖像奇異值分解技術(shù)

    了解決高光譜圖像數(shù)高、數(shù)據(jù)巨大、實(shí)時處理技術(shù)實(shí)現(xiàn)難的問題,提出了高光譜圖像實(shí)時處理技術(shù)。采用奇異值分解(SVD)算法對高光譜圖像進(jìn)行
    發(fā)表于 03-11 16:07 ?10次下載
    如何使用FPGA實(shí)現(xiàn)高光譜圖像奇異值<b class='flag-5'>分解</b><b class='flag-5'>降</b><b class='flag-5'>維</b>技術(shù)

    淺析卷積與池化的對比

    在學(xué)習(xí)深度學(xué)習(xí)中卷積網(wǎng)絡(luò)過程中,有卷積層,池化層,全連接層等等,其中卷積層與池化層均可以對特征圖,本次實(shí)驗(yàn)針對控制其他層次一致的情況下,
    的頭像 發(fā)表于 02-17 14:58 ?951次閱讀
    淺析<b class='flag-5'>卷積</b><b class='flag-5'>降</b><b class='flag-5'>維</b>與池化<b class='flag-5'>降</b><b class='flag-5'>維</b>的對比