TWI801669B - 為深度神經網路的權重提供平衡修剪的系統及方法 - Google Patents

為深度神經網路的權重提供平衡修剪的系統及方法 Download PDF

Info

Publication number
TWI801669B
TWI801669B TW108134461A TW108134461A TWI801669B TW I801669 B TWI801669 B TW I801669B TW 108134461 A TW108134461 A TW 108134461A TW 108134461 A TW108134461 A TW 108134461A TW I801669 B TWI801669 B TW I801669B
Authority
TW
Taiwan
Prior art keywords
weights
group
masking function
weight
neural network
Prior art date
Application number
TW108134461A
Other languages
English (en)
Other versions
TW202013263A (zh
Inventor
巍然 鄧
Original Assignee
南韓商三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW202013263A publication Critical patent/TW202013263A/zh
Application granted granted Critical
Publication of TWI801669B publication Critical patent/TWI801669B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

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且量值高於臨限值的權重不受影響。為具有可訓練的修剪函數,函數需要可微分至第一階。在一個實施例中,可使用的臨限值函數或修剪函數是
Figure 02_image007
(3) 其中,w 是神經網路的權重值,
Figure 02_image009
是控制臨限值函數h (w )的銳度的參數,且
Figure 02_image011
是控制第一邊緣與第二邊緣之間的距離(或換言之,臨限值的寬度)的參數。
圖1繪示方程式(3)的示例性臨限值函數的曲線圖。方程式(3)中的參數
Figure 02_image009
控制臨限值函數h (w )的邊緣101a及101b的銳度,亦即,參數
Figure 02_image009
控制h (w ) = 0與h (w ) = 1之間的邊緣101a及101b的變化率。方程式(3)中的參數
Figure 02_image011
控制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中的每一者的銳度是基於參數
Figure 02_image009
的值(即,臨限值函數h (w )的邊緣101a及101b的銳度),且在h (w ) = 0.5處第一邊緣101a與第二邊緣101b之間的距離102是基於參數
Figure 02_image011
的值。
可引入正則化項(regularization term)以增廣損失函數L =Lnet +
Figure 02_image013
(4) 其中
Figure 02_image015
是經驗性地選擇的正則化參數。將使損失函數L 最小化以使稀疏化最佳化或者使DNN模型的修剪平衡。
圖2是根據本文所揭露標的的用於對DNN進行平衡自修剪的方法200的流程圖。方法200在201處開始。在202處,為使稀疏權重分佈至多個處理元件(processing element,PE),將DNN的權重劃分成群組。
在每一群組內,非零權重的數目應相同。可對DNN的權重應用具有與方程式(3)相似的形式的分析掩蔽函數m (w )。舉例而言,可使用方程式(5)的掩蔽函數。
Figure 02_image017
(5)
若權重的量值大於臨限值,則方程式(5)的掩蔽函數返回1;且若權重的量值小於臨限值,則方程式(5)的掩蔽函數返回0。方程式(3)的函數及方程式(5)的函數是可微分的,且因此函數參數是可訓練的。在203處應用掩蔽函數之後,在204處可確定每一群組內的非零權重的數目的計數(即掩蔽函數的返回值之和):
Figure 02_image019
(6) 其中i 是群組內的權重的索引。
為使所有群組皆具有相同數目的非零權重,
Figure 02_image003
的方差應為零。在205處,確定每一群組中的非零權重的計數的方差。在206處,可將訓練問題公式化為具有硬約束條件的最小化問題:
Figure 02_image021
{L },約束條件Var {
Figure 02_image003
} = 0 (7)
可使用拉格朗日乘子、雙上升的方法或交替方向乘子法(alternating direction method of multiplier,ADMM)來對具有硬約束條件的此種最小化問題進行求解。實質上,可使用拉格朗日乘子來如下所示對方程式(7)中的所述兩個項進行連接:
Figure 02_image023
{L +
Figure 02_image005
Var (
Figure 02_image003
)} (8)
在207處,所述三個參數w
Figure 02_image011
Figure 02_image005
是可訓練的且採用反向傳播來更新。參數w
Figure 02_image011
可使用梯度下降技術來更新,而拉格朗日參數(或拉格朗日乘子)
Figure 02_image005
可使用梯度上升技術來更新,例如
Figure 02_image025
+
Figure 02_image027
Var (
Figure 02_image003
) t (9) 此會嚴格地強制達成方程式(7)中的硬約束條件,此乃因方程式(8)中的整體損失減小且拉格朗日乘子
Figure 02_image005
增大。方法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接收群組中的非零權重的計數作為輸入並減去所有群組的平均計數值
Figure 02_image001
。將第二加法器407的輸出輸入至第二乘法器408。第二乘法器408對第二加法器407的輸出求平方並將所述乘積乘以拉格朗日乘子
Figure 02_image005
。自網路的損失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:第三加法器
Figure 02_image001
:平均計數值h(w):臨限值函數L:損失函數/損失m(w):掩蔽函數
Figure 02_image003
:計數w:權重/參數
Figure 02_image005
:參數/拉格朗日參數/拉格朗日乘子
Figure 02_image011
:參數
在以下部分中,將參照各圖中所示的示例性實施例來闡述本文所揭露標的的態樣,在圖中: 圖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 (11)

  1. 一種為深度神經網路的權重提供平衡修剪的系統,所述系統包括:權重掩蔽器,用於掩蔽所述深度神經網路的多個權重群組中的每一權重群組中的權重;以及損失確定器,用於基於所述深度神經網路的網路損失減去所述多個權重群組中的非零權重的計數的方差而確定所述深度神經網路的損失,其中所述權重、所述權重掩蔽器所使用的掩蔽函數的寬度及所述損失確定器所使用的拉格朗日乘子藉由反向傳播來重新訓練。
  2. 如申請專利範圍第1項所述的系統,其中所述損失確定器更基於所述深度神經網路的所述網路損失減去所述多個權重群組中的非零權重的所述計數的所述方差乘以所述拉格朗日乘子而確定所述深度神經網路的所述損失。
  3. 如申請專利範圍第2項所述的系統,其中所述權重掩蔽器將每一權重群組中的所述權重乘以所述掩蔽函數。
  4. 如申請專利範圍第3項所述的系統,其中所述掩蔽函數是可微分的。
  5. 如申請專利範圍第4項所述的系統,其中所述掩蔽函數的銳度是可選擇地控制的,且所述掩蔽函數的寬度是可選擇地控制的。
  6. 一種為深度神經網路的權重提供平衡修剪的方法,所述方法包括:將所述深度神經網路的權重劃分成多個群組;由權重掩蔽器對每一群組中的權重應用掩蔽函數;在已應用所述掩蔽函數之後確定每一群組中的非零權重的數目的計數;確定每一群組中的非零權重的所述計數的方差;由損失確定器使用拉格朗日乘子將所述深度神經網路的損失函數最小化,約束條件是每一群組中的非零權重的所述計數的所述方差等於0;以及藉由反向傳播來重新訓練所述權重及所述拉格朗日乘子,其中所述重新訓練所述權重及所述拉格朗日乘子更包括藉由反向傳播來重新訓練所述權重、所述掩蔽函數的寬度及所述拉格朗日乘子。
  7. 如申請專利範圍第6項所述的方法,其中使用所述拉格朗日乘子來乘以每一群組中的非零權重的所述計數的所述方差。
  8. 如申請專利範圍第6項所述的方法,更包括:確定經重新訓練的所述權重的模;若所述多個群組中的第一群組具有較所述模多的非零權重,則將應用於所述第一群組的所述掩蔽函數調整成0直至所述第一群組的非零權重的計數等於經重新訓練的所述權重的所述模;以及 若所述多個群組中的第二群組具有較所述模少的非零權重,則將應用於所述第二群組的所述掩蔽函數調整成1直至所述第二群組的非零權重的計數等於經重新訓練的所述權重的所述模。
  9. 如申請專利範圍第6項所述的方法,其中所述掩蔽函數是可微分的。
  10. 如申請專利範圍第9項所述的方法,其中所述掩蔽函數的銳度是可選擇地控制的,且所述掩蔽函數的寬度是可選擇地控制的。
  11. 如申請專利範圍第6項所述的方法,其中所述重新訓練所述權重及所述掩蔽函數的所述寬度是使用梯度下降技術來更新的,且所述拉格朗日乘子是使用梯度上升技術來更新的。
TW108134461A 2018-09-24 2019-09-24 為深度神經網路的權重提供平衡修剪的系統及方法 TWI801669B (zh)

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 TW202013263A (zh) 2020-04-01
TWI801669B true 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)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111860568B (zh) * 2020-05-13 2022-02-08 北京嘀嘀无限科技发展有限公司 数据样本的均衡分布方法、装置及存储介质
CN111950411B (zh) * 2020-07-31 2021-12-28 上海商汤智能科技有限公司 模型确定方法及相关装置
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
WO2023164950A1 (en) * 2022-03-04 2023-09-07 Intel Corporation Method and apparatus for accelerating deep leaning inference based on hw-aware sparsity pattern

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201706918A (zh) * 2015-04-28 2017-02-16 高通公司 作爲供神經網路的訓練準則的濾波器特異性
TW201714091A (zh) * 2015-10-08 2017-04-16 上海兆芯集成電路有限公司 同時執行長短期記憶胞計算之神經網路單元
CN107688850A (zh) * 2017-08-08 2018-02-13 北京深鉴科技有限公司 一种深度神经网络压缩方法
US20180046915A1 (en) * 2016-08-12 2018-02-15 Beijing Deephi Intelligence Technology Co., Ltd. Compression of deep neural networks with proper use of mask
US20180107926A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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
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
US9946767B2 (en) * 2016-01-19 2018-04-17 Conduent Business Services, Llc Smoothed dynamic modeling of user traveling preferences in a public transportation system
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
US11315018B2 (en) 2016-10-21 2022-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201706918A (zh) * 2015-04-28 2017-02-16 高通公司 作爲供神經網路的訓練準則的濾波器特異性
TW201714091A (zh) * 2015-10-08 2017-04-16 上海兆芯集成電路有限公司 同時執行長短期記憶胞計算之神經網路單元
US20180046915A1 (en) * 2016-08-12 2018-02-15 Beijing Deephi Intelligence Technology Co., Ltd. Compression of deep neural networks with proper use of mask
US20180107926A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
CN107688850A (zh) * 2017-08-08 2018-02-13 北京深鉴科技有限公司 一种深度神经网络压缩方法

Also Published As

Publication number Publication date
US11449756B2 (en) 2022-09-20
KR20200034918A (ko) 2020-04-01
TW202013263A (zh) 2020-04-01
CN110942135A (zh) 2020-03-31
US20200097830A1 (en) 2020-03-26

Similar Documents

Publication Publication Date Title
TWI801669B (zh) 為深度神經網路的權重提供平衡修剪的系統及方法
TWI775898B (zh) 用於學習低精度神經網路的方法及裝置
CN111353579B (zh) 利用反向传播为深度神经网络选择量化参数的方法和系统
CN110689109B (zh) 神经网络方法和装置
JP2022501675A (ja) データ処理方法、装置、コンピュータデバイス、及び記憶媒体
CN107358293B (zh) 一种神经网络训练方法及装置
JP2022501678A (ja) データ処理方法、装置、コンピュータデバイス、及び記憶媒体
EP3480690B1 (en) Error allocation format selection for hardware implementation of deep neural network
KR20180117017A (ko) 컨벌루션 뉴럴 네트워크의 계산 복잡성을 감소시키기 위한 방법 및 시스템
CN108268947A (zh) 用于提高神经网络的处理速度的装置和方法及其应用
US20190279092A1 (en) Convolutional Neural Network Compression
EP3480689B1 (en) Hierarchical mantissa bit length selection for hardware implementation of deep neural network
US10642578B2 (en) Approximating functions
CN109635994A (zh) 一种实现影响因素多源异构融合的农作物产量预测方法
CN108182469A (zh) 一种神经网络模型训练方法、系统、装置及存储介质
CN109255438A (zh) 调整张量数据的方法和装置
CN116075821A (zh) 表格卷积和加速
Ponzina et al. A flexible in-memory computing architecture for heterogeneously quantized CNNs
Nakata et al. Adaptive quantization method for CNN with computational-complexity-aware regularization
Doshi et al. Deep learning neural networks optimization using hardware cost penalty
CN114819051A (zh) 用于执行神经网络计算的模拟电路的校准方法及装置
US20210012203A1 (en) Adaptive filter replacement in convolutional neural networks
TWI813414B (zh) 用於最佳化神經網路訓練之電腦實施之方法、系統及非暫時性電腦可讀取儲存媒體
US20230089112A1 (en) Machine learning improvements
Aggarwal et al. CRISP: Hybrid Structured Sparsity for Class-aware Model Pruning