TWI832679B - 用於知識保存類神經網絡剪除之電腦系統及電腦實施方法,以及其非暫時性電腦可讀儲存媒體 - Google Patents
用於知識保存類神經網絡剪除之電腦系統及電腦實施方法,以及其非暫時性電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI832679B TWI832679B TW112102229A TW112102229A TWI832679B TW I832679 B TWI832679 B TW I832679B TW 112102229 A TW112102229 A TW 112102229A TW 112102229 A TW112102229 A TW 112102229A TW I832679 B TWI832679 B TW I832679B
- Authority
- TW
- Taiwan
- Prior art keywords
- network
- student
- teacher
- task
- layers
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013138 pruning Methods 0.000 title claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 126
- 238000010801 machine learning Methods 0.000 claims abstract description 57
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 48
- 230000006870 function Effects 0.000 claims description 53
- 238000004821 distillation Methods 0.000 claims description 19
- 210000002569 neuron Anatomy 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 20
- 239000000463 material Substances 0.000 description 14
- 230000001537 neural effect Effects 0.000 description 9
- 238000003058 natural language processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004321 preservation Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
- Paper (AREA)
Abstract
本發明描述用於在類神經網絡上知識保存稀疏剪除之方法、系統及裝置,包含編碼在電腦儲存媒體上之電腦程式。一種例示性方法包含:獲得基於複數個通用訓練資料訓練之一預訓練機器學習模型;藉由基於對應於一任務之複數個任務特定訓練資料調整該預訓練機器學習模型來訓練一任務特定機器學習模型;基於該任務特定機器學習模型建構一學生網絡;同時執行(1)自作為一教師網絡之該訓練任務特定機器學習模型至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得該訓練學生網絡,用於服務該任務。
Description
本申請案大體上關於用於類神經網絡剪除之系統及方法,且尤其係關於用於知識保存類神經網絡剪除之系統及方法。
機器學習(ML)在資料密集型應用中已非常流行,但當用於一特定應用之訓練資料很小時,機器學習通常受到阻礙。當積累足夠訓練資料以訓練用於新應用領域之ML模型係不現實的或難以達成時,現有解決方案可使用基於自大量先前/類似應用領域(亦稱為通用領域)收集之通用訓練資料訓練之一ML模型,且稍後基於有限領域特定訓練資料微調此ML模型。經微調之ML模型可在新應用領域中執行良好,因為其不僅擁有特定應用領域,而且擁有自其他相關領域學習之知識。
然而,經微調之ML通常稠密且具有大尺寸。當將經微調之ML模型(如一類神經網絡)部署至一新領域時,其中之計算裝置可具有有限計算能力及儲存資源,且因此可無法代管實際尺寸之經微調類神經網絡。若干現有類神經網絡剪除技術可有效地減小一類神經網絡之尺寸。然而,直接應用此等技術可破壞由經微調之類神經網絡學習之知識。為了解決知識保存與網絡剪除之間的此困境,本發明描述一知識保存類神經網絡
剪除程序。
本說明書之各種實施例包含但不限於用於知識保存類神經網絡剪除之系統、方法及非暫時性電腦可讀媒體。
根據一些實施例,一種用於知識保存類神經網絡剪除之電腦實施方法可包含:獲得基於複數個通用訓練資料訓練之一預訓練機器學習模型;藉由基於對應於一任務之複數個任務特定訓練資料調整該預訓練機器學習模型來訓練一任務特定機器學習模型;基於該任務特定機器學習模型建構一學生網絡;同時執行(1)自作為一教師網絡之該訓練任務特定機器學習模型至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得該訓練學生網絡,用於服務該任務。
在一些實施例中,該執行知識蒸餾包括:選擇該教師網絡之一或多個層;將該複數個任務特定訓練資料饋送至該學生網絡及該教師網絡中;及回應於該複數個任務特定訓練資料,調整該學生網絡之參數以最小化該學生網絡之一輸出與該教師網絡之該一或多個層之一輸出之間的一差異。
在一些實施例中,該預訓練機器學習模型係一預訓練自然語言類神經網絡。
在一些實施例中,該執行知識蒸餾包括:基於該教師網絡建構用於訓練該學生網絡之一蒸餾損失函數,其中該蒸餾損失函數包括對應於該教師網絡之一或多個層之複數個損失函數。
在一些實施例中,該教師網絡之該一個多個層包括:一嵌入層;一自我注意力層;一前饋層;及一輸出層。
在一些實施例中,該複數個損失函數包括以下至少一個:基於該學生網絡及該教師網絡之一或多個嵌入層之間的一差異之一均方誤差之一損失函數;基於該學生網絡及該教師網絡之一或多個層之注意力矩陣(attention matrix)之間的一差異之一均方誤差之一損失函數;基於該學生網絡及該教師網絡之一或多個層之隱藏表示之間的一差異之一均方誤差之一損失函數;或該教師網絡與該學生網絡之羅吉特機率(logit)之間的一軟交叉熵損失。
在一些實施例中,該執行在該學生網絡上之網絡剪除包括:藉由將對應參數設定為零,減少該學生網絡之一或多個層中之啟動神經元之一數量。
在一些實施例中,該教師網絡及該學生網絡共用一相同類神經網絡架構。
在一些實施例中,該預訓練機器學習模型係用於電腦視覺任務之一預訓練剩餘網絡。
在一些實施例中,該執行知識蒸餾包括:基於該教師網絡建構用於訓練該學生網絡之一蒸餾損失函數,其中該蒸餾損失函數包括對應於該教師網絡之一或多個層之複數個損失函數,且該教師網絡之該一或多個層包括:一權重層;及一輸出層。
在一些實施例中,基於該任務特定機器學習模型建構一學生網絡包括:藉由複製該任務特定機器學習模型初始化該學生網絡。
根據其他實施例,一種用於知識保存類神經網絡剪除之系統包含:一或多個處理器;及耦合至該一或多個處理器且具有在其上儲存之指令之一或多個電腦可讀記憶體,該等指令可由該一或多個處理器執
行,以執行操作,該等操作包括:獲得基於複數個通用訓練資料訓練之一預訓練機器學習模型;藉由基於對應於一任務之複數個任務特定訓練資料調整該預訓練機器學習模型來訓練一任務特定機器學習模型;基於該任務特定機器學習模型建構一學生網絡;同時執行(1)自作為一教師網絡之該訓練任務特定機器學習模型至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得該訓練學生網絡,用於服務該任務。
根據另外其他實施例,一種用於知識保存類神經網絡剪除之非暫時性電腦可讀儲存媒體經配置有可藉由一或多個處理器執行之指令,以使該一或多個處理器執行操作,該等操作包括:獲得基於複數個通用訓練資料訓練之一預訓練機器學習模型;藉由基於對應於一任務之複數個任務特定訓練資料調整該預訓練機器學習模型來訓練一任務特定機器學習模型;基於該任務特定機器學習模型建構一學生網絡;同時執行(1)自作為一教師網絡之該訓練任務特定機器學習模型至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得該訓練學生網絡,用於服務該任務。
本文揭示之該等系統、方法及非暫時性電腦可讀媒體之此等及其他特徵,以及結構之該等相關元件之該等操作方法與功能及部件組合及製造經濟性,在參考該等附圖考慮以下描述及隨附申請專利範圍時,將變得更加明白,所有附圖形成本說明書之一部分,其中相同元件符號表示各種圖式中之對應部件。然而,應明確理解,該等附圖僅用於說明及描述,不意在作為限制。
102:預訓練階段
103:通用領域
103A:通用訓練資料
104:微調階段
105:特定任務領域
105A:領域/任務特定訓練資料
106:測試階段
106A:領域/任務特定測試資料
200:選項
202:預訓練階段
204:微調階段
206:測試階段
250:選項
302:預訓練階段
304:微調階段
308:混合訓練程序
309:測試階段
420:教師網絡
422:方塊
440:學生網絡
460:教師網絡
462:方塊
480:學生網絡
500:方法
510:方塊
520:方塊
530:方塊
540:方塊
550:方塊
600:電腦系統
602:匯流排
604:處理器
606:主記憶體
607:唯讀記憶體
610:儲存裝置
618:網絡介面
圖1繪示根據一些實施例之基於一預訓練類神經網絡訓練
一領域特定類神經網絡之一例示性程序。
圖2繪示根據一些實施例之具有類神經網絡剪除之類神經網絡之間的知識轉移之例示性圖。
圖3繪示根據一些實施例之知識保存類神經網絡剪除之一例示性圖。
圖4A繪示根據一些實施例之一知識保存類神經網絡剪除實例。
圖4B繪示根據一些實施例之另一知識保存類神經網絡剪除實例。
圖5繪示根據一些實施例之用於知識保存類神經網絡剪除之一例示性方法。
圖6繪示一電腦系統之一方塊圖,其中可實施本文描述之任何實施例。
現將參考圖式描述本發明之特定、非限制性實施例。應暸解,本文揭示之任何實施例之特定特徵及態樣可與本文揭示之任何其他實施例之特定特徵及態樣一起使用及/或組合。亦應暸解,此等實施例係作為實例,且僅係對本發明之範疇內之少量實施例之說明。對於本發明所屬之習知技術者而言明顯的各種改變及修改被認為在如隨附申請專利範圍中進一步定義之本發明之精神、範疇及設想範圍內。
由於各種原因,現有深度學習模型大體上在特定領域執行不佳。一個原因係,模型係基於未自特定領域收集之訓練資料集進行訓練,或訓練資料集沒有自特定領域收集之足夠資料樣本。因此,使用室內
影像訓練之類神經網絡無法很好地檢測室外影像中之物件,且使用一個空間/時間領域中之資料訓練之類神經網絡無法在另一空間/時間領域中執行良好。此問題在實踐中很難解決,至少有三個原因。第一,需要自特定領域收集大量訓練資料,此通常係不切實際的。例如,由一新安裝之攝影機監控之一新創建領域可沒有足夠歷史資料以專門為此新創建領域訓練一模型。第二,對於監督學習,需要正確標記收集之訓練資料。標記大量資料既昂貴又無效。第三,基於線上資料更新模型可需要付出巨大努力。在若干使用案例中,線上資料之產生率不高,不足以支援模型之線上訓練及更新。
為了解決以上問題,一機器學習模型可首先基於通用訓練資料進行訓練,且接著使用自一任域特務領定收集之有限訓練資料進行微調。此一經微調之模型可擁有自通用領域及任務特定領域兩者學習之知識。自任域特務領定學習之知識可容許經微調之模型做出準確預測,而自通用領域學習之知識可容許經微調之模型係靈活且強健的。
然而,在實際應用中,此等模型通常具有大型尺寸,且需要昂貴計算資源用於訓練及推斷。在一些實施例中,此等模型之「權重級」性質使其等在部署至特定領域時無效率或不切實際。例如,此等模型需要在強大伺服器(例如,一雲端伺服器或一資料中心)上代管,而非部署在邊緣裝置(諸如智慧裝置、物聯網、安全攝像機、個人電腦等)上。此意謂著需要將在領域中收集之資料傳輸至伺服器,以執行昂貴之推斷計算。有時,推斷結果需要傳輸回邊緣裝置,以展示給使用者。資料傳輸成本可對各種應用至關重要。因此,更期望具有一「輕量」模型,該模型不僅具有小尺寸(意謂著更少儲存足跡及更便宜計算成本),而且亦可在特定領域
中產生準確結果(預測、分類等)。
為了減小一機器學習模型(諸如類神經網絡)之尺寸,稀疏化技術(亦稱為網絡剪除)得到廣泛研究及試驗。然而,直接剪除經微調之模型可破壞自訓練程序中學習之知識,此可導致不準確之模型輸出。在本申請案中,描述一知識保存類神經網絡剪除程序。此程序可應用於不同使用案例中之各種類型之類神經網絡。出於說明性目的,使用用於自然語言處理(NLP)之類神經網絡模型為例,以演示知識保存類神經網絡剪除如何運行。一習知技術者可容易地調整組態或結構,以將此一程序應用於其他使用案例。
圖1繪示根據一些實施例之基於一預訓練類神經網絡訓練一領域特定類神經網絡之一例示性程序。圖1中之組件及階段用於說明性目的。取決於實施方案,該程序可包含更多、更少或替代組件或階段。
如圖1所展示,訓練程序可包含一預訓練階段102、一微調階段104及一測試階段106。在一些實施例中,在預訓練階段102期間,可基於自複數個通用領域103收集之通用訓練資料103A來訓練指示為f p (p代表預訓練)之一預訓練模型,諸如一類神經網絡。術語「領域」指的係自其收集歷史資料之一任務或一使用案例,其可用於訓練一機器學習模型。通用領域103之概念相對於特定任務領域105之概念。「特定任務領域」105指的係一特定任務或一特定使用案例,其中一訓練機器學習模型將提供服務,且「通用領域」103指的係在特定任務或特定使用案例遠端或與其密切相關之其他任務。領域特定訓練資料105A及通用訓練資料103A係分別自特定任務領域105及通用領域103收集之訓練資料。
預訓練階段102之輸出可包含一經訓練且稠密之類神經網
絡,指示為fp(稠密)。在一些實施例中,通用訓練資料103A可提供大量指示為xp之標記訓練資料及對應標記yp。可基於xp,yp使用監督學習演算法來訓練模型f p 。在其他實施例中,通用訓練資料103A亦可包含大量未標記訓練資料。此處,可使用無監督學習演算法來訓練模型f p 。在另外其他實施例中,通用訓練資料103A可通過各種預處理以生成足夠標記訓練資料xp,yp,諸如使用一生成性對抗網絡(GAN)以生成合成之標記訓練資料。
在預訓練階段102期間,可基於通用訓練資料103A xp,yp學習指示為L之通用知識。L可包含與圖1中之特定任務領域105特別相關之一子集知識,其可指示為Ld。
在一些實施例中,通用知識L,尤其係其中之Ld,可在微調階段104期間轉移至指示為f d (d代表領域特定或下游)之一領域特定模型中。例如,預訓練模型f P (稠密)可用於初始化領域特定模型f d ,其可基於以下領域特定知識類型中之至少一者進行微調:(1)在f d 之初始化中編碼之Ld,及(2)從自特定任務領域105收集之領域特定訓練資料105A學習之領域特定知識,指示為D。例如,在自然語言處理(NLP)之世界中,特定任務領域105可在一特定上下文(諸如起草科幻文學)中指的係一NLP應用。領域特定知識D可自現有科幻文學作品中學習。相比之下,通用領域103可在各種上下文(諸如起草小說、非小說、戲劇、詩歌及其他文學文類)中指的係NLP應用。因此,通用知識L可包含自與特定任務領域105(與其他文類相比,小說文類與科幻文學最密切相關)密切相關之小說文類中之文學作品收集之一子集Ld。在一些實施例中,在微調階段104期間,可基於領域特定訓練資料105A微調f d 之參數以最小化領域誤差。
在微調階段104之後,可生成指示為f d (稠密)之一微調且稠
密類神經網絡。在一些實施例中,f d (稠密)可通過測試階段106用於品質管制。可自特定任務領域105收集一組領域特定測試資料106A。領域特定測試資料106A可包含複數個指示為xt、yt之標記測試資料,其中xt指的係資料條目,且yt指的係對應標記。在一些實施例中,測試階段106及微調階段104可設計為一反覆程序。例如,f d (稠密)可首先通過一微調階段104,然後係一測試狀態106;若測試結果展示領域誤差高於一臨限值,則f d (稠密)可通過另一輪微調階段104。不同微調階段104可使用不同領域特定訓練資料105A。
一或多個之以上階段可由一相同實體或不同實體執行(或從中獲得)。例如,預訓練階段102可由一第一實體實施,且微調階段104可由一第二實體實施。類似地,測試階段106可由第二實體或一第三實體實施。在一些實施例中,所有三個階段可由一個實體實施。此處,「實體」可指的係一電腦系統、一雲端服務、一平臺、一組織、一叢集之計算裝置或另一適合實體。例示性階段與輸入/輸出之間的通信通道(諸如111)可經由一有線連接、網際網絡、透過一區域網絡(例如LAN)或透過直接通信(例如BLUETOOTHTM、射頻、紅外)。
圖2繪示根據一些實施例之具有類神經網絡剪除之類神經網絡之間的知識轉移之例示性圖。如上文所解釋,歸因於資源限制,稠密類神經網絡通常不適合部署至特定任務領域。例如,邊緣裝置之計算及儲存資源有限,無法代管具有大量參數之一稠密類神經網絡。因此,在部署之前,可對一稠密類神經網絡進行稀疏化/剪除,以減小其尺寸。為了簡單性及一致性,圖2遵循圖1中描述之工作流程,且繪示用於在工作流程中之不同階段處剪除一稠密類神經網絡之兩個選項200及250。
選項200:在獲得基於通用訓練資料xp、yp訓練之稠密類神經網絡f p (稠密)之後,可在微調階段204期間同時微調及剪除f p (稠密),以生成指示為f d 之一微調類神經網絡。f p (稠密)可擁有自通用訓練資料學習之知識L,其可包含與一特定任務相關之一子集知識Ld。在f p (稠密)之微調期間,可自任務特定訓練資料xd、yd學習額外任務特定知識D。理想情況下,f p (稠密)之微調程序可包含學習任務特定知識D及保存知識Ld兩者,因為知識D可改良類神經網絡之準確性,且知識Ld可為類神經網絡提供靈活性及強健性。例如,在NLP之上下文中,任務特定知識D可準確地預測在一系列前導單詞之後的下一個單詞,且知識Ld可提供下一個單詞的一或多個同義詞。然而,因為在微調階段204期間更新f d 之參數之損失函數可僅基於任務特定訓練資料xd、yd,而非通用訓練資料xp、yp,所以在微調階段204處剪除f d 可破壞自通用訓練資料xp、yp學習之知識Ld。因此,自微調階段204輸出之剪除類神經網絡指示為f d prn(稀疏),可為具有任務特定知識D但經破壞之知識Ld之一稀疏類神經網絡。
選項250:在預訓練階段202期間執行剪除。即,基於通用訓練資料xp、yp同時剪除且訓練類神經網絡f p 。預訓練階段202之輸出可包含指示為f d prn(稀疏)之一剪除類神經網絡。在此預訓練階段202期間由類神經網絡f d prn(稀疏)學習之知識可指示為Lprn。然而,因為在預訓練階段202期間之訓練及剪除兩者忽略下游任務資訊,且通用知識L之數量非常大,即L>>Lprn及L>>Ld,由f d prn(稀疏)學習之知識Lprn可與應該已學習及保存之Ld非常不同。此將導致可能無法在微調階段204中恢復之知識Ld之一損失。
為了解決圖2中所繪示之選項200及250之技術缺點,下文
描述一種知識保存類神經網絡剪除程序。
圖3繪示根據一些實施例之知識保存類神經網絡剪除之一例示性圖。圖3之圖中之組件及工作流程僅係說明性的,且可取決於實施方案重新組態。
如圖2所描述,在涉及基於通用訓練資料預訓練一類神經網絡,且接著基於領域特定訓練資料微調預訓練類神經網絡之使用案例中,在保存自通用訓練資料學習之領域相關知識與剪除類神經網絡之間存在一困境。在一些實施例中,為了解決此困境,可藉由以下方式實施一知識保存類神經網絡剪除程序:獲得基於複數個通用訓練資料xp、yp訓練之一預訓練類神經網絡f p ;藉由基於對應於一特定任務(亦稱為一特定領域)之複數個任務特定訓練資料xd、yd微調預訓練類神經網絡f p 來訓練一任務特定類神經網絡f d ;基於任務特定類神經網絡建構一學生網絡;同時執行(1)自作為一教師網絡之訓練任務特定類神經網絡f d 至學生網絡之知識蒸餾及(2)在學生網絡上之網絡剪除;及獲得訓練學生網絡f d prn,用於服務任務。此處,類神經網絡係一實例,其可被任何其他可剪除抑或稀疏化之機器學習模型所替代。
例如,可在一預訓練階段302期間基於複數個通用訓練資料xp、yp預訓練類神經網絡f p 。預訓練階段302之輸出可包含一訓練稠密類神經網絡f p (稠密)。由f p (稠密)擁有之知識係自通用訓練資料xp、yp學習。指示為L之此知識可包含與特定任務相關之知識Ld(即Ld L)。隨後,可在一微調階段304期間基於任務特定訓練資料xd、yd微調稠密類神經網絡f p (稠密)。微調階段304之輸出可包含指示為f d (稠密)之一第二訓練稠密類神經網絡。由f d (稠密)學習之知識(指示為D)在微調階段304期間直接來自
任務特定訓練資料xd、yd。因為嵌入在任務特定訓練資料xd、yd之知識D與知識Ld內在一致,所以微調程序將不會干擾已學習之知識Ld。因此,微調類神經網絡f d (稠密)擁有知識Ld及知識D,及L中與任務不密切相關之其他知識。
為了繪示不同知識L、Ld與D之間的差異,一NLP實例描述如下:通用訓練資料xp、yp可自各種文類之現有文學中收集,包含戲劇、寓言、民間傳說、非小說、小說等,任務係編寫一新科幻文學,且任務特定訓練資料xd、yd可自現有科幻文學作品中收集。訓練資料xp、yp之一子集可與虛構文學相關,而虛構文學與科幻文學密切相關,即任務。根據上文假設,知識L可指的係自各種文類之現有文學中學習之知識,知識Ld可指的係自現有虛構文學中學習之L之一子集,且知識D可指的係自科幻文學之現有單詞中學習之知識。
在一些實施例中,微調類神經網絡f d (稠密)可被視為一教師網絡,且用作建構一學生網絡之一基礎。在一些實施例中,學生網絡及教師網絡可共用相同類神經網絡結構。例如,學生網絡可建構為微調類神經網絡f d (稠密)之一複本。在其他實施例中,學生網絡可具有一不同於教師網絡之類神經網絡結構。例如,學生網絡可具有較少數量之通道及/或層。
為了生成保存教師網絡之知識Ld及D之一剪除類神經網絡,可對學生網絡執行一混合訓練程序308。混合訓練程序308可包含同時執行(1)自教師網絡至學生網絡之知識蒸餾及(2)基於任務特定訓練資料xd、yd對學生網絡之網絡剪除。知識蒸餾可將知識Ld及D自教師網絡轉移至學生網絡,且對學生網絡進行網絡剪除可有效地減小學生網絡之尺寸。
在訓練程序308之後,指示為f d prn(稀疏)之結果學生網絡可同時被稀疏化(剪除)及知識化(其中知識Ld及D自教師網絡轉移)。
此處,術語「知識蒸餾」指的係機器學習中之一技術,用於將知識自大型模型轉移至一較小型模型。雖然大型模型(諸如深度類神經網絡或諸多模型之集合)比小型模型具有更高知識能力,但此能力可未充分利用。知識蒸餾可將知識自一大型模型轉移至一較小型模型,而不會損失有效性。由於較小型模型之訓練及測試成本較低,其等可部署在功能較弱之硬體(諸如移動裝置)上。「知識」可指的係由一機器學習模型在一訓練程序期間學習之潛在關係,及/或生成準確輸出(例如預測或分類)之能力。對於類神經網絡之間的知識蒸餾,大型類神經網絡(源網絡)可稱為一教師網絡,且小型類神經網絡(正在訓練之網絡)可稱為一學生網絡。
在一些實施例中,知識蒸餾操作可包含:選擇教師網絡之一或多個層;將複數個任務特定訓練資料饋送至學生網絡及教師網絡中;及回應於複數個任務特定訓練資料,調整學生網絡的之參數以最小化學生網絡之一輸出與教師網絡之一或多個層之一輸出之間的一差異。
在一些實施例中,可定義一蒸餾損失函數來量化「學生網絡之輸出與教師網絡之一或多個層之輸出之間的差異」。例如,蒸餾損失函數可包含對應於教師網絡之一或多個層之複數個損失函數。在一些實施例中,教師網絡之一或多個層可包含:一嵌入層、一自我注意力層、一前饋層、一輸出層、另一層或其任何組合。在一些實施例中,「教學網絡之一或多個層」必須包含用於知識蒸餾之輸出層(即,必須在輸出層處執行知識蒸餾)。
在一些實施例中,複數個損失函數可包含以下至少一個:
基於學生網絡及教師網絡之一或多個嵌入層之間的一差異之一均方誤差之一損失函數;基於學生網絡及教師網絡之一或多個層之注意力矩陣之間的一差異之一均方誤差之一損失函數;基於學生網絡及教師網絡之一或多個層之隱藏表示之間的一差異之一均方誤差之一損失函數;或教師網絡與學生網絡之羅吉特機率之間的一軟交叉熵損失。例如,蒸餾損失函數可定義為Ldistil=Lemb+Latt+Lhid+Lprd,其中Lemb=MSE(ES,ET)指的係學生網絡及教師網絡之嵌入層之輸出之間的差異(MSE指的係均方誤差,E指的係嵌入層,S指的係「學生」,T指的係「教師」);指的係學生網絡及教師網絡之注意力矩陣之間的一差異(i係層索引,A指的係注意力矩陣);指的係學生網絡及教師網絡之隱藏表示之間的差異,且表示學生網絡及教師網絡之羅吉特機率之間的軟交叉熵損失(temp係知識蒸餾之上下文中之溫度參數,z T 係教師網絡之預測羅吉特機率,且Z S 係學生網絡之預測羅吉特機率)。
在一些實施例中,學生網絡上之網絡剪除可包含稀疏剪除,其藉由將對應參數設定為零來撤銷一層神經元與下一層神經元之間的學生網絡連接之數量。當自一層之一源神經元至下一層之一目標神經元之間的一連接撤銷時,源神經元可被視為撤銷。撤銷一神經元有各種方法,諸如將對應連接(來自神經元)之一參數設定為零。其他網絡剪除技術亦可適用,諸如減少通道及層之數量。例如,在各輪剪除期間,可基於一或多個相關權重或其他參數(即,權重/參數指示對輸出影響較小之神經元)選擇學生網絡之一或多個神經元。此等所選神經元可被撤銷(例如,藉由將相關權重設定為0)。接著,一或多個訓練資料任務特定訓練資料xd可被饋入
稠密教師網絡及稀疏化學生網絡以獲得預測標記。此等預測標記及訓練資料yd中之標記可被饋入至一或多個損失函數中以確定損失。基於此等損失(例如,藉由反向傳播損失函數之梯度),可調整學生網絡之一或多個參數以最小化損失。依此方式,學生網絡可被逐漸剪除及訓練,以接近教師網絡。經剪除及訓練之學生網絡可在稍後部署至特定任務中。
由於網絡剪除及知識蒸餾係同時執行,因此歸因於網絡剪除而損失之知識可由知識蒸餾恢復。因此,經訓練及剪除之學生網絡f d prn(稀疏)可保存與任務相關之知識(知識Ld及D),且刪除L中與任務無關之知識。此意謂著,經剪除之神經元(神經元變為非活化的)與知識Ld及D無關。
在一些實施例中,經訓練及剪除之學生網絡f d prn(稀疏)可通過用於品質管制之一測試階段309。學生網絡f d prn(稀疏)將自任務特定領域收集之任務特定測試資料xt,yt進行測試。觀察到之領域誤差可用於限定經訓練及剪除之學生網絡f d prn(稀疏)。測試階段206及微調階段204可反覆執行。例如,若來自微調階段204之經訓練及剪除之學生網絡f d prn(稀疏)在測試階段206期間未通過資格認證,則學生網絡可使用經調整之訓練資料通過另一輪微調階段204。
圖4A繪示根據一些實施例之一知識保存類神經網絡剪除實例。圖4A中之類神經網絡420及440用於說明性目的,其可包含更少、更多或替代層及通道,取決於實施方案。
在圖4A中,教師網絡420可指的係自圖3中之微調階段304輸出之一微調類神經網絡。教師網絡係一稠密(即大型)類神經網絡,擁有自一任務特定領域學習之知識,及自與任務特定領域相關之其他領域學習
之知識。例如,任務特定領域可指的係起草科幻文學,且「其他領域」可指的係起草虛構文學。在剪除學生網絡440之同時,可將知識自教師網絡420轉移至學生網絡440。
在一些實施例中,教師網絡420可包含重複多次之層之一方塊422。即,教師網絡420可包含複數個連續連接之層之方塊,如方塊422。例如,假設教師網絡420表示一經微調之BERT,則其可包含12個方塊422。出於說明性目的,圖4A僅展示一次方塊422。在一些實施例中,教師網絡420可包含一輸入層、一嵌入層、一或多個自我注意力層、一或多個前饋層、一個輸出層及其他層。
在一些實施例中,學生網絡440可初始化為教師網絡420之一複本。即,兩個網絡420及440具有相同網絡結構。教師網絡420與學生網絡440之間的知識蒸餾可針對兩個網絡之一或多個層執行。如圖4A所展示,可在四種類型之層之輸出處執行知識蒸餾:嵌入層(例如,輸入特徵萃取層)、自我注意力層、第二前饋層及輸出層。知識蒸餾操作旨在最小化教師網絡420及學生網絡440之所選層之輸出之間的差異。在一些實施例中,可取決於任務調整用於知識蒸餾之層之選擇。在一些實施例中,輸出層可始終參與知識蒸餾。
當在教師網絡420與學生網絡440之間執行所選層之知識蒸餾時,可對學生網絡440之一或多個層同時執行類神經網絡稀疏剪除操作。在圖4A所展示之實例中,正在剪除學生網絡440之自我注意力層及兩個前饋層。即,此等層內之活化神經元之數量正在減少。
圖4B繪示根據一些實施例之另一知識保存類神經網絡剪除實例。圖4B中之類神經網絡460及480用於說明性目的,其可包含更少、
更多或替代層及通道,取決於實施方案。
在圖4B中,教師網絡460可指的係自圖3中之微調階段304輸出之一微調類神經網絡。教師網絡係一稠密(即尺寸較大)之類神經網絡,擁有自一任務特定領域學習之知識,及自與任務特定領域相關之其他領域學習之知識。例如,任務特定領域可指的係起草科幻文學,且「其他領域」可指的係起草虛構文學。在剪除學生網絡480之同時,可將知識自教師網絡460轉移至學生網絡480。
在一些實施例中,教師網絡460可包含重複多次之層之一方塊462。即,教師網絡460可包含複數個連續連接之層之方塊,如方塊462。例如,假設教師網絡460代表一ResNet-50,其可包含24個方塊462。出於說明性目的,圖4B僅展示一次方塊462。在一些實施例中,教師網絡460可包含一或多個權重層、一個輸出層及其他層。
在一些實施例中,學生網絡480可初始化為教師網絡460之一複本。即,兩個網絡460及480具有相同網絡結構。教師網絡460與學生網絡480之間的知識蒸餾可針對兩個網絡之一或多個層執行。如圖4B所展示,知識蒸餾可在兩種類型之層之輸出處執行:一或多個權重層及輸出層。知識蒸餾操作旨在最小化教師網絡460及學生網絡480之所選層之輸出之間的差異。在一些實施例中,可取決於任務調整用於知識蒸餾之層之選擇。在一些實施例中,輸出層可始終參與知識蒸餾。
當在教師網絡460與學生網絡480之間執行所選層之知識蒸餾時,可對學生網絡480之一或多個層同時執行類神經網絡稀疏剪除操作。在圖4B所展示之實例中,正在剪除學生網絡480之兩個權重層。即,此等層內之活化神經元之數量正在減少。
圖5繪示根據一些實施例之用於具有邊界框校正之快速物件檢測之一例示性方法500。方法500可在圖3所展示之一工作流程中實施。方法500用於說明性目的,且取決於實施方案及實際考慮,可包含更多、更少或替代步驟。
方塊510包含獲得基於複數個通用訓練資料訓練之一預訓練機器學習模型。在一些實施例中,預訓練機器學習模型係一預訓練自然語言類神經網絡。
方塊520包含藉由基於對應於一任務之複數個任務特定訓練資料調整預訓練機器學習模型來訓練一任務特定機器學習模型。
方塊530包含基於任務特定機器學習模型建構一學生網絡。在一些實施例中,基於任務特定機器學習模型建構一學生網絡包括:藉由複製任務特定機器學習模型初始化學生網絡。
方塊540包含同時執行(1)自作為一教師網絡之訓練任務特定機器學習模型至學生網絡之知識蒸餾,及(2)學生網絡上之網絡剪除。在一些實施例中,執行知識蒸餾包括:選擇教師網絡之一或多個層;將複數個任務特定訓練資料饋送至學生網絡及教師網絡中;及回應於複數個任務特定訓練資料,調整學生網絡之參數以最小化學生網絡之一輸出與教師網絡之一或多個層之一輸出之間的一差異。
在一些實施例中,執行知識蒸餾包括:基於教師網絡建構用於訓練學生網絡之一蒸餾損失函數,其中蒸餾損失函數包括對應於教師網絡之一或多個層之複數個損失函數。在一些實施例中,教師網絡之一或多個層包括:一嵌入層;一自我注意力層;一前饋層;及一輸出層。在一些實施例中,複數個損失函數包括以下至少一個:基於學生網絡及教師網
絡之一或多個嵌入層之間的一差異之一均方誤差之一損失函數;基於學生網絡及教師網絡之一或多個層之注意力矩陣之間的一差異之一均方誤差之一損失函數;基於學生網絡及教師網絡之一或多個層之隱藏表示之間的一差異之一均方誤差之一損失函數;或教師網絡與學生網絡之羅吉特機率之間的一軟交叉熵損失。
在一些實施例中,對學生網絡執行網絡剪除包括:藉由將對應參數設定為零,減少學生網絡之一或多個層中之啟動神經元之一數量。在一些實施例中,教師網絡及學生網絡共用一相同類神經網絡架構。
在一些實施例中,預訓練機器學習模型係用於電腦視覺任務之一預訓練剩餘網絡。在一些實施例中,執行知識蒸餾包括:基於教師網絡建構用於訓練學生網絡之一蒸餾損失函數,其中蒸餾損失函數包括對應於教師網絡之一或多個層之複數個損失函數,且教師網絡之一或多個層包括:一權重層;及一輸出層。
方塊550包含獲得訓練學生網絡,用於服務任務。
圖6繪示一電腦系統600之一方塊圖,其中可實施本文描述之任何實施例。電腦系統600可在圖1至圖5所繪示之環境或系統之任何組件中實施。圖1至圖5所繪示之一或多個實例方法可由電腦系統600之一或多個實施方案來執行。
電腦系統600可包含一匯流排602或用於通信資訊之另一通信機制、與匯流排602耦合用於處理資訊之一或多個硬體處理器604。(若干)硬體處理器604可為例如一或多個通用微處理器。
電腦系統600亦可包含一主記憶體606,諸如一隨機存取記憶體(RAM)、高速緩衝存儲器及/或其他動態儲存裝置,耦合至匯流排
602,用於儲存資訊及可由(若干)處理器604執行之指令。主記憶體606亦可用於在執行可由(若干)處理器604執行之指令期間儲存臨時變數或其他中間資訊。當此等指令儲存在可供(若干)處理器604存取之儲存媒體中時,將電腦系統600呈現至一專用機器中,該專用機器被定制以執行指令中指定之操作。電腦系統600可進一步包含一唯讀記憶體(ROM)608或耦合至匯流排602之其他靜態儲存裝置,用於儲存用於(若干)處理器604之靜態資訊及指令。可提供諸如一磁碟、光碟或USB拇指驅動器(快閃記憶體驅動器)等之一儲存裝置610,且將其耦合至匯流排602用於儲存資訊及指令。
電腦系統600可使用定制之硬佈線邏輯、一或多個ASIC或FPGA、韌體及/或程式邏輯來實施本文描述之技術,其與電腦系統組合,導致或程式設計電腦系統600成為一專用機器。根據一個實施例,電腦系統600回應於(若干)處理器604執行主記憶體606中含有之一或多個指令之一或多個序列來執行本文描述之操作、方法及程序。此等指令可自另一儲存媒體(諸如儲存裝置610)讀取至主記憶體606中。主記憶體606中含有之指令序列之執行可導致(若干)處理器604執行本文描述之處理步驟。在替代實施例中,可使用硬佈線電路替換軟體指令或與軟體指令組合使用。
主記憶體606、ROM 607及/或儲存裝置610可包含非暫時性儲存媒體。如本文使用之術語「非暫時性媒體」及類似術語指的係儲存資料及/或指令之媒體,該等資料及/或指令使一機器依一特定方式操作,該媒體不包含暫時性信號。此非暫時性媒體可包括非揮發性媒體及/或揮發性媒體。非揮發性媒體包含例如光碟或磁碟,諸如儲存裝置610。揮發性媒體包含動態記憶體,諸如主記憶體606。非揮發性媒體之常見形式包
含,例如一軟碟、一軟性磁碟、硬碟、固態硬碟、磁帶或任何其他磁性資料儲存媒體、一CD-ROM、任何其他光學資料儲存媒體、任何具有孔之圖案之實體媒體、一RAM、一PROM及EPROM、一FLASH-EPROM、NVRAM、任何其他記憶體晶片或匣,及相同網絡版本。
電腦系統600可包含耦合至匯流排602之一網絡介面618。網絡介面618可將一雙向資料通信耦合提供至連接至一或多個區域網絡之一或多個網絡鏈。例如,網絡介面618可為一整合服務數位網絡(ISDN)卡、電纜數據機、衛星數據機或一數據機,以提供一資料通信連接至一對應類型電話線。作為另一實例,網絡介面618可為一區域網絡(LAN)卡,以提供一資料通信連接至一相容LAN(或與一WAN通信之WAN組件)。亦可實施無線鏈。在任何此實施方案中,網絡介面618可發送且接收攜帶代表各種類型資訊之數位資料流之電、電磁或光信號。
電腦系統600可透過(若干)網絡、網絡鏈及網絡介面618發送訊息及接收資料,包含程式代碼。在網際網絡實例中,一伺服器可透過網際網絡、ISP、區域網絡及網絡介面618傳輸用於一應用程式之一請求代碼。
接收之代碼可在接收時由(若干)處理器604執行,且/或儲存在儲存裝置610或其他非揮發性儲存器中用於稍後執行。
前面節次中描述之程序、方法及演算法之各者可體現在由一或多個電腦系統或包括電腦硬體之電腦處理器執行之代碼模組中,且完全或部分由其自動化。程序及演算法可部分或全部在應用特定電路中實施。
以上描述之各種特徵及程序可相互獨立地使用,或可依各
種方式組合。所有可能之組合及子組合意在本說明書之範圍內。此外,在一些實施方案中可省略特定方法或程序方塊。本文描述之方法及程序亦不限於任何特定序列,且與其相關之方塊或狀態可按照適當之其他序列中執行。例如,所描述之方塊或狀態可依與具體揭示不同之順序執行,或多個方塊或狀態可組合在一單一方塊或狀態中。方塊或狀態之實例可串列、並行或依某種其他方式執行。方塊或狀態可添加至揭示之實施例中或自揭示之實施例中移除。本文描述之系統及組件之實例可組態成與所描述不同。例如,與所揭示之實施例相比,可將元件添加至所揭示之實施例中、自所揭示之實施例中移除或重新配置。
本文描述之方法之各種操作可至少部分地由一或多個處理器執行,該等處理器臨時組態(例如,藉由軟體)或永久組態以執行相關操作。無論係臨時組態或永久組態,此等處理器可構成處理器實施引擎,其操作以執行本文描述之一或多個操作或功能。
類似地,本文描述之方法可至少部分地由處理器實施,其中一特定處理器或若干處理器為硬體之一實例。例如,一方法之至少一些操作可由一或多個處理器或處理器實施引擎執行。此外,一或多個處理器亦可在一「雲端計算」環境中或作為一「軟體即服務」(SaaS)操作,以支援相關操作之效能。例如,至少一些操作可由一群組電腦(作為包含處理器之機器之實例)執行,其中此等操作可經由一網絡(例如,網際網絡)及經由一或多個適當介面(例如,一應用程式介面(API))存取。
某些操作之效能可分佈在處理器之間,不僅駐留在一單一機器內,而且部署在數個機器上。在一些實施例中,處理器或處理器實施引擎可位於一單一地理位置(例如,在一家庭環境、一辦公室環境或一伺
服器場內)。在其他實施例中,處理器或處理器實施引擎可分佈在數個地理位置。
在本說明書中,複數個例項可實施被描述為一單一例項之組件、操作或結構。儘管一或多個方法之個別操作繪示且描述為單獨操作,但一或多個個別操作可同時執行,且不要求按照所繪示之順序執行操作。在組態中作為單獨組件呈現之結構及功能可作為一組合結構或組件來實施。類似地,作為一單一組件呈現之結構及功能可作為單獨組件來實施。此等及其他變動、修改、添加及改良屬於本文標的之範疇內。
儘管已參考特定實施例描述標的之一概述,但可對此等實施例進行各種修改及更改,而不背離本說明書之實施例之更廣泛範疇。不應在一限制性意義上進行[實施方式],且各種實施例之範疇僅由隨附申請專利範圍及此等申請專利範圍授權之全部等同物之範圍來定義。此外,本文使用之相關術語(諸如「第一」、「第二」、「第三」等)並不指示任何順序、高度或重要性,而係用於區分一個元件與另一元件。此外,術語「一(a/an)」及「複數個」並不指示本文之一數量限制,而係指示提及之物品之至少一個之存在。
102:預訓練階段
103:通用領域
103A:通用訓練資料
104:微調階段
105:特定任務領域
105A:領域/任務特定訓練資料
106:測試階段
106A:領域/任務特定測試資料
Claims (20)
- 一種電腦實施方法,其包括:獲得作為一教師網絡之一預訓練機器學習模型,其中基於對應於一任務之複數個任務特定訓練資料來訓練該預訓練機器學習模型;基於該教師網絡建構一學生網絡;同時執行(1)自該教師網絡至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得經訓練之該學生網絡,用於服務該任務。
- 如請求項1之方法,其中該同時執行(1)知識蒸餾及(2)網絡剪除包括:對該學生網絡執行兩或更多個回合之微調,每一個回合之微調包括:執行該學生網絡上之網絡剪除;及基於對應於該教師網絡之一或多個層之一或多個損失函數執行自該教師網絡至該學生網絡之知識蒸餾。
- 如請求項2之方法,其中該一或多個層包括該教師網絡之一嵌入層。
- 如請求項1之方法,其中該執行知識蒸餾包括:選擇該教師網絡之一或多個層;將該複數個任務特定訓練資料饋送至該學生網絡及該教師網絡中; 及回應於該複數個任務特定訓練資料而調整該學生網絡之參數以最小化該學生網絡之一輸出與該教師網絡之該一或多個層之一輸出之間的一差異。
- 如請求項1之方法,其中該預訓練機器學習模型係一預訓練自然語言類神經網絡。
- 如請求項5之方法,其中該執行知識蒸餾包括:基於該教師網絡建構用於訓練該學生網絡之一蒸餾損失函數,其中該蒸餾損失函數包括對應於該教師網絡之一或多個層之複數個損失函數。
- 如請求項6之方法,其中該教師網絡之該一或多個層包括:一嵌入層;一自我注意力層;一前饋層;及一輸出層。
- 如請求項6之方法,其中該複數個損失函數包括以下至少一個:基於該學生網絡及該教師網絡之一或多個嵌入層之間的一差異之一均方誤差之一損失函數;基於該學生網絡及該教師網絡之一或多個層之注意力矩陣之間的一差異之一均方誤差之一損失函數; 基於該學生網絡及該教師網絡之一或多個層之隱藏表示之間的一差異之一均方誤差之一損失函數;或該教師網絡與該學生網絡之羅吉特機率(logits)之間的一軟交叉熵損失。
- 如請求項1之方法,其中該執行在該學生網絡上之網絡剪除包括:藉由將對應參數設定為零而減少該學生網絡之一或多個層中之啟動神經元之一數量。
- 如請求項1之方法,其中該教師網絡及該學生網絡共用一相同類神經網絡架構。
- 如請求項1之方法,其中該預訓練機器學習模型係用於電腦視覺任務之一預訓練剩餘網絡。
- 如請求項11之方法,其中該執行知識蒸餾包括:基於該教師網絡建構用於訓練該學生網絡之一蒸餾損失函數,其中該蒸餾損失函數包括對應於該教師網絡之一或多個層之複數個損失函數,且該教師網絡之該一或多個層包括:一權重層;及一輸出層。
- 如請求項1之方法,其中基於該教師網絡建構一學生網絡包括: 藉由複製該教師網絡以初始化該學生網絡。
- 一種電腦系統,其包括一或多個處理器及耦合至該一或多個處理器之一或多個非暫時性電腦可讀記憶體,且經組態具有可由該一或多個處理器執行之指令,以使該系統執行操作,該等操作包括:獲得作為一教師網絡之一預訓練機器學習模型,其中基於對應於一任務之複數個任務特定訓練資料來訓練該預訓練機器學習模型;基於該教師網絡建構一學生網絡;同時執行(1)自作為該教師網絡至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得經訓練之該學生網絡,用於服務該任務。
- 如請求項14之系統,其中該同時執行(1)知識蒸餾及(2)網絡剪除包括:對該學生網絡執行兩或更多個回合之微調,每一個回合之微調包括:執行該學生網絡上之網絡剪除;及基於對應於該教師網絡之一或多個層之一或多個損失函數執行自該教師網絡至該學生網絡之知識蒸餾。
- 如請求項14之系統,其中該執行知識蒸餾包括:選擇該教師網絡之一或多個層;將該複數個任務特定訓練資料饋送至該學生網絡及該教師網絡中;及 回應於該複數個任務特定訓練資料而調整該學生網絡之參數以最小化該學生網絡之一輸出與該教師網絡之該一或多個層之一輸出之間的一差異。
- 如請求項14之系統,其中該預訓練機器學習模型係一預訓練自然語言類神經網絡,及該執行知識蒸餾包括:基於該教師網絡建構用於訓練該學生網絡之一蒸餾損失函數,其中該蒸餾損失函數包括對應於該教師網絡之一或多個層之複數個損失函數。
- 如請求項14之系統,其中該執行在該學生網絡上之網絡剪除包括:藉由將對應參數設定為零而減少該學生網絡之一或多個層中之啟動神經元之一數量。
- 如請求項14之系統,其中該預訓練機器學習模型係用於電腦視覺任務之一預訓練剩餘網絡,及該執行知識蒸餾包括:基於該教師網絡建構用於訓練該學生網絡之一蒸餾損失函數,其中該蒸餾損失函數包括對應於該教師網絡之一或多個層之複數個損失函數,且該教師網絡之該一或多個層包括:一權重層;及一輸出層。
- 一種非暫時性電腦可讀儲存媒體,其經組態具有可由一或多個處理器執行之指令,以使該一或多個處理器執行操作,該等操作包括: 獲得作為一教師網絡之一預訓練機器學習模型,其中基於對應於一任務之複數個任務特定訓練資料來訓練該預訓練機器學習模型;基於該教師網絡建構一學生網絡;同時執行(1)自作為該教師網絡至該學生網絡之知識蒸餾及(2)該學生網絡上之網絡剪除;及獲得經訓練之該學生網絡,用於服務該任務。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/203,020 US11200497B1 (en) | 2021-03-16 | 2021-03-16 | System and method for knowledge-preserving neural network pruning |
US17/203,020 | 2021-03-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202324217A TW202324217A (zh) | 2023-06-16 |
TWI832679B true TWI832679B (zh) | 2024-02-11 |
Family
ID=78828810
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112102229A TWI832679B (zh) | 2021-03-16 | 2022-03-16 | 用於知識保存類神經網絡剪除之電腦系統及電腦實施方法,以及其非暫時性電腦可讀儲存媒體 |
TW111109516A TWI799191B (zh) | 2021-03-16 | 2022-03-16 | 用於知識保存類神經網絡剪除之系統及方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111109516A TWI799191B (zh) | 2021-03-16 | 2022-03-16 | 用於知識保存類神經網絡剪除之系統及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11200497B1 (zh) |
CN (1) | CN116348892A (zh) |
TW (2) | TWI832679B (zh) |
WO (1) | WO2022194013A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11763082B2 (en) * | 2021-07-12 | 2023-09-19 | International Business Machines Corporation | Accelerating inference of transformer-based models |
US20230196030A1 (en) * | 2021-12-21 | 2023-06-22 | Genesys Cloud Services, Inc. | Systems and methods relating to knowledge distillation in natural language processing models |
CN114298224B (zh) * | 2021-12-29 | 2024-06-18 | 云从科技集团股份有限公司 | 图像分类方法、装置以及计算机可读存储介质 |
CN114549901B (zh) * | 2022-02-24 | 2024-05-14 | 杭州电子科技大学 | 一种多网络联合辅助生成式知识蒸馏方法 |
CN114612685B (zh) * | 2022-03-22 | 2022-12-23 | 中国科学院空天信息创新研究院 | 一种结合深度特征与对比学习的自监督信息提取方法 |
CN114881227B (zh) * | 2022-05-13 | 2023-07-04 | 北京百度网讯科技有限公司 | 模型压缩方法、图像处理方法、装置和电子设备 |
WO2023220848A1 (en) * | 2022-05-16 | 2023-11-23 | Nvidia Corporation | Detecting robustness of a neural network |
CN115511059B (zh) * | 2022-10-12 | 2024-02-09 | 北华航天工业学院 | 一种基于卷积神经网络通道解耦的网络轻量化方法 |
CN115908955B (zh) * | 2023-03-06 | 2023-06-20 | 之江实验室 | 基于梯度蒸馏的少样本学习的鸟类分类系统、方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
US20190325308A1 (en) * | 2016-12-30 | 2019-10-24 | Google Llc | Multi-task learning using knowledge distillation |
CN110874631A (zh) * | 2020-01-20 | 2020-03-10 | 浙江大学 | 一种基于特征图稀疏化的卷积神经网络剪枝方法 |
US20200104717A1 (en) * | 2018-10-01 | 2020-04-02 | Neuralmagic Inc. | Systems and methods for neural network pruning with accuracy preservation |
US20200334529A1 (en) * | 2019-04-22 | 2020-10-22 | Kabushiki Kaisha Toshiba | Learning device, learning method, computer program product, and recognition device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3076424A1 (en) * | 2019-03-22 | 2020-09-22 | Royal Bank Of Canada | System and method for knowledge distillation between neural networks |
US12008459B2 (en) * | 2019-04-19 | 2024-06-11 | Microsoft Technology Licensing, Llc | Multi-task machine learning architectures and training procedures |
EP3748545A1 (en) * | 2019-06-07 | 2020-12-09 | Tata Consultancy Services Limited | Sparsity constraints and knowledge distillation based learning of sparser and compressed neural networks |
CN110909667B (zh) * | 2019-11-20 | 2022-05-10 | 北京化工大学 | 面向多角度sar目标识别网络的轻量化设计方法 |
CN110880036B (zh) * | 2019-11-20 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 神经网络压缩方法、装置、计算机设备及存储介质 |
CN111598216B (zh) * | 2020-04-16 | 2021-07-06 | 北京百度网讯科技有限公司 | 学生网络模型的生成方法、装置、设备及存储介质 |
CN111627428B (zh) * | 2020-05-15 | 2023-11-14 | 北京青牛技术股份有限公司 | 构建压缩的语音识别模型的方法 |
CN112232086A (zh) * | 2020-10-16 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种语义识别方法、装置、计算机设备及存储介质 |
CN112465138A (zh) * | 2020-11-20 | 2021-03-09 | 平安科技(深圳)有限公司 | 模型蒸馏方法、装置、存储介质及设备 |
-
2021
- 2021-03-16 US US17/203,020 patent/US11200497B1/en active Active
-
2022
- 2022-03-10 WO PCT/CN2022/080074 patent/WO2022194013A1/en active Application Filing
- 2022-03-10 CN CN202280006801.1A patent/CN116348892A/zh active Pending
- 2022-03-16 TW TW112102229A patent/TWI832679B/zh active
- 2022-03-16 TW TW111109516A patent/TWI799191B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190325308A1 (en) * | 2016-12-30 | 2019-10-24 | Google Llc | Multi-task learning using knowledge distillation |
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
US20200104717A1 (en) * | 2018-10-01 | 2020-04-02 | Neuralmagic Inc. | Systems and methods for neural network pruning with accuracy preservation |
US20200334529A1 (en) * | 2019-04-22 | 2020-10-22 | Kabushiki Kaisha Toshiba | Learning device, learning method, computer program product, and recognition device |
CN110874631A (zh) * | 2020-01-20 | 2020-03-10 | 浙江大学 | 一种基于特征图稀疏化的卷积神经网络剪枝方法 |
Also Published As
Publication number | Publication date |
---|---|
US11200497B1 (en) | 2021-12-14 |
CN116348892A (zh) | 2023-06-27 |
TW202324217A (zh) | 2023-06-16 |
TW202238456A (zh) | 2022-10-01 |
TWI799191B (zh) | 2023-04-11 |
WO2022194013A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI832679B (zh) | 用於知識保存類神經網絡剪除之電腦系統及電腦實施方法,以及其非暫時性電腦可讀儲存媒體 | |
US20230107574A1 (en) | Generating trained neural networks with increased robustness against adversarial attacks | |
US9990558B2 (en) | Generating image features based on robust feature-learning | |
JP7470476B2 (ja) | 蒸留を用いたそれぞれのターゲット・クラスを有するモデルの統合 | |
CN108182394B (zh) | 卷积神经网络的训练方法、人脸识别方法及装置 | |
CN105447498B (zh) | 配置有神经网络的客户端设备、系统和服务器系统 | |
WO2019111118A1 (en) | Robust gradient weight compression schemes for deep learning applications | |
CN108922622A (zh) | 一种动物健康监测方法、装置及计算机可读存储介质 | |
CN111291827B (zh) | 图像聚类方法、装置、设备及存储介质 | |
CN116438544B (zh) | 用于特定领域神经网络修剪的系统和方法 | |
CN111783713B (zh) | 基于关系原型网络的弱监督时序行为定位方法及装置 | |
CN113065013B (zh) | 图像标注模型训练和图像标注方法、系统、设备及介质 | |
WO2019180314A1 (en) | Artificial neural networks | |
Li et al. | Cyclic annealing training convolutional neural networks for image classification with noisy labels | |
CN112529027A (zh) | 数据处理方法、客户端、装置及计算机可读存储介质 | |
CN114067155A (zh) | 基于元学习的图像分类方法、装置、产品及存储介质 | |
CN114510592A (zh) | 图像分类方法、装置、电子设备及存储介质 | |
YANG et al. | Orchestrating development lifecycle of machine learning based IoT applications: A survey | |
Patel et al. | Adding Material Embedding to the image2mass Problem | |
CN112400165B (zh) | 利用无监督学习来改进文本到内容建议的方法和系统 | |
CN112348162B (zh) | 用于生成识别模型的方法和装置 | |
US20240062051A1 (en) | Hierarchical data labeling for machine learning using semi-supervised multi-level labeling framework | |
Lee et al. | Comparing sample-wise learnability across deep neural network models | |
Liu et al. | Covert Communication via Modulating Soft Label of Neural Network | |
CN117392402A (zh) | 一种自监督学习方法、装置、计算机设备及存储介质 |