TWI698807B - 以類別為基礎修剪之人工類神經網路 - Google Patents
以類別為基礎修剪之人工類神經網路 Download PDFInfo
- Publication number
- TWI698807B TWI698807B TW106136613A TW106136613A TWI698807B TW I698807 B TWI698807 B TW I698807B TW 106136613 A TW106136613 A TW 106136613A TW 106136613 A TW106136613 A TW 106136613A TW I698807 B TWI698807 B TW I698807B
- Authority
- TW
- Taiwan
- Prior art keywords
- artificial neural
- neural network
- neurons
- activation frequency
- categories
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 86
- 238000013138 pruning Methods 0.000 title description 19
- 210000002569 neuron Anatomy 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000004913 activation Effects 0.000 claims abstract description 17
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 238000012956 testing procedure Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 14
- 238000004364 calculation method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012067 mathematical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Neurology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本發明揭示包含電腦程式產品的實施及使用用於將一人工類神經網路組態至一特定監視情景之技術的方法及設備。選擇該監視情景特有之若干個物件類別。該等物件類別形成訓練該人工類神經網路所針對的總數目個物件類別之一子集。存取包含該人工類神經網路內之神經元之啟動頻率值的一資料庫。該等啟動頻率值隨該物件類別而變化。自該人工類神經網路移除具有比選定物件類別之該子集之一臨限值低的啟動頻率值之彼等神經元。
Description
本發明係關於人工類神經網路,且更特定而言係關於用於物件辨識及驗證之人工類神經網路。近年來,對此等人工類神經網路之改良很大程度上歸因於網路擴充及訓練資料之一增加。然而,複雜人工類神經網路架構通常含有數以千萬或數以億計之參數。雖然此等人工類神經網路產生良好準確度,但大量參數可使部署不可行,尤其在通常具有有限運算能力之嵌入式系統上。作為人工類神經網路之增加大小之一結果,愈來愈關注壓縮人工類神經網路以便維持改良同時使其在具有有限運算能力之系統中實施係可行的。
由於人工類神經網路通常係非常大的,如上文所提及,因此其經常可係「過參數化的」。此使得可能在不顯著影響人工類神經網路之效能之情況下移除諸如權重及偏壓之參數或者全部神經元。此程序通常稱為「修剪」人工類神經網路。當移除一神經元時,可能追溯針對彼神經元之計算。然後可看到,可安全地移除通向彼神經元之所有權重。亦可能追蹤神經元輸出且移除自彼神經元出發之權重。然而,識別在修剪過程中將移除哪些神經元及以使得可獲得效能之一方式實施修剪過程係重要的。
修剪可應用於含有可訓練參數之層,傳統上經完全連接層及卷積
層。此有助於簡化且加速計算。舉例而言,自一經完全連接層移除一神經元等效於略過一矩陣列與一向量之間的一點積。因此,矩陣變小。自一卷積層移除一神經元意味略過一個矩陣列與一個矩陣行之間的點積,此與略過一個卷積相同。將在下文之詳細說明書中進一步詳細地論述神經元之移除。可藉由以下操作而判定可在不嚴重影響人工類神經網路之準確度之情況下移除哪些神經元:在訓練/測試階段期間分析神經元;及依據所得資料識別哪些神經元係「無效的」,亦即,哪些神經元極少或從不產生非零輸出。可藉由使用不同臨限值比較效能而決定一神經元必須產生非零輸出以不定義為無效之次數,且在已移除神經元之後可進行一再訓練以便改良效能。可反覆地進行此操作。
用於修剪之另一方法集中於已在訓練步驟期間移除權重(使用一臨限值或使用具有範數之正則化迫使某些權重為零)。正則化係熟習此項技術者眾所周知之一數學/統計方法,該數學/統計方法用於執行條件,舉例而言稀疏(迫使某些值為零)或平滑。針對關於用於修剪之正則化之進一步細節,參見可在網上查閱之論文:「Memory bounded deep convolutional networks」arXiv CoRR 2014-第3節:Regularization Updates,網址為https://arxiv.org/abs/1412.1442。
藉由關於可避免針對經移除參數之計算之一實施方案以此等方式充分地修剪一人工類神經網路,用於執行人工類神經網路之運算少於用於一全網路之運算。
本發明之一目標係完全地或部分地消除以上問題。
根據一第一態樣,本發明係關於一種在一電腦系統中用於將一人工類神經網路組態至一特定監視情景之方法。該方法由以下各項之步驟表徵:- 選擇該監視情景特有之若干個物件類別,其中該等物件類別形成訓練該人工類神經網路所針對的總數目個物件類別之一子集;- 存取包含該人工類神經網路內之神經元之啟動頻率值的一資料庫,其中該等啟動頻率值隨該物件類別而變化;及- 自該人工類神經網路移除具有比選定物件類別之該子集之一臨限值低的啟動頻率值之彼等神經元。
此提供形成輕量且因此適合用於嵌入式裝置(諸如攝影機或行動裝置)之一人工類神經網路之一方式。特定而言,藉由知曉可預期僅幾個類別(亦即,所有可能類別之一子集)且基於神經元使用之頻率而將人工類神經網路修剪至彼等類別,可能視需要且在不必須再訓練人工類神經網路之情況下使一大的人工類神經網路適應於不同先決條件,如習用地操作。再訓練一人工類神經網路通常既需要顯著時間量,又需要用於再訓練之新資料,而將該人工類神經網路修剪至一特定類別集合係一快得多之操作。進一步地,此方法可與其他習用方法(例如,使用定限或將權重正則化至零)組合使用以可能移除甚至更大數目個神經元且甚至進一步降低用於將人工類神經網路部署在嵌入式裝置中之運算效能。
根據一項實施例,該臨限值係在該人工類神經網路之一訓練程序期間針對每一類別判定之一靜態值。藉由針對不同相關類別允許不同臨限值,可能改良系統之準確度(與在跨越板針對每一相關類別使用相同臨限值之情況下相比較)。
根據一項實施例,基於系統效能,該臨限值針對每一類別係自適應的。藉由具有基於系統效能之一自適應臨限值,可基於自其中部署有該系統之一實際監視情景獲得之資料而進一步增強該系統。
根據一項實施例,可基於在一特定時間週期內收集之資料而精細化對該監視情景特有之物件類別之該選擇,且可針對對物件類別之該精細化選擇而重複該等選擇、存取及移除步驟。此允許基於真實觀察資料及系統效能評估而對系統進行進一步精細化及精細調諧。
根據一項實施例,回應於透過一使用者介面接收之一使用者輸入而執行該等選擇、存取及移除步驟中之至少某些步驟。具有一使用者介面允許使用者對比基於來自使用者之輸入而決定修剪應被自動化之程度。舉例而言,使用者可決定添加或刪除相關類別、改變個別類別之臨限值等以便進一步改良經修剪人工類神經網路之功能化。
根據一項實施例,移除一經完全連接人工類神經網路中之神經元與自形成該人工類神經網路之個別層之數學表示之矩陣移除列及行對應。藉由移除全部神經元(與僅移除權重相反),在計算來自該人工類神經網路之輸出中所需要之運算數目可顯著減少。
根據一項實施例,自該人工類神經網路移除神經元包含:移除充足數目個神經元使得計算來自該人工類神經網路之輸出所需要之運算資源之一減少勝過維持關於該等經移除神經元之記錄所需要之運算資源之一增加。亦即,可找到一損益平衡點,其中該人工類神經網路之修剪使得所需要運算資源與未修剪網路相比較低得多,因此使部署在嵌入式裝置中為適合的,同時人工類神經網路之效能保持為高。
根據一項實施例,該人工類神經網路部署在一嵌入式裝置中。該嵌
入式裝置可係(舉例而言)一監視攝影機或一蜂巢式電話。藉由能夠在此類型之嵌入式裝置中使用人工類神經網路,可顯著增強該等嵌入式裝置之操作。
根據一第二態樣,本發明係關於一種用於將一人工類神經網路組態至一特定監視情景之電腦程式。該電腦程式含有與以下各項之步驟對應之指令:- 選擇該監視情景特有之若干個物件類別,其中該等物件類別形成訓練該人工類神經網路所針對的總數目個物件類別之一子集;- 存取包含該人工類神經網路內之神經元之啟動頻率值的一資料庫,其中該等啟動頻率值隨該物件類別而變化;及- 自該人工類神經網路移除具有比選定物件類別之該子集之一臨限值低的啟動頻率值之彼等神經元。
根據一第三態樣,本發明係關於一種包括此一電腦程式之數位儲存媒體。該電腦程式及該儲存媒體涉及與方法之彼等優點對應之優點且可類似地變化。
在附圖及以下說明中陳述本發明之一或多個實施例之細節。根據說明及圖式以及申請專利範圍,將明瞭本發明之其他特徵及優點。
200:人工類神經網路
300:方程式/完整計算
400:方程式/計算
圖1展示根據一項實施例之用於修剪一人工類神經網路之一過程100之一流程圖。
圖2展示根據一項實施例之一人工類神經網路200之一示意圖。
圖3展示根據一項實施例之用於在修剪之前圖2之神經網路之完整計算之一方程式300。
圖4展示根據一項實施例之用於在修剪之後圖2之神經網路之計算之一方程式400。
在各圖式中,相似參考符號指示相似元件。
如上文所論述,本發明之一個目標係修剪一人工類神經網路,以便使該人工類神經網路可在諸如攝影機及行動裝置之嵌入式裝置中使用。本文中所闡述之各種實施例藉由以下方式實現此操作:基於一特定類別之影像之神經元之使用頻率而針對每一物件類別單獨修剪權重。可以類似於習用技術之方式進行此操作,例如,藉由在測試階段期間分析人工類神經網路之神經元且依據此一分析之結果識別哪些神經元之使用頻率不高。然而,根據本文中所闡述之實施例,透過人工類神經網路饋送僅屬於一特定類別之影像,且識別低效能神經元。
如熟習此項技術者將瞭解,本發明之態樣可體現為一種系統、方法或電腦程式產品。因此,本發明之態樣可採取一完全硬體實施例、一完全軟體實施例(包含韌體、常駐軟體、微碼等)或組合軟體與硬體態樣之一實施例(可全部在本文中統稱為一「電路」、「模組」或「系統」)之形式。此外,本發明之態樣可採取體現於其上體現有電腦可讀程式碼之一或多個電腦可讀媒體中之一電腦程式產品之形式。
可利用一或多個電腦可讀媒體之任一組合。該電腦可讀媒體可係一電腦可讀信號媒體或一電腦可讀儲存媒體。一電腦可讀儲存媒體可係(舉例而言,但不限於)一電子、磁性、光學、電磁、紅外線或半導體系統、設備或裝置或者前述各項之任一適合組合。該電腦可讀儲存媒體之更特定
實例(一非詳盡清單)將包含以下各項:具有一或多個導線之一電連接、一可攜式電腦磁片、一硬碟、一隨機存取記憶體(RAM)、一唯讀記憶體(ROM)、一可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、一光纖、一可攜式光碟唯讀記憶體(CD-ROM)、一光學儲存裝置、一磁性儲存裝置或前述各項之任一適合組合。在此文件之內容脈絡中,一電腦可讀儲存媒體可係可含有或儲存供由一指令執行系統、設備或裝置使用或連同其一起使用之一程式的任何有形媒體。
一電腦可讀信號媒體可包含具有其中體現有電腦可讀程式碼之一傳播資料信號(舉例而言,以基頻形式或作為一載波之部分)。此一傳播信號可採取各種形式中之任一者,包含但不限於電磁、光學或其任何適合組合。一電腦可讀信號媒體可係任何電腦可讀媒體,其並非一電腦可讀儲存媒體且可傳達、傳播或傳送供由一指令執行系統、設備或裝置使用或連同其一起使用之一程式。
可使用任何適當媒體(包含但不限於無線、有線、光纖電纜、RF等或前述各項之任一適合組合)傳輸體現於一電腦可讀媒體上之程式碼。可以一或多個程式設計語言(包含諸如Java、Smalltalk、C++或諸如此類之一物件導向程式設計語言及諸如「C」程式設計語言或類似程式設計語言之習用程序性程式設計語言)撰寫用於實施本發明之態樣之操作之電腦程式碼。該程式碼可在使用者之電腦上完全執行,在使用者之電腦上部分執行,在使用者之電腦上作為一獨立軟體套件執行,在使用者之電腦上部分執行且在一遠端電腦上部分執行或在該遠端電腦或伺服器上完全執行。在稍後情景中,該遠端電腦可透過包含一區域網路(LAN)或一廣域網路(WAN)之任一類型之網路連接至使用者之電腦,或可連接至一外部電腦
(舉例而言,透過使用一網際網路服務提供者之網際網路)。
下文參考流程圖圖解說明及/或根據本發明之實施例之方法、設備(系統)及電腦程式產品之方塊圖闡述本發明之態樣。將理解,該等流程圖圖解說明及/或方塊圖之每一方塊及該等流程圖圖解說明及/或方塊圖中之方塊組合可由電腦程式指令來實施。此等電腦程式指令可提供至一通用電腦、專用電腦或其他可程式化資料處理設備之一處理器,以產生一機器,使得該等指令(其經由電腦或其他可程式化資料處理設備之處理器執行)形成用於實施該(等)流程圖及/或方塊圖方塊中所規定之功能/動作之手段。
此等電腦程式指令亦可儲存於一電腦可讀媒體中,該電腦可讀媒體可指導一電腦、其他可程式化資料處理設備或其他裝置以一特定方式起作用,使得儲存於該電腦可讀媒體中之指令產生包含實施該(等)流程圖及/或方塊圖方塊中所規定之功能/動作之指令之一製品。
亦可將該等電腦程式指令載入至一電腦、其他可程式化資料處理設備或其他裝置上以致使在該電腦、其他可程式化設備或其他裝置上執行一系列操作步驟,以產生一電腦實施之過程,使得在該電腦或其他可程式化設備上執行之指令提供用於實施該(等)流程圖及/或方塊圖方塊中所規定之功能/動作之過程。
現在將藉由實例方式且參考圖1至圖4闡述根據本發明之各種實施例之技術。在此實例中,假定存在一人工類神經網路,已針對該人工類神經網路執行1000個類別之訓練。然而,在其中由一監視攝影機記錄影像之一情景中,舉例而言,一使用者可僅對1000個類別中之12個類別感興趣。
圖1係展示根據本發明之一項實施例之用於修剪一人工類神經網路之一過程100之一流程圖。如圖1中可見,為了斷定哪些神經元針對此等類別係低效能的,在步驟102中存取一資料庫。該資料庫含有隨物件類別而變化的在人工類神經網路內之神經元之啟動頻率值。
接下來,在步驟104中識別可自人工類神經網路安全地移除之低效能神經元。此操作可(舉例而言)藉由研究12個類別中之每一者之神經元之啟動頻率值且使用定義哪一啟動頻率值構成一低效能神經元之一臨限值來進行。該臨限值可在人工類神經網路之訓練程序期間根據不同類別而預定,或可在推理程序期間根據預測效能而係自適應的。亦即,該臨限值可適應於系統效能。
最後,在步驟106中,自人工類神經網路移除低效能神經元,此結束過程100且產生能夠根據一使用者之需要調整其架構之一「自適應人工類神經網路」。
在某些實施例中,此過程可需要透過一使用者介面(UI)來自一使用者之特定輸入,且可視需要重複該過程。舉例而言,在一項實施例中,可存在一特定監視情景之全面評估之一時間週期(例如,一周),後續接著選擇且修剪已在彼時間週期期間識別之類別。
各種程度之自動化可用於幫助使用者選擇類別。舉例而言,在某些實施例中,可完全自動化類別選擇。在其他實施例中,可向一使用者呈現經自動選擇之類別之一子集,且可依據此進行一手動使用者選擇。在又其他實施例中,該使用者可在所有類別當中自由地選擇。某些實施例亦允許一使用者對選定類別之一集合進行添加(若使用者判定此一添加針對即將發生之特定情景將係有益的)。熟習此項技術者可基於特定情景而設想諸
多變化。
圖2展示僅由經完全連接層組成之一小的人工類神經網路200之一示意性圖解說明,已使用以上技術自人工類神經網路200移除特定神經元(以虛線展示),以形成一自適應人工類神經網路。圖3展示在實際上移除神經元之前人工類神經網路之完整計算300,且圖4展示在移除與經移除神經元對應之計算之後之計算400,亦即,由所得自適應人工類神經網路執行之計算。
如藉由分別比較圖3及圖4中之方程式可見,在移除低效能神經元之後計算量顯著減少。通常,若修剪基於較少類別(例如,若使用者僅對6個類別而非12個類別感興趣),則可修剪更多神經元及權重,此乃因訓練資料之可變性減小,藉此產生一更簡潔人工類神經網路。
修剪一人工類神經網路之傳統方式係藉由獨立地查看權重值且移除低於一特定臨限值之權重來進行。雖然此將稀疏引入層中,但稀疏係非結構化的。若修剪替代地基於神經元,則可移除貢獻於一經修剪神經元之所有權重,從而產生一結構化稀疏。在具有經完全連接層之一人工類神經網路之情形中,此意味可移除輸出計算中之全部列及行。
由於關於權重矩陣所需要之唯一運算係乘法,因此可在不影響結果之情況下移除與經修剪神經元對應之列及行。使用此技術,矩陣大小減小(如在習用修剪方法中亦常見),但未針對每一矩陣而是僅針對所得矩陣儲存用於表示稀疏矩陣之指數以便重構最終全大小輸出。此亦可產生進一步益處。舉例而言,所得稀疏矩陣可具有需要較少運算能力來處置「簿記」之一結構,如將在下文進一步詳細地闡述。
只要存在相當數量之經修剪神經元,所得稀疏矩陣乘法便比完整矩陣乘法快。其需要更多簿記(亦即,記錄將經修剪神經元定位在何處之指數),但需要較少乘法。與習用方法相比較其亦節省儲存及記憶體空間,且可促進向量運算,諸如單指令多資料(SIMD),此通常在稀疏矩陣上不可能且將使運算更快。確切而言,構成「相當數量」之經修剪神經元之內容將根據情形而變化,但在每一情形中,將存在一損益平衡點,其中較少計算中之增益將勝過維持記錄中之損失。
此外,一稀疏矩陣可以諸多不同方式在數學上表達,且藉由針對特定結構使用正確表達可進一步減小達到此損益平衡點之臨限值係可能的。
最後,如熟習此項技術者認識到,當自本文中所展示之計算移除矩陣之全部列及行時,所得稀疏矩陣之尺寸將改變。因此,若修剪神經網路之最後層,則有必要更新一類別標籤檔案以便能夠使一特定輸出與一特定類別相關聯。另一替代方案係不修剪最後層,在該情形中最初類別標籤檔案可照原樣使用。
各圖中之流程圖及方塊圖圖解說明根據本發明之各種實施例之系統、方法及電腦程式產品之可能實施方案之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一方塊可表示碼之一模組、分段或部分,其包括用於實施規定邏輯功能之一或多個可執行指令。亦應注意,在某些替代實施方案中,方塊中所述之功能可不按圖中所述之次序出現。舉例而言,事實上,取決於所涉及之功能性,可實質上同時執行兩個連續展示之方塊,或有時可按相反次序執行該等方塊。亦將注意,方塊圖及/或流程圖圖解說明之每一方塊及方塊圖及/或流程圖圖解說明中之方塊組合可由執行規定功能或動作之特殊用途基於硬體系統或特殊用途硬體與電腦指令之
組合實施。
本文中所使用之術語僅用於闡述特定實施例之目的而非意欲限制本發明。如本文中所使用,除非內容脈絡另有明確指示,否則單數形式「一(a/an)」及「該(the)」意欲亦包含複數形式。將進一步理解,當在此說明書中使用時,術語「包括(comprises)」及/或「包括(comprising)」規定存在所陳述特徵、整數、步驟、操作、元件及/或組件,但並不排除存在或添加一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組。
下文申請專利範圍中之所有構件或步驟加功能元件之對應結構、材料、動作及等效形式意欲包含用於與如具體主張之其他所主張元件組合地執行功能之任何結構、材料或動作。本發明之說明已出於圖解說明及說明目的提出,而非意欲為窮盡性的或以所揭示形式限制於本發明。熟習此項技術者在不背離本發明之精神及範疇之情況下將明瞭諸多修改及變化。舉例而言,本文中所闡述之方法可不僅作為獨立方法來執行,而且可與其他已知方法組合以增強人工類神經網路之修剪。選擇並闡述實施例以便最佳地闡釋本發明之原理及實際應用,且使得熟習此項技術者能夠針對各種實施例在具有適合於所預計之特定用途之各種修改之情況下理解本發明。
Claims (7)
- 一種用於將在一嵌入式(embedded)裝置之一人工類神經網路(artificial neural network)組態至一特定監視情景(situation)之方法,該方法包括:選擇該監視情景特有之若干個物件類別,其中該等物件類別形成訓練該人工類神經網路所針對的總數目個物件類別之一子集;存取包含該人工類神經網路內之神經元(neurons)之啟動頻率值的一資料庫,其中該等啟動頻率值包含用於每一物件類別之至少一啟動頻率;及自該人工類神經網路移除具有比選定物件類別之該子集之一臨限值低的啟動頻率值之彼等神經元,其中經移除神經元之數目使得計算來自該人工類神經網路之輸出所需要之運算資源之一減少勝過維持關於該等經移除神經元之記錄所需要之運算資源之一增加。
- 如請求項1之方法,其中該臨限值係在該人工類神經網路之一訓練/測試程序期間針對每一類別判定之一靜態值。
- 如請求項1之方法,其中基於人工類神經網路效能,該臨限值針對每一類別係自適應的。
- 如請求項1之方法,其進一步包括:基於在一特定時間週期內收集之資料而精細化對該監視情景特有之 物件類別之該選擇;及針對對物件類別之該精細化選擇而重複該等選擇、存取及移除步驟。
- 如請求項1之方法,其中回應於透過一使用者介面接收之一使用者輸入而執行該等選擇、存取及移除步驟中之至少某些步驟。
- 如請求項1之方法,其中在一經完全連接人工類神經網路中,移除神經元與自形成該人工類神經網路之個別層之數學表示之矩陣移除列及行對應,藉此減少在計算來自該人工類神經網路之該輸出中所需要之運算數目。
- 一種包括指令之非暫態電腦可讀儲存媒體,當該等指令在一處理系統中被執行時,使得該系統執行用於將使用(employed)在一嵌入式裝置之一人工類神經網路組態至一特定監視情景之一方法,該方法包括:選擇該監視情景特有之若干個物件類別,其中該等物件類別形成訓練該人工類神經網路所針對的總數目個物件類別之一子集;存取包含該人工類神經網路內之神經元之啟動頻率值的一資料庫,其中該等啟動頻率值包含用於每一物件類別之至少一啟動頻率;及自該人工類神經網路移除具有比選定物件類別之該子集之一臨限值低的啟動頻率值之彼等神經元,其中經移除神經元之數目使得計算來自該人工類神經網路之輸出所需要之運算資源之一減少勝過維持關於該等經移除神經元之記錄所需要之運算資源之一增加。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16205831.7A EP3340129B1 (en) | 2016-12-21 | 2016-12-21 | Artificial neural network class-based pruning |
??16205831.7 | 2016-12-21 | ||
EP16205831.7 | 2016-12-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201824093A TW201824093A (zh) | 2018-07-01 |
TWI698807B true TWI698807B (zh) | 2020-07-11 |
Family
ID=57583087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106136613A TWI698807B (zh) | 2016-12-21 | 2017-10-25 | 以類別為基礎修剪之人工類神經網路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10552737B2 (zh) |
EP (1) | EP3340129B1 (zh) |
JP (1) | JP6755849B2 (zh) |
KR (1) | KR102110486B1 (zh) |
CN (1) | CN108229667B (zh) |
TW (1) | TWI698807B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268947A (zh) * | 2016-12-30 | 2018-07-10 | 富士通株式会社 | 用于提高神经网络的处理速度的装置和方法及其应用 |
US10892050B2 (en) * | 2018-04-13 | 2021-01-12 | International Business Machines Corporation | Deep image classification of medical images |
KR101989793B1 (ko) | 2018-10-22 | 2019-06-17 | 한국기술교육대학교 산학협력단 | 컨볼루션 신경망을 위한 가속기 인식 가지 치기 방법 및 기록 매체 |
US11551093B2 (en) * | 2019-01-22 | 2023-01-10 | Adobe Inc. | Resource-aware training for neural networks |
KR102214837B1 (ko) * | 2019-01-29 | 2021-02-10 | 주식회사 디퍼아이 | 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치 |
JP7099968B2 (ja) * | 2019-01-31 | 2022-07-12 | 日立Astemo株式会社 | 演算装置 |
JP7225876B2 (ja) | 2019-02-08 | 2023-02-21 | 富士通株式会社 | 情報処理装置、演算処理装置および情報処理装置の制御方法 |
KR102368962B1 (ko) | 2019-03-22 | 2022-03-03 | 국민대학교산학협력단 | 멤리스터 어레이 회로를 제어하기 위한 게이트 회로를 포함하는 뉴럴 네트워크 시스템 |
JP7150651B2 (ja) * | 2019-03-22 | 2022-10-11 | 株式会社日立ソリューションズ・テクノロジー | ニューラルネットワークのモデル縮約装置 |
JP2022095999A (ja) * | 2019-04-19 | 2022-06-29 | 国立大学法人北海道大学 | ニューラル計算装置、および、ニューラル計算方法 |
KR20200129458A (ko) | 2019-05-08 | 2020-11-18 | 삼성전자주식회사 | 인공 신경망 모델을 트레이닝하는 컴퓨팅 장치, 인공 신경망 모델을 트레이닝하는 방법 및 이를 저장하는 메모리 시스템 |
JP6787444B1 (ja) | 2019-05-23 | 2020-11-18 | 沖電気工業株式会社 | ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム |
CN112070221B (zh) * | 2019-05-31 | 2024-01-16 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
US11514311B2 (en) * | 2019-07-03 | 2022-11-29 | International Business Machines Corporation | Automated data slicing based on an artificial neural network |
US20210065005A1 (en) * | 2019-08-29 | 2021-03-04 | Alibaba Group Holding Limited | Systems and methods for providing vector-wise sparsity in a neural network |
JP7111671B2 (ja) * | 2019-09-05 | 2022-08-02 | 株式会社東芝 | 学習装置、学習システム、および学習方法 |
DE102019128715A1 (de) * | 2019-10-24 | 2021-04-29 | Krohne Messtechnik Gmbh | Verfahren zur Erzeugung eines neuronalen Netzes für ein Feldgerät zur Vorhersage von Feldgerätfehlern und ein entsprechendes System |
US11816574B2 (en) * | 2019-10-25 | 2023-11-14 | Alibaba Group Holding Limited | Structured pruning for machine learning model |
JP7396117B2 (ja) * | 2020-02-27 | 2023-12-12 | オムロン株式会社 | モデル更新装置、方法、及びプログラム |
JP7495833B2 (ja) | 2020-07-07 | 2024-06-05 | 株式会社日立ソリューションズ・テクノロジー | Dnnモデル圧縮システム |
GB202118066D0 (en) | 2021-12-14 | 2022-01-26 | Univ Dublin | Class separation aware artificial neural network pruning method |
US20230315763A1 (en) * | 2022-03-29 | 2023-10-05 | Treasure Data, Inc. | Interactive adaptation of machine learning models for time series data |
KR20240028055A (ko) * | 2022-08-24 | 2024-03-05 | 동국대학교 산학협력단 | 사이버 공격에 강인한 인공 신경망 구조 재구성 장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014935A (zh) * | 2004-05-24 | 2007-08-08 | 艾菲诺瓦公司 | 决定群体的设计喜好 |
WO2009088419A1 (en) * | 2008-01-09 | 2009-07-16 | Sensormatic Electronics Corporation | Electronic article surveillance system neural network minimizing false alarms and failures to deactivate |
US20140180986A1 (en) * | 2012-12-24 | 2014-06-26 | Google Inc. | System and method for addressing overfitting in a neural network |
TWI522935B (zh) * | 2011-08-16 | 2016-02-21 | 高通公司 | 用於神經時間編碼、學習及辨識之方法及裝置(三) |
TWI559156B (zh) * | 2010-10-27 | 2016-11-21 | 索力托自動化設計股份有限公司 | 識別稀有事件故障率的方法與系統 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787408A (en) * | 1996-08-23 | 1998-07-28 | The United States Of America As Represented By The Secretary Of The Navy | System and method for determining node functionality in artificial neural networks |
JP2000298661A (ja) * | 1999-04-15 | 2000-10-24 | Fuji Xerox Co Ltd | ニューラルネットワーク装置 |
JP4175296B2 (ja) * | 2004-06-25 | 2008-11-05 | キャタピラージャパン株式会社 | 建設機械のデータ処理装置及び建設機械のデータ処理方法 |
KR101326914B1 (ko) * | 2005-11-15 | 2013-11-11 | 베르나데트 가너 | 신경망 훈련 방법 |
KR101359352B1 (ko) * | 2012-06-28 | 2014-02-21 | 한국과학기술원 | 시각신경 회로장치 및 이를 이용한 시각신경 모방 시스템 |
CN103209417B (zh) * | 2013-03-05 | 2016-01-20 | 北京邮电大学 | 基于神经网络的频谱占用状态的预测方法以及装置 |
US9747554B2 (en) * | 2013-05-24 | 2017-08-29 | Qualcomm Incorporated | Learning device with continuous configuration capability |
US9721204B2 (en) * | 2013-10-28 | 2017-08-01 | Qualcomm Incorporated | Evaluation of a system including separable sub-systems over a multidimensional range |
US10373054B2 (en) * | 2015-04-19 | 2019-08-06 | International Business Machines Corporation | Annealed dropout training of neural networks |
CN107506828B (zh) * | 2016-01-20 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 用于稀疏连接的人工神经网络计算装置和方法 |
US11315018B2 (en) * | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
-
2016
- 2016-12-21 EP EP16205831.7A patent/EP3340129B1/en active Active
-
2017
- 2017-10-25 TW TW106136613A patent/TWI698807B/zh active
- 2017-11-28 CN CN201711214867.7A patent/CN108229667B/zh active Active
- 2017-12-01 JP JP2017231460A patent/JP6755849B2/ja active Active
- 2017-12-15 KR KR1020170173396A patent/KR102110486B1/ko active IP Right Grant
- 2017-12-21 US US15/851,173 patent/US10552737B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014935A (zh) * | 2004-05-24 | 2007-08-08 | 艾菲诺瓦公司 | 决定群体的设计喜好 |
WO2009088419A1 (en) * | 2008-01-09 | 2009-07-16 | Sensormatic Electronics Corporation | Electronic article surveillance system neural network minimizing false alarms and failures to deactivate |
TWI559156B (zh) * | 2010-10-27 | 2016-11-21 | 索力托自動化設計股份有限公司 | 識別稀有事件故障率的方法與系統 |
TWI522935B (zh) * | 2011-08-16 | 2016-02-21 | 高通公司 | 用於神經時間編碼、學習及辨識之方法及裝置(三) |
US20140180986A1 (en) * | 2012-12-24 | 2014-06-26 | Google Inc. | System and method for addressing overfitting in a neural network |
Also Published As
Publication number | Publication date |
---|---|
JP2018129033A (ja) | 2018-08-16 |
KR102110486B1 (ko) | 2020-05-13 |
US20180181867A1 (en) | 2018-06-28 |
US10552737B2 (en) | 2020-02-04 |
KR20180072562A (ko) | 2018-06-29 |
EP3340129B1 (en) | 2019-01-30 |
JP6755849B2 (ja) | 2020-09-16 |
EP3340129A1 (en) | 2018-06-27 |
TW201824093A (zh) | 2018-07-01 |
CN108229667B (zh) | 2019-09-10 |
CN108229667A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI698807B (zh) | 以類別為基礎修剪之人工類神經網路 | |
CN112101190B (zh) | 一种遥感图像分类方法、存储介质及计算设备 | |
CN111602148B (zh) | 正则化神经网络架构搜索 | |
WO2019155064A1 (en) | Data compression using jointly trained encoder, decoder, and prior neural networks | |
CN110366734B (zh) | 优化神经网络架构 | |
CN109844773B (zh) | 使用卷积神经网络处理序列 | |
US20170228618A1 (en) | Video classification method and apparatus | |
CN111741330B (zh) | 一种视频内容评估方法、装置、存储介质及计算机设备 | |
EP3570220B1 (en) | Information processing method, information processing device, and computer-readable storage medium | |
CN108536784B (zh) | 评论信息情感分析方法、装置、计算机存储介质和服务器 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
US20220147877A1 (en) | System and method for automatic building of learning machines using learning machines | |
KR20210032140A (ko) | 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치 | |
JP6506360B2 (ja) | 教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラム | |
EP3620982B1 (en) | Sample processing method and device | |
CN111967941B (zh) | 一种构建序列推荐模型的方法和序列推荐方法 | |
KR102049660B1 (ko) | 유해단어 어휘목록 자동 생성과 기계학습을 이용한 청소년 유해가사 자동 분류 방법 및 장치 | |
CN114169460A (zh) | 样本筛选方法、装置、计算机设备和存储介质 | |
CN111010595B (zh) | 一种新节目推荐的方法及装置 | |
KR102413588B1 (ko) | 학습 데이터에 따른 객체 인식 모델 추천 방법, 시스템 및 컴퓨터 프로그램 | |
CN113961765B (zh) | 基于神经网络模型的搜索方法、装置、设备和介质 | |
JP2022088341A (ja) | 機器学習装置及び方法 | |
JP2021124949A (ja) | 機械学習モデル圧縮システム、プルーニング方法及びプログラム | |
WO2021220361A1 (ja) | データ処理方法、データ処理装置及びデータ処理プログラム | |
CN116126815A (zh) | 基于剪枝和量化训练的自动驾驶模型压缩方法及装置 |