TW202013263A - 為深度神經網路的權重提供平衡修剪的系統及方法 - Google Patents
為深度神經網路的權重提供平衡修剪的系統及方法 Download PDFInfo
- Publication number
- TW202013263A TW202013263A TW108134461A TW108134461A TW202013263A TW 202013263 A TW202013263 A TW 202013263A TW 108134461 A TW108134461 A TW 108134461A TW 108134461 A TW108134461 A TW 108134461A TW 202013263 A TW202013263 A TW 202013263A
- Authority
- TW
- Taiwan
- Prior art keywords
- weights
- group
- weight
- count
- masking function
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013138 pruning Methods 0.000 title claims abstract description 14
- 238000013528 artificial neural network Methods 0.000 claims abstract description 26
- 230000000873 masking effect Effects 0.000 claims description 32
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 49
- 238000012805 post-processing Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000009966 trimming Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002123 temporal effect Effects 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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Complex Calculations (AREA)
- Scissors And Nippers (AREA)
- Feedback Control In General (AREA)
Abstract
一種為深度神經網路的權重提供平衡修剪的系統及方法,其中將所述深度神經網路的權重劃分成多個群組;確定每一群組中的非零權重的數目的計數;確定每一群組中的非零權重的計數的方差;使用拉格朗日乘子將所述深度神經網路的損失函數最小化,約束條件是每一群組中的非零權重的所述計數的所述方差等於0;以及藉由反向傳播來重新訓練所述權重及所述拉格朗日乘子。
Description
本文所揭露標的是有關於神經網路。更具體而言,本文所揭露標的是有關於為深度神經網路(DNN)的權重提供平衡修剪的一種系統及一種方法。
[相關申請案的交叉參考]
本申請案主張在2018年9月24日在美國專利與商標局提出申請且被授予序列號為62/735,846的美國臨時專利申請案以及在2018年11月9日在美國專利與商標局提出申請且被授予序列號16/186,470的美國非臨時專利申請案的優先權,所述美國臨時專利申請案及美國非臨時專利申請案的全部內容併入本案供參考。
神經硬體被設計成加速深度神經網路(deep neural network,DNN)的計算。然而,硬體加速器在處理稀疏參數時並不高效,且使神經網路參數的稀疏度平衡以確保並行處理元件具有相同量的工作負荷是困難的問題。使用稀疏度來減小參數大小並提高深度神經網路中的計算效率。
示例性實施例提供一種為深度神經網路(DNN)的權重提供平衡修剪的系統,所述系統可包括權重掩蔽器以及損失確定器。所述權重掩蔽器可掩蔽所述深度神經網路的多個權重群組中的每一權重群組中的權重,且損失確定器可基於所述深度神經網路的網路損失減去所述多個權重群組中的非零權重的計數的方差而確定所述深度神經網路的損失。在一個實施例中,所述損失確定器可更基於所述深度神經網路的所述網路損失減去所述多個權重群組中的非零權重的所述計數的所述方差乘以拉格朗日乘子而確定所述深度神經網路的所述損失。在另一實施例中,所述權重掩蔽器可將每一權重群組中的權重乘以掩蔽函數。在再一實施例中,所述掩蔽函數可為可微分的。
示例性實施例提供一種為深度神經網路(DNN)的權重提供平衡修剪的方法,所述方法可包括:將所述深度神經網路的權重劃分成多個群組;由權重掩蔽器對每一群組中的權重應用掩蔽函數;在已應用所述掩蔽函數之後確定每一群組中的非零權重的數目的計數;確定每一群組中的非零權重的所述計數的方差;由損失確定器使用拉格朗日乘子將所述深度神經網路的損失函數最小化,約束條件是每一群組中的非零權重的所述計數的所述方差等於0;以及藉由反向傳播來重新訓練所述權重及所述拉格朗日乘子。在一個實施例中,可使用所述拉格朗日乘子來乘以每一群組中的非零權重的所述計數的所述方差。在另一實施例中,後處理可包括:確定經重新訓練的所述權重的模;若所述多個群組中的一群組在平衡修剪之後具有更多非零權重,則將應用於所述群組的所述掩蔽函數調整成0直至所述群組的非零權重的計數等於經重新訓練的所述權重的所述模;以及若所述多個群組中的一群組在平衡修剪之後具有更少的非零權重,則將應用於所述群組的所述掩蔽函數調整成1直至所述群組的非零權重的計數等於經重新訓練的所述權重的所述模。
在以下詳細說明中,闡述諸多具體細節來提供對本揭露的透徹理解。然而,熟習此項技術者應理解,無需該些具體細節亦可實踐所揭露的各個態樣。在其他情形中,未詳細闡述眾所習知的方法、流程、組件及電路,以免使本文所揭露標的模糊不清。另外,所闡述的態樣可被實施成在任意成像裝置或系統(包括但不限於智慧型電話、使用者設備(User Equipment,UE)及/或膝上型電腦)中實行低功率、三維(three dimensional,3D)深度量測。
本說明書通篇中所提及的「一個實施例(one embodiment)」或「實施例(an embodiment)」意指結合所述實施例所闡述的特定特徵、結構或特性可包括於本文所揭露的至少一個實施例中。因此,在本說明書通篇中各處出現的片語「在一個實施例中(in one embodiment)」或「在實施例中(in an embodiment)」或者「根據一個實施例(according to one embodiment)」(或具有相似含義的其他片語)可能未必均指同一實施例。此外,在一或多個實施例中,特定特徵、結構或特性可採用任意合適的方式進行組合。就此而言,本文所用的詞「示例性(exemplary)」意指「用作實例、例子或例示」。本文中被闡述為「示例性」的任意實施例不應被視為與其他實施例相較必定是優選的或有利的。另外,在一或多個實施例中,特定特徵、結構或特性可採用任意合適的方式進行組合。另外,端視本文中論述的上下文而定,單數用語可包括對應的複數形式且複數用語可包括對應的單數形式。相似地,帶連字符的用語(例如,「二維(two-dimensional)」、「預定的(pre-determined)」、「畫素特定(pixel-specific)」等)可偶爾與對應的不帶連字符的版本(例如,「二維(two dimensional)」、「預定的(predetermined)」、「畫素特定(pixel specific)」等)互換地使用,且大寫條目(例如,「計數器時脈(Counter Clock)」、「列選擇(Row Select)」、「PIXOUT」等)可與對應的非大寫版本(例如,「計數器時脈(counter clock)」、「列選擇(row select)」、「pixout」等)互換地使用。此種偶爾的可互換的使用不應被視為彼此不一致。
另外,端視本文中的論述的上下文而定,單數用語可包括對應的複數形式且複數用語可包括對應的單數形式。更應注意,本文中所示及所論述的各個圖(包括組件圖)僅是出於例示目的,而並非按比例繪製。相似地,示出各種波形及時序圖僅是用於例示目的。舉例而言,為清晰起見,可相對於其他元件誇大元件中的一些元件的尺寸。另外,在適當情況下,在各圖中重複使用參考編號來指示對應的元件及/或類似元件。
本文所用術語僅用於闡述一些示例性實施例,而非旨在限制所主張標的。除非上下文另外清楚地指明,否則本文所用單數形式「一(a、an)」及「所述(the)」旨在亦包括複數形式。更應理解,當在本說明書中使用用語「包括(comprises及/或comprising)」時,是指明所陳述特徵、整數、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。本文所用用語「第一(first)」、「第二(second)」等被用作位於所述用語後面的名詞的標簽,且除非明確定義,否則所述用語並不隱含著任意類型的次序(例如,空間次序、時間次序、邏輯次序等)。此外,在二或更多個圖中可使用相同的參考編號來指代具有相同或相似的功能的部件、組件、區塊、電路、單元或模組。然而,此種用法僅是為了使例示簡潔且易於論述起見;所述用法並不隱含著此種組件或單元的構造細節或架構細節在所有實施例中均是相同的或者該些共同提及的部件/模組是實施本文所揭露一些示例性實施例的唯一方式。
應理解,當稱一元件或層位於另一元件或層「上」、「連接至」或「耦合至」另一元件或層時,所述元件或層可直接位於所述另一元件或層上、直接連接至或耦合至所述另一元件或層,抑或可存在中間元件或層。相反,當稱一元件「直接」位於另一元件或層「上」、「直接連接至」或「直接耦合至」另一元件或層時,則不存在中間元件或層。通篇中相同的編號指代相同的元件。本文所用用語「及/或」包括相關列出項中的一或多個項的任意及所有組合。
本文所用用語「第一」、「第二」等被用作位於所述用語後面的名詞的標簽,且除非明確定義,否則所述用語並不隱含著任意類型的次序(例如,空間次序、時間次序、邏輯次序等)。此外,在二或更多個圖中可使用相同的參考編號來指代具有相同或相似的功能的部件、組件、區塊、電路、單元或模組。然而,此種用法僅是為了使例示簡潔且易於論述起見;所述用法並不隱含著此種組件或單元的構造細節或架構細節在所有實施例中均是相同的或者該些共同提及的部件/模組是實施本文所揭露一些示例性實施例的唯一方式。
除非另外定義,否則本文所用所有用語(包括技術及科學用語)的含義均與本標的所屬技術中具有通常知識者所通常理解的含義相同。更應理解,用語(例如在常用詞典中所定義的用語)應被解釋為具有與其在相關技術的上下文中的含義一致的含義,且除非在本文中明確定義,否則不應將其解釋為具有理想化或過於正式的意義。
本文所用用語「模組」指代被配置成提供本文結合模組闡述的功能的軟體、韌體及/或硬體的任意組合。軟體可被實施為軟體包、代碼及/或指令集或指令,且本文所述的任意實施方式中所用的用語「硬體」可例如單獨地或以任意組合的形式包括硬連線電路系統、可程式化電路系統、狀態機電路系統及/或儲存由可程式化電路系統執行的指令的韌體。模組可共同地或單獨地被實施為形成較大系統的一部分的電路系統,所述較大的系統例如但不限於積體電路(integrated circuit,IC)、系統晶片(system on-chip,SoC)等等。本文所揭露的各種組件及/或功能塊可被實施為可包括提供本文結合各種組件及/或功能塊闡述的功能的軟體、韌體及/或硬體的模組。
本文所揭露標的是有關於將深度神經網路(DNN)的權重稀疏化的一種方法及一種系統。使用本文所揭露標的而處理的DNN模型的稀疏度對於每一群組具有相同數目的非零權重。群組可基於DNN硬體架構而生成且可取決於如何自記憶體將激活及權重提取至處理元件。在訓練階段期間,同時訓練DNN模型權重與權重臨限值參數以使DNN模型可達成最大訓練精度及最小數目的非零權重。同時,藉由強制使群組之間的非零權重的數目的方差接近於零,每一群組內的非零權重的數目近似相同。在訓練結束時,可應用後處理流程以達成每一群組具有與完美平衡稀疏度完全相同數目的非零權重的結果。
本文所揭露標的提供一種自動修剪方法,所述自動修剪方法同時訓練參數、減少非零參數的數目且平衡硬體處理元件的非零參數的數目以提高系統的處理元件的利用率。後處理步驟是在訓練結束時用於調整權重以使得所有群組皆具有完全相同的權重的數目以達成非零權重的完美平衡的流程。
DNN模型的訓練可為數值最佳化問題,所述數值最佳化問題尋求使預測與真實實況(ground truth)具有最小差異的一組權重參數。所述最小化問題可被寫成為:
argmin w
(Lnet
) (1)
其中Lnet
是網路誤差(network error),即,預測與真實實況t
之間的差異,即,Lnet
= [y (L
)
-t
]2
(2)
其中y (L
)
是來自最末層的輸出,且L
是層的數目。
為強制達成稀疏度,可對權重應用修剪函數以使得量值低於臨限值的權重被設定為0且量值高於臨限值的權重不受影響。為具有可訓練的修剪函數,函數需要可微分至第一階。在一個實施例中,可使用的臨限值函數或修剪函數是(3)
其中,w
是神經網路的權重值,是控制臨限值函數h
(w
)的銳度的參數,且是控制第一邊緣與第二邊緣之間的距離(或換言之,臨限值的寬度)的參數。
圖1繪示方程式(3)的示例性臨限值函數的曲線圖。方程式(3)中的參數控制臨限值函數h
(w
)的邊緣101a及101b的銳度,亦即,參數控制h
(w
) = 0與h
(w
) = 1之間的邊緣101a及101b的變化率。方程式(3)中的參數控制h
(w
) = 0.5處的所述兩個邊緣101a與101b之間的寬度102。如圖1所繪示,臨限值函數h
(w
)對於以0為中心的第一組連續權重值103而言具有值0。另外,臨限值函數h
(w
)對於較所述第一組連續權重值103大的第二組連續權重值104而言具有值1,且對於較所述第一組連續權重值103小的第三組連續權重值105而言具有值1。臨限值函數h
(w
)的第一邊緣101a介於所述第一組連續權重值103與所述第二組連續權重值104之間。第二邊緣101b介於所述第一組連續權重值103與所述第三組連續權重值105之間。臨限值函數h
(w
)的值在第一邊緣101a及第二邊緣101b的區中在0與1之間躍遷。當臨限值函數h
(w
)在0與1之間躍遷時,第一邊緣101a及第二邊緣101b中的每一者的銳度是基於參數的值(即,臨限值函數h
(w
)的邊緣101a及101b的銳度),且在h
(w
) = 0.5處第一邊緣101a與第二邊緣101b之間的距離102是基於參數的值。
圖2是根據本文所揭露標的的用於對DNN進行平衡自修剪的方法200的流程圖。方法200在201處開始。在202處,為使稀疏權重分佈至多個處理元件(processing element,PE),將DNN的權重劃分成群組。
若權重的量值大於臨限值,則方程式(5)的掩蔽函數返回1;且若權重的量值小於臨限值,則方程式(5)的掩蔽函數返回0。方程式(3)的函數及方程式(5)的函數是可微分的,且因此函數參數是可訓練的。在203處應用掩蔽函數之後,在204處可確定每一群組內的非零權重的數目的計數(即掩蔽函數的返回值之和):(6)
其中i
是群組內的權重的索引。
為使所有群組皆具有相同數目的非零權重,的方差應為零。在205處,確定每一群組中的非零權重的計數的方差。在206處,可將訓練問題公式化為具有硬約束條件的最小化問題:{L
},約束條件Var
{} = 0 (7)
可使用拉格朗日乘子、雙上升的方法或交替方向乘子法(alternating direction method of multiplier,ADMM)來對具有硬約束條件的此種最小化問題進行求解。實質上,可使用拉格朗日乘子來如下所示對方程式(7)中的所述兩個項進行連接:{L
+ Var
()} (8)
在207處,所述三個參數w
、及是可訓練的且採用反向傳播來更新。參數w
及可使用梯度下降技術來更新,而拉格朗日參數(或拉格朗日乘子)可使用梯度上升技術來更新,例如+ Var
() t
(9)
此會嚴格地強制達成方程式(7)中的硬約束條件,此乃因方程式(8)中的整體損失減小且拉格朗日乘子增大。方法200在208處結束。使用以上方法200,訓練將最終收斂至在群組之間具有近似平衡稀疏度的最小值。
為達成精確的平衡稀疏度,可應用後處理方法。在平衡自修剪(即,圖2)之後,非零權重的數目可具有部分稀疏圖案。可應用後處理過程來將邊緣權重(fringe weight)的掩模(mask)選擇性地設定成0或1以達成精確的稀疏度平衡。
圖3是根據本文所揭露標的的後處理方法300的示例性實施例的流程圖。方法300在301處開始,其可處於圖2中的方法200的結尾208處。舉例而言,在302處,考慮在圖2中的202處,每個群組的權重的總數目等於1024。207處的平衡自修剪之後的結果可為大部分群組具有500個非零權重的模,而在一些群組中,所述權重可全部為零。
在303處,為達成精確的稀疏度平衡,若群組具有較模多的非零權重,則所述群組的最小值非零權重的掩模將被設定成0直至所述群組的非零權重的數目等於模。
在304處,若群組具有較模少的非零權重,則將最大值(被掩蔽的)零權重重設(即,未被掩蔽)成非零,直至所述群組的非零權重的數目等於模。可能進行後處理,此乃因使用軟掩蔽函數(例如方程式(5)中的掩蔽函數)將所述權重掩蔽。所述方法300在305處結束。
圖4繪示根據本文所揭露標的的平衡自修剪器400的示例性實施例。平衡自修剪器400可包括記憶體401、掩蔽器402及損失確定器403。在一些實施例中,平衡自修剪器400可包括可提供控制及迭代類型的功能的控制器404。在另一實施例中,平衡自修剪器400可被實施為狀態機。在一個實施例中,平衡自修剪器400可被實施為最小化模組,所述最小化模組可為被配置成提供平衡自修剪器400的最小化及算術功能的軟體、韌體及/或硬體的任意組合。在另一實施例中,平衡自修剪器400的功能塊中的一或多者可為模組,在此種情形中,此種模組可為被配置成提供本文結合特定模組闡述的功能的軟體、韌體及/或硬體的任意組合。
除了由掩蔽器402及損失確定器403產生的中間值(interim value)之外,記憶體401亦可儲存欲被自修剪的DNN的權重w
。權重w
可在記憶體401中被分組。掩蔽器402可包括接收權重w
以及掩蔽函數m
(w
)作為輸入的第一乘法器405。在第一加法器406中對第一乘法器405的輸出求和以確定群組中非零權重的計數。掩蔽器402的輸出可儲存於記憶體401中。掩蔽器402可以迭代方式運作以使得掩蔽函數m
(w
)應用於每一權重群組的每一權重。
損失確定器403可包括第二加法器407、第二乘法器408及第三加法器409。第二加法器407接收群組中的非零權重的計數作為輸入並減去所有群組的平均計數值。將第二加法器407的輸出輸入至第二乘法器408。第二乘法器408對第二加法器407的輸出求平方並將所述乘積乘以拉格朗日乘子。自網路的損失L
減去第二乘法器408的輸出並將所述結果儲存於記憶體401中以進行評估進而使損失L
最小化。後處理可利用掩蔽器402來達成精確的稀疏度平衡。
熟習此項技術者將認識到,可在廣泛的應用範圍中對本文所述創新概念進行修改及變化。因此,所主張標的的範圍不應僅限於以上所論述的特定示例性教示內容中的任意者,而是由以下申請專利範圍界定。
101a:邊緣/第一邊緣
101b:邊緣/第二邊緣
102:寬度/距離
103:第一組連續權重值
104:第二組連續權重值
105:第三組連續權重值
200:方法
201、202、203、204、205、206、207、208、301、302、303、304、305:步驟
300:後處理方法/方法
400:平衡自修剪器
401:記憶體
402:掩蔽器
403:損失確定器
404:控制器
405:第一乘法器
406:第一加法器
407:第二加法器
408:第二乘法器
409:第三加法器:平均計數值h(w):臨限值函數L:損失函數/損失m(w):掩蔽函數:計數w:權重/參數:參數/拉格朗日參數/拉格朗日乘子:參數
在以下部分中,將參照各圖中所示的示例性實施例來闡述本文所揭露標的的態樣,在圖中:
圖1繪示根據本文所揭露標的的示例性臨限值函數(threshold function)的曲線圖。
圖2是根據本文所揭露標的的用於對DNN進行平衡自修剪的方法的流程圖。
圖3是根據本文所揭露標的的後處理方法的示例性實施例的流程圖。
圖4繪示根據本文所揭露標的的平衡自修剪器的示例性實施例。
400:平衡自修剪器
401:記憶體
402:掩蔽器
403:損失確定器
404:控制器
405:第一乘法器
406:第一加法器
407:第二加法器
408:第二乘法器
409:第三加法器
AVE N≠0:平均計數值
L:損失函數/損失
m(w):掩蔽函數
N ≠0:計數
w:權重/參數
λ:參數/拉格朗日參數/拉格朗日乘子
Claims (12)
- 一種為深度神經網路的權重提供平衡修剪的系統,所述系統包括: 權重掩蔽器,用於掩蔽所述深度神經網路的多個權重群組中的每一權重群組中的權重;以及 損失確定器,用於基於所述深度神經網路的網路損失減去所述多個權重群組中的非零權重的計數的方差而確定所述深度神經網路的損失。
- 如申請專利範圍第1項所述的系統,其中所述損失確定器更基於所述深度神經網路的所述網路損失減去所述多個權重群組中的非零權重的所述計數的所述方差乘以拉格朗日乘子而確定所述深度神經網路的所述損失。
- 如申請專利範圍第2項所述的系統,其中所述權重掩蔽器將每一權重群組中的所述權重乘以掩蔽函數。
- 如申請專利範圍第3項所述的系統,其中所述掩蔽函數是可微分的。
- 如申請專利範圍第4項所述的系統,其中所述掩蔽函數的銳度是可選擇地控制的,且所述掩蔽函數的寬度是可選擇地控制的。
- 一種為深度神經網路的權重提供平衡修剪的方法,所述方法包括: 將所述深度神經網路的權重劃分成多個群組; 由權重掩蔽器對每一群組中的權重應用掩蔽函數; 在已應用所述掩蔽函數之後確定每一群組中的非零權重的數目的計數; 確定每一群組中的非零權重的所述計數的方差; 由損失確定器使用拉格朗日乘子將所述深度神經網路的損失函數最小化,約束條件是每一群組中的非零權重的所述計數的所述方差等於0;以及 藉由反向傳播來重新訓練所述權重及所述拉格朗日乘子。
- 如申請專利範圍第6項所述的方法,其中使用所述拉格朗日乘子來乘以每一群組中的非零權重的所述計數的所述方差。
- 如申請專利範圍第6項所述的方法,更包括: 確定經重新訓練的所述權重的模; 若所述多個群組中的第一群組具有較所述模多的非零權重,則將應用於所述第一群組的所述掩蔽函數調整成0直至所述第一群組的非零權重的計數等於經重新訓練的所述權重的所述模;以及 若所述多個群組中的第二群組具有較所述模少的非零權重,則將應用於所述第二群組的所述掩蔽函數調整成1直至所述第二群組的非零權重的計數等於經重新訓練的所述權重的所述模。
- 如申請專利範圍第6項所述的方法,其中所述掩蔽函數是可微分的。
- 如申請專利範圍第9項所述的方法,其中所述掩蔽函數的銳度是可選擇地控制的,且所述掩蔽函數的寬度是可選擇地控制的。
- 如申請專利範圍第6項所述的方法,其中所述重新訓練所述權重及所述拉格朗日乘子更包括藉由反向傳播來重新訓練所述權重、所述掩蔽函數的寬度及所述拉格朗日乘子。
- 如申請專利範圍第11項所述的方法,其中所述重新訓練所述權重及所述掩蔽函數的所述寬度是使用梯度下降技術來更新的,且所述拉格朗日乘子是使用梯度上升技術來更新的。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862735846P | 2018-09-24 | 2018-09-24 | |
US62/735,846 | 2018-09-24 | ||
US16/186,470 US11449756B2 (en) | 2018-09-24 | 2018-11-09 | Method to balance sparsity for efficient inference of deep neural networks |
US16/186,470 | 2018-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202013263A true TW202013263A (zh) | 2020-04-01 |
TWI801669B TWI801669B (zh) | 2023-05-11 |
Family
ID=69884470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108134461A TWI801669B (zh) | 2018-09-24 | 2019-09-24 | 為深度神經網路的權重提供平衡修剪的系統及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11449756B2 (zh) |
KR (1) | KR20200034918A (zh) |
CN (1) | CN110942135A (zh) |
TW (1) | TWI801669B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI755149B (zh) * | 2020-07-31 | 2022-02-11 | 大陸商上海商湯智能科技有限公司 | 模型確定方法及相關終端和電腦可讀儲存介質 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860568B (zh) * | 2020-05-13 | 2022-02-08 | 北京嘀嘀无限科技发展有限公司 | 数据样本的均衡分布方法、装置及存储介质 |
GB2602295B (en) * | 2020-12-22 | 2024-03-27 | Imagination Tech Ltd | Training a neural network |
KR102464508B1 (ko) * | 2020-12-31 | 2022-11-09 | 주식회사 메이아이 | 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 |
US11895330B2 (en) | 2021-01-25 | 2024-02-06 | Lemon Inc. | Neural network-based video compression with bit allocation |
KR102508635B1 (ko) * | 2021-04-16 | 2023-03-09 | 서울시립대학교 산학협력단 | 딥 러닝 모델 학습 방법 및 학습기 |
KR102643431B1 (ko) * | 2021-08-31 | 2024-03-05 | 한국과학기술원 | 심층 강화학습을 위한 심층 신경망 학습 가속 장치 및 그 방법 |
GB202201063D0 (en) * | 2022-01-27 | 2022-03-16 | Samsung Electronics Co Ltd | Method and apparatus for sharpness-aware minimisation |
CN118696318A (zh) * | 2022-03-04 | 2024-09-24 | 英特尔公司 | 基于硬件感知稀疏性模式加速深度学习推理的方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080117231A1 (en) * | 2006-11-19 | 2008-05-22 | Tom Kimpe | Display assemblies and computer programs and methods for defect compensation |
US8315962B1 (en) * | 2009-11-25 | 2012-11-20 | Science Applications International Corporation | System and method for multiclass discrimination of neural response data |
US8700552B2 (en) | 2011-11-28 | 2014-04-15 | Microsoft Corporation | Exploiting sparseness in training deep neural networks |
US10515304B2 (en) * | 2015-04-28 | 2019-12-24 | Qualcomm Incorporated | Filter specificity as training criterion for neural networks |
US9780985B1 (en) * | 2015-05-11 | 2017-10-03 | University Of South Florida | Suppressing alignment for out-of-band interference and peak-to-average power ratio reduction in OFDM systems |
CN106599990B (zh) * | 2015-10-08 | 2019-04-09 | 上海兆芯集成电路有限公司 | 具有神经存储器的神经网络单元和集体将来自神经存储器的数据列移位的神经处理单元阵列 |
US9946767B2 (en) * | 2016-01-19 | 2018-04-17 | Conduent Business Services, Llc | Smoothed dynamic modeling of user traveling preferences in a public transportation system |
US10832123B2 (en) * | 2016-08-12 | 2020-11-10 | Xilinx Technology Beijing Limited | Compression of deep neural networks with proper use of mask |
US10984308B2 (en) | 2016-08-12 | 2021-04-20 | Xilinx Technology Beijing Limited | Compression method for deep neural networks with load balance |
WO2018058509A1 (en) | 2016-09-30 | 2018-04-05 | Intel Corporation | Dynamic neural network surgery |
US20180107926A1 (en) * | 2016-10-19 | 2018-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for neural network quantization |
US11315018B2 (en) | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
CN107688850B (zh) * | 2017-08-08 | 2021-04-13 | 赛灵思公司 | 一种深度神经网络压缩方法 |
US10535141B2 (en) * | 2018-02-06 | 2020-01-14 | Google Llc | Differentiable jaccard loss approximation for training an artificial neural network |
US10977338B1 (en) * | 2018-04-20 | 2021-04-13 | Perceive Corporation | Reduced-area circuit for dot product computation |
US10977802B2 (en) * | 2018-08-29 | 2021-04-13 | Qualcomm Incorporated | Motion assisted image segmentation |
-
2018
- 2018-11-09 US US16/186,470 patent/US11449756B2/en active Active
-
2019
- 2019-03-05 KR KR1020190024974A patent/KR20200034918A/ko active Search and Examination
- 2019-09-24 CN CN201910904340.XA patent/CN110942135A/zh active Pending
- 2019-09-24 TW TW108134461A patent/TWI801669B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI755149B (zh) * | 2020-07-31 | 2022-02-11 | 大陸商上海商湯智能科技有限公司 | 模型確定方法及相關終端和電腦可讀儲存介質 |
Also Published As
Publication number | Publication date |
---|---|
US20200097830A1 (en) | 2020-03-26 |
KR20200034918A (ko) | 2020-04-01 |
TWI801669B (zh) | 2023-05-11 |
US11449756B2 (en) | 2022-09-20 |
CN110942135A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202013263A (zh) | 為深度神經網路的權重提供平衡修剪的系統及方法 | |
TWI775898B (zh) | 用於學習低精度神經網路的方法及裝置 | |
EP3682378B1 (en) | System and method for implementing neural networks in integrated circuits | |
EP3671570A1 (en) | Methods and systems for selecting quantisation parameters for deep neural networks using back-propagation | |
Sun et al. | 3D CNN acceleration on FPGA using hardware-aware pruning | |
US20190347072A1 (en) | Block floating point computations using shared exponents | |
Mohammadi et al. | A hardware architecture for radial basis function neural network classifier | |
Nedjah et al. | Compact yet efficient hardware implementation of artificial neural networks with customized topology | |
Peng et al. | Binary complex neural network acceleration on fpga | |
EP2940576A2 (en) | Approximating functions | |
Zhao et al. | Optimizing FPGA-Based DNN accelerator with shared exponential floating-point format | |
Arboleda et al. | Hardware architecture for particle swarm optimization using floating-point arithmetic | |
US11604973B1 (en) | Replication of neural network layers | |
US20230185533A1 (en) | Configurable nonlinear activation function circuits | |
Krishnamurthy et al. | A pathwise algorithm for covariance selection | |
US20230078203A1 (en) | Configurable nonlinear activation function circuits | |
Liu et al. | Enabling non-Hebbian learning in recurrent spiking neural processors with hardware-friendly on-chip intrinsic plasticity | |
US11847567B1 (en) | Loss-aware replication of neural network layers | |
Gomperts et al. | Implementation of neural network on parameterized FPGA | |
US12045725B1 (en) | Batch normalization for replicated layers of neural network | |
EP4303770A1 (en) | Identifying one or more quantisation parameters for quantising values to be processed by a neural network | |
GB2620172A (en) | Identifying one or more quantisation parameters for quantising values to be processed by a neural network | |
WO2021036412A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Shuvo | Hardware Efficient Deep Neural Network Implementation on FPGA | |
GB2620173A (en) | Processing data using a neural network "NN" implemented in hardware |