[發(fā)明專(zhuān)利]稀疏神經(jīng)網(wǎng)絡(luò)架構(gòu)及其實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201710761177.7 | 申請(qǐng)日: | 2017-08-30 |
| 公開(kāi)(公告)號(hào): | CN107609641B | 公開(kāi)(公告)日: | 2020-07-03 |
| 發(fā)明(設(shè)計(jì))人: | 尹首一;李寧;歐陽(yáng)鵬;劉雷波;魏少軍 | 申請(qǐng)(專(zhuān)利權(quán))人: | 清華大學(xué) |
| 主分類(lèi)號(hào): | G06N3/063 | 分類(lèi)號(hào): | G06N3/063 |
| 代理公司: | 北京三友知識(shí)產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 王濤;賈磊 |
| 地址: | 10008*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 稀疏 神經(jīng)網(wǎng)絡(luò) 架構(gòu) 及其 實(shí)現(xiàn) 方法 | ||
一種稀疏神經(jīng)網(wǎng)絡(luò)架構(gòu)及其實(shí)現(xiàn)方法,該稀疏神經(jīng)網(wǎng)絡(luò)架構(gòu)包括:外存控制器,權(quán)重緩存器,輸入緩存器,輸出緩存器,輸入緩存控制器及計(jì)算陣列;計(jì)算陣列包括多個(gè)計(jì)算單元,計(jì)算陣列中的每行可重構(gòu)計(jì)算單元共享輸入緩存器中的部分輸入,計(jì)算每列可重構(gòu)計(jì)算單元共享權(quán)重緩存器中的部分權(quán)重;輸入緩存控制器對(duì)輸入緩存器的輸入進(jìn)行稀疏運(yùn)算,去除輸入中的零值;外存控制器存儲(chǔ)計(jì)算陣列處理前及處理后的數(shù)據(jù)。本發(fā)明可以減少甚至消除輸入為零時(shí)的無(wú)效計(jì)算,使各計(jì)算單元之間的計(jì)算量達(dá)到均衡,提高了硬件資源利用率同時(shí)保證了最低計(jì)算時(shí)延。
技術(shù)領(lǐng)域
本發(fā)明涉及神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)技術(shù),特別是關(guān)于一種稀疏神經(jīng)網(wǎng)絡(luò)架構(gòu)及其實(shí)現(xiàn)方法。
背景技術(shù)
近些年應(yīng)用于深度學(xué)習(xí)的優(yōu)秀的硬件架構(gòu)也不斷出現(xiàn),例如,英偉達(dá)以其大規(guī)模的并行GPU和專(zhuān)用GPU編程框架CUDA主導(dǎo)著當(dāng)前的深度學(xué)習(xí)市場(chǎng)。越來(lái)越多的公司開(kāi)發(fā)出了用于深度學(xué)習(xí)的硬件加速器,比如谷歌的張量處理單元(TPU/Tensor Processing Unit)、英特爾的Xeon Phi Knight's Landing,以及高通的神經(jīng)網(wǎng)絡(luò)處理器(NNU/Neural NetworkProcessor)。Teradeep公司現(xiàn)在開(kāi)始使用FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列),因?yàn)樗鼈兊哪苄П菺PU的高出10倍。FPGA更靈活、可擴(kuò)展、并且效能功耗比更高。這些硬件結(jié)構(gòu)針對(duì)密集型的深度神經(jīng)網(wǎng)絡(luò)具有很好的表現(xiàn),但對(duì)于稀疏型的網(wǎng)絡(luò)訓(xùn)練效果不理想,原因是造成大量的硬件資源以及能耗的浪費(fèi)。隨后,韓松等人針對(duì)壓縮后的網(wǎng)絡(luò)提出了EIE(Efficient InferenceEngine on Compressed Deep Neural Network)和ESE(Efficient Speech RecognitionEngine with Sparse LSTM on FPGA)硬件架構(gòu)。其中,EIE需要對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行提前處理并用新的格式(CSC)進(jìn)行存儲(chǔ);ESE架構(gòu)是對(duì)原本密集型的網(wǎng)絡(luò)進(jìn)行自定義的壓縮后再進(jìn)行訓(xùn)練。這兩個(gè)架構(gòu)對(duì)網(wǎng)絡(luò)的訓(xùn)練速度有很大提升,但主要考慮的都是網(wǎng)絡(luò)參數(shù)的稀疏性,這樣的優(yōu)化對(duì)于全連接層組成的網(wǎng)絡(luò)具有很大的提升,但對(duì)于CNN這類(lèi)網(wǎng)絡(luò),卷積層中主要集中了90%的計(jì)算量,但參數(shù)量只占到10%,我們更多需要從網(wǎng)絡(luò)的輸入的稀疏度出現(xiàn)來(lái)降低計(jì)算量。卷積層的輸入的稀疏度來(lái)源于很多方面,例如:
第一,卷積第一層的輸入是原始圖像,原始圖像中很多的像素點(diǎn)可能為0。圖像的位數(shù)通常是8位,即可以表示256種顏色(0-255)。簡(jiǎn)單的可以認(rèn)為一張單通道8位彩色圖共有三個(gè)通道,即R、G、B。比如彩色圖像中的一個(gè)像素點(diǎn)的RGB值為(234,103,67)。其中255代表純白,0代表純黑。想象極端情況,如果整張圖都是黑色的,那么這個(gè)圖的所有像素點(diǎn)都是0,而在一般情況下,圖像中也會(huì)存在很多0值。
第二,由于激活函數(shù)的應(yīng)用會(huì)帶來(lái)很大的稀疏度。激活函數(shù)是用來(lái)加入非線性因素的,解決線性模型所不能解決的問(wèn)題。激活函數(shù)最早起源于生物學(xué),神經(jīng)生物學(xué)認(rèn)為一個(gè)神經(jīng)元細(xì)胞要么處于激活狀態(tài),要么是抑制狀態(tài),人工神經(jīng)網(wǎng)絡(luò)目的之一就是要模擬這一機(jī)制,所以就按照這個(gè)機(jī)理設(shè)計(jì)了二值化激活過(guò)程,也就是說(shuō)超過(guò)某一個(gè)閾值就取值1,代表激活,低于某個(gè)閾值就取值0,代表抑制。如果畫(huà)出函數(shù)的圖像,這種0-1二值化激活其實(shí)就是自動(dòng)控制領(lǐng)域最著名的階躍函數(shù)。加入這樣的激活函數(shù),一開(kāi)始是為了增強(qiáng)模型的非線性,如果不經(jīng)過(guò)非線性激活,那么無(wú)論神經(jīng)網(wǎng)絡(luò)加多少層永遠(yuǎn)都是線性組合,而加入了非線性激活函數(shù)后,已經(jīng)可以證明,可以以任意精度逼近非線性函數(shù),最妙的是,還可以不需要知道這個(gè)非線性函數(shù)的具體形式。這個(gè)0-1激活函數(shù)很符合仿生學(xué)的要求,但是數(shù)學(xué)性質(zhì)不好,因?yàn)椴贿B續(xù)所以不可導(dǎo),在斷點(diǎn)處導(dǎo)數(shù)無(wú)窮大,不利于后續(xù)的數(shù)學(xué)分析,比如一般的誤差反向傳播神經(jīng)網(wǎng)絡(luò)都需要反向求導(dǎo)過(guò)程,因此人們又加入了很多函數(shù),這些函數(shù)在函數(shù)圖像上很接近階躍函數(shù),而且具備極好的數(shù)學(xué)性質(zhì),便于理論推導(dǎo),于是就成了0-1激活函數(shù)的替代品。
常用的激活函數(shù)有以下幾種:
Sigmoid函數(shù)
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于清華大學(xué),未經(jīng)清華大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710761177.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計(jì)算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)設(shè)備
- 一種適應(yīng)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲(chǔ)介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





