[發(fā)明專利]硬件神經(jīng)網(wǎng)絡轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)有效
| 申請?zhí)枺?/td> | 201610865581.4 | 申請日: | 2016-09-29 |
| 公開(公告)號: | CN106650922B | 公開(公告)日: | 2019-05-03 |
| 發(fā)明(設計)人: | 張悠慧;季宇 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063 |
| 代理公司: | 北京睿邦知識產(chǎn)權代理事務所(普通合伙) 11481 | 代理人: | 張麗新 |
| 地址: | 10008*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 硬件 神經(jīng)網(wǎng)絡 轉(zhuǎn)換 方法 計算 裝置 編譯 軟硬件 協(xié)作 系統(tǒng) | ||
將神經(jīng)網(wǎng)絡應用轉(zhuǎn)換為滿足硬件約束條件的硬件神經(jīng)網(wǎng)絡的硬件神經(jīng)網(wǎng)絡轉(zhuǎn)換方法、計算裝置、編譯方法、神經(jīng)網(wǎng)絡軟硬件協(xié)作系統(tǒng),該方法包括:獲得神經(jīng)網(wǎng)絡應用對應的神經(jīng)網(wǎng)絡連接圖;將神經(jīng)網(wǎng)絡連接圖拆分為神經(jīng)網(wǎng)絡基本單元;將每個神經(jīng)網(wǎng)絡基本單元轉(zhuǎn)換為與之功能等效的由神經(jīng)網(wǎng)絡硬件的基本模塊虛擬體連接成的網(wǎng)絡;將得到的基本單元硬件網(wǎng)絡按照拆分的順序連接起來,生成硬件神經(jīng)網(wǎng)絡的參數(shù)文件。本發(fā)明提出了一種全新的神經(jīng)網(wǎng)絡和類腦計算的軟硬件體系,在神經(jīng)網(wǎng)絡應用和神經(jīng)網(wǎng)絡芯片之間加上了一個中間編譯層,解決了神經(jīng)網(wǎng)絡應用與神經(jīng)網(wǎng)絡應用芯片之間的適配問題,同時解耦合了應用和芯片的開發(fā)。
技術領域
本發(fā)明總體地涉及神經(jīng)網(wǎng)絡技術領域,更具體地涉及由神經(jīng)網(wǎng)絡芯片來實現(xiàn)軟件神經(jīng)網(wǎng)絡的技術。
背景技術
最近幾年,深度學習技術取得了突破性進展,在圖像識別、語言識別、自然語言處理等諸多領域均取得了很高的準確率,但深度學習需要海量計算資源,傳統(tǒng)的通用處理器已經(jīng)很難滿足深度學習的計算需求,將深度學習硬件化,為其設計專用芯片已經(jīng)成為了一個重要的發(fā)展方向。與此同時,隨著腦科學的發(fā)展,由于大腦相比傳統(tǒng)的馮諾依曼計算機,具有超低功耗,高容錯性等特點,且在處理非結(jié)構(gòu)化信息和智能任務方面具有顯著優(yōu)勢,借鑒大腦的計算模式構(gòu)建新型的類腦計算系統(tǒng)和類腦計算芯片已經(jīng)成為一個新興的發(fā)展方向。
無論是深度學習還是類腦計算,其底層的計算模型均是神經(jīng)網(wǎng)絡(NeuralNetwork,NN),主要區(qū)別在于,深度學習使用的主要是人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetwork,ANN),而類腦計算主要使用的是脈沖神經(jīng)網(wǎng)絡(SpikingNeuralNetwork,SNN),兩者基本組成單元均為神經(jīng)元,由大量神經(jīng)元相互連接成網(wǎng)絡。神經(jīng)元之間的連接可以看作帶權重的有向邊,神經(jīng)元的輸出會被神經(jīng)元之間的連接所加權,然后傳遞給所連到的神經(jīng)元,而每個神經(jīng)元接收到的所有輸入會被累加起來進行進一步處理,產(chǎn)生神經(jīng)元的輸出。ANN和SNN的主要區(qū)別在于,ANN的神經(jīng)元輸出的是數(shù)值,與邊權相乘進行加權;而SNN的神經(jīng)元輸出的是一個個電脈沖信號,電脈沖信號經(jīng)過加權成為不同強度的電流信號;ANN的神經(jīng)元對于其他神經(jīng)元的輸入,會經(jīng)過一個激活函數(shù)直接算出神經(jīng)元的輸出值;而SNN的神經(jīng)元接收到其他神經(jīng)元輸入的電流信號,會根據(jù)其神經(jīng)元模型更新其狀態(tài),當達到特定狀態(tài)便會發(fā)放一個電脈沖,并重置狀態(tài)。
神經(jīng)網(wǎng)絡的建模通常以若干神經(jīng)元為一層,層與層之間相互連接來構(gòu)建,圖10所示的是一種鏈狀的神經(jīng)網(wǎng)絡,圖中每一個圓表示一個神經(jīng)元,每一個箭頭表示神經(jīng)元之間的連接,每個連接均有權重,實際神經(jīng)網(wǎng)絡的結(jié)構(gòu)不限于鏈狀的網(wǎng)絡結(jié)構(gòu)。
神經(jīng)網(wǎng)絡的核心計算是矩陣向量乘操作,包含n個神經(jīng)元的層Ln產(chǎn)生的輸出可以用長度為n的向量Vn表示,與包含m個神經(jīng)元的層Lm全相聯(lián),連接權重可以表示成矩陣Mn×m,矩陣大小為n行m列,每個矩陣元素表示一個連接的權重。則加權之后輸入到Lm的向量為Mn×mVn,這樣的矩陣向量乘法運算是神經(jīng)網(wǎng)絡最核心的計算。
由于矩陣向量乘計算量非常大,在傳統(tǒng)的通用處理器上進行大量的矩陣乘運算需要耗費大量的時間,因此神經(jīng)網(wǎng)絡加速芯片和類腦芯片也都是以加速矩陣乘法運算為主要的設計目標,在具體實現(xiàn)上,通常是用硬件實現(xiàn)一定規(guī)模的矩陣向量乘法模塊(例如實現(xiàn)大小為256×256的矩陣與長度為256的向量相乘的基本模塊),然后用片上網(wǎng)絡(NetworkonChip,NoC)等技術將基本模塊連接起來。通過將矩陣向量乘法硬件化,運算速度可以大大提高。
然而硬件化也約束了其所能支持的神經(jīng)網(wǎng)絡應用的自由度,這也帶來一個重要的問題:很難使用這樣的芯片來運行實際的神經(jīng)網(wǎng)絡應用。雖然神經(jīng)網(wǎng)絡芯片可以高效地進行矩陣向量乘法運算,但神經(jīng)網(wǎng)絡應用與底層芯片之間仍然存在很大的不同,例如:
(1)神經(jīng)網(wǎng)絡硬件的基本模塊通常是固定規(guī)模的矩陣向量乘,而實際神經(jīng)網(wǎng)絡應用中矩陣運算的規(guī)模是任意的。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經(jīng)清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610865581.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬件神經(jīng)網(wǎng)絡轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡
- 神經(jīng)網(wǎng)絡的生成方法、生成裝置和電子設備
- 一種舌診方法、裝置、計算設備及計算機存儲介質(zhì)
- 學習神經(jīng)網(wǎng)絡結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡轉(zhuǎn)換方法及相關轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機設備
- 一種適應目標數(shù)據(jù)集的網(wǎng)絡模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡的處理器及其操作方法、電氣設備
- 一種圖像神經(jīng)網(wǎng)絡結(jié)構(gòu)的優(yōu)化方法及裝置
- 圖像轉(zhuǎn)換設備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





