TWI833209B - 用於神經網路的優化方法、電腦系統及電腦可讀取媒體 - Google Patents
用於神經網路的優化方法、電腦系統及電腦可讀取媒體 Download PDFInfo
- Publication number
- TWI833209B TWI833209B TW111115920A TW111115920A TWI833209B TW I833209 B TWI833209 B TW I833209B TW 111115920 A TW111115920 A TW 111115920A TW 111115920 A TW111115920 A TW 111115920A TW I833209 B TWI833209 B TW I833209B
- Authority
- TW
- Taiwan
- Prior art keywords
- pruning
- neural network
- channel
- algorithm
- processor
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013138 pruning Methods 0.000 claims abstract description 195
- 230000004044 response Effects 0.000 claims abstract description 8
- 244000141353 Prunus domestica Species 0.000 claims description 23
- 238000005457 optimization Methods 0.000 claims description 17
- 238000010606 normalization Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000005284 excitation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本發明實施例提供一種用於神經網路的優化方法、電腦系統及電腦可讀取媒體。在方法中,使用不同的二剪枝演算法依序對神經網路剪枝。反應於每一剪枝演算法對神經網路剪枝,重新訓練經剪枝的神經網路。藉此,可減少神經網路的運算量及參數量。
Description
本發明是有關於一種神經網路(neural network)技術,且特別是有關於一種用於神經網路的剪枝(pruning)方法、電腦系統及電腦可讀取媒體。
近年來,隨著人工智慧(Artificial Intelligence,AI)技術的日益更新,神經網路模型的參數量及運算複雜度也日益增長。因此,用於神經網路模型的壓縮技術也隨之蓬勃發展。值得注意的是,剪枝是壓縮模型的重要技術。然而,現有剪枝方法皆為單一型態之剪枝方式。
有鑑於此,本發明實施例提供一種用於神經網路的優化方法、電腦系統及電腦可讀取媒體,提供混合式剪枝方案,進而達
到模型精簡化。
本發明實施例的用於神經網路的優化方法包括(但不僅限於)下列步驟:使用不同的二剪枝演算法依序對神經網路剪枝。反應於每一剪枝演算法對神經網路剪枝,重新訓練經剪枝的神經網路。
本發明實施例的用於神經網路的電腦系統包括(但不僅限於)儲存器及處理器。儲存器用以儲存程式碼。處理器耦接儲存器。處理器經配置用以載入且執行程式碼以使用不同的二剪枝演算法依序對神經網路剪枝,並反應於每一剪枝演算法對神經網路剪枝而重新訓練經剪枝的神經網路。
本發明實施例的非暫態電腦可讀取儲存媒體用於儲存程式碼。處理器載入這程式碼以執行如上述的用於神經網路的優化方法。
基於上述,依據本發明實施例的用於神經網路的優化方法、電腦系統及電腦可讀取媒體,使用多種剪枝演算法,以實現低運算成本的深度學習神經網路。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100:電腦系統
110:儲存器
130:處理器
150:輸入裝置
170:顯示器
S210~S220、S310~S330、S510~S550、S610~S640:步驟
401:冗餘通道
402:非冗餘通道
BNT:批次正規化門檻值
701:冗餘權重
702:冗餘通道
703:未剪枝通道
801:模型設定
802:剪枝比例設定
803:品質門檻值設定
圖1是依據本發明一實施例的電腦系統的元件方塊圖。
圖2是依據本發明一實施例的用於神經網路的優化方法的流程圖。
圖3是依據本發明一實施例的經由幾何中數的通道剪枝(Channel Pruning via Geometric Median,CPGM)的流程圖。
圖4是依據本發明一實施例的精簡(slimming)方法的流程圖。
圖5是依據本發明一實施例的slimming與ThiNet組合的流程圖。
圖6是依據本發明一實施例的CPGM與ThiNet組合的流程圖。
圖7是依據本發明一實施例的結構性及非結構性修剪的示意圖。
圖8是依據本發明一實施例的使用者介面的示意圖。
圖1是依據本發明一實施例的電腦系統100的元件方塊圖。請參照圖1,電腦系統100包括(但不僅限於)儲存器110及處理器130。電腦系統100可以是桌上型電腦、筆記型電腦、智慧型手機、平板電腦、伺服器、醫療或產品檢測儀器或其他運算裝置。
儲存器110可以是任何型態的固定或可移動隨機存取記憶體(Radom Access Memory,RAM)、唯讀記憶體(Read Only Memory,ROM)、快閃記憶體(flash memory)、傳統硬碟(Hard Disk Drive,HDD)、固態硬碟(Solid-State Drive,SSD)或類似元件。在
一實施例中,儲存器110用以儲存程式碼、軟體模組、組態配置、資料或檔案(例如,訓練樣本、模型參數、剪枝集合或冗餘通道)。
處理器130耦接儲存器110。處理器130可以是中央處理單元(Central Processing Unit,CPU)、圖形處理單元(Graphic Processing unit,GPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位信號處理器(Digital Signal Processor,DSP)、可程式化控制器、現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)、特殊應用積體電路(Application-Specific Integrated Circuit,ASIC)、神經網路加速器或其他類似元件或上述元件的組合。在一實施例中,處理器130用以執行電腦系統100的所有或部份作業,且可載入並執行儲存器110所儲存的各程式碼、軟體模組、檔案及資料。
在一些實施例中,電腦系統100更包括輸入裝置150。輸入裝置150可以是觸控面板、滑鼠、鍵盤、軌跡球、開關或按鍵。在一實施例中,輸入裝置150用以接收使用者操作。例如,滑動、觸碰、按壓、或點擊操作。
在一些實施例中,電腦系統100更包括顯示器170。顯示器170可以是液晶顯示器(Liquid-Crystal Display,LCD)、(Light-Emitting Diode,LED)顯示器、有機發光二極體(Organic Light-Emitting Diode,OLED)、量子點顯示器(Quantum dot display)或其他類型顯示器。在一實施例中,顯示器170用以顯示影像。影像的內容可以是使用者介面。
下文中,將搭配電腦系統100中的各項裝置、元件及模組說明本發明實施例所述之方法。本方法的各個流程可依照實施情形而隨之調整,且並不僅限於此。
圖2是依據本發明一實施例的用於神經網路的優化方法的流程圖。請參照圖2,處理器130使用不同的二剪枝演算法依序對神經網路剪枝(步驟S210)。具體而言,這神經網路是經深度學習演算法所訓練的。深度學習演算法例如是YOLO(You only look once)、AlexNet、ResNet、基於區域的卷積神經網路(Region Based Convolutional Neural Networks,R-CNN)、或快速R-CNN(Fast CNN)。須說明的是,這神經網路可用於影像分類、物件偵測或其他推論,且本發明實施例不加以限制其用途。已訓練的神經網路可能達到預設準確度的標準。
值得注意的是,經訓練的神經網路在各層皆有對應的參數(例如,權重、通道數、偏差(bias)、或激勵函數)。可想而知,過多的參數會影響運算效率。而剪枝是用於神經網路的其中一種壓縮技術。剪枝是用於減去神經網路中沒有或較少影響的元素(例如,通道、過濾器(filter)/卷積核(kernel)、特徵圖(feature map)、層、神經元或其他參數)。
不同於現有技術,本發明實施例提出混合式剪枝方案。這兩個或更多個剪枝演算法可以是通道、權重、過濾器、激勵、梯度(gradient)、隱藏層剪枝或剪枝搜尋法。相較於單一剪枝方案,更能達到最高壓縮率及最小準確度損失。
在一實施例中,本發明實施例所用的多個剪枝演算法中的一者為通道剪枝(或稱過濾器剪枝)演算法。通道剪枝演算法例如是ThiNet、網路精簡(network slimming)、經由幾何中數的過濾器剪枝(Filter Pruning via Geometric Median,FPGM)或經由幾何中數的通道剪枝(Channel Pruning via Geometric Median,CPGM)。
例如,ThiNet是依據下一層的統計資訊剪枝當前層,並預期對當前層的輸出較小或最小影響的過濾器剪枝。因此,所剪枝的通道將使得均方誤差小於誤差門檻值。接著,逐層剪枝通道。最終,可得出各層中近似於所有通道的剩餘通道。
又例如,圖3是依據本發明一實施例的經由幾何中數的通道剪枝(CPGM)的流程圖。請參照圖3,CPGM是參考FPGM所提出的基於過濾器權重的歐基里德距離(Euclidean distances)及找尋冗餘過濾器權重。首先,處理器130可設定範數比率(norm ratio)及距離比率(distance ratio)。範數比率是依據所欲安排的過濾器權重的大小所設定的比率。換句而言,範數比率是所欲保留的大小占所有權重大小的比率。例如,範數比率是過濾器權重的百分之九十。距離比率是基於歐基里德距離接近濾波權重中數並將被去除的通道索引的比率。換句而言,距離比率是兩過濾器/通道的相似程度(距離相關於相似程度)所代表的比率。處理器130可基於所設定的範數比率及距離比率排序權重(步驟S310)。例如,將已訓練的神經網路中的過濾器權重由大至小排列,並依據範數比率挑選前百分之九十的權重。處理器130可決定過濾器的歐基里德距離
(步驟S320)。例如,在多維度空間中,任一張量(tensor)與所有過濾器之間的距離。接著,處理器130可決定相似濾波器並儲存對應通道索引(步驟S330)。例如,定義每一層中具有最小歐基里德距離的總和的點為幾何中數點。若過濾器在多維度空間中接近所屬層的幾何中數點(即,接近代表越相似,且遠離代表越不相似),則這過濾器可被視為資訊冗餘並可被取代。例如,這過濾器/通道為冗餘過濾器/通道,並可被剪枝。索引即是代表過濾器/通道的編號。處理器130可將一個或更多個過濾器/通道索引分配到一個剪枝集合。即,這集合包括了所欲剪枝的冗餘過濾器/通道。
再例如,圖4是依據本發明一實施例的精簡(slimming)方法的流程圖。請參照圖4,處理器130可排序各批次正規化(batch normalization)層(如圖中的第一層至第N層,N為正整數)中的通道的比例因素。比例因素是在前向傳播時要和所屬通道的輸出值相乘。而在神經網路的訓練過程中,比例因素將與其他的權重一同訓練並將受限於約束(例如,L1範數(L1 norm)的稀疏(sparsity)的罰則)。值得注意的是,訓練後,若比例因素較小,則可將所屬通道視為冗餘通道(可歸類到剪枝集合);若比例因素較大,則禁能/停止/不將所屬通道視為冗餘通道。如圖中所示,假設全域(global)的批次正規化門檻值BNT為0.15。因此,第一層中比例因素為0.001、0.035、0.1、0.0134及0.122的通道為冗餘通道401,且第二層所列的那些比例因素的通道皆為冗餘通道401。而其比例因素大於批次正規化門檻值BNT的通道為非冗餘通道402。接著,處理器130
可對冗餘通道401剪枝,並保留非冗餘通道402。
更例如,基於ThiNet及貪婪(greedy)法兩者,處理器130可逐通道饋入驗證資料集(validation dataset),並使用L2範數(L2 norm)函數比較通道經剪枝與通道未被剪枝的輸出特徵圖之間的差異。若這差異小於差異門檻值,則可將這些經剪枝的通道視為冗餘通道;若這差異未小於差異門檻值,則可將這些經剪枝的通道視為非冗餘通道。與傳統ThiNet不同之處在於,在這實施例中,送至ThiNet的稀疏比率為本地稀疏,且每層所用的本地稀疏可以不同。
在一實施例中,通道剪枝演算法包括第一通道剪枝演算法及第二通道剪枝演算法。處理器130可依據第一通道剪枝演算法取得第一剪枝集合。第一剪枝集合包括第一通道剪枝演算法所選擇要被剪枝的一個或更多個(冗餘)通道。此外,處理器130可依據第二通道剪枝演算法取得第二剪枝集合。第二剪枝集合包括第二通道剪枝演算法所選擇要被剪枝的一個或更多個(冗餘)通道。也就是,處理器130分別使用不同通道剪枝演算法取得對應的剪枝集合。接著,處理器130可依據第一剪枝集合及第二剪枝集合決定所欲剪枝的一個或更多個冗餘通道。例如,取這些剪枝集合的交集、聯集、任一者或其內特定數量的通道。藉此,可提供混合式通道剪枝方案。
舉例而言,圖5是依據本發明一實施例的slimming與ThiNet組合的流程圖。請參照圖5,針對已訓練的神經網路,處理
器130可使用slimming方法決定各層的比例因素門檻值(例如前述批次正規化門檻值)(步驟S510),並依據轉換全域的比例因素門檻值至對應於各層的稀疏比率的本地稀疏。處理器130可依據各層的本地稀疏決定各層的第一剪枝集合(步驟S520)。接著,處理器130可依據本地稀疏使用ThiNet方法選擇所欲剪枝的過濾器(即,決定第二剪枝集合)(步驟S530)。處理器130可依據slimming及ThiNet方法的剪枝集合的交集決定所欲剪枝的冗餘通道(步驟S540),並據以對冗餘通道進行剪枝(步驟S550)。
圖6是依據本發明一實施例的CPGM與ThiNet組合的流程圖。請參照圖6,針對已訓練的神經網路,處理器130可依據設定的範數比率及距離比率用CPGM方法決定第一剪枝集合(步驟S610),並依據設定的距離比率使用ThiNet方法決定第二剪枝集合(步驟S620)。值得注意的是,ThiNet方法著重於找尋對輸出特徵圖的通道影響。而CPGM方法不僅可對過濾器權重剪枝,還能得知冗餘通道權重與先前的差異。接著,處理器130可依據ThiNet及CPGM方法的剪枝集合的交集決定所欲剪枝的冗餘通道(步驟S630),並據以對冗餘通道進行剪枝(步驟S640)。
須說明的是,在其他實施例中,也能組合其他通道剪枝演算法或更多通道剪枝演算法。
在一實施例中,本發明實施例所用的多個剪枝演算法中的另一者為權重剪枝(或稱逐元素(element-wise)剪枝)演算法。權重剪枝演算法例如是樂透彩卷假說(Lottery Ticket Hypothesis)。
以樂透彩卷假說為例,處理器130隨機初始化一個神經網路。這神經網路包括多個次網路(sub-network)。處理器130可疊代地(iteratively)訓練這神經網路,並找尋那些較容易中獎的次網路。過程中,處理器130可建立遮罩(mask)來設定已知的剪枝策略。這策略相關於哪些是影響神經網路的次網路。即,可能會中獎。接著,處理器130可依據遮罩而對沒有關鍵影響的次網路(沒中獎的)進行剪枝。以權重為例,處理器130可依據大小排序權重,並對特定比例或數量的最小的權重剪枝。
在一實施例中,反應於使用通道剪枝演算法對神經網路剪枝,處理器130可接著使用權重剪枝演算法對神經網路剪枝。通道剪枝演算法屬於結構性(structured)剪枝,且權重剪枝演算法屬於非結構性(structured)剪枝。由於非結構性剪枝是不規則(irregular)剪枝類型,因此可能難確保準確度。結構性剪枝先行可確定權重的還原已是穩定值並確定整體結構。因此,後續的非結構性剪枝才能將網路微調至具有更好準確度的情況。
舉例而言,圖7是依據本發明一實施例的結構性及非結構性修剪的示意圖。請參照圖7,處理器130可採用結構性剪枝策略對已訓練的神經網路進行剪枝,以得出經剪枝的神經網路。接著,處理器130可採用非結構性剪枝策略對經剪枝的神經網路剪枝,以得出最終的經剪枝的神經網路。其中,結構性剪枝策略保留未剪枝通道703並刪除冗餘通道702。而非結構性剪枝策略刪除冗餘權重701。
在其他實施例中,也可採用其他非結構性剪枝方法(例如,梯度或激勵),或者非結構性剪枝先行且結構性剪枝後行。
在一實施例中,在剪枝之前,處理器130可收斂神經網路的一個或更多批次正規化(batch normalization)層的比例因素。例如,處理器130可對已訓練的神經網路進行稀疏訓練。其中,對訓練神經網路所用的損失函數增加L1的罰則。批次正規化是對各小批次進行正規化直到形成平均值為0且標準差為1的常態分佈。而收斂比例因素層與層之間的整體相關性,並有助於例如是slimming方法找出更合適的通道(例如,準確度高及/或更加減量)。
在一些實施例中,若已訓練的神經網路的比例因素已趨近於預設值,則處理器130可省略稀疏訓練或省略其他用於收斂比例因素的方案。
請參照圖2,反應於每一剪枝演算法對神經網路剪枝,處理器130重新訓練經剪枝的神經網路(步驟S220)。具體而言,每次剪枝後,處理器130可重新訓練經剪枝的神經網路。訓練直到神經網路(模型)收斂,處理器130可使用另一個剪枝演算法對已剪枝的神經網路進行剪枝。例如,神經網路經通道剪枝後會進行重新訓練,並訓練到神經網路收斂後再進行權重剪枝。在權重剪枝的過程中,訓練到一定的迭代數時,處理器130可將權重進行由小到大排序,再依據剪枝比例刪除排序中最小的那些權重。最後,處理器130可將剩餘的權重初始化回最初的預訓練模型之參數,再重新訓練這經剪枝的神經網路,即能產生最終輕量化模型。
也就是說,只要通道經剪枝,則初始化受保留的通道,並接著訓練這些受保留的通道的參數。而只要權重經剪枝,則初始化受保留的權重,並接著訓練這些受保留的權重的參數。而激勵剪枝、隱藏層剪枝或其他剪枝的重新訓練可依此類推,於此不再贅述。
須說明的是,前述以兩個剪枝演算法的組合作為範例說明,然其他實施例可組合更多剪枝演算法。
在一實施例中,處理器130可透過輸入裝置150接收輸入操作。輸入操作用於設定剪枝比例,且選擇二個或更多個剪枝演算法中的至少一者依據這剪枝比例剪枝。即,剪枝比例是在各層或各過濾器中所欲剪枝的元素(例如,通道、權重、或激勵)佔所有元素的比例。例如,鍵盤接收關於50%的剪枝比例的輸入操作。針對通道剪枝,處理器130對某一層或更多層內的通道挑選50%作為冗餘通道。針對權重剪枝,處理器130可將刪除50%的最小的權重。
在一實施例中,處理器130可使用已知推論結果的驗證樣本決定經剪枝的神經網路的準確度損失。例如,一百件驗證樣本中有10件推論錯誤,因此準確度損失為10%。處理器130可比較經剪枝的神經網路的準確度損失及品質門檻值。這品質門檻值是容許的準確度損失。例如,品質門檻值為15、20或25%。處理器130可依據準確度損失與品質門檻值的比較結果改變那些剪枝演算法中的至少一者的剪枝比例。即,品質門檻值用於評估是否改變
剪枝比例。例如,若準確度損失低於品質門檻值,則處理器130可增加剪枝比例。或者,若準確度損失高於品質門檻值,則處理器130可減少剪枝比例。在一實施例中,處理器130可將具有最大剪枝比例且其準確度損失低於品質門檻值的經剪枝的神經網路作為最終輕量化模型。
在一實施例中,透過輸入裝置150接收的輸入操作可用於設定品質門檻值,且選擇二個或更多個剪枝演算法中的至少一者依據這品質門檻值剪枝。例如,滑鼠接收關於15%的品質門檻值的輸入操作。
在一實施例中,處理器130可透過顯示器170提供(顯示)使用者介面。舉例而言,圖8是依據本發明一實施例的使用者介面的示意圖。請參照圖8,使用者介面包括模型設定801、剪枝比例設定802及品質門檻值設定803。模型設定801用於選擇神經網路的類型。例如,第三代(V3)YOLO或Single Shot MultiBox Detector(SSD)Visual Geometry Group(VGG)16。剪枝比例設定802用於選擇剪枝比例。例如,10%至90%。品質門檻值設定803用於設定品質門檻值(即,容許的錯誤率)。例如,0至20%。
本發明實施例更提供一種非暫態電腦可讀取儲存媒體(例如,硬碟、光碟、快閃記憶體、固態硬碟(Solid State Disk,SSD)等儲存媒體),並用以儲存程式碼。電腦系統100的處理器130或其他處理器可載入程式碼,並據以執行本發明實施例的一個或更多個優化方法的相應流程。這些流程可參酌上文說明,且於此不再
贅述。
綜上所述,在本發明實施例的用於神經網路的優化方法、電腦系統及電腦可讀取媒體中,使用混合式剪枝來降低神經網路的整體運算量。例如,結合通道及權重剪枝演算法,可減少通道數及權重數。本發明實施例以剪枝比例及準確度兩觀點來評估剪枝策略,以達到高剪枝率及高準確度的需求。此外,本發明實施例還提供使用者介面,讓操作者可輕易了解並習慣操作。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S210~S220:步驟
Claims (16)
- 一種用於神經網路(neural network)的優化方法,包括:使用不同的二剪枝演算法依序對一神經網路剪枝,其中該二剪枝演算法中的一者為一通道剪枝演算法,該通道剪枝演算法包括一第一通道剪枝演算法及一第二通道剪枝演算法,且使用不同的該二剪枝演算法依序對該神經網路剪枝的步驟包括:依據該第一通道剪枝演算法取得一第一剪枝集合,其中該第一剪枝集合包括該第一通道剪枝演算法所選擇要被剪枝的至少一通道;依據該第二通道剪枝演算法取得一第二剪枝集合,其中該第二剪枝集合是該第二通道剪枝演算法所選擇要被剪枝的至少一通道;以及依據該第一剪枝集合及該第二剪枝集合決定所欲剪枝的至少一冗餘通道;以及反應於每一該剪枝演算法對該神經網路剪枝,重新訓練一經剪枝的神經網路。
- 如請求項1所述的用於神經網路的優化方法,其中該二剪枝演算法中的另一者為一權重剪枝演算法。
- 如請求項2所述的用於神經網路的優化方法,其中使用不同的該二剪枝演算法依序對該神經網路剪枝的步驟包括:反應於使用該通道剪枝演算法對該神經網路剪枝,使用該權 重剪枝演算法對該神經網路剪枝。
- 如請求項1所述的用於神經網路的優化方法,其中依據該第一剪枝集合及該第二剪枝集合決定所欲剪枝的該至少一冗餘通道的步驟包括:依據該第一剪枝集合及該第二剪枝集合的交集決定該至少一冗餘通道。
- 如請求項1所述的用於神經網路的優化方法,其中使用不同的該二剪枝演算法依序對該神經網路剪枝的步驟之前,更包括:收斂該神經網路的至少一批次正規化(batch normalization)層的比例因素(scaling factor)。
- 如請求項1所述的用於神經網路的優化方法,更包括:接收一輸入操作,其中該輸入操作用於設定一剪枝比例,且該二剪枝演算法中的至少一者依據該剪枝比例剪枝。
- 如請求項1所述的用於神經網路的優化方法,更包括:比較該經剪枝的神經網路的準確度損失及一品質門檻值;以及依據與該品質門檻值的比較結果改變該二剪枝演算法中的至少一者的一剪枝比例。
- 如請求項6或7所述的用於神經網路的優化方法,更包括:提供一使用者介面;以及透過該使用者介面接收該剪枝比例或該品質門檻值之決定。
- 一種用於神經網路的電腦系統,包括:一儲存器,用以儲存一程式碼;以及一處理器,耦接該儲存器,經配置用以載入且執行該程式碼以:使用不同的二剪枝演算法依序對一神經網路剪枝,其中該二剪枝演算法中的一者為一通道剪枝演算法,該通道剪枝演算法包括一第一通道剪枝演算法及一第二通道剪枝演算法,且該處理器更經配置用以:依據該第一通道剪枝演算法取得一第一剪枝集合,其中該第一剪枝集合包括該第一通道剪枝演算法所選擇要被剪枝的至少一通道;依據該第二通道剪枝演算法取得一第二剪枝集合,其中該第二剪枝集合是該第二通道剪枝演算法所選擇要被剪枝的至少一通道;以及依據該第一剪枝集合及該第二剪枝集合決定所欲剪枝的至少一冗餘通道;以及反應於每一該剪枝演算法對該神經網路剪枝,重新訓練一經剪枝的神經網路。
- 如請求項9所述的用於神經網路的電腦系統,其中該二剪枝演算法中的另一者為一權重剪枝演算法。
- 如請求項10所述的用於神經網路的電腦系統,其中該處理器更經配置用以:反應於使用該通道剪枝演算法對該神經網路剪枝,使用該權重剪枝演算法對該神經網路剪枝。
- 如請求項9所述的用於神經網路的電腦系統,其中該處理器更經配置用以:依據該第一剪枝集合及該第二剪枝集合的交集決定該至少一冗餘通道。
- 如請求項9所述的用於神經網路的電腦系統,其中該處理器更經配置用以:收斂該神經網路的至少一批次正規化層的比例因素。
- 如請求項9所述的用於神經網路的電腦系統,更包括:一顯示器,耦接該處理器,其中該處理器更經配置用以:透過該顯示器提供一使用者介面;以及透過該使用者介面接收一剪枝比例或一品質門檻值之決定,其中該二剪枝演算法中的至少一者依據該剪枝比例剪枝,且該品質門檻值用於改變該剪枝比例。
- 如請求項9所述的用於神經網路的電腦系統,其中該處理器更經配置用以:比較該經剪枝的神經網路的準確度損失及一品質門檻值;以及依據與該品質門檻值的比較結果改變該二剪枝演算法中的至少一者的一剪枝比例。
- 一種非暫態電腦可讀取儲存媒體,用於儲存一程式碼,一處理器載入該程式碼以執行如請求項1至8中任一項所述的用於神經網路的優化方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111115920A TWI833209B (zh) | 2022-04-27 | 2022-04-27 | 用於神經網路的優化方法、電腦系統及電腦可讀取媒體 |
CN202210544611.7A CN117010469A (zh) | 2022-04-27 | 2022-05-19 | 用于神经网络的优化方法、电脑系统及电脑可读取介质 |
US17/879,794 US20230351185A1 (en) | 2022-04-27 | 2022-08-03 | Optimizing method and computer system for neural network and computer-readable storage medium |
EP22192876.5A EP4270254A1 (en) | 2022-04-27 | 2022-08-30 | Optimizing method and computer system for neural network and computer-readable storage medium |
JP2022139608A JP7546630B2 (ja) | 2022-04-27 | 2022-09-02 | ニューラルネットワークの最適化方法及びコンピュータシステム、並びにコンピュータ可読記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111115920A TWI833209B (zh) | 2022-04-27 | 2022-04-27 | 用於神經網路的優化方法、電腦系統及電腦可讀取媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202343309A TW202343309A (zh) | 2023-11-01 |
TWI833209B true TWI833209B (zh) | 2024-02-21 |
Family
ID=83151457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111115920A TWI833209B (zh) | 2022-04-27 | 2022-04-27 | 用於神經網路的優化方法、電腦系統及電腦可讀取媒體 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230351185A1 (zh) |
EP (1) | EP4270254A1 (zh) |
CN (1) | CN117010469A (zh) |
TW (1) | TWI833209B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117610634A (zh) * | 2023-11-20 | 2024-02-27 | 河北神玥软件科技股份有限公司 | 数据迁移方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095842A1 (en) * | 2017-09-25 | 2019-03-28 | SurfaceOwl, Inc. | High-input and high-dimensionality data decisioning methods and systems |
US20190362235A1 (en) * | 2018-05-23 | 2019-11-28 | Xiaofan Xu | Hybrid neural network pruning |
US20210110235A1 (en) * | 2019-10-15 | 2021-04-15 | Sandisk Technologies Llc | Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference |
WO2021225256A1 (ko) * | 2020-05-08 | 2021-11-11 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
WO2022018736A1 (en) * | 2020-07-23 | 2022-01-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Watermark protection of artificial intelligence model |
-
2022
- 2022-04-27 TW TW111115920A patent/TWI833209B/zh active
- 2022-05-19 CN CN202210544611.7A patent/CN117010469A/zh active Pending
- 2022-08-03 US US17/879,794 patent/US20230351185A1/en active Pending
- 2022-08-30 EP EP22192876.5A patent/EP4270254A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095842A1 (en) * | 2017-09-25 | 2019-03-28 | SurfaceOwl, Inc. | High-input and high-dimensionality data decisioning methods and systems |
US20190362235A1 (en) * | 2018-05-23 | 2019-11-28 | Xiaofan Xu | Hybrid neural network pruning |
US20210110235A1 (en) * | 2019-10-15 | 2021-04-15 | Sandisk Technologies Llc | Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference |
WO2021225256A1 (ko) * | 2020-05-08 | 2021-11-11 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
WO2022018736A1 (en) * | 2020-07-23 | 2022-01-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Watermark protection of artificial intelligence model |
Also Published As
Publication number | Publication date |
---|---|
CN117010469A (zh) | 2023-11-07 |
US20230351185A1 (en) | 2023-11-02 |
JP2023163111A (ja) | 2023-11-09 |
TW202343309A (zh) | 2023-11-01 |
EP4270254A1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537884B2 (en) | Machine learning model training method and device, and expression image classification method and device | |
CN109063719B (zh) | 一种联合结构相似性和类信息的图像分类方法 | |
US11392829B1 (en) | Managing data sparsity for neural networks | |
Ko et al. | Controlled dropout: A different approach to using dropout on deep neural network | |
Wang et al. | Filter pruning with a feature map entropy importance criterion for convolution neural networks compressing | |
CN116011510A (zh) | 用于优化机器学习架构的框架 | |
CN111898703B (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
US11816185B1 (en) | Multi-view image analysis using neural networks | |
WO2023173552A1 (zh) | 目标检测模型的建立方法、应用方法、设备、装置及介质 | |
WO2023207028A1 (zh) | 图像检索方法、装置及计算机程序产品 | |
TWI833209B (zh) | 用於神經網路的優化方法、電腦系統及電腦可讀取媒體 | |
CN107944045B (zh) | 基于t分布哈希的图像检索方法及系统 | |
JP7546630B2 (ja) | ニューラルネットワークの最適化方法及びコンピュータシステム、並びにコンピュータ可読記憶媒体 | |
Liu et al. | Semi‐supervised breast histopathological image classification with self‐training based on non‐linear distance metric | |
US20230075932A1 (en) | Dynamic variable quantization of machine learning parameters | |
CN113283530B (zh) | 基于级联特征块的图像分类系统 | |
Dong et al. | An optimization method for pruning rates of each layer in CNN based on the GA-SMSM | |
Goswami et al. | An efficient feature selection technique for clustering based on a new measure of feature importance | |
Shi et al. | J‐Net: Asymmetric Encoder‐Decoder for Medical Semantic Segmentation | |
Yang et al. | Data-aware adaptive pruning model compression algorithm based on a group attention mechanism and reinforcement learning | |
Liu et al. | Learning compact ConvNets through filter pruning based on the saliency of a feature map | |
CN111382712A (zh) | 一种手掌图像识别方法、系统及设备 | |
CN111476267A (zh) | 根据细胞影像进行药物疗效分类的方法与电子设备 | |
US12079696B2 (en) | Machine learning model training method and device, and expression image classification method and device | |
Wang et al. | Network intrusion detection algorithm combined with group convolution network and snapshot ensemble. Symmetry 2021, 13 (1814) |