TW202248906A - 使用節點資訊更新神經網路參數之解碼器、編碼器、控制器、方法及電腦程式 - Google Patents
使用節點資訊更新神經網路參數之解碼器、編碼器、控制器、方法及電腦程式 Download PDFInfo
- Publication number
- TW202248906A TW202248906A TW111114507A TW111114507A TW202248906A TW 202248906 A TW202248906 A TW 202248906A TW 111114507 A TW111114507 A TW 111114507A TW 111114507 A TW111114507 A TW 111114507A TW 202248906 A TW202248906 A TW 202248906A
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- neural network
- information
- parameter
- tensor
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 622
- 238000000034 method Methods 0.000 title claims description 93
- 238000004590 computer program Methods 0.000 title claims description 16
- 230000008859 change Effects 0.000 claims description 80
- 238000012549 training Methods 0.000 claims description 52
- 210000002569 neuron Anatomy 0.000 claims description 41
- 230000009466 transformation Effects 0.000 claims description 16
- 230000011664 signaling Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000009795 derivation Methods 0.000 abstract description 33
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 48
- 238000004891 communication Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000001276 controlling effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000613118 Gryllus integer Species 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation 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/08—Learning methods
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
-
- 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/096—Transfer learning
-
- 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/098—Distributed learning, e.g. federated learning
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3057—Distributed Source coding, e.g. Wyner-Ziv, Slepian Wolf
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根據本發明之實施例包含一種用於解碼一神經網路之參數之解碼器,其中該解碼器經組配以基於一經編碼位元流獲得該神經網路之多個神經網路參數。此外,該解碼器經組配以獲得,例如接收,例如自一經編碼位元流提取描述一參數更新樹之一節點的一節點資訊,其中該節點資訊包含作為例如一唯一父節點識別符,例如一整數、一字串及/或一密碼雜湊之一父節點識別符,且其中該節點資訊包含一參數更新資訊,例如一或多個更新指令,例如初始神經網路參數與其一較新版本之間的一差信號,例如對應於該更新樹之一子節點。
此外,該解碼器經組配以使用藉由該父節點識別符識別出的一父節點之參數資訊(該參數資訊包含例如該父節點之該節點資訊,該節點資訊:例如包含一參數更新資訊及該父節點之一父節點識別符,例如用於該一或多個神經網路參數之一遞迴重建構或遞迴判定或遞迴計算或遞迴導出;及/或例如包含該父節點之一節點參數,例如與該父節點相關聯之神經網路參數,例如由該父節點之該節點資訊定義之神經網路參數)及使用可例如包括於一節點資訊中之該參數更新資訊導出一或多個神經網路參數。
Description
發明領域
根據本發明之實施例係關於使用節點資訊更新神經網路參數之解碼器、編碼器、控制器、方法及電腦程式。
根據本發明之另外實施例係關於在分佈式情形中神經網路更新之高效傳訊。
發明背景
例如神經網路之神經網路NN用於廣泛多種應用領域。為了提供良好效能,已研發出例如複雜且計算上昂貴之訓練技術。為了對專用訓練裝置執行此訓練程序,神經網路參數可能必須例如自終端使用者裝置傳輸至訓練裝置,且反之亦然。此外,高效神經網路參數表示及參數傳輸技術在多個裝置可訓練神經網路且各別訓練程序之經更新參數可使用中心伺服器彙總的分佈式學習情形中甚至更為重要。
因此,需要獲得允許神經網路參數之高效表示及傳輸以用於學習或更新程序的概念。
此係藉由本申請案之獨立請求項之標的物達成。
根據本發明之另外實施例由本申請案之附屬請求項的標的物定義。
發明概要
根據本發明之實施例包含一種用於解碼神經網路之參數之解碼器,其中解碼器經組配以基於經編碼位元流獲得神經網路之多個神經網路參數。此外,解碼器經組配以獲得,例如接收,例如自經編碼位元流提取描述參數更新樹之節點的節點資訊,其中節點資訊包含作為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊之父節點識別符,且其中節點資訊包含參數更新資訊,例如一或多個更新指令,例如初始神經網路參數與其較新版本之間的差信號,例如對應於更新樹之子節點。
此外,解碼器經組配以使用藉由父節點識別符識別出的父節點之參數資訊(參數資訊包含例如父節點之節點資訊,節點資訊:例如包含參數更新資訊及父節點之父節點識別符,例如用於一或多個神經網路參數之遞迴重建構或遞迴判定或遞迴計算或遞迴導出;及/或例如包含父節點之節點參數,例如與父節點相關聯之神經網路參數,例如由父節點之節點資訊定義之神經網路參數)及使用可例如包括於節點資訊中之參數更新資訊導出一或多個神經網路參數。
根據本發明之實施例係基於用以基於參數更新樹提供神經網路參數之高效表示的主要想法。
本發明人認識到,對於更新或交替神經網路,可能沒有必要傳輸/接收神經網路之所有參數。實情為,僅更新資訊,或換言之,(神經網路)參數更新資訊可經編碼/解碼及傳輸/接收。為了利用此(例如)差分資訊或(例如)差異資訊,可提供關於待使用更新資訊(例如包含變化值)調適參考參數集的資訊。本發明人認識到,此資訊可使用節點資訊表示,節點資訊包含參數更新資訊及父節點識別符,該父節點識別符可例如充當對待調整之參考參數集的指標。
作為一示例,本發明解碼器可包含關於參數更新樹之資訊,參數更新樹包含呈例如階層式次序之一或多個節點。
為了判定經更新或經訓練神經網路之一或多個神經網路參數,解碼器可因此接收之前提及之節點資訊或可自提供至解碼器之經編碼位元流提取節點資訊。
使用父節點識別符,解碼器可選擇參數更新樹中之特定節點。
作為一示例,與所選擇節點相關聯,例如與由節點表示之神經網路之特定版本相關聯之神經網路參數可儲存於節點內。因此,解碼器可使用參數更新資訊調適或調整或更新此等所儲存神經網路參數以便判定經更新神經網路參數,且例如因此判定由所選擇節點表示之神經網路之經更新版本。作為一示例,可使用接收到之或所提取節點資訊之父節點識別符及參數更新資訊將新節點添加至更新樹。新節點可例如包含或表示經更新神經網路參數。
作為另一示例,所選擇節點可包含自身父節點識別符及自身參數更新資訊。因此,解碼器可遞迴地導出所選擇節點之前置節點,例如直至達到神經網路參數可用之節點(例如根節點或源節點)為止(例如而非對參考資訊及更新值之指標)。因此,此等神經網路參數可基於所導出節點、所選擇節點之參數更新資訊及(最終)接收到之或所提取節點資訊之參數更新資訊來更新。
在下文中論述根據本發明之另外實施例。關於特定節點之任擇示例及解釋可與二個任意節點(例如節點U2及U3)相關,或與如圖5及/或圖15中所示之節點(其將在之後詳細解釋)相關。
根據本發明之另外實施例,解碼器經組配以使用參數更新資訊修改由藉由父節點識別符識別出的父節點定義(例如隱式地或遞迴地由參數更新資訊及父節點之父節點資訊定義)之一或多個神經網路參數,例如節點參數,該參數更新資訊可包含關於如何更新與父節點相關聯之參數的指令。
藉由父節點識別符例如遞迴地判定之一或多個神經網路參數可例如使用提供於參數更新資訊中之差分資訊經修改。因此,參數更新資訊可例如包含例如遞增值之更新值及更新指令,簡言之,關於用更新值進行何操作(例如相加、相減、相乘、相除等)之指令。本發明人認識到,此發明性修改可允許對經更新神經網路參數之高效判定。
根據本發明之另外實施例,解碼器經組配以設置參數更新樹,其中包含不同參數更新資訊(且任擇地包含相同父節點識別符)之多個子節點與共同父節點(例如根節點R)相關聯,其中例如樹之各節點可表示與樹之根節點相關聯之神經網路參數之版本。
作為一示例,解碼器可不僅經組配以獲得描述參數更新樹之節點的節點資訊,且亦設置各別更新樹。因此,解碼器可基於接收到之節點資訊操縱或更新,例如調整更新樹。作為一示例,多個不同裝置中之多個解碼器可更新各別參數更新樹,使得僅節點資訊(例如差分資訊及參考資訊)可必須在其之間傳輸以便更新其各別(例如共同)更新樹,以便獲得經更新神經網路參數。
根據本發明之另外實施例,解碼器經組配以使用與當前所考慮節點(例如節點U3)相關聯之參數更新資訊、使用與根節點(例如節點R)相關聯之參數資訊(例如樹參數,例如基礎模型之神經網路參數,例如神經網路之預設或預訓練或初始神經網路參數),及使用與位於更新樹中之例如節點R之根節點與例如節點U3之當前所考慮節點之間的例如節點U2之一或多個中間式節點(例如中間節點)相關聯之參數更新資訊(例如更新規則)獲得與當前所考慮節點相關聯之一或多個神經網路參數。
因此,參數更新可例如基於獲得哪些經更新神經網路參數而自之前訓練階段經由中間節點遞迴地進行,中間節點例如與中間神經網路參數相關聯。中間節點可例如沿著參數更新樹中之自根節點至當前所考慮節點的一個路徑配置。
根據本發明之另外實施例,解碼器經組配以自例如節點R之根節點至例如節點U3之當前所考慮節點遍歷參數更新樹,且解碼器經組配以將所訪問節點之更新指令(例如節點U2及U3之更新參數;例如根節點與當前所考慮節點之間的節點之更新參數及當前所考慮節點之更新參數;例如所有所訪問節點之更新參數)應用於一或多個初始神經網路參數(例如一或多個「樹參數」,其可例如與根節點相關聯,或其可例如由根節點定義,或其可例如由基礎模式定義(其中基礎模式可例如與參數更新樹相關聯)),以便獲得與當前所考慮節點相關聯之一或多個神經網路參數。
本發明人認識到,基於根節點之神經網路參數集,自該根節點開始,可藉由應用參數更新樹之引向當前所考慮節點的路徑之各別子節點參數更新資訊而提供神經網路參數之經更新版本。本發明人認識到,此可允許神經網路參數之高效編碼,此係由於在一些情況下,許多神經網路參數可能不在神經網路之經更新版本之間改變,因此僅儲存及應用有限量之差分資訊以便修改參考集,例如神經網路參數之(例如根節點之)基本集或初始集。
根據本發明之另外實施例,解碼器經組配以彙總參數更新樹之多個連續節點(例如將節點U2及U3彙總至新單一節點U23,其中例如彙總多個連續節點可包含判定等效於(或至少近似地等效於)經彙總節點之連續進行之更新規則或更新指令的更新規則或更新指令)。替代地或另外,解碼器經組配以彙總參數更新樹之一或多個連續節點及參數更新資訊。
本發明人認識到,簡言之以此方式,可提供去至由經彙總節點表示之特定神經網路參數集之捷徑。因此,可能不需要用連續子節點之多個參數更新資訊而是用僅一個經彙總參數更新資訊來修改父節點之神經網路參數。
根據本發明之另外實施例,解碼器經組配以基於節點資訊例如藉由將與節點資訊之參數更新資訊相關聯之子節點添加至參數更新樹之與節點資訊之父節點識別符相關聯之節點而更新參數更新樹。
本發明人認識到,以此方式,來自多個神經網路訓練之資訊可併入於各別參數更新樹中,且此外,作為另一示例,以此方式,可保持多個參數更新樹最新,以便允許包含更新樹之裝置之間的高效通訊,以便防止父節點識別符可能參考尚未由各別更新樹所知之節點的情形。
根據本發明之另外實施例,解碼器經組配以決定挑選與根節點相關聯之神經網路參數,例如樹張量,或挑選與根節點之後代節點(例如子節點)中之一者相關聯之神經網路參數,例如節點張量。
解碼器可因此挑選執行或提供神經網路(其參數表示於參數更新樹中)之哪一版本以供進一步處理。本發明人認識到,作為一示例,基於在位元流中接收到之資訊,例如節點資訊,解碼器可能夠挑選最佳適合於特定任務之神經網路參數。舉例而言,在簡單實施方案中,解碼器可始終挑選具有對應神經網路參數之最新節點。
根據本發明之另外實施例,參數更新資訊包含或為定義與當前所考慮節點之父節點相關聯之一或多個參數值之縮放的更新指令。另外,解碼器經組配以將由更新指令定義之縮放應用於例如與當前所考慮節點之父節點相關聯之一或多個參數值,以便獲得與當前所考慮節點相關聯之一或多個神經網路參數。本發明人認識到,神經網路參數可使用縮放資訊來高效地更新。
根據本發明之另外實施例,與當前所考慮節點相關聯之多個神經網路參數由參數張量表示,且解碼器經組配以將乘積張量應用於參數張量,以便例如藉由在輸入參數張量元素與乘積張量元素之間形成逐元素乘積而獲得與當前所考慮節點相關聯之參數張量。本發明人認識到,NN參數可使用張量高效地表示及寫碼。此外,乘積張量可允許參數張量之計算上高效操縱,以便表示NN參數之間的相乘修改。
根據本發明之另外實施例,與父節點相關聯之多個神經網路參數由參數張量(例如父節點張量,例如值之(例如神經網路參數值之)多維陣列)表示,且參數更新資訊包含或為呈與父節點張量相同形狀之乘積張量,且解碼器經組配以將乘積張量應用於父節點之參數張量,以便例如藉由在父節點張量元素與乘積張量元素之間形成逐元素乘積而獲得與當前所考慮節點相關聯之參數張量。
本發明人認識到,神經網路參數可使用參數張量高效地表示,且神經網路參數更新可使用乘積張量高效地表示。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義一或多個變化值與與當前所考慮節點之父節點相關聯之一或多個參數值之加法及/或一或多個變化值自與當前所考慮節點之父節點相關聯之一或多個參數值之減法。此外,解碼器經組配以應用由更新指令定義之變化值之加法或減法,例如與與當前所考慮節點之父節點相關聯之一或多個參數值之加法或自該一或多個參數值之減法,以便獲得與當前所考慮節點相關聯之一或多個神經網路參數。
本發明人認識到,使用加法或減法,可以低計算工作量進行神經網路參數更新。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義與當前所考慮節點之父節點相關聯之一或多個參數值與一或多個變化值之加權組合,該一或多個變化值例如呈和張量、純量節點張量權重值及純量和張量權重值形式。
此外,解碼器經組配以應用與當前所考慮節點之父節點相關聯之一或多個參數值(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素)與一或多個變化值(例如「和張量」之元素)之加權組合,以便獲得與當前所考慮節點相關聯之一或多個神經網路參數(例如與當前所考慮節點相關聯之「節點張量」之元素),其中加權組合可例如包含與當前所考慮節點之父節點相關聯之參數值之逐元素加權總和及各別變化值之逐元素加權總和。
參數值可例如為與父節點相關聯之神經網路之某一版本之神經網路參數值。本發明人認識到,使用加權組合,可高效地提供與當前所考慮節點相關聯之神經網路參數。
根據本發明之另外實施例,與當前所考慮節點之父節點相關聯之多個神經網路參數由參數張量表示,且與當前所考慮節點相關聯之多個神經網路參數由參數張量表示。
此外,多個變化值由和張量(其與父節點之節點張量(例如父節點張量)形狀相同)表示,且解碼器經組配以將與當前所考慮節點之父節點相關聯之參數張量之元素與節點張量權重值相乘以獲得縮放參數張量,將和張量之元素與和張量權重值相乘以獲得縮放和張量,且形成縮放參數張量之逐元素和及縮放和張量之逐元素和,以便獲得與當前所考慮節點相關聯之參數張量,例如節點張量,其中例如參數更新資訊可包含節點張量權重值、和張量權重值、和張量及/或變化值中之至少一者。
任擇地,二個權重(例如節點張量權重值及和張量權重值)亦可設定為1,其對應於作為加權和之特殊情況的非加權和。替代地,二個權重亦可設定為0.5,其對應於作為加權和之特殊情況的平均化。
本發明人認識到,呈參數張量形式之父節點資訊之個別縮放及呈和張量形式之更新資訊之個別縮放可允許當前所考慮節點之參數張量的高效判定。此外,可以低計算成本進行縮放及求和。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義用例如呈替換張量形式之一或多個變化值對與當前所考慮節點之父節點相關聯之一或多個參數值之替換。此外,解碼器經組配以用一或多個替換值(例如「替換張量」之元素)替換與當前所考慮節點之父節點相關聯之一或多個參數值(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素),以便獲得與當前所考慮節點相關聯之一或多個神經網路參數(例如與當前所考慮節點相關聯之「節點張量」之元素)。本發明人認識到,與使用差分更新資訊及算術運算相比,在一些情況下,值之替換可以更少計算成本進行。
根據本發明之另外實施例,與當前所考慮節點之父節點相關聯之多個神經網路參數由參數張量表示,且參數更新資訊包含或為呈更新張量(例如替換張量、和張量及/或乘積張量)形式之更新指令,該更新張量可例如由經壓縮資料單元(NDU)表示。此外,解碼器經組配以例如根據父節點之參數張量之形狀隱式地轉換更新張量之形狀,例如使得對於為2D張量[[a, b, c], [d, e, f]](維度為[2, 3])之參數張量(例如父附註之節點張量),給定為[[x],[y]](維度為[2, 1])之更新張量將例如隱式地擴展至[[x, x, x], [y, y, y]](維度為2, 3])。本發明人認識到,以此方式,神經網路參數可例如以近似方式經更新,例如但表示基礎或初始神經網路參數(例如父節點之參數)之張量之形狀可能不與更新張量之形狀匹配。
此外,張量形狀之變化可與經更新神經網路或其一層之拓樸變化相關聯。因此,根據本發明之實施例可允許在訓練及/或更新程序中併入神經網路之拓樸變化。因此,通訊及例如分散式訓練可具備高靈活性。
根據本發明之另外實施例,沿著第一方向(例如沿著張量之一列)配置之參數張量之張量元素與神經網路之前一層的多個神經元之輸出信號對神經網路之當前所考慮層的給定神經元之輸入信號的貢獻相關聯,且沿著第二方向(例如沿著張量之一行)配置之參數張量之張量元素與神經網路之前一層的給定神經元之輸出信號對神經網路之當前所考慮層的多個神經元之輸入信號的貢獻相關聯。
此外,解碼器經組配以在更新張量在第一方向(例如列方向)上之擴展或例如維度小於參數張量在第一方向上之維度之情況下,擴展更新張量在第一方向上之維度,及/或解碼器經組配以在更新張量在第二方向(例如行方向)上之擴展或例如維度小於參數張量在第二方向上之維度之情況下,擴展更新張量在第二方向上之維度。
根據本發明之另外實施例,解碼器經組配以在更新張量之數目或列小於參數張量之列數目之情況下,拷貝更新張量之一列之條目,以獲得形狀轉換更新張量之一或多個擴展列之條目。替代地或另外,解碼器經組配以在更新張量之數目或行小於參數張量之行數目之情況下,拷貝更新張量之一行之條目,以獲得形狀轉換更新張量之一或多個擴展行之條目。
本發明人認識到,列或行之拷貝或複製可為擴展或外推資訊之計算上便宜之方式。此外,相關參數之拷貝可為針對與所擴展列或行相關聯之神經網路參數之良好近似。
根據本發明之另外實施例,解碼器經組配以在所有方向上拷貝更新張量之一或多個條目(例如具有維度1之更新張量之單一條目),或在列方向上及在行方向上拷貝更新張量之二個或更多個條目之群組,以獲得形狀轉換(例如放大)更新張量之條目。本發明人認識到,參數之此再現可以計算上便宜之方式進行。
根據本發明之另外實施例,解碼器經組配以取決於關於更新張量之擴展的資訊,且例如較佳地亦取決於關於形狀轉換更新張量待應用於之參數張量之擴展的資訊而判定對轉換更新張量之形狀的需要,及/或更新張量之形狀的轉換之程度。
節點資訊(例如節點資訊之參數更新資訊)可例如包含關於更新張量之擴展的資訊。本發明人認識到,以此方式,可在僅需要有限資源之情況下傳輸或接收此擴展資訊。
根據本發明之另外實施例,解碼器經組配以例如藉由評估是否存在指示父節點識別符之傳訊或藉由剖析父節點識別符之語法來判定例如當前所考慮資料區塊中是否存在父節點識別符。此外,解碼器經組配以在存在父節點識別符之情況下例如使用參數更新資訊來導出如本文中所揭示之實施例中之任一者之一或多個神經網路參數,例如其中另外,取決於傳訊之值,例如「parent_node_id_present_flag」,例如呈另外新語法元素「parent_node_id」形式之父節點識別符經傳輸,該父節點識別符唯一地識別含有當前PUT節點之父節點的另一NDU。
此外,解碼器經組配以在父節點識別符不存在之情況下使當前所考慮節點成為根節點,其中在此情況下,解碼器可應用並未依賴於參數更新資訊之神經網路參數之獨立解碼。
因此,解碼器可能夠例如在各別神經網路參數過時時例如在移除一些樹區段之情況下調整參數更新樹結構。可例如用對應神經網路參數而非參數更新資訊挑選新根樹,簡言之,以便在樹中建立新「起點」。
根據本發明之另外實施例,解碼器經組配以比較父節點識別符(例如parent_node_id)(例如任擇地為密碼雜湊值)與與一或多個節點(例如先前所判定節點)相關聯之(例如密碼)雜湊值,以識別當前所考慮節點之父節點。
此可允許經由參數更新樹之高效及快速迭代,例如以便尋找用於修改神經網路參數之甚至大量前置節點。此外,此可允許更新資訊之安全傳輸,使得父節點識別符可僅與正確雜湊值一起使用。
根據本發明之另外實施例,雜湊值為例如包含資料大小資訊、標頭資訊及酬載資訊的完全經壓縮資料單元NDU之雜湊值,其中酬載資訊可例如包含與一或多個先前經解碼節點相關聯之算術寫碼神經網路參數。本發明人認識到,雜湊值可例如在NDU內高效地傳輸及/或接收。
根據本發明之另外實施例,雜湊值為與一或多個先前經解碼節點相關聯之經壓縮資料單元NDU (例如包含資料大小資訊、標頭資訊及酬載資訊,其中酬載資訊可例如包含算術寫碼神經網路參數)之酬載部分之雜湊值,同時不考慮資料大小資訊及標頭資訊。本發明人認識到,雜湊值可自NDU之酬載部分高效地提取。
根據本發明之另外實施例,父節點識別符為表示裝置識別符及序列號之組合值,該裝置識別符及該序列號均與父節點(例如表示為NDU之父節點)相關聯。本發明人認識到,使用此裝置識別符及序列號,可穩健地識別出待修改之父節點及(因此)神經網路參數。
根據本發明之另外實施例,父節點識別符例如使用顯式層識別符或隱式地識別一層來識別更新樹(例如包含顯式更新樹識別符或隱式地識別更新樹)及/或神經網路之一層,其中例如解碼器可經組配以評估父節點識別符以便將節點資訊分配至適當的更新樹,及/或其中例如解碼器可經組配以評估父節點識別符以便將節點資訊分配至神經網路之適當層。
大體而言,根據本發明之實施例,可例如針對不同神經網路之參數或例如針對同一神經網路之不同層之參數(例如權重)使用多個更新樹以便儲存該等參數之各別不同版本,例如更新版本。
本發明人認識到,根據本發明之實施例的父節點識別符可允許選擇及/或組織及/或管理此多個更新樹及(因此)參數。
根據本發明之另外實施例,節點資訊包含節點識別符,例如語法元素「node_id」,該節點識別符可例如識別節點。本發明人認識到,此節點識別符可允許對更新樹之各別節點之穩健識別。
根據本發明之另外實施例,解碼器經組配以例如連同其他節點資訊或以鏈接或引用至其他節點資訊之方式儲存節點識別符。本發明人認識到,節點識別符之儲存可允許對應節點資訊之時間延遲處理。
根據本發明之另外實施例,解碼器經組配以在添加新節點時比較一或多個所儲存節點識別符與新節點之節點資訊中之父節點識別符,以便例如在回應於對新節點之偵測而擴展更新樹結構時或在識別經由更新樹結構直至根節點之路徑時識別新節點之父節點。因此,可高效地擴展更新樹。
根據本發明之另外實施例,節點識別符識別與節點資訊相關聯之更新樹(例如包含顯式更新樹識別符或隱式地識別更新樹);及/或節點識別符例如使用顯式層識別符或隱式地識別一層來識別與節點資訊相關之神經網路之一層。
任擇地,解碼器可例如經組配以基於節點識別符識別與節點相關聯之更新樹(或更新樹結構),或與節點相關聯之神經網路之一層。
本發明人認識到,以此方式,高效神經網路參數更新組織可具備低計算工作量及良好資訊壓縮。
根據本發明之另外實施例,節點識別符(例如編碼節點資訊之位元流中之語法元素node_id)包含裝置識別符及/或參數更新樹深度資訊(例如關於在自當前節點至根節點行走於樹中時訪問之節點之數目的資訊)及/或參數更新樹識別符或由其構成。
任擇地,解碼器可例如經組配以取決於節點識別符而識別與節點相關聯之更新樹(或更新樹結構),或與節點相關聯之更新樹(或更新樹結構)內之位置。
本發明人認識到,基於或使用此節點識別符,可高效地選擇待修改或定址或提供之神經網路參數,例如甚至在諸如參數更新樹之具有許多節點的組織結構內或針對例如包含多個更新樹之不同裝置。深度資訊可允許快速尋找在其中配置待選擇節點之樹層次或樹層。
根據本發明之另外實施例,節點資訊包含指示是否存在節點識別符之傳訊,例如旗標。
任擇地,解碼器經組配以取決於指示是否存在節點識別符之傳訊而選擇性地評估節點識別符資訊(例如藉由剖析位元流)。
因此,可提供例如包含指示或展示位元流中不存在節點識別符的具有旗標之節點資訊的位元流,使得可針對不同資訊提供傳輸資源。
根據本發明之另外實施例,解碼器經組配以獲得包含關於父節點識別符之類型的資訊(例如parent_node_id_type)的傳訊(例如在經編碼位元流中(例如在經編碼位元流之標頭中)編碼之傳訊)。此外,解碼器經組配以評估傳訊以便考慮父節點識別符之各別類型。
此可允許高效地提取關於識別符之類型的資訊,例如父節點識別符是例如表示裝置識別符及序列號之密碼雜湊或組合值抑或如本文中所揭示之另一資訊表示。
根據本發明之另外實施例,解碼器經組配以取決於指示父節點識別符之存在的語法元素(例如parent_node_id_present_flag)而選擇性地評估指示父節點識別符之類型的語法元素,例如parent_node_id_type。因此,當父節點識別符不存在時,可保存對父節點識別符之類型的指示及評估。
根據本發明之另外實施例,解碼器經組配以獲得節點資訊內(例如呈經壓縮資料單元(NDU)形式之節點資訊內)之包含關於神經網路之拓樸變化的資訊之拓樸變化傳訊,且解碼器經組配以根據拓樸變化修改父節點之參數資訊(例如參數張量),以便導出具有經修改拓樸之神經網路之一或多個神經網路參數。
應注意,解碼器可經組配以例如在接收到形狀不匹配對應父節點之參數張量之張量的更新張量(例如乘積或和張量)後即刻隱式地改變網路拓樸。應注意,任擇地,專用拓樸變化傳訊可經接收(或例如藉由對應編碼器傳輸)以用於穩健地調適神經網路結構。
根據本發明之另外實施例,解碼器經組配以回應於拓樸變化資訊而改變一或二個張量(其可例如基於給定層之前的神經網路層之神經元之輸出信號描述神經網路之給定層的神經元之輸入信號之導出,且其可例如基於給定層之神經元之輸出信號描述給定層之後的神經網路層之輸入信號之導出)之形狀,其中可以經協調方式改變例如描述給定層之神經元的輸入信號之導出的張量及描述給定層之後的神經網路層之輸入信號之導出的張量之大小,其中例如二個張量之維度通常可以相同方式或以經協調方式改變。
本發明人認識到,藉由調整例如與神經網路之更新版本相關聯之張量,可高效地表示該神經網路之拓樸變化。
根據本發明之另外實施例,解碼器經組配以回應於拓樸變化資訊而改變給定層之神經元之數目。因此,根據本發明之實施例可例如允許併入神經網路結構之再成形或拓樸調適。
根據本發明之另外實施例,解碼器經組配以用一或多個替換值(例如「替換張量」之元素)替換與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)之一或多個張量值(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素),以便獲得具有經修改大小之一或多個張量。
替代地,解碼器經組配以用一或多個替換張量(例如「替換張量」之元素)替換與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素),其中一或多個替換張量之條目可例如使用替換指令定義於節點資訊中,以便獲得具有經修改大小之一或多個張量。
本發明人認識到,值或整個張量或其一組合之替換、交換及/或調換可允許神經網路參數之高效更新,例如尤其在各別張量之形狀待改變或交替之情況下。
根據本發明之另外實施例,解碼器經組配以回應於拓樸變化傳訊而以同步方式改變與神經網路之相鄰層相關聯之二個更新樹中之二個張量之形狀(例如大小),例如其方式為使得以與給定層之輸出信號之數目(其用於計算後續層之輸入信號的使用定義於第二更新樹中)相同的方式改變神經網路之給定層的輸入信號之數目(其計算定義於第一更新樹中)。
神經網路之一個層中之拓樸變化可影響之前及/或之後層(例如相對於經由神經網路之神經元層的資訊流)。因此,本發明人認識到,可例如以同步方式共同調適其直接相關層或例如參數(例如權重參數)。
根據本發明之另外實施例包含一種用於編碼神經網路之參數以便獲得經編碼位元流的編碼器,其中編碼器經組配以例如以經編碼位元流形式提供描述參數更新樹之節點的節點資訊,且其中節點資訊包含父節點識別符,其為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊。
此外,節點資訊包含參數更新資訊(例如一或多個更新指令;例如(例如與父節點相關聯之)初始神經網路參數與其較新(當前)版本之間的差信號;例如對應於更新樹之子節點),且參數更新資訊描述與由父節點識別符定義之父節點相關聯之神經網路參數與當前神經網路參數之間的差異。
如上文所描述之編碼器可基於與上文所描述之解碼器相同的考慮因素。順便而言,編碼器可藉由亦關於解碼器所描述之所有(例如,所有對應或所有類似)特徵及功能性來完成。
根據本發明之另外實施例,編碼器經組配以判定一或多個神經網路參數(例如由藉由父節點識別符識別出的父節點定義之節點參數)與一或多個當前神經網路參數之間的差異,以便獲得參數更新資訊,該參數更新資訊可包含關於如何更新與父節點相關聯之參數的指令。
根據本發明之另外實施例,編碼器經組配以設置參數更新樹,其中包含不同參數更新資訊(且任擇地包含相同父節點識別符)之多個子節點與共同父節點(例如根節點R)相關聯,其中例如樹之各節點可表示與樹之根節點相關聯之神經網路參數之版本。
根據本發明之另外實施例,編碼器經組配以使用與當前所考慮節點(例如節點U3)相關聯之參數更新資訊、使用與根節點(例如節點R)相關聯之參數資訊(例如樹參數,例如基礎模型之神經網路參數,例如神經網路之預設或預訓練或初始神經網路參數),及使用與位於更新樹中之例如節點R之根節點與例如節點U3之當前所考慮節點之間的例如節點U2之一或多個中間式節點相關聯之參數更新資訊(例如更新規則)提供節點資訊,使得有可能獲得與當前所考慮節點相關聯之一或多個神經網路參數。
根據本發明之另外實施例,編碼器經組配以提供多個節點資訊區塊,其中第一節點資訊區塊之父節點識別符係指根節點,且其中第一節點之參數更新資訊描述與由第一節點資訊區塊之父節點識別符定義之根節點相關聯之神經網路參數與第一節點之神經網路參數之間的差異。此外,第N節點資訊區塊之父節點識別符係指第N-1節點,且其中第N節點之參數更新資訊描述與由第N節點資訊區塊之父節點識別符定義之第N-1節點相關聯之神經網路參數與第N節點之神經網路參數之間的差異。
本發明人認識到,以此方式,可提供可遞迴使用之參數更新樹,使得更新或差分資訊可經編碼及傳輸且因此高效地評估。
根據本發明之另外實施例,編碼器經組配以將傳訊提供至解碼器,以選擇性地挑選與根節點相關聯之神經網路參數,例如樹張量,或與根節點之後代節點(例如子節點)中之一者相關聯之神經網路參數,例如節點張量。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義與當前所考慮節點之父節點相關聯之一或多個參數值之縮放,且編碼器經組配以基於與當前所考慮節點之父節點相關聯之一或多個參數值及當前所考慮節點之參數值判定縮放。
根據本發明之另外實施例,與當前所考慮節點相關聯之多個神經網路參數由參數張量表示。此外,編碼器經組配以提供乘積張量以應用於參數張量,以便例如藉由在輸入參數張量元素與乘積張量元素之間形成逐元素乘積而獲得與當前所考慮節點相關聯之參數張量。
根據本發明之另外實施例,與父節點相關聯之多個神經網路參數由例如神經網路參數值之參數張量(例如父節點張量,例如值之多維陣列)表示。此外,參數更新資訊包含或為例如呈與父節點張量相同形狀之乘積張量。此外,編碼器經組配以以將乘積張量應用於父節點之參數張量之方式提供乘積張量,例如藉由在父節點張量元素與乘積張量元素之間形成逐元素乘積而產生與當前所考慮節點相關聯之參數張量。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義一或多個變化值與與當前所考慮節點之父節點相關聯之一或多個參數值之加法及/或一或多個變化值自與當前所考慮節點之父節點相關聯之一或多個參數值之減法。任擇地,作為一示例,編碼器經組配以提供變化值,使得應用由更新指令定義之變化值之加法或減法,例如與與當前所考慮節點之父節點相關聯之一或多個參數值之加法或自該一或多個參數值之減法,產生與當前所考慮節點相關聯之一或多個神經網路參數。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義與當前所考慮節點之父節點相關聯之一或多個參數值與一或多個變化值之加權組合,該一或多個變化值例如呈和張量、純量節點張量權重值及純量和張量權重值形式。
任擇地,作為一示例,編碼器經組配以提供更新指令,使得應用與當前所考慮節點之父節點相關聯之一或多個參數值(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素)與一或多個變化值(例如「和張量」之元素)之加權組合,產生與當前所考慮節點相關聯之一或多個神經網路參數(例如與當前所考慮節點相關聯之「節點張量」之元素),其中加權組合可例如包含與當前所考慮節點之父節點相關聯之參數值之逐元素加權總和及各別變化值之逐元素加權總和。
根據本發明之另外實施例,與當前所考慮節點之父節點相關聯之多個神經網路參數由參數張量表示,且與當前所考慮節點相關聯之多個神經網路參數由參數張量表示,且多個變化值由例如形狀與父節點之節點張量(父節點張量)相同的和張量表示。
任擇地,作為一示例,編碼器經組配以提供變化值,使得與當前所考慮節點之父節點相關聯之參數張量之元素與節點張量權重值之相乘以獲得縮放參數張量、和張量之元素與和張量權重值之相乘以獲得縮放和張量,及縮放參數張量之逐元素和及縮放和張量之逐元素和之形成產生與當前所考慮節點相關聯之參數張量,例如節點張量。任擇地,作為一示例,參數更新資訊可包含節點張量權重值、和張量權重值、和張量及/或變化值中之至少一者。任擇地,二個權重(例如節點張量權重值及和張量權重值)亦可設定為1,其對應於作為加權和之特殊情況的非加權和。
根據本發明之另外實施例,參數更新資訊包含或為更新指令,該更新指令定義用例如呈替換張量形式之一或多個變化值對與當前所考慮節點之父節點相關聯之一或多個參數值之替換。
任擇地,作為一示例,編碼器經組配以更新指令,使得用一或多個替換值(例如「替換張量」之元素)替換與當前所考慮節點之父節點相關聯之一或多個參數值(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素),產生與當前所考慮節點相關聯之一或多個神經網路參數(例如與當前所考慮節點相關聯之「節點張量」之元素)。
根據本發明之另外實施例,與當前所考慮節點之父節點相關聯之多個神經網路參數由參數張量表示,且參數更新資訊包含或為呈更新張量(例如替換張量、和張量及/或乘積張量)形式之更新指令,該更新張量可例如由經壓縮資料單元(NDU)表示。此外,編碼器經組配以提供更新張量,使得更新張量之形狀不同於父節點之參數張量之形狀,例如使得對於為2D張量[[a, b, c], [d, e, f]](維度為[2, 3])之參數張量(例如父附註之節點張量),給定為[[x],[y]](維度為[2, 1])之更新張量將例如隱式地擴展至[[x, x, x], [y, y, y]](維度為2, 3])。
根據本發明之另外實施例,沿著第一方向(例如沿著張量之一列)配置之參數張量之張量元素與神經網路之前一層的多個神經元之輸出信號對神經網路之當前所考慮層的給定神經元之輸入信號的貢獻相關聯。此外,沿著第二方向(例如沿著張量之一行)配置之參數張量之張量元素與神經網路之前一層的給定神經元之輸出信號對神經網路之當前所考慮層的多個神經元之輸入信號的貢獻相關聯,且編碼器經組配以提供更新張量,使得更新張量在第一方向(例如列方向)上之擴展小於參數張量在第一方向上之維度。替代地或另外,編碼器經組配提供更新張量,使得更新張量在第二方向(例如行方向)上之擴展小於參數張量在第二方向上之維度。
根據本發明之另外實施例,編碼器經組配以提供更新張量,使得更新張量之列數目小於參數張量之列數目,及/或編碼器經組配以提供更新張量,使得更新張量之行數目小於參數張量之行數目。
根據本發明之另外實施例,編碼器經組配以提供關於更新張量之擴展的資訊。
根據本發明之另外實施例,編碼器經組配以提供傳訊(例如在經編碼位元流中(例如在經編碼位元流之標頭中)編碼之傳訊,例如旗標,例如「parent_node_id_present_flag」),該傳訊包含是否存在父節點識別符之資訊。
任擇地,編碼器例如經組配以在編碼根節點之神經網路參數時省略父節點存在之傳訊,或作為另一任擇特徵,編碼器例如經組配以在編碼根節點之神經網路參數時提供指示父節點不存在之傳訊。
根據本發明之另外實施例,編碼器經組配以提供例如與例如先前經判定節點之節點相關聯之密碼雜湊值作為父節點識別符,以識別當前所考慮節點之父節點。
根據本發明之另外實施例,雜湊值為與一或多個先前經編碼節點相關聯之完全經壓縮資料單元(例如NDU,例如包含資料大小資訊、標頭資訊及酬載資訊,其中酬載資訊可例如包含算術寫碼神經網路參數)之雜湊值。
根據本發明之另外實施例,雜湊值為與一或多個先前經編碼節點相關聯之經壓縮資料單元(例如NDU,例如包含資料大小資訊、標頭資訊及酬載資訊,其中酬載資訊可例如包含算術寫碼神經網路參數)之酬載部分之雜湊值,同時不考慮例如經壓縮資料單元之資料大小資訊及例如經壓縮資料單元之標頭資訊。
根據本發明之另外實施例,父節點識別符為表示裝置識別符及序列號之組合值,該裝置識別符及該序列號均與父節點(例如表示為NDU之父節點)相關聯。
根據本發明之另外實施例,父節點識別符例如使用顯式層識別符或隱式地識別一層來識別更新樹(例如包含顯式更新樹識別符或隱式地識別更新樹)及/或神經網路之一層,其中例如編碼器經組配以提供父節點識別符以便將節點資訊分配至適當的更新樹,及/或其中例如編碼器經組配以提供父節點識別符以便將節點資訊分配至神經網路之適當層。
根據本發明之另外實施例,節點資訊包含節點識別符,例如語法元素「node_id」,該節點識別符可例如識別節點。
根據本發明之另外實施例,編碼器經組配以例如連同其他節點資訊或以鏈接或引用至其他節點資訊之方式儲存節點識別符。
根據本發明之另外實施例,編碼器經組配以在添加新節點時比較一或多個所儲存節點識別符與新節點之節點資訊中之父節點識別符,以便例如在回應於對新節點之偵測而擴展更新樹結構時或在識別經由更新樹結構直至根節點之路徑時識別新節點之父節點。
根據本發明之另外實施例,節點識別符識別與節點資訊相關聯之更新樹(例如包含顯式更新樹識別符或隱式地識別更新樹);及/或節點識別符例如使用顯式層識別符或隱式地識別一層來識別與節點資訊相關之神經網路之一層。
任擇地,編碼器可例如經組配以使用節點識別符識別與節點相關聯之更新樹(或更新樹結構),或與節點相關聯之神經網路之一層。
根據本發明之另外實施例,節點識別符(例如編碼節點資訊之位元流中之語法元素node_id)包含裝置識別符及/或參數更新樹深度資訊(例如關於在自當前節點至根節點行走於樹中時訪問之節點之數目的資訊)及/或參數更新樹識別符或由其構成。
任擇地,編碼器可例如經組配以使用節點識別符識別與節點相關聯之更新樹(或更新樹結構),或與節點相關聯之更新樹(或更新樹結構)內之位置。
根據本發明之另外實施例,節點資訊包含指示是否存在節點識別符之傳訊,例如旗標。
任擇地,編碼器經組配以提供指示是否存在節點識別符之傳訊,及/或其中編碼器經組配以取決於指示是否存在節點識別符之傳訊而選擇性地編碼節點識別符資訊(例如藉由剖析位元流)。
根據本發明之另外實施例,父節點識別符為表示裝置識別符及序列號之組合值,該裝置識別符及該序列號均與父節點(例如表示為NDU之父節點)相關聯。
根據本發明之另外實施例,編碼器經組配以提供傳訊(例如語法元素,例如在經編碼位元流中(例如在經編碼位元流之標頭中)編碼之傳訊),該傳訊包含關於父節點識別符之類型的資訊。
根據本發明之另外實施例,編碼器經組配以在描述父節點識別符之語法元素存在(例如於位元流區塊中)之情況下選擇性地提供指示父節點識別符之類型的語法元素,例如parent_node_id_type。
根據本發明之另外實施例,編碼器經組配以提供節點資訊內(例如呈經壓縮資料單元(NDU)形式之節點資訊內)之拓樸變化傳訊,該拓樸變化傳訊包含關於神經網路之拓樸變化的資訊。
根據本發明之另外實施例,編碼器經組配以連同拓樸變化之傳訊而傳訊一或二個張量(其可例如基於給定層之前的神經網路層之神經元之輸出信號描述神經網路之給定層的神經元之輸入信號之導出,且其可例如基於給定層之神經元之輸出信號描述給定層之後的神經網路層之輸入信號之導出)之形狀的變化,其中可以經協調方式改變例如描述給定層之神經元的輸入信號之導出的張量及描述給定層之後的神經網路層之輸入信號之導出的張量之大小,其中二個張量之維度通常以相同方式或以經協調方式改變。
根據本發明之另外實施例,編碼器經組配以使用拓樸變化資訊來傳訊給定層之神經元的數目之變化(或改變該數目)。
根據本發明之另外實施例,編碼器經組配以傳訊用一或多個替換值(例如「替換張量」之元素)對與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)之一或多個張量值(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素)之替換,例如以便允許解碼器獲得具有經修改大小之一或多個張量。
替代地,編碼器經組配以傳訊用一或多個替換張量(例如「替換張量」之元素)對與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)(例如與當前所考慮節點之父節點相關聯之「節點張量」之元素)之替換,其中一或多個替換張量之條目可例如使用替換指令例如定義於節點資訊中,例如以便允許解碼器獲得具有經修改大小之一或多個張量。
根據本發明之另外實施例,編碼器經組配以傳訊使用拓樸變化傳訊以同步方式改變與神經網路之相鄰層相關聯之二個更新樹中之二個張量之形狀(例如大小),例如其方式為使得以與給定層之輸出信號之數目(其用於計算後續層之輸入信號的使用定義於第二更新樹中)相同的方式改變神經網路之給定層的輸入信號之數目(其計算定義於第一更新樹中)。
根據本發明之另外實施例包含一種神經網路控制器,其中神經網路控制器經組配以基於初始神經網路參數例如藉由進行訓練來訓練神經網路,以獲得經更新(例如經改良)神經網路參數。
此外,神經網路控制器經組配以基於參考神經網路參數(其可例如等於初始神經網路參數)及經更新(例如經改良)神經網路參數判定參數更新資訊,其中參數更新資訊包含描述如何至少近似地自初始神經網路參數或例如自參考神經網路參數導出經更新神經網路參數之一或多個更新指令。
此外,神經網路控制器經組配以提供包含父節點識別符(其為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊)之節點資訊及參數更新資訊,其中父節點識別符定義父附註,該父附註之參數資訊充當或必須用作參數更新資訊之應用的起點,例如使得父節點識別符可例如標明其參數資訊用作參考神經網路參數以用於參數更新資訊之判定的父節點。
以此方式,不僅可訓練神經網路,且亦可高效地表示或組織訓練或學習程序。本發明神經網路控制器可提供呈參數更新資訊形式之遞增或差分訓練更新資訊,以便提供訓練程序之不同神經網路參數版本。因此,不同學習階段之結果可經組合或返回至先前參數集可係完全可能的。另外,神經網路控制器可經組配以例如藉由提供節點資訊而設置或更新參數更新樹,此可允許甚至不同裝置之間的高效神經網路參數版本管理。
此外,相比於神經網路參數之完全傳輸,節點資訊之提供可僅需要位元流中之少量位元。
另外,應注意,如上文所描述之神經網路控制器可係基於與上文所描述之解碼器及/或編碼器相同之考慮因素。順便而言,神經網路控制器可藉由亦關於解碼器及/或編碼器所描述之所有(例如,所有對應或所有類似)特徵及功能性來完成。
根據本發明之另外實施例,神經網路控制器包含根據如本文中所揭示之任何實施例之編碼器,或神經網路控制器包含根據如本文中所揭示之任何實施例之編碼器之任何功能性或功能性之組合。
根據本發明之另外實施例包含一種神經網路聯合學習控制器,其中神經網路聯合學習控制器經組配以接收多個神經網路之(例如具有相等結構但略微不同之參數的多個神經網路之;例如使用不同訓練資料及/或使用不同訓練演算法例如基於相同初始神經網路參數訓練之多個神經網路之)節點資訊,其中節點資訊包含父節點識別符,該父節點識別符為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊。
此外,節點資訊包含參數更新資訊,例如一或多個更新指令;例如初始神經網路參數與其較新版本之間的差信號;例如對應於更新樹之子節點,且神經網路聯合學習控制器經組配以組合不同神經網路之若干對應節點(例如具有相等父節點識別符之節點)之參數更新資訊,以獲得組合參數更新資訊。
此外,神經網路聯合學習控制器經組配以將例如呈經編碼形式之組合參數更新資訊分佈至例如如上文所定義之多個解碼器。
因此,可提供分散式學習及更新結構,其中神經網路聯合學習控制器可為學習或更新資訊交換中之中心接合點。本發明人認識到,此可允許在多個裝置上訓練結構上相等或甚至結構上不同(例如經由例如對應張量使用隱式或顯式形狀調適)之神經網路,或評估此等神經網路之參數集,其中神經網路聯合學習控制器可例如藉由更新及/或分佈表示神經網路之參數集之不同版本的參數更新樹而處理訓練結果。此可包含組合或廢除或評估參數或對應參數節點,及/或作出將與神經網路參數集相關聯之哪一參數更新資訊提供至哪一裝置例如以用於進一步訓練或使用或評估的決策。
另外,應注意,如上文所描述之神經網路聯合學習控制器可係基於與上文所描述之解碼器、編碼器及/或神經網路控制器相同之考慮因素。順便而言,神經網路聯合學習控制器可藉由亦關於解碼器、編碼器及/或神經網路控制器所描述之所有(例如,所有對應或所有類似)特徵及功能性來完成。
根據本發明之另外實施例,神經網路聯合學習控制器經組配以組合不同神經網路之具有相等父節點識別符的若干對應節點之參數更新資訊,以獲得組合參數更新資訊。
因此,可算術地組合更新或訓練結果(或例如更確切而言,對應更新資訊)。作為簡單示例,可提供參數更新之平均值作為組合參數更新資訊。然而,例如基於與對應節點相關聯之神經網路參數之效能評估,可進行例如包含根據效能指數對參數之加權的更複雜組合。
根據本發明之另外實施例,神經網路聯合學習控制器經組配以將與父節點識別符相關聯之父節點之參數資訊分佈至例如如上文所定義之多個解碼器,且神經網路聯合學習控制器經組配以自解碼器接收包含父節點識別符之(例如多個神經網路之;例如具有相等結構但略微不同之參數的多個神經網路之;例如使用不同訓練資料及/或使用不同訓練演算法例如基於相同初始神經網路參數訓練之多個神經網路之)節點資訊,該父節點識別符為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊。此外,神經網路聯合學習控制器經組配以組合具有父節點識別符之若干對應節點之參數更新資訊。
因此,神經網路聯合學習控制器可提供例如父節點之參考或初始NN參數,以用於在各別解碼器中進行修改。在自解碼器接收節點資訊後,神經網路聯合學習控制器可組合不同訓練結果,以便改良NN訓練進展及/或提供可更為穩健之共同參數(例如此係由於其在包含具有不同資料集的不同解碼器之不同裝置中或在不同(例如真實)應用中之訓練原點)。
根據本發明之另外實施例,神經網路聯合學習控制器經組配以以經編碼位元流形式提供描述參數更新樹之組合節點資訊的節點資訊,其中組合節點資訊包含父節點識別符,其為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊。此外,組合節點資訊包含組合參數更新資訊,例如一或多個更新指令;例如初始神經網路參數與其藉由組合自多個神經網路控制器獲得之參數更新資訊而獲得的組合版本之間的差信號;例如對應於更新樹之子節點。
根據本發明之另外實施例,神經網路聯合學習控制器包含根據如本文中所揭示之實施例中之任一者之編碼器,或神經網路聯合學習控制器包含根據如本文中所揭示之實施例中之任一者之編碼器的任何功能性或功能性之組合。
根據本發明之另外實施例包含一種用於解碼神經網路之參數之方法,該方法包含基於經編碼位元流獲得神經網路之多個神經網路參數;獲得(例如接收;例如自經編碼位元流提取)描述參數更新樹之節點的節點資訊,其中節點資訊包含父節點識別符,該父節點識別符為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊,且其中節點資訊包含參數更新資訊,例如一或多個更新指令;例如初始神經網路參數與其較新版本之間的差信號;例如對應於更新樹之子節點。
此外,該方法包含使用藉由父節點識別符識別出的父節點之參數資訊(該參數資訊包含例如父節點之節點資訊,該節點資訊:例如包含參數更新資訊及父節點之父節點識別符,例如用於一或多個神經網路參數之遞迴重建構或遞迴判定或遞迴計算或遞迴導出;及/或例如包含父節點之節點參數,例如與父節點相關聯之神經網路參數,例如由父節點之節點資訊隱式地定義之神經網路參數)及使用可例如包括於節點資訊中之參數更新資訊導出一或多個神經網路參數。
根據本發明之另外實施例包含一種用於編碼神經網路之參數以便獲得經編碼位元流之方法,該方法包含例如以經編碼位元流形式提供描述參數更新樹之節點的節點資訊,其中節點資訊包含父節點識別符,該父節點識別符為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊,且其中節點資訊包含參數更新資訊,例如一或多個更新指令,例如初始神經網路參數(例如與父節點相關聯)與其較新(當前)版本之間的差信號;例如對應於更新樹之子節點。
此外,參數更新資訊描述與由父節點識別符定義之父節點相關聯之神經網路參數與當前神經網路參數之間的差異。
根據本發明之另外實施例包含一種用於控制神經網路之方法,該方法包含基於初始神經網路參數例如藉由進行訓練來訓練神經網路,以獲得經更新(例如經改良)神經網路參數;及基於參考神經網路參數(其可例如等於初始神經網路參數)及經更新(例如經改良)神經網路參數判定參數更新資訊,其中參數更新資訊包含描述如何至少近似地自初始神經網路參數導出經更新神經網路參數的一或多個更新指令。
此外,該方法包含提供包含父節點識別符(其為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊)之節點資訊及參數更新資訊,其中父節點識別符定義父附註,該父附註之參數資訊充當或必須用作參數更新資訊之應用的起點,例如使得父節點識別符可例如標明其參數資訊用作參考神經網路參數以用於參數更新資訊之判定之父節點。
根據本發明之另外實施例包含一種用於控制神經網路聯合學習之方法,該方法包含接收多個神經網路之(例如具有相等結構但略微不同之參數的多個神經網路之;例如使用不同訓練資料及/或使用不同訓練演算法例如基於相同初始神經網路參數訓練之多個神經網路之)節點資訊,其中節點資訊包含父節點識別符,該父節點識別符為例如唯一父節點識別符,例如整數、字串及/或密碼雜湊,且其中節點資訊包含參數更新資訊,例如一或多個更新指令;例如初始神經網路參數與其較新版本之間的差信號;例如對應於更新樹之子節點。
此外,該方法包含組合不同神經網路之例如具有相等父節點識別符之節點的若干對應節點之參數更新資訊以獲得組合參數更新資訊,及將(例如呈經編碼形式之)組合參數更新資訊分佈至例如如上文所定義之多個解碼器。
應注意,如上文所描述之方法可係基於與上文所描述之解碼器、編碼器、神經網路控制器及/或神經網路聯合學習控制器相同之考慮因素。順便而言,方法可藉由亦關於解碼器、編碼器、神經網路控制器及/或神經網路聯合學習控制器所描述之所有(例如,所有對應或所有類似)特徵及功能性來完成。
根據本發明之另外實施例包含一種電腦程式,該電腦程式用於在電腦程式運行於電腦上時進行根據如本文中所揭示之實施例中之任一者之方法。
根據本發明之另外實施例包含神經網路參數之經編碼表示,其中該經編碼表示包含描述參數更新樹之節點的節點資訊,且其中節點資訊包含父節點識別符及參數更新資訊。
較佳實施例之詳細說明
即使具有相同或等效功能性之相同或等效的一或多個元件出現在不同圖式中,以下描述中亦藉由相同或等效參考編號來表示該一或多個元件。
在以下描述中,闡述多個細節以提供對本發明之實施例的更透徹解釋。然而,熟習此項技術者將顯而易見,可在無此等特定細節之情況下實踐本發明之實施例。在其他情況下,熟知結構及裝置以方塊圖形式而非詳細地展示,以免混淆本發明之實施例。另外,除非另外特定地指出,否則可將下文所描述之不同實施例的特徵彼此組合。
圖1a展示根據本發明之實施例的解碼器之示意性視圖。圖1展示包含獲得單元110、參數更新樹PUT、資訊單元120及導出單元130之解碼器100。
解碼器100可接收經編碼位元流102,作為一示例,獲得單元110可基於該經編碼位元流102判定節點資訊112。節點資訊112可描述參數更新樹PUT之節點。節點資訊112包含父節點識別符資訊114 (其任擇地包含或例如為父節點識別符)及參數更新資訊116。
使用父節點識別符資訊114,PUT資訊單元120可經組配以判定藉由父節點識別符資訊114識別出的父節點之參數資訊122。
使用參數更新資訊116及參數資訊122,導出單元130可導出一或多個神經網路參數104。
簡言之,可使用節點資訊112提供關於神經網路參數的資訊,包含在經編碼位元流102中編碼之父節點識別符資訊114及參數更新資訊116。因此,父節點識別符及參數更新資訊116可藉由獲得單元110提取。舉例而言,可提供呈父節點識別符資訊114形式之參考資訊及呈參數更新資訊116形式之更新資訊,而非編碼神經網路參數自身。
參考資訊可使用PUT資訊單元120例如基於參數更新樹來識別及/或提取。根據實施例之想法現可為提取呈參數資訊122形式之父節點之神經網路參數,及在導出單元130中使用參數更新資訊116更新此資訊。
換言之,可使用當前節點之父節點之藉由參數更新資訊116使用導出單元130修改之神經網路參數來導出當前節點之神經網路參數104。
作為任擇特徵,參數更新資訊116可例如經提供至PUT資訊單元120。
作為另一任擇特徵,PUT資訊單元120可經組配以將PUT資訊124提供至導出單元130。PUT資訊124可視情況包含關於參數更新樹之資訊。
圖1b展示包含獲得單元110b、PUT資訊單元120b及導出單元130b之解碼器100b。獲得單元110b可例如經組配以獲得廣義節點資訊112b。資訊112b可任擇地等於或類似於節點資訊112,例如包含父節點識別符資訊及參數更新資訊。然而,廣義節點資訊112b可任擇地包含額外資訊,例如諸如節點識別符及/或是否存在節點識別符之傳訊,及/或包含關於父節點識別符之類型的資訊之傳訊(例如呈語法元素形式)、拓樸變化資訊及/或拓樸變化傳訊,如此後將詳細解釋。
此外,PUT資訊單元120b可將PUT資訊132提供至導出單元130b。PUT資訊132可例如為如圖1中所示之父節點之參數資訊122。任擇地,更新樹資訊132可包含任擇PUT資訊,例如124 (參考圖1)。
因此,獲得單元110b可經組配以獲得或提供來自經編碼位元流102之此廣義節點資訊112b,且PUT資訊單元120b可經組配以例如基於PUT使用廣義節點資訊112b來提供或判定更新樹資訊132。
導出單元130b可因此經組配以使用廣義節點資訊112b及PUT資訊132導出一或多個神經網路參數104b。
圖2展示根據本發明之實施例的編碼器之示意性視圖。圖2展示包含節點資訊單元210及位元流單元220之編碼器200。
如圖2中所示,編碼器200可任擇地接收神經網路參數204及/或參數更新樹PUT資訊206。基於神經網路參數204及PUT資訊206,節點資訊單元210可提供描述參數更新樹之節點的節點資訊212。節點資訊212包含父節點識別符資訊214 (任擇地包含父節點識別符)及參數更新資訊216,其中參數更新資訊216描述與由父節點識別符資訊214定義之父節點相關聯之神經網路參數與當前神經網路參數204之間的差異。
使用節點資訊212,位元流單元220可提供經編碼位元流202,位元流包含經編碼神經網路參數204。
作為一示例,如圖2中所示,編碼器200之想法可為不僅用其各別值且亦使用參考及關於參考之差分或差異資訊來編碼神經網路參數204。參考可為藉由參數更新樹之父節點識別出的神經網路參數集,藉由父節點識別符資訊214指示。神經網路參數204相對於父節點之神經網路參數的差分或差異資訊可為參數更新資訊216。
因此,經編碼位元流202可允許可具有關於參數更新樹之資訊的對應解碼器可用於識別對應父節點(及因此其神經網路參數)以調適或修改彼等神經網路參數以便判定神經網路參數204。
圖3a展示根據本發明之實施例的另一編碼器之示意性視圖。圖3展示包含參數更新樹PUT單元310及位元流單元320之編碼器300。
在此示例中,編碼器300可接收神經網路參數304。為了編碼參數304,編碼器300可使用PUT單元310判定包含父節點識別符資訊314 (任擇地包含父節點識別符)及參數更新資訊316之節點資訊312,例如使得參數304可表示為參數更新樹之父節點之神經網路參數(表示為父節點識別符資訊314)及修改或更新資訊(表示為參數更新資訊316)。
如在圖2之上下文中所解釋,位元流單元320可在經編碼位元流302中編碼節點資訊312。作為一示例,例如相比於編碼器200,編碼器300可經組配以基於僅作為例如輸入信號之參數304來提供節點資訊312。因此,PUT單元310可包含參數更新樹資訊,以便提供呈更新資訊316及識別符形式之參數304之替代性表示。
圖3b展示根據本發明之實施例的具有廣義節點資訊之編碼器之示意性視圖。圖3b展示包含參數更新樹PUT單元310b及位元流單元320b之編碼器300b。PUT單元310b可經組配以基於或使用神經網路參數304提供廣義節點資訊312b,其中資訊312b可任擇地等於或類似於節點資訊312,例如包含父節點識別符資訊及參數更新資訊。
然而,廣義節點資訊312b可任擇地包含額外資訊,例如諸如節點識別符及/或是否存在節點識別符之傳訊,及/或包含關於父節點識別符之類型的資訊之傳訊(例如呈語法元素形式)、拓樸變化資訊及/或拓樸變化傳訊,如此後將詳細解釋。
使用廣義節點資訊312b,位元流單元320b可提供經編碼位元流302b。
圖4展示根據本發明之實施例的另外編碼器之示意性視圖。圖4展示包含PUT單元410及位元流單元420之編碼器400。
作為任擇示例,PUT單元410可包含參數更新樹,例如如在圖5之上下文中所解釋。PUT單元410可提供節點資訊412,該節點資訊412包含提供至位元流單元420以獲得經編碼位元流402之父節點識別符資訊414 (任擇地包含父節點識別符)及參數更新資訊416。例如與參數更新樹之特定節點相關聯之當前神經網路參數可因此以提供關於參考參數之資訊的父節點識別符資訊414及提供關於如何修改參考參數之資訊的參數更新資訊416形式經編碼,以便表示與節點相關聯之當前神經網路參數。因此,參數更新資訊416可描述與由父節點識別符定義之父節點相關聯之神經網路參數與當前神經網路參數之間的差異。
作為任擇特徵,編碼器400 (例如PUT單元410)可經組配以提供多個節點資訊區塊418,其中第一節點資訊區塊之父節點識別符係指根節點,且其中第一節點之參數更新資訊描述與由第一節點資訊區塊之父節點識別符定義之根節點相關聯之神經網路參數與第一節點之神經網路參數之間的差異,且其中第N節點資訊區塊之父節點識別符係指第N-1節點,且其中第N節點之參數更新資訊描述與由第N節點資訊區塊之父節點識別符定義之第N-1節點相關聯之神經網路參數與第N節點之神經網路參數之間的差異。
簡言之,編碼器400可經組配以例如經由經編碼位元流402提供關於各別參數更新樹之資訊。
圖5展示根據本發明之實施例的參數更新樹PUT之示例。圖5展示包含根節點R 510及多個子節點之PUT 500,作為示例列舉一些子節點520、530、540、550、560。
作為簡化示例,根節點R 510可對應於作為一示例由張量512表示之四個神經網路參數集a
11=a
12=a
21=a
22=0。a
11、a
12、a
21、a
22可例如為與節點R相關聯之參數值。
因此,相應地,子節點U1 530可對應於作為一示例由張量532表示之四個神經網路參數集,例如參數值a
11=a
12= a
22=0及a
21=1。
根據實施例之想法現可為以下:僅可傳輸呈父節點識別符534及參數更新資訊536形式之參考資訊,而非傳輸所有四個神經網路參數a
11=a
12= a
22=0及a
21=1。在圖5之簡化示例中,參數更新資訊536可為作為一示例由加法張量536表示之四個變化值。在許多應用中,許多NN參數可能不在訓練循環之間顯著改變,因此如用張量536所示,許多變化值可為零或經量化為零。因此此更新資訊可高效地經編碼(例如零壓縮)。
因此,若編碼器及對應解碼器均包含關於與根節點R 510相關聯之神經網路參數(例如初始神經網路參數或預設神經網路參數)的資訊,則可能不需要在神經網路之第一訓練步驟之後完全編碼與節點U1 530相關聯之神經網路參數532,例如神經網路參數,而是僅編碼參考資訊534及差異資訊536。
因此,編碼器可在經編碼位元流中傳輸包含參數更新資訊536及父節點識別符534之節點資訊,使得對應解碼器可將神經網路參數532判定為與藉由父節點識別符534及參數更新資訊536識別出的根節點R 510相關聯之神經網路參數512之和(例如逐元素和),例如使得張量512+張量536=張量532。
因此,節點U2 520可與神經網路參數522相關聯,其中U2之父節點為節點R 510,使得父節點識別符524可為朝向根節點R 510之指標。
與神經網路參數542相關聯之節點540可亦為節點R 510之子節點,使得父節點識別符544亦可為朝向根節點R 510之指標。
相比之下,節點550、560可為節點U2 520之子節點,因此其父節點識別符554、564可識別U2 520。U3 550,可與神經網路參數552相關聯,且相對於其父節點U2 520包含參數更新資訊556。反之亦然,U4 560可與神經網路參數562相關聯,且可相對於其父節點U2 520包含參數更新資訊566。
圖5之另外元素將關於本發明之另外實施例逐步更詳細地解釋。在下文中,在圖1至5之上下文中解釋根據本發明之另外實施例。
根據以上解釋,作為任擇特徵,編碼器(例如200、300、300b及/或400)可經組配以例如使用節點資訊單元210或PUT單元310、310b、410判定由藉由父節點識別符(例如534)識別出的父節點(例如R 510)定義之一或多個神經網路參數(例如512)與一或多個當前神經網路參數(例如532)之間的差異,以便獲得參數更新資訊,例如536。
作為另一任擇特徵,本發明解碼器(例如100、100b,例如PUT資訊單元120、120b)及/或本發明編碼器(例如200、300、300b及/或400,例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以設置參數更新樹500,其中包含不同參數更新資訊(例如526、536、546、556、566)之多個子節點(僅列舉一些,例如520、530、540、550、560)與共同父節點(例如R 510)相關聯。因此,如圖5中所示,一些節點(例如U3 550及U4 560)可經由不同(例如中間)節點(例如U2 520)與共同父節點R相關聯。
作為一示例,本發明PUT資訊單元(例如120、120b)可包含參數更新樹,及/或可例如經組配以設置參數更新樹。因此,如之前所解釋,PUT資訊單元可任擇地接收參數更新資訊116,以便設置或更新對應PUT。
本發明編碼器(例如200、300、300b及/或400)可例如經組配以分別使用節點資訊單元210或PUT單元310、310b及/或410來設置PUT。此等單元可經組配以設置、儲存及/或更新PUT。
作為另一任擇特徵,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供節點資訊212、312、312b及/或412 (例如包含參數更新資訊556及父節點識別符554之節點資訊),使得有可能使用與當前所考慮節點相關聯之參數更新資訊(例如556)、使用與根節點(例如R 510)相關聯之參數資訊(例如512)及使用與位於更新樹中之根節點與當前所考慮節點之間的一或多個中間節點(例如U2 520)相關聯之參數更新資訊(例如526)來獲得與當前所考慮節點(例如U3 550)相關聯之一或多個神經網路參數,例如552。
因此,作為一示例,為了獲得與節點U3 550相關聯之神經網路參數,可根據樹路徑R-U2-U3使用參數更新資訊526及556來修改根節點R 510之神經網路參數512,使得張量512+張量526+張量556=張量552 (作為一示例,具有逐元素總和),表示節點U3之神經網路參數。
因此,作為任擇特徵,本發明解碼器(例如100、100b)(例如導出單元130、130b)可經組配以使用與當前所考慮節點相關聯之參數更新資訊(例如556)、使用與根節點(例如R 510)相關聯之參數資訊(例如512)及使用與位於更新樹中之根節點與當前所考慮節點之間的一或多個中間式節點(例如U2 520)相關聯之參數更新資訊(例如526)來獲得與當前所考慮節點(例如U3 550)相關聯之例如對應於552之一或多個神經網路參數,例如104、104b。
因此,例如,當PUT資訊單元120、120b包含關於PUT之資訊時,PUT資訊單元120、120b可將包含參數更新資訊(例如526)及任擇地中間節點(例如U2 520)之父節點識別符(例如524)的PUT資訊132 (或任擇資訊124)提供至導出單元(例如130、130b),以獲得例如對應於552之一或多個神經網路參數,例如104、104b。在此情況下,作為一示例,經編碼位元流102可僅包含當前所考慮節點之參數更新資訊(例如556)及父節點識別符(例如554)(其可結合PUT使用以判定經由PUT之路徑,以判定當前所考慮節點(例如U3 550)之神經網路參數,例如552)。
作為另一(例如替代性)任擇特徵,經編碼位元流102可包含關於PUT (例如500)之資訊,及/或例如關於PUT之路徑(例如R-U2-U3)的資訊,使得藉由獲得單元(例如110、110b)提供之參數更新資訊(例如116)可包含當前所考慮節點(例如U3 560)及中間節點(例如U2 520)之參數更新資訊,例如556及526。因此,可提供父節點識別符,例如554及524。
因此,本發明編碼器(例如200、300、300b及/或400)可經組配以提供包含當前所考慮節點及中間節點之參數更新資訊及父節點識別符的此經編碼位元流202、302、302b及/或403。
此外,作為另一任擇特徵,例如包含PUT (例如500)之PUT資訊單元120、120b可例如經組配以(例如使用PUT資訊單元120、120b)自根節點(例如R 510)至當前所考慮節點(例如U3 550)遍歷參數更新樹(例如500),及將所訪問節點(例如U2 520)之更新指令(例如526)應用於一或多個初始神經網路參數(例如512),以便獲得與當前所考慮節點(例如U3 550)相關聯之一或多個神經網路參數,例如552。
作為另一任擇特徵,包含PUT (例如500)之本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可例如經組配以彙總參數更新樹(例如500)之多個連續節點(例如節點U2 520及U3 550),及/或參數更新樹之一或多個連續節點(例如節點U2 520及U3 550)及參數更新資訊,例如526、556。
因此,如圖5中所示,節點U2 520及U3 550可共同彙總或合併為新節點U23 540。因此,與U3相關聯之神經網路參數(即參數552)可等於與U23相關聯之神經網路參數,即參數542。因此,節點U23之參數更新資訊546可為參數更新資訊526及556之組合(在圖5之簡單示例中為逐元素和)。因此,父節點識別符544可指向同一節點或可等於父節點識別符524。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可任擇地經組配以基於節點資訊(例如112、112b)更新參數更新樹,例如500。作為一示例,PUT資訊單元120、120b可任擇地包含關於參數更新樹(例如500)之資訊。參數更新樹可藉由例如將新節點(例如節點U4 560)添加至參數更新樹而調適。此可包含添加對應父節點識別符,例如564。任擇地,亦可向PUT資訊單元120、120b證明參數更新資訊116,使得亦可將例如對應於張量566之參數更新資訊116添加至PUT。因此,可在位元流(例如102)中任擇地藉由指示待添加新節點之傳訊而提供關於新節點(例如U4 560)之資訊,即參數更新資訊(例如566)及父節點識別符,例如564。替代地,本發明解碼器(例如100)可經組配以自主地添加此節點。
作為另一任擇特徵,本發明解碼器100、100b可經組配以決定挑選與根節點(例如R 510)相關聯之神經網路參數,或挑選與根節點之後代節點中之一者相關聯之神經網路參數。
因此,本發明編碼器(例如200、300、300b及/或400)(例如位元流單元220、320、320b、420)可任擇地經組配以將傳訊(例如經編碼位元流202、302、302b及/或402)或在經編碼位元流中經編碼之信號提供至解碼器(例如100、100b),以選擇性地挑選與根節點(例如R 510)相關聯之神經網路參數,或與根節點之後代節點中之一者相關聯之神經網路參數。
如之前所提及,如上文所解釋之張量之逐元素和可僅為根據本發明之實施例處置參數更新資訊之一個例如簡單示例。
參數更新樹500進一步包含與任擇地呈張量形式之參數值(例如神經網路參數572)相關聯之節點U5 570,如圖5中所示。節點U5 570為節點U1 530之子節點,如藉由父節點資訊574所指示。作為另一任擇特徵,節點U5之參數更新資訊576包含縮放。
因此,作為另一任擇特徵,參數更新資訊116、216、316及/或416可例如包含定義與當前所考慮節點之父節點相關聯之一或多個參數值之縮放的更新指令。
此外,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以應用由更新指令(例如576)定義之縮放,以便獲得與當前所考慮節點(例如U5 570)相關聯之例如對應於張量572之一或多個神經網路參數(例如104、104b),且對應地,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210或PUT單元310、310b、410)可經組配以基於與當前所考慮節點之父節點(例如U1 530)相關聯之一或多個參數值及當前所考慮節點(例如U5)之參數值(例如572)判定縮放。
出於解釋性目的,簡言之,縮放576可指示使父節點U1之參數值532加倍以便獲得節點U5之參數值572。
參數更新樹500進一步包含與任擇地呈張量形式之參數值(例如神經網路參數582)相關聯之節點U0 580,如圖5中所示。節點U0 580為節點R 510之子節點,如藉由父節點資訊584所指示。作為另一任擇特徵,節點U0之參數更新資訊586包含加法變化值,例如+3。
因此,作為任擇特徵,參數更新資訊116、216、316及/或416 (及因此廣義節點資訊112b、312b)可包含定義一或多個變化值(例如變化值3)與與當前所考慮節點(例如U0 580)之父節點(例如R 510)相關聯之一或多個參數值(例如張量512之a
12)之加法及/或一或多個變化值自與當前所考慮節點之父節點相關聯之一或多個參數值之減法的更新指令。
因此,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以應用由更新指令定義之變化值之加法或減法,以便獲得與當前所考慮節點相關聯之一或多個神經網路參數。
作為任擇示例,張量減法以節點U4 560之參數更新資訊566展示於圖5中。因此,實施例可包含例如呈張量或矩陣形式之加法或減法,例如逐元素加法或減法。
參數更新樹500進一步包含與任擇地呈張量形式之參數值(例如神經網路參數592)相關聯之節點U8 590,如圖5中所示。節點U8 590為節點U23 540之子節點,如藉由父節點資訊594所指示。作為另一任擇特徵,節點U8之參數更新資訊596為乘積張量。
換言之,任擇地,與當前所考慮節點(例如U8)相關聯之多個神經網路參數(例如592)可由參數張量表示,且本發明解碼器(例如100)(例如導出單元130、130b)可任擇地經組配以將乘積張量(例如596)應用於參數張量(例如542),以便使用或進行或基於張量元素之逐元素相乘來獲得與當前所考慮節點(例如590)相關聯之參數張量(例如592),例如如展示為簡單變型。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210或PUT單元310、310b、410)可經組配以提供乘積張量(例如596)以應用於參數張量(例如542),以便獲得與當前所考慮節點(例如U8 590)相關聯之參數張量,例如592。
此外,作為另一任擇特徵,與父節點相關聯之多個神經網路參數可由參數張量表示,且參數更新資訊116、216、316及/或416 (及因此廣義節點資訊112b、312b)可任擇地包含乘積張量,例如596。
此外,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以將乘積張量(例如596)應用於父節點(例如540)之參數張量(例如542),以便獲得與當前所考慮節點(例如U8 590)相關聯之參數張量,例如592。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可經組配以提供乘積張量(例如596),以此方式將乘積張量應用於父節點(例如540)之參數張量(例如542),產生與當前所考慮節點(例如U8 590)相關聯之參數張量,例如592。
參數更新樹500進一步包含與任擇地呈張量形式之參數值(例如神經網路參數602)相關聯之節點U7 600,如圖5中所示。節點U7 600為節點U0 580之子節點,如藉由父節點資訊604所指示。作為另一任擇特徵,節點U8之參數更新資訊606為定義與當前所考慮節點(例如U7 600)之父節點(例如U0 580)相關聯之一或多個參數值(例如582之a
12)與一或多個變化值之加權組合的更新指令。
因此,任擇地,參數更新資訊(例如116、216、316及/或416)(及因此廣義節點資訊112b、312b)可包含定義與當前所考慮節點(例如U7 600)之父節點(例如U0 580)相關聯之一或多個參數值(例如582之a
12)與一或多個變化值之加權組合的更新指令,例如606。
因此,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以應用與當前所考慮節點之父節點相關聯之一或多個參數值與一或多個變化值之加權組合,以便獲得與當前所考慮節點相關聯之一或多個神經網路參數。
此外,應注意,處理所需之任何額外資訊,任擇PUT資訊124可藉由PUT資訊單元120提供至導出單元130。因此,PUI資訊132可包含此額外資訊。
參數更新樹500進一步包含與任擇地呈張量形式之參數值(例如神經網路參數612)相關聯之節點U6 610,如圖5中所示。節點U6 610為節點U1 530之子節點,如藉由父節點資訊614所指示。作為另一任擇特徵,節點U6之參數更新資訊616為定義用一或多個變化值(在此情況下,一個變化值5)對與U6之父節點相關聯之一或多個參數值(在此情況下,張量532之參數值a
12)之替換的更新指令。
因此,本發明參數更新資訊116、216、316及/或416 (及因此廣義節點資訊112b、312b)可任擇地包含定義用一或多個變化值對與當前所考慮節點(例如U6 610)之父節點(例如U1 530)相關聯之一或多個參數值之替換的更新指令,例如616。
因此,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配用一或多個替換值替換與當前所考慮節點之父節點相關聯之一或多個參數值,以便獲得與當前所考慮節點相關聯之一或多個神經網路參數。
參數更新樹500進一步包含與任擇地呈張量形式之參數值(例如神經網路參數612)相關聯之節點U9 620,如圖5中所示。節點U9 620為節點U6 610之子節點,如藉由父節點資訊624所指示。
作為任擇特徵,如用U9 620之示例所示,與當前所考慮節點(例如U9)之父節點相關聯之多個神經網路參數可由參數張量(例如612)表示,且與當前所考慮節點相關聯之多個神經網路參數可由參數張量(例如622)表示,且多個變化值可由參數更新資訊626之和張量(例如和張量
)表示。
此外,作為一示例,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可經組配以將與當前所考慮節點(例如U9 620)之父節點(例如U6 610)相關聯之參數張量(例如612)之元素與節點張量權重值(例如如用參數更新資訊626之因數•2所示)相乘,以獲得經縮放參數張量,以將參數更新資訊626之和張量(例如和張量
)之元素與和張量權重值(例如權重值1)(如用參數更新資訊626所示)相乘,以獲得經縮放和張量,且形成經縮放參數張量之逐元素和及經縮放和張量之逐元素和,以便獲得與當前所考慮節點(例如U9)相關聯之參數張量,例如622。
應注意,出於解釋性目的,根據圖5之實施例可為簡單實施例,使得可使用例如顯著更複雜之參數更新資訊以便表示神經網路參數之特定版本。
作為任擇特徵,例如如之前所解釋,與當前所考慮節點之父節點相關聯之多個神經網路參數可由參數張量表示,且參數更新資訊116、216、316及/或416 (及因此廣義節點資訊112b、312b)可任擇地包含呈更新張量形式之更新指令。
此外,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以根據父節點之參數張量之形狀來轉換更新張量之形狀。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供更新張量,使得更新張量之形狀不同於父節點之參數張量之形狀。
進一步解釋參考圖6。圖6展示根據本發明之實施例的張量形狀轉換之示意性示例。圖6展示神經網路之神經元之當前所考慮層630及神經網路之前一層640的示例。
作為一示例,張量650可包含與當前所考慮節點之父節點相關聯之神經網路參數(例如權重),其中沿著第一方向(例如沿著張量之一列652)配置之參數張量650之張量元素(例如a
11、a
12、a
13)可與神經網路之前一層630的多個神經元632、634、636之輸出信號對神經網路之當前所考慮層640的給定神經元(例如642)之輸入信號的貢獻相關聯,且沿著第二方向(例如沿著張量之一行654)配置之參數張量之張量元素(例如a
12、a
22、a
32)與神經網路之前一層630的給定神經元(例如634)之輸出信號對神經網路之當前所考慮層640的多個神經元642、644、646之輸入信號的貢獻相關聯。為簡潔起見,在圖6之示例中,並未展示層之間的所有權重(占位符
)。
任擇地,本發明解碼器(例如100、100b)(例如導出單元130、130b或獲得單元110、110b)可任擇地經組配以在更新張量在第一方向(例如列方向)上之擴展或維度小於參數張量650在第一方向上之維度之情況下擴展更新張量660在第一方向652上之維度。替代地或另外,解碼器可經組配以在更新張量在第二方向(例如行方向)上之擴展或維度小於參數張量650在第二方向上之維度之情況下擴展更新張量660在第二方向654上之維度。
因此,可提供擴展更新張量670,使得擴展更新張量670可與參數張量650組合,以便修改父節點之神經網路參數以判定當前節點之神經網路參數。
大體而言,應注意,節點及對應張量可表示神經網路之一層及/或整個神經網路及因此多個層之神經網路參數。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供更新張量660,使得更新張量660在第一方向652 (例如列方向)上之擴展或維度小於參數張量650在第一方向上之維度或擴展。替代地或另外,編碼器可經組配以提供更新張量660,使得更新張量在第二方向654 (例如行方向)上之擴展或維度小於參數張量650在第二方向上之維度或擴展。
如圖6中所示,更新張量660可例如包含變化值u
11、u
12、u
21及u
22。如用擴展更新張量670所示,任擇地,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以在更新張量660之數目或列小於參數張量650之列數目之情況下,拷貝更新張量660之一列之條目,以獲得形狀轉換更新張量670之一或多個擴展列之條目。
替代地或另外,解碼器經組配以在更新張量之數目或行小於參數張量650之行數目之情況下,拷貝更新張量660之一行之條目,以獲得形狀轉換更新張量670之一或多個擴展行之條目。
如圖6中所示,例如作為簡化示例,可複製更新張量660之第一列以提供擴展更新張量670之第三列,且可複製更新張量660之第一行以提供擴展更新張量670之第三行。
如任擇地展示,本發明解碼器(例如100)(例如導出單元130、130b)可任擇地經組配以在列方向上及在行方向上拷貝更新張量之一或多個條目,以獲得形狀轉換更新張量670之條目。
然而,應注意,僅可拷貝一列或一行,或僅可拷貝一列及/或一行之某些條目。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供更新張量660,使得更新張量之列數目小於參數張量650之列數目。替代地或另外,編碼器可經組配以提供更新張量660,使得更新張量之行數目小於參數張量650之行數目。
作為另一任擇特徵,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供關於更新張量之擴展的資訊。此資訊可例如在位元流(例如202、302及/或402)中另外經編碼。本發明節點資訊112、112b、212、312、312b及/或412可任擇地包含此擴展資訊。
因此,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以取決於關於更新張量之擴展的資訊而判定對轉換更新張量之形狀的需要,及/或更新張量之形狀的轉換之程度。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如獲得單元110、110b)可任擇地經組配以判定例如在經編碼位元流102中是否存在父節點識別符資訊(例如114),且解碼器可經組配以在父節點識別符存在之情況下根據如本文中所揭示之任何實施例導出一或多個神經網路參數(例如104、104b),且此外,解碼器可經組配以在父節點識別符不存在之情況下使當前所考慮節點成為根節點。
因此,參考圖1及圖1b,父節點識別符資訊114 (或相應地廣義節點資訊112b)可包含父節點識別符是存在抑或不存在的資訊,例如而非或外加父節點識別符(例如若存在),使得可相應地調適例如藉由PUT資訊單元120、120b設置及儲存之參數更新樹。此可允許廢除PUT之可能不再需要之部分,例如此係由於對應參數集可男人能夠過時或不如較新參數集(例如比較新參數集更差)。因此,簡言之,可廢除PUT之上部部分,使得PUT之新根節點為當前所考慮節點。另一方面,以此方式,可自當前所考慮節點開始設置新PUT。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供包含是否存在父節點識別符之資訊的傳訊。因此,參考圖2至4,而非父節點識別符資訊214、314及/或414可包含此傳訊,例如而非父節點識別符或外加父節點識別符。
作為另一任擇特徵,PUT之節點(例如節點R、U0 510至U9 620)可與各別雜湊值相關聯。本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可任擇地經組配以比較父節點識別符(其中父節點識別符資訊114 (或相應地廣義節點資訊112b)可包含父節點識別符)與與一或多個節點相關聯之雜湊值,以識別當前所考慮節點之父節點。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供與節點相關聯之雜湊值作為父節點識別符(例如在例如編碼於位元流202、302、302b及/或402中之父節點識別符資訊214、314及/或414或相應地廣義節點資訊112b、312b內),以識別當前所考慮節點之父節點。
任擇地,雜湊值可為與一或多個先前經解碼節點相關聯之完全經壓縮資料單元NDU之雜湊值。
作為另一任擇特徵,雜湊值可為與一或多個先前經編碼節點相關聯之經壓縮資料單元的酬載部分之雜湊值,同時不考慮資料大小資訊及標頭資訊。
作為另一任擇特徵,父節點識別符可為表示裝置識別符及序列號之組合值,該裝置識別符及該序列號均與父節點相關聯。
作為另一任擇特徵,父節點識別符可識別更新樹(例如500)及/或神經網路之一層。PUT可例如表示神經網路之神經網路參數之一部分。因此,可針對一神經網路設置多個更新樹,使得樹之間的差異可為有利的。作為一示例,PUT可表示神經網路之一個層。
作為另一任擇特徵,節點資訊(例如112、112b、212、312、312b及/或412)可包含節點識別符。本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可任擇地經組配以儲存節點識別符。因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以儲存及/或提供節點識別符。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可任擇地經組配以在添加新節點時比較一或多個所儲存節點識別符與新節點之節點資訊中之父節點識別符,以便識別新節點之父節點。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以在添加新節點時比較一或多個所儲存節點識別符與新節點之節點資訊中之父節點識別符,以便識別新節點之父節點。
作為另一任擇特徵,節點識別符可識別與節點資訊(例如112、112b、212、312、312b及/或412)相關聯之更新樹(例如500)及/或與節點資訊相關之神經網路之一層。神經網路可包含數百萬個參數,因此僅可在一個單一參數樹中組織一系列參數。此外,可使用關於待搜尋之神經網路參數(例如與父節點相關聯之參數)與哪一神經網路層相關聯的資訊來減少編碼器或解碼器之搜尋時間。
作為另一任擇特徵,節點識別符(例如在節點識別符資訊114、214、314、414及相應地廣義節點資訊112b、312b內)可包含裝置識別符及/或參數更新樹深度資訊及/或參數更新樹識別符。一個神經網路可在不同裝置上經訓練,使得不同參數集可為可用的且例如甚至此類參數集之不同迭代可為可用的。因此,關於裝置識別符之資訊可允許高效地指示特定神經網路參數集。PUT深度資訊可減少例如尋找對應父節點所需的時間,以便判定當前所考慮節點之神經網路參數,此係由於可能不需要搜遍PUT之所有層。
作為另一任擇特徵,節點資訊(例如112、112b、212、312、312b及/或412)可包含指示是否存在節點識別符之傳訊。
作為另一任擇特徵,父節點識別符(例如在例如編碼於位元流202、302及/或402中之父節點識別符資訊114、214、314及/或414及相應地廣義節點資訊112b、312b內)為表示裝置識別符及序列號之組合值,該裝置識別符及該序列號均與父節點相關聯。
作為另一任擇特徵,父節點識別符資訊114、214、314及/或414及相應地廣義節點資訊112b、312b可任擇地包含關於父節點識別符之類型的資訊。因此,本發明解碼器(例如100、100b)(例如獲得單元110、110b)可任擇地經組配以獲得包含關於父節點識別符之類型的資訊之傳訊,且解碼器可經組配以評估該傳訊以便考慮父節點識別符之各別類型。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供包含關於父節點識別符之類型的資訊之傳訊。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可任擇地經組配以取決於指示父節點識別符之存在的語法元素而選擇性地評估指示父節點識別符之類型的語法元素。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以在描述父節點識別符之語法元素存在之情況下選擇性地提供指示父節點識別符之類型的語法元素。
圖7展示根據本發明之實施例的神經網路之拓樸變化之示例。圖7展示具有神經元712之神經網路區段之第一拓樸710,其中神經網路參數a
11、a
12、a
21及a
22(例如權重)可由參數張量720表示。作為一示例,神經網路區段之拓樸可改變為具有新節點732及額外參數b
1及b
2之第二拓樸730。具有拓樸730之神經網路之神經網路參數可由張量740表示。
作為任擇特徵,本發明解碼器(例如100、100b)(例如獲得單元110、110b)可任擇地經組配以獲得在節點資訊內傳訊之拓樸變化,包含關於神經網路之拓樸變化的資訊。作為一示例,父節點識別符資訊(例如114)可任擇地包含拓樸變化傳訊。此外,解碼器可經組配以根據拓樸變化修改父節點之參數資訊,以便導出具有經修改拓樸之神經網路之一或多個神經網路參數,例如如由張量740表示。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以提供在節點資訊內(例如在父節點識別符資訊214、314及/或414內)傳訊之拓樸變化,包含關於神經網路之拓樸變化的資訊。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b及/或例如導出單元130、130b)可任擇地經組配以回應於拓樸變化資訊而改變一或二個張量之形狀。作為一示例,包含變化值之張量可根據新神經網路拓樸而經調適為父節點之新形狀。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以連同拓樸變化之傳訊而傳訊一或二個張量之形狀的變化。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b)可任擇地經組配以回應於拓樸變化資訊而改變給定層之神經元數目。作為一示例,運行神經網路之裝置上的解碼器可接收拓樸變化資訊且可因此在例如除調適神經網路參數(例如權重值)之外調適神經網路之結構。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以使用拓樸變化資訊傳訊給定層之神經元數目之變化。此拓樸變化資訊可包括於廣義節點資訊(例如312 b)中。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如PUT資訊單元120、120b及/或例如導出單元130、130b)可任擇地經組配以用一或多個替換值替換與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)之一或多個張量值,以便獲得具有經修改大小之一或多個張量,或解碼器可經組配以用一或多個替換張量替換與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變),以便獲得具有經修改大小之一或多個張量。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以傳訊用一或多個替換值對與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)之一或多個張量值之替換,或編碼器可經組配以傳訊用一或多個替換張量對與當前所考慮節點之父節點相關聯之一或多個張量(其形狀待改變)之替換。
作為另一任擇特徵,本發明解碼器(例如100、100b)(例如導出單元130、130b)可任擇地經組配以回應於拓樸變化傳訊而以同步方式改變與神經網路之相鄰層相關聯之二個更新樹中之二個張量之形狀。
因此,本發明編碼器(例如200、300、300b及/或400)(例如節點資訊單元210及/或PUT單元310、310b、410)可任擇地經組配以傳訊使用拓樸變化傳訊以同步方式對與神經網路之相鄰層相關聯之二個更新樹中之二個張量之形狀的改變。
圖8展示根據本發明之實施例的神經網路控制器之示意性視圖。圖8展示包含訓練單元810、參考單元820、參數更新資訊、PUI單元830及節點資訊提供單元840之神經網路控制器800。
訓練單元810可經組配以基於初始神經網路參數訓練神經網路,以獲得經更新神經網路參數812。作為一示例,初始神經網路參數可為預設參數或例如第一神經網路參數集,神經網路可自其開始訓練。作為任擇特徵,初始神經網路參數可使用或藉由參考單元820提供至訓練單元810。初始神經網路參數可儲存於參考單元820中或可例如初始地提供至神經網路控制器800。
作為一示例,基於經更新神經網路參數,可進行第二訓練。因此,經更新神經網路參數可例如為用於第二訓練之參考或開始參數。此類參考參數可儲存於參考單元820中。因此,在第一步驟中,參考參數(例如基於其進行訓練之參數)可等於初始神經網路參數。
此外,PUI單元830可經組配以基於參考神經網路參數822及經更新神經網路參數812判定參數更新資訊PUI 832。因此,參考單元820可將參考神經網路參數822 (例如基於其進行訓練以便獲得經更新神經網路NN參數之參數)提供至PUI單元830。
PUI 832可例如亦包含描述如何至少近似地自初始神經網路參數導出經更新神經網路參數之一或多個更新指令。
參考NN參數882可例如為初始神經網路參數(例如即使在第二、第三、第四或另外訓練步驟中亦是如此),使得參數更新資訊832可包含關於如何修改初始神經網路參數以便計算或判定經更新NN參數812之資訊。
然而,此資訊亦可包括於用於遞迴重建構之PUI 832中。因此,關於如何修改參考NN參數822 (例如用於一個訓練循環之開始參數)以便獲得不同於初始NN參數之經更新NN參數812之資訊可包括於PUI中。
參考圖5,PUI因此可包含關於自與初始神經網路參數(例如512)相關聯之根節點R 510至與經更新NN參數(例如552)相關聯之當前所考慮節點(例如U3 550)的整個路徑或僅關於此路徑之例如經由一或多個節點例如自與參考參數(例如522)相關聯之U2 520至與經更新NN參數(例如562)相關聯之節點U4的區段之資訊。此處,應再次注意,簡言之,在參考NN參數822與經更新NN參數之間,可進行一或多個訓練及(因此)一或多個參數更新。
換言之,PUI資訊可任擇地包含關於如何修改參考NN參數822 (其為用於NN訓練之初始或任意或中間起點)以便獲得經更新NN參數812之資訊。
此外,節點資訊提供單元840可經組配以提供包含父節點識別符資訊(例如如之前所解釋)及參數更新資訊PUI (例如如之前所解釋)之節點資訊802,其中父節點識別符定義父附註,該父附註之參數資訊充當參數更新資訊之應用的起點。
因此,父節點識別符可用於提供用於PUI資訊之參考資訊,以便識別待藉由PUI資訊修改之參考NN參數822,以便獲得經更新NN參數832。
作為另一任擇特徵,神經網路控制器800可包含根據如本文中所揭示之實施例中之任一者之編碼器,及/或如本文中所揭示之任何本發明編碼器之任何功能性或功能性之組合。
圖9展示根據本發明之實施例的神經網路聯合學習控制器之示意性視圖。圖9展示包含處理單元910及分佈單元920之神經網路聯合學習控制器900。
神經網路聯合學習控制器900經組配以接收多個神經網路之節點資訊902,其中節點資訊包含父節點識別符(或例如包含父節點識別符之父節點識別符資訊)及參數更新資訊。
此外,處理單元910經組配以組合不同神經網路之若干對應節點之參數更新資訊,以獲得組合參數更新資訊。經處理資訊912可包含或可為組合參數更新資訊。
此外,分佈單元920經組配以分佈經處理資訊,例如組合參數更新資訊。
因此,神經網路聯合學習控制器900可作為協調單元操作,以便組合不同神經網路之若干對應節點之若干訓練結果(例如參數更新資訊)。因此,可提取穩健神經網路參數且可以經處理資訊形式提供該等神經網路參數。
作為任擇特徵,神經網路聯合學習控制器900 (例如處理單元910)可經組配以組合不同神經網路之具有相等父節點識別符的若干對應節點之參數更新資訊,以獲得組合參數更新資訊。因此,經處理資訊912可包含或可為組合參數更新資訊。
因此,作為一示例,可組合基於相等開始參數之NN訓練結果,以便提供穩健NN參數集。
作為任擇特徵,神經網路聯合學習控制器900 (例如分佈單元920)可經組配以將與父節點識別符相關聯之父節點之參數資訊分佈至多個解碼器,且神經網路聯合學習控制器900 (例如處理單元912)可經組配以自解碼器接收包含父節點識別符之節點資訊。此外,神經網路聯合學習控制器900 (例如處理單元910)經組配以組合具有父節點識別符之若干對應節點之參數更新資訊。
作為另一任擇特徵,神經網路聯合學習控制器900 (例如分佈單元920)可例如經組配以提供描述參數更新樹之組合節點資訊的節點資訊(例如在經處理資訊912內或為經處理資訊912),其中組合節點資訊包含父節點識別符,且其中組合節點資訊包含組合參數更新資訊。
作為另一任擇特徵,神經網路聯合學習控制器900可任擇地包含根據本文中所揭示之任何實施例的編碼器,或神經網路聯合學習控制器900可任擇地包含如本文中所揭示之本發明編碼器之任何功能性或功能性之組合。
圖10展示根據本發明之實施例的用於解碼神經網路之參數的方法之示意性方塊圖。方法1000包含:基於經編碼位元流獲得1010神經網路之多個神經網路參數;獲得1020描述參數更新樹之節點的節點資訊,其中節點資訊包含父節點識別符,且其中節點資訊包含參數更新資訊;及使用藉由父節點識別符識別出的父節點之參數資訊及使用參數更新資訊導出1030一或多個神經網路參數。
圖11展示根據本發明之實施例的用於編碼神經網路之參數以便獲得經編碼位元流之方法的示意性方塊圖。圖11展示方法1100,該方法包含提供1110描述參數更新樹之節點的節點資訊,其中節點資訊包含父節點識別符,且其中節點資訊包含參數更新資訊;其中參數更新資訊描述與由父節點識別符定義之父節點相關聯之神經網路參數與當前神經網路參數之間的差異。
圖12展示根據本發明之實施例的用於控制神經網路之方法之示意性方塊圖。圖12展示方法1200,該方法包含:基於初始神經網路參數訓練1210神經網路以獲得經更新神經網路參數;及基於參考神經網路參數及經更新神經網路參數判定1220參數更新資訊,其中參數更新資訊包含描述如何至少近似地自初始神經網路參數導出經更新神經網路參數的一或多個更新指令;及提供1230包含父節點識別符及參數更新資訊之節點資訊,其中父節點識別符定義父附註,該父附註之參數資訊充當參數更新資訊之應用的起點。
圖13展示根據本發明之實施例的用於控制神經網路聯合學習之方法之示意性方塊圖。圖13展示方法1300,該方法包含接收1310多個神經網路之節點資訊,其中節點資訊包含父節點識別符,且其中節點資訊包含參數更新資訊。方法進一步包含:組合1320不同神經網路之若干對應節點之參數更新資訊以獲得組合參數更新資訊;及分佈1330組合參數更新資訊。
根據本發明之另外實施例係關於或可用於或可定址HLS (例如HTTP (例如超文字傳送協定)直播)更新傳訊。
此外,應注意,實施例可應用於壓縮整個神經網路,且其中之一些亦可應用於相對於基礎網路之神經網路之差分更新的壓縮。當模型在微調或轉移學習之後再分佈時或當提供具有不同壓縮比之神經網路的版本時,此差分更新例如適用。
實施例可進一步解決基礎神經網路,例如充當差分更新之參考的神經網路之使用,例如操縱或修改。
實施例可進一步解決或包含或提供經更新神經網路,例如由修改基礎神經網路產生之神經網路。應注意,經更新神經網路可例如藉由將差分更新應用於基礎神經網路來重建構。
根據本發明之另外實施例可包含呈NNR單元形式的語法元素。NNR單元可例如為用於攜載可例如根據本發明之實施例壓縮或表示之神經網路資料及/或相關後設資料的資料結構。
NNR單元可攜載以下各者中之至少一者:關於神經網路後設資料之壓縮資訊、關於神經網路後設資料之未壓縮資訊、拓樸資訊、完整或部分層資料、篩選器、核心、偏差、經量化權重、張量及其類似者。
NNR單元可例如包含以下資料元素或由以下資料元素組成
• NNR單元大小(任擇):此資料元素可傳訊NNR單元之總位元組大小,包括NNR單元大小。
• NNR單元標頭:此資料元素可包含或含有關於NNR單元類型及/或相關後設資料之資訊。
• NNR單元酬載:此資料元素可包含或含有與神經網路相關之壓縮或未經壓縮資料。
作為一示例,實施例可包含(或使用)以下位元流語法:
nnr_unit( numBytesInNNRUnit ) { | 描述符 |
nnr_unit_size( ) (optional) | |
nnr_unit_header( ) | |
nnr_unit_payload( ) | |
} |
nnr_unit_header( ) { | 描述符 |
nnr_unit_type | u(6) |
nnr_compressed_data_unit_payload_type | u(5) |
⁝ 另外任擇組態資訊 ⁝ | |
if( nnr_unit_type == NNR_NDU ) | |
nnr_compressed_data_unit_header( ) | |
⁝ 另外任擇組態資訊 ⁝ | |
} |
nnr_compressed_data_unit_header( ) { | 描述符 |
nnr_compressed_data_unit_payload_type | u(5) |
⁝ 另外任擇組態資訊 ⁝ | |
node_id_present_flag | u(1) |
if( node_id_present_flag ) { | |
device_id | ue(1) |
parameter_id | ue(5) |
put_node_depth | ue(4) |
} | |
parent_node_id_present_flag | u(1) |
if( parent_node_id_present_flag ) { | |
parent_node_id_type | u(2) |
temporal_context_modeling_flag | u(1) |
if( parent_node_id_type == ICNN_NDU_ID ) { | |
parent_device_id | ue(1) |
if( !node_id_present_flag ) { | |
parameter_id | ue(5) |
put_node_depth | ue(4) |
} | |
} else if( parent_node_id_type == ICNN_NDU_PL_SHA256 ) | |
parent_node_payload_sha256 | u(256) |
else | |
parent_node_payload_sha512 | u(512) |
} | |
⁝ 另外任擇組態資訊 ⁝ | |
} |
父節點識別符可例如包含以上語法元素中之一或多者,列舉一些,例如device_id、parameter_id及/或put_node_depth。
nnr_unit_payload( ) { | 描述符 |
⁝ 另外任擇組態資訊 ⁝ | |
if( nnr_unit_type == NNR_NDU ) | |
nnr_compressed_data_unit_payload( ) | |
⁝ 另外任擇組態資訊 ⁝ | |
} |
nnr_compressed_data_unit_payload( ) { | 描述符 |
if( nnr_compressed_data_unit_payload_type == NNR_PT_RAW_FLOAT ) | |
for( i = 0; i < Prod( TensorDimensions ); i++ ) | |
raw_float32_parameter[ TensorIndex( TensorDimensions, i , 0 ) ] | flt(32) |
decode_compressed_data_unit_payload( ) | |
} |
使用decode_compressed_data_unit_payload( ),可修改神經網路之基礎模型的參數以便獲得經更新模型。因此,使用以上nnr_compressed_data_unit_payload(),可導出使用藉由父節點識別符識別出的父節點之參數資訊及使用參數更新資訊之一或多個神經網路參數。
node_id_present_flag等於1可指示語法元素device_id、parameter_id及/或put_node_depth存在。
device_id可例如唯一地識別產生當前NDU之裝置。
parameter_id可例如唯一地識別與儲存於NDU中之張量相關的模型之參數。若parent_node_id_type等於ICNN_NDU_ID,則parameter_id可例如或應等於相關聯父NDU之parameter_id。
put_node_depth可例如為當前NDU所位於之樹深度。深度0可對應於根節點。若parent_node_id_type等於ICNN_NDU_ID,則put_node_depth-1可例如為或甚至必須等於相關聯父NDU之put_node_depth。
parent_node_id_present_flag等於1可例如指示存在語法元素parent_node_id_type。
parent_node_id_type可例如指定父節點id類型。其可指示存在用於唯一地識別父節點之哪些另外語法元素。parent_node_id_type之容許值的示例定義於表1中。
表1:父節點id類型識別符(示例)。
parent_node_id_type | 識別符 | 描述 |
0 | ICNN_NDU_ID | 指示存在語法元素parent_device_id、parameter_id及put_node_depth |
1 | ICNN_NDU_PL_SHA256 | 指示存在語法元素parent_node_payload_sha256 |
2 | ICNN_NDU_PL_SHA512 | 指示存在語法元素parent_node_payload_sha512 |
3 | 預留 |
temporal_context_modeling_flag可例如指定是否啟用時間上下文模型化。temporal_context_modeling_flag等於1可指示啟用時間上下文模型化。若temporal_context_modeling_flag不存在,則推斷其為0。
parent_device_id可例如等於父NDU之語法元素device_id。
parent_node_payload_sha256可例如為父NDU之nnr_compressed_data_unit_payload之SHA256雜湊。
parent_node_payload_sha512可例如為父NDU之nnr_compressed_data_unit_payload之SHA512雜湊。
此外,根據本發明之實施例可包含列跳過特徵。作為一示例,若藉由旗標row_skip_flag_enabled_flag啟用,則列跳過技術針對沿著參數張量之第一軸線的各值i傳訊一個旗標row_skip_list[ i ]。若旗標row_skip_list[ i ]為1,則將第一軸線之索引等於i的參數張量之所有元素設定為零。若旗標row_skip_list[ i ]為0,則個別地編碼第一軸線之索引等於i的參數張量之所有元素。
此外,根據本發明之實施例可包含上下文模型化。作為一示例,上下文模型化可對應於使三個類型之旗標sig_flag、sign_flag及abs_level_greater_x/x2與上下文模型相關聯。以此方式,具有類似統計行為之旗標可與或應與同一上下文模型相關聯,使得機率估計器(在上下文模型之內部)可例如適於基礎統計。
所呈現方法之上下文模型化可例如如下:
舉例而言,取決於狀態值及左側之相鄰經量化參數位準為零、小於零抑或大於零,可針對sig_flag區分二十四個上下文模型。
若dq_flag為0,則僅可例如使用前三個上下文模型。
取決於左側之相鄰經量化參數位準為零、小於零抑或大於零,可針對sig_flag區分三個其他上下文模型。
對於abs_level_greater_x/x2旗標,各x可例如使用一或二個個別上下文模型。若x<=maxNumNoRemMinus1,則取決於sign_flag而區分二個上下文模型。若x>maxNumNoRemMinus1,則僅可例如使用一個上下文模型。
此外,根據本發明之實施例可包含時間上下文模型化。作為一示例,若藉由旗標temporal_context_modeling_flag啟用,則用於旗標sig_flag、sign_flag及abs_level_greater_x之額外上下文模型集合可為可用的。ctxIdx之導出可接著亦係基於先前經編碼參數更新張量中之經量化共置參數位準的值,該參數更新張量可例如藉由參數更新樹唯一地識別。若共置參數位準不可用或等於零,則可應用上下文模型化,例如如之前所解釋。否則,若共置參數位準不等於零,則所呈現方法之時間上下文模型化可如下:
取決於狀態值及經量化共置參數位準之絕對值是否大於一,可例如針對sig_flag區分十六個上下文模型。
若dq_flag為0,則僅可使用前二個額外上下文模型。
取決於經量化共置參數位準是小於零抑或大於零,可再針對sign_flag區分二個上下文模型。
對於abs_level_greater_x旗標,各x可使用二個個別上下文模型。取決於經量化共置參數位準之絕對值是否大於或等於x-1,可例如區分此等二個上下文模型。
根據本發明之實施例可任擇地包含以下張量語法,例如經量化張量語法。
quant_tensor( dimensions, maxNumNoRemMinus1, entryPointOffset ) { | 描述符 |
tensor2DHeight = dimensions[ 0 ] | |
tensor2DWidth = Prod( dimensions ) / tensor2DHeight | |
if( general_profile_idc == 1 && tensor2DWidth > 1 ) { | |
row_skip_enabled_flag | uae(1) |
if( row_skip_enabled_flag ) | |
for( i = 0; i < tensor2DHeight; i++ ) | |
row_skip_list[ i ] (optional) | ae(v) |
} | |
stateId = 0 (optional) | |
bitPointer = get_bit_pointer( ) (optional) | |
lastOffset = 0 (optional) | |
for( i = 0; i < Prod( dimensions ); i++ ) { | |
idx = TensorIndex( dimensions, i, scan_order ) (optional) | |
if( entryPointOffset != -1 && GetEntryPointIdx( dimensions, i, scan_order ) != -1 && scan_order > 0 ) { (optional) | |
IvlCurrRange = 256 (optional) | |
j = entryPointOffset + GetEntryPointIdx( dimensions, i, scan_order ) (optional) | |
IvlOffset = cabac_offset_list[ j ] (optional) | |
if( dq_flag ) (optional) | |
stateId = dq_state_list[ j ] (optional) | |
set_bit_pointer( bitPointer + lastOffset + BitOffsetList[ j ] ) (optional) | |
lastOffset = BitOffsetList[ j ] (optional) | |
init_prob_est_param( ) (optional) | |
} | |
QuantParam[ idx ] = 0 | |
if( general_profile_idc != 1 || tensor2DWidth <= 1 || !row_skip_enabled_flag || !row_skip_list[ idx[ 0 ] ] ) | |
int_param( idx, maxNumNoRemMinus1, stateId ) (optional) | 例如如下文所解釋 |
⁝ 另外任擇組態資訊 ⁝ | |
} | |
} |
跳過資訊可例如包含以上列跳過資訊中之任一者或全部,例如row_skip_enabled_flag及/或row_skip_list。
作為一示例,row_skip_enabled_flag可指定是否啟用列跳過。row_skip_enabled_flag等於1可指示啟用列跳過。
row_skip_list可指定旗標清單,其中第i旗標row_skip_lsit[ i ]可指示第一維度之索引等於i的QuantParam之所有張量元素是否為零。若row_skip_list[i]等於1,則第一維度之索引等於i的QuantParam之所有張量元素可為零。
根據本發明之實施例可例如進一步包含經量化參數語法,作為一示例,如在下文所定義之語法。所有元素可視為任擇的。
int_param( i, maxNumNoRemMinus1, stateId ) { | 描述符 |
QuantParam[ i ] = 0 | |
sig_flag | ae(v) |
if( sig_flag ) { | |
QuantParam[ i ]++ | |
sign_flag | ae(v) |
j = −1 | |
do { | |
j++ | |
abs_level_greater_x[ j ] | ae(v) |
QuantParam[ i ] += abs_level_greater_x[ j ] | |
} while( abs_level_greater_x[ j ] == 1 && j < maxNumNoRemMinus1 ) | |
if( abs_level_greater_x[ j ] == 1 ) { | |
RemBits = 0 | |
j = −1 | |
do { | |
j++ | |
abs_level_greater_x2[ j ] | ae(v) |
if( abs_level_greater_x2[ j ] ) { | |
QuantParam[i] += 1 << RemBits | |
RemBits++ | |
} | |
} while( abs_level_greater_x2[ j ] && j < 30 ) | |
abs_remainder | uae(RemBits) |
QuantParam[ i ] += abs_remainder | |
} | |
QuantParam[ i ] = sign_flag ? −QuantParam[ i ] : QuantParam[ i ] | |
} | |
} |
sig_flag可例如指定經量化權重QuantParam[i]是否為非零。等於0之sig_flag可例如指示QuantParam[i]為零。sig_flag可例如指定經量化權重QuantParam[i]是正抑或負的。等於1之sign_flag可例如指示QuantParam[i]為負。abs_level_greater_x[j]可例如指示QuantParam[i]之絕對位準是否大於j+1。
abs_level_greater_x2[j]可例如包含指數哥倫布(Golomb)餘數之一元部分。
abs_remainder可例如指示固定長度餘數。
根據本發明之另外實施例可例如包含以下移位參數索引語法。所有元素可視為任擇的。
shift_parameter_ids( maxNumNoRemMinus1 ) { | 描述符 |
for( i = 0; i < (dq_flag ? 24 : 3; i++ ) { | |
shift_idx( i, ShiftParameterIdsSigFlag ) | |
} | |
if(temporal_context_modeling_flag){ | |
for( i = 24; i < (dq_flag ? 40 : 26); i++ ) { | |
shift_idx( i, ShiftParameterIdsSignFlag ) | |
} | |
} | |
for( i = 0; i < ( temporal_context_modeling_flag ? 5:3 ); i++ ) { | |
shift_idx( i, ShiftParameterIdsSignFlag ) | |
} | |
for( i = 0; i < (temporal_context_modeling_flag ? 4 : 2)*(maxNumNoRemMinus1+1); i++ ) { | |
shift_idx( i, ShiftParameterIdsAbsGrX ) | |
} | |
for( i = 0; i < 31; i++ ) { | |
shift_idx( i, ShiftParameterIdsAbsGrX2 ) | |
} | |
} |
根據本發明之其他實施例包含熵解碼程序,如下文所解釋。
一般而言,此程序之輸入可例如為對語法元素之值及先前經剖析語法元素之值的請求。
此程序之輸出可例如為語法元素之值。
可例如如下進行語法元素之剖析:
對於語法元素之各所請求值,可例如導出二進位化。
語法元素之二進位化及經剖析二進位之序列可例如判定解碼程序流程。
初始化程序之示例:
大體而言,此程序之輸出可例如為經初始化之DeepCABAC內部變數。
舉例而言,可如下初始化算術解碼引擎之上下文變數:
解碼引擎可例如以16位元暫存精度來暫存IvlCurrRange及IvlOffset二者,可例如藉由調用算術解碼引擎之初始化程序來初始化。
根據本發明之實施例可包含用於機率估計參數之初始化程序,例如,如下文所解釋。
對於語法元素sig_flag、sign_flag、abs_level_greater_x及abs_level_greater_x2之各上下文模型,此程序之輸出可例如為經初始化之機率估計參數shift0、shift1、pStateIdx0及pStateIdx1。
舉例而言,可如下初始化2D陣列CtxParameterList[][]:
CtxParameterList[][] = { {1, 4, 0, 0}, {1, 4, -41, -654}, {1, 4, 95, 1519}, {0, 5, 0, 0}, {2, 6, 30, 482}, {2, 6, 95, 1519}, {2, 6, -21, -337}, {3, 5, 0, 0}, {3, 5, 30, 482}}
若dq_flag等於1且temporal_context_modeling_flag等於1,則對於語法元素sig_flag之例如40個上下文模型中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsSigFlag[i]。
若dq_flag==等於1且temporal_context_modeling_flag等於0,則例如對於語法元素sig_flag之例如前24個上下文模型中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsSigFlag[i]。
若dq_flag==等於0且temporal_context_modeling_flag等於1,則例如對於語法元素sig_flag之例如前3個上下文模型及例如上下文模型24至25中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsSigFlag[i]。
若temporal_context_modeling_flag等於1,則例如對於語法元素sign_flag之例如5個上下文模型中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsSignFlag[i]。
否則(temporal_context_modeling_flag==0),例如對於語法元素abs_level_greater_x之例如前3個上下文模型中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsAbsGrX[i]。
若temporal_context_modeling_flag等於1,則例如對於語法元素abs_level_greater_x之4 * (cabac_unary_length_minus1 + 1)個上下文模型中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsAbsGrX[i]。
否則(temporal_context_modeling_flag==0),例如對於語法元素abs_level_greater_x之例如前2 * (cabac_unary_length_minus1 + 1)個上下文模型中之各者,相關聯上下文參數shift0可例如設定為CtxParameterList[setId][0],shift1可例如設定為設定為CtxParameterList[setId][1],pStateIdx0可例如設定為CtxParameterList[setId][2],且pStateIdx1可例如設定為CtxParameterList[setId][3],其中i可例如為上下文模型之索引且其中setId可例如等於ShiftParameterIdsAbsGrX[i]。
根據本發明之另外實施例可包含解碼程序流程,例如如下文所解釋。
大體而言,此程序之輸入可例如為所請求語法元素之二進位化的所有二進位字串。
此程序之輸出可例如為語法元素之值。
此程序可指定如何例如針對各語法元素剖析二進位字串之例如各二進位。在剖析例如各二進位之後,可將所得二進位字串例如與語法元素之二進位化的例如所有二進位字串進行比較且以下情況可適用:
- 若二進位字串等於二進位字串中之一者,則語法元素之對應值可例如為輸出。
- 否則(二進位字串不等於二進位字串中之一者),可例如剖析下一位元。
在剖析各二進位時,自針對第一二進位將binIdx設定為等於0開始,變數binIdx可例如遞增1。
可例如藉由以下二個有序步驟指定各二進位之剖析:
1. 可例如調用ctxIdx及bypassFlag之導出程序,例如其中將binIdx作為輸入且將ctxIdx及bypassFlag作為輸出。
2. 可例如調用算術解碼程序,其中將ctxIdx及bypassFlag作為輸入且將二進位之值作為輸出。
根據本發明之另外實施例可包含用於語法元素sig_flag之ctxInc的導出程序。
此程序之輸入可例如為在當前sig_flag之前解碼的sig_flag、狀態值stateId、相關聯sign_flag (若存在)及來自在當前遞增更新之前解碼的遞增更新之共置參數位準(coLocParam) (若存在)。若在當前sig_flag之前未解碼sig_flag,則可例如推斷其為0。若未解碼與先前經解碼sig_flag相關聯之sign_flag,則可例如推斷其為0。若無來自在當前遞增更新之前解碼的遞增更新之共置參數位準可用,則推斷其為0。共置參數位準意謂先前經解碼遞增更新中之相同位置處的相同張量中之參數位準。
此程序之輸出為變數ctxInc。
如下導出變數ctxInc:
- 若coLocParam等於0,則以下情況適用:
- 若sig_flag等於0,則ctxInc設定為stateId*3。
- 否則,若sign_flag等於0,則ctxInc設定為stateId*3+1。
- 否則,將ctxInc設定為stateId*3+2。
- 若coLocParam不等於0,則以下情況適用:
- 若coLocParam大於1或小於-1,則將ctxInc設定為stateId*2+24。
- 否則,將ctxInc設定為stateId*2+25。
-
根據本發明之另外實施例可包含用於語法元素sign_flag之ctxInc的導出程序。
此程序之輸入可例如為在當前sig_flag之前解碼的sig_flag、相關聯sign_flag (若存在)及來自在當前遞增更新之前解碼的遞增更新之共置參數位準(coLocParam)。若在當前sig_flag之前未解碼sig_flag,則可例如推斷其為0。若未解碼與先前經解碼sig_flag相關聯之sign_flag,則可例如推斷其為0。若無來自在當前遞增更新之前解碼的遞增更新之共置參數位準可用,則可例如推斷其為0。共置參數位準意謂先前經解碼遞增更新中之相同位置處的相同張量中之參數位準。
此程序之輸出可例如為變數ctxInc。
舉例而言,可如下導出變數ctxInc:
- 若coLocParam等於0,則以下情況可適用:
- 若sig_flag等於0,則可例如將ctxInc設定為0。
- 否則,若sign_flag等於0,則可例如將ctxInc設定為1。
- 否則,可例如將ctxInc設定為2。
- 若coLocParam不等於0,則以下情況可適用:
- 若coLocParam小於0,則可例如將ctxInc設定為3。
- 否則,可例如將ctxInc設定為4。
另外實施例可包含用於語法元素abs_level_greater_x[j]之ctxInc的導出程序。
此程序之輸入可例如為在當前語法元素abs_level_greater_x[j]之前解碼的sign_flag及來自在當前遞增更新之前解碼的遞增更新之共置參數位準(coLocParam)。若無來自在當前遞增更新之前解碼的遞增更新之共置參數位準可用,則可例如推斷其為0。共置參數位準意謂先前經解碼遞增更新中之相同位置處的相同張量中之參數位準。
此程序之輸出可例如為變數ctxInc。
舉例而言,可如下導出變數ctxInc:
- 若coLocParam等於零,則以下情況可適用:
- 若sign_flag等於0,則可例如將ctxInc設定為2*j。
- 否則,可例如將ctxInc設定為2*j+1。
- 若coLocParam不等於零,則以下情況可適用:
- 若coLocParam大於或等於j或低於或等於-j,則
可例如將ctxInc設定為2*j+2* maxNumNoRemMinus1
- 否則,可例如將ctxInc設定為2*j+2* macNumNoRemMinus1 +1。
另外註解:
在下文中,將在「引言」章中及在「參數更新樹(PUT)(示例)」章及其各別子章中描述不同本發明實施例及態樣。
此外,另外實施例將由所附申請專利範圍定義。
應注意,如由申請專利範圍所定義之任何實施例可藉由分別在上文所提及的章及/或子章中所描述之細節(特徵及功能性)中之任一者及/或藉由在以上揭露內容中所描述之細節(特徵及功能性)中之任一者補充。
此外,描述於上文所提及章及/或子章中之實施例可個別地使用,且亦可由另一章中之任何特徵或由包括於申請專利範圍中之任何特徵來補充。
此外,應注意,本文中所描述之個別態樣可個別地或組合地使用。因此,可將細節添加至該等個別態樣中之各者,而不將細節添加至該等態樣中之另一者。
亦應注意,本揭露內容明確地或隱含地描述可用於神經網路編碼器(用於提供神經網路參數之經編碼表示之設備)中及神經網路解碼器(用於基於經編碼表示提供神經網路參數之經解碼表示之設備)中之特徵。因此,本文中所描述之特徵中之任一者可用於神經網路編碼器之上下文及神經網路解碼器之上下文中。
此外,本文中所揭示之與方法相關之特徵及功能性亦可用於設備(經組配以進行此類功能性)中。此外,本文中相對於設備所揭示之任何特徵及功能性亦可用於對應方法中。換言之,本文中所揭示之方法可藉由相對於設備所描述的特徵及功能性中之任一者加以補充。
此外,本文中所描述之特徵及功能性中之任一者可用硬體或軟體來實施,或使用硬體與軟體之組合來實施,如將在章節「實施方案替代例」中所描述。
以下章節(包含例如子章節或第1至2章)之標題可為分佈式情形中之神經網路更新之高效傳訊。
1.引言
在下文中,提供根據本發明之實施例的背景資訊。然而,此章中所解釋之特徵及/或功能性及/或細節及/或態樣可任擇地個別地及以組合方式併入於本發明之多個實施例中。根據本發明之實施例可包含該等態樣及/或特徵,或可與該等態樣及/或特徵一起使用。
由於神經網路(NN)已在許多應用區域中取得突破,因此亦開發出高效傳輸機制。此可允許例如在例如中心伺服器裝置中執行例如可能之複雜NN訓練程序,且任擇地可允許將經訓練NN傳輸至例如用戶端裝置。此處,神經網路壓縮及表示最近已標準化。較新應用領域為聯合學習(FL)及訓練情形,其中可例如同時在例如許多裝置上訓練NN。在FL情形中,例如用戶端裝置與中心伺服器裝置之間的頻繁通訊可為有益的或甚至必需的。最初,可使用例如神經網路壓縮將經預訓練NN之第一版本發送至所有用戶端例如以用於進一步訓練。接著,所有用戶端可進一步訓練NN,且可將經更新NN版本發送至一個(或多個)伺服器,例如如圖14中所示。
圖14展示根據本發明之實施例的聯合學習情形之示例之示意性視圖。圖14展示可經組配以訓練神經網路之多個用戶端1410、1420、1430。伺服器1430可接收各別用戶端之訓練結果(例如更新),且可基於訓練結果(例如神經網路參數)將彙總之經更新神經網路參數提供至用戶端。
更新可例如為在例如用戶端處的初始NN與較新NN版本之間的差信號。因此,(例如圖14中之)伺服器與用戶端之間的一或多個或例如所有箭頭可表示發送NN更新。伺服器可接著收集一些或例如所有本端用戶端版本且可彙總NN之新伺服器版本。彙總程序可例如為多個或例如所有可用網路版本之簡單平均化,或更進階程序,諸如(例如)僅平均化輸出標記。此後一方法稱為聯合蒸餾且可允許例如在例如本端用戶端處之大得多的靈活性。此可例如甚至包括在例如各用戶端處之不同網路及/或拓樸,例如只要所有用戶端版本之輸出標記可仍彙總於伺服器處即可。直至此處之程序亦稱為通訊回合(CR)。接著,例如,新伺服器版本可再次發送至多個或例如所有用戶端,例如亦作為與先前NN版本之差信號,例如以用於進一步訓練,且程序可重複。FL情形可針對許多CR而繼續,例如直至達到某一精度(用於推斷)為止。大體而言,FL情形可允許通訊靈活性。在同步通訊情形中,多個或例如所有N個用戶端可在各通訊回合中發送更新,伺服器可將版本或例如N個版本彙總至新版本中,且可接著發送此版本至多個或例如所有N個用戶端,例如用於下一CR。在異步FL情形中,用戶端可僅在某一數目個CR之後發送更新。或可發送連續數目個CR之更新且可接著暫停某一時間。此可意謂伺服器可僅在某一CR處具有子集K<N用戶端版本,例如用於彙總新伺服器版本,例如以發送至用戶端。
聯合情形中之許多或例如所有此等條件可需要特定傳訊例如以便處置不同FL變化,但任擇地亦例如提高待在伺服器與用戶端之間(例如在二個方向上)發送的NN更新及/或差異資料之編碼效率。因此,以下子章節描述本發明之相關態樣。
2.參數更新樹(PUT)(示例)
作為一示例,考慮根據實施例之具有若干裝置(例如包括伺服器及用戶端裝置)及例如所謂的基礎模型的分佈式情形,其可為必須或可在裝置之間傳輸更新的神經網路。根據本發明之實施例包含及/或描述用於例如使用樹結構表示此類更新之方案。基礎模型之多個或例如各個別參數(或參數群組)可與樹(例如具有前述樹結構之樹)之根節點相關聯。此參數之更新可對應於附接至根節點之子節點。子節點可含有例如關於如何更新與父節點相關聯之參數的指令。樹之任何節點可進一步例如藉由以相同方式附接子節點來更新。圖15中給出R為表示基礎模型之一個參數的根節點之示例。
圖15展示根據本發明之實施例的參數更新樹(例如例示性參數更新樹)之示例之示意性視圖。
節點U1及U2可描述對節點R之更新,且節點U3可描述節點U2之更新。樹之各節點可表示基礎模型R之參數之版本,且吾人可例如決定執行使用特定經更新版本U1、U2或U3而非R之模型。換言之,根據實施例,解碼器可例如經組配以決定執行使用特定經更新版本U1、U2或U3而非R (例如對應於神經網路參數之特定版本)之模型。
為了表示此樹,唯一節點識別符可與多個節點或例如各節點相關聯。舉例而言,此可以為或可為與節點相關聯之整數、字串及/或密碼雜湊(如例如SHA-512)。然而,在此樹內,各節點識別符可為唯一的或例如甚至必須為唯一的。
在分佈式情形中,多個裝置或例如各裝置(例如伺服器或用戶端)可維護例如模型之參數的更新樹。舉例而言,為了將特定更新自一個裝置傳輸至另一裝置,例如僅可傳輸或可需要傳輸對應更新以及相關聯節點識別符(例如對更新之父節點的指標)。
在下文中,揭示根據實施例之示例以便提供對本發明之態樣的較佳理解。舉例而言,考慮均具有可用之節點R (例如如在圖15中)的用戶端及伺服器。假定,用戶端產生更新U2且想要使其可供伺服器使用。為此,其可將U2以及R之節點識別符發送至伺服器。伺服器可在其樹之版本中搜尋R之節點識別符且可附加U2作為R之子節點。現在,伺服器及用戶端可均具有可用的樹,其中R作為根節點且U2作為R之子節點。
2.1 參數更新程序(示例)
此章節描述例如與根據本發明之實施例的PUT之節點相關聯之若干不同類型之更新指令。可與PUT相關聯之基礎模型之參數可或必須表示樹參數。舉例而言,所謂的節點參數可或必須與PUT之各節點相關聯。然而,在其他實例中,所謂的節點參數可或必須與例如節點集合(例如可達(例如自根節點至特定當前節點可達)節點集合)或例如自PUT之根節點開始或例如與PUT之各節點相關聯之連續節點集合相關聯。此節點參數可藉由例如自根節點至所要節點遍歷PUT及將例如各所訪問節點之更新指令應用於樹參數而導出。舉例而言(例如如在圖15中),例如在應用U1之更新指令之後,R之節點參數可等於樹參數且U1之節點參數可等於樹參數。
在節點參數(及例如因此亦樹參數)為張量(亦即,例如值之多維陣列)之情況下,其可或必須表示節點張量。
在一較佳實施例中,例如與節點相關聯之更新指令可含有例如形狀與節點張量相同之所謂的乘積張量。更新參數可對應於例如節點張量元素及乘積張量元素之逐元素乘積。
在一較佳實施例中,例如與節點相關聯之更新指令可含有所謂的和張量(例如形狀與節點張量相同)、純量節點張量權重值及/或純量和張量權重值中之至少一者。更新參數可對應於例如節點張量元素及和張量元素之逐元素加權和。作為一示例,或例如更精確地,節點張量之各元素可與節點張量權重值相乘,和張量之各元素可與和張量權重值相乘,且接著,可計算出二者經縮放張量之逐元素和。應注意,二者權重亦可設定為1,其可對應於非加權和,例如作為特殊情況。
在另一較佳實施例中,例如與節點相關聯之更新指令可含有例如形狀與節點張量相同之所謂的替換張量。更新參數可對應於例如用替換張量之值替換節點張量之值。
在另一較佳實施例中,採用更新張量(例如替換張量、和張量及/或乘積張量)之更新指令可涉及例如隱式張量形狀轉換,例如如下。
在下文中,揭示根據實施例之示例以便提供對本發明之態樣的較佳理解。
假定,更新張量形狀與節點張量形狀相同,不同之處在於一或多個個別維度,其可等於1。舉例而言,對於為1之更新張量的維度,可或必須假定沿著此軸線之張量元素係相同的。舉例而言,假定節點張量給定為2D張量[[a, b, c], [d, e, f]](維度為[2, 3])。給定為[[x],[y]](維度為[2, 1])之更新張量可或將隱式地擴展至[[x, x, x], [y, y, y]]。給定為[[z]](維度為[1, 1])之更新張量可或將隱式地擴展至[[z, z, z], [z, z, z]]。給定為[[r, s, t]](維度為[1, 3])之更新張量可或將隱式地擴展至[[r, s, t], [r, s, t]]。換言之,根據實施例之解碼器可例如經組配以根據上述示例更新張量形狀。
- TBD:量化域更新(不同qps之檢查效應)(任擇)
任擇地,可例如使用量化域更新(例如替代地或與以上概念組合)。
2.2 伺服器側更新彙總示例
根據本發明之實施例,在伺服器可維護基礎模型且例如可自例如不同用戶端接收更新之分佈式情形中,伺服器側處的PUT可收集例如同一模型之若干更新節點。伺服器可決定組合若干更新節點且可例如自例如此組合創建新的更新節點,且可例如將其分佈至用戶端例如作為共同經更新模型。多個或例如各節點可接著例如基於此共同經更新模型決定繼續聯合學習。
2.3 參數更新樹傳訊(示例)
此章節呈現根據本發明之實施例的用於將PUT之元素表示為例如針對裝置(例如包括伺服器及用戶端)之間的傳輸進行最佳化之例如資料單元(例如位元組序列)之方法。其(例如方法)可與用於表示神經網路之現有技術組合,如例如新興標準「ISO/IEC 15938部分17:用於多媒體內容描述及分析的神經網路之壓縮(ISO/IEC 15938 Part 17: Compression of neural networks for multimedia content description and analysis)」,其在整個此文件中稱為NNR。NNR可將神經網路之個別參數表示為所謂的經壓縮資料單元(NDU)。例如藉由使用在NNR中可用的高效壓縮技術實施PUT概念可例如如下執行。根據本發明之實施例,考慮節點含有更新張量(例如或如替換張量、和張量及/或乘積張量,例如如上文所描述)之情況。此更新張量可例如高效地表示為NDU。為了用例如所有必要資訊擴展NDU例如使得其可用作PUT節點,可例如添加另外語法元素。
在一較佳實施例中,可將新語法元素「parent_node_id_present_flag」引入至例如NDU之例如指示父節點識別符是否存在於NDU中的nnr_compressed_data_unit_header中。取決於parent_node_id_present_flag之值,可傳輸例如唯一地識別可含有當前PUT節點之父節點的另一NDU之另外新語法元素「parent_node_id」。
在另一較佳實施例中,parent_node_id可為父NDU之密碼雜湊(如例如SHA-512)。
在另一較佳實施例中,parent_node_id可為父NDU之nnr_compressed_data_unit_payload之密碼雜湊(如例如SHA-512)。
在另一較佳實施例中,parent_node_id可為表示裝置識別符及/或序列號之組合值,該裝置識別符及/或該序列號可例如均與父NDU相關聯。
在另一較佳實施例中,新語法元素「node_id」可在父節點中經編碼,以用作父節點之子節點之parent_node_id。node_id可例如為唯一識別符。
在另一較佳實施例中,語法元素「node_id」(其可例如唯一地識別節點)可由裝置識別符及/或參數更新樹深度資訊(亦即,例如關於在自當前節點至根節點行走於樹中時訪問之節點之數目的資訊)及/或參數更新樹識別符構成。
在另一較佳實施例中,可針對節點傳訊指示是否存在node_id之旗標。取決於此旗標之值,語法元素node_id可存在或不存在。
在另一較佳實施例中,新語法元素「parent_node_id_type」可指示語法元素parent_node_id為哪一類型。舉例而言,parent_node_id之可能的不同類型可如先前較佳實施例中所描述。
在另一較佳實施例中,是否傳訊語法元素parent_node_id_type可係取決於語法元素parent_node_id_present_flag之值。
2.3.1 拓樸變化傳訊(示例)
在分佈式情形中,可能有時對改變神經網路之拓樸感興趣。舉例而言,可或可以增加或減少特定層之輸出神經元的數目。
在一較佳實施例中,可在NDU內傳訊例如指示與父節點相關聯之張量之形狀是否經修改的語法元素「shape_update」。在父張量形狀經更新之情況下,可(例如使用語法元素tensor_dimensions)傳輸新張量維度。
實施方案替代例:
儘管在設備之上下文中描述一些態樣,但顯而易見的是,此等態樣亦表示對應方法的描述,其中區塊或裝置對應於方法步驟或方法步驟之特徵。類似地,方法步驟之上下文中所描述之態樣亦表示對應設備之對應區塊或項目或特徵的描述。可藉由(或使用)如例如微處理器、可規劃電腦或電子電路之硬體設備執行方法步驟中之一些或全部。在一些實施例中,可藉由此設備執行最重要方法步驟中之一或多者。
取決於某些實施要求,本發明之實施例可以硬體或以軟體實施。可使用其上儲存有與可規劃電腦系統協作(或能夠協作)之電子可讀控制信號使得進行各別方法之數位儲存媒體(例如軟碟、DVD、藍光(Blu-Ray)、CD、ROM、PROM、EPROM、EEPROM或快閃記憶體)來進行實施方案。因此,數位儲存媒體可為電腦可讀的。
根據本發明之一些實施例包含具有電子可讀控制信號之資料載體,其能夠與可規劃電腦系統協作,使得進行本文中所描述之方法中之一者。
大體而言,本發明之實施例可實施為具有程式碼之電腦程式產品,當電腦程式產品運行於電腦上時,程式碼操作性地用於進行該等方法中之一者。程式碼可例如儲存於機器可讀載體上。
其他實施例包含儲存於機器可讀載體上用以進行本文中所描述之方法中之一者的電腦程式。
換言之,因此,本發明方法之實施例為具有當電腦程式運行於電腦上時用以進行本文中所描述之方法中之一者的程式碼之電腦程式。
因此,本發明方法之另外實施例為資料載體(或數位儲存媒體,或電腦可讀媒體),該資料載體包含記錄於其上的用以進行本文中所描述之方法中之一者的電腦程式。資料載體、數位儲存媒體或記錄媒體通常為有形的及/或非暫時性的。
因此,本發明方法之另外實施例為表示用以進行本文中所描述之方法中之一者的電腦程式之資料流或信號序列。資料流或信號序列可例如經組配以經由資料通訊連接(例如經由網際網路)傳送。
另外實施例包含處理構件,例如經組配或經調適以進行本文中所描述之方法中之一者的電腦或可規劃邏輯裝置。
另外實施例包含電腦,該電腦具有安裝於其上之用以進行本文中所描述之方法中之一者的電腦程式。
根據本發明之另外實施例包含經組配以(例如電子地或光學地)將用以進行本文中所描述之方法中之一者的電腦程式傳送至接收器的設備或系統。接收器可例如為電腦、行動裝置、記憶體裝置或其類似者。設備或系統可例如包含用以將電腦程式傳送至接收器之檔案伺服器。
在一些實施例中,可規劃邏輯裝置(例如場可規劃閘陣列)可用以進行本文中所描述之方法的功能性中之一些或全部。在一些實施例中,場可規劃閘陣列可與微處理器協作,以便進行本文中所描述之方法中之一者。大體而言,該等方法較佳地藉由任何硬體設備進行。
本文中所描述之設備可使用硬體設備或使用電腦或使用硬體設備與電腦之組合來實施。
本文中所描述之設備或本文中所描述之設備的任何組件可至少部分地以硬體及/或以軟體實施。
本文中所描述之方法可使用硬體設備或使用電腦或使用硬體設備與電腦之組合來進行。
本文中所描述之方法或本文中所描述之設備的任何組件可至少部分地藉由硬體及/或藉由軟體進行。
所描述實施例僅說明本揭露內容之原理。應理解,熟習此項技術者將顯而易見對本文中所描述之配置及細節的修改及變化。因此,其僅意欲由接下來之申請專利範圍之範疇限制,而非由藉助於本文中實施例之描述及解釋所呈現的特定細節限制。
100,100b:解碼器
102,202,302,302b,402:經編碼位元流
104,104b,204,304,512,522,532,542,552,562,572,582,592,602,612,622:神經網路參數
110,110b:獲得單元
112,212,312,412,802,902:節點資訊
112b,312b:廣義節點資訊
114,214,314,414:父節點識別符資訊
116,216,316,416,536,556,566,596,606,832:參數更新資訊
120,120b:PUT資訊單元
122:參數資訊
124,132,206:PUT資訊
130,130b:導出單元
200,300,300b,400:編碼器
210:節點資訊單元
220,320,320b,420:位元流單元
310,310b,410: PUT單元
418:節點資訊區塊
500:參數更新樹
510:根節點R
520:節點U2
524,534,544,554,564:父節點識別符
530:子節點U1
536:加法張量/差異資訊
540:節點U23
550:節點U3
560:節點U4
570:節點U5
574,584,594,604,614,624:父節點資訊
576:縮放
580:節點U0
590:節點U8
600:節點U7
610:節點U6
620:節點U9
630:前一層
632,634,636,642,644,646,712:神經元
640:當前所考慮層
650,720,740:參數張量
652:第一方向
654:第二方向
660:更新張量
670:擴展更新張量
710:第一拓樸
730:第二拓樸
732:新節點
800:神經網路控制器
810:訓練單元
812:經更新神經網路參數
820:參考單元
822:參考神經網路參數
830:PUI單元
840:節點資訊提供單元
900:神經網路聯合學習控制器
910:處理單元
912:經處理資訊
920:分佈單元
1000,1100,1200,1300:方法
1010,1020:獲得
1030:導出
1110,1230:提供
1210:訓練
1220:判定
1310:接收
1320:組合
1330:分佈
1410,1420,1430:用戶端
圖式未必按比例繪製,而是通常強調說明本發明之原理。在以下描述中,參考以下圖式描述本發明之各種實施例,其中:
圖1a 展示根據本發明之實施例的解碼器之示意性視圖;
圖1b 展示根據本發明之實施例的具有廣義節點資訊之解碼器之示意性視圖;
圖2 展示根據本發明之實施例的編碼器之示意性視圖;
圖3a 展示根據本發明之實施例的另一編碼器之示意性視圖;
圖3b 展示根據本發明之實施例的具有廣義節點資訊之編碼器之示意性視圖;
圖4 展示根據本發明之實施例的另外編碼器之示意性視圖。
圖5 展示根據本發明之實施例的參數更新樹PUT之示例;
圖6 展示根據本發明之實施例的張量形狀轉換之示意性示例;
圖7 展示根據本發明之實施例的神經網路之拓樸變化之示例;
圖8 展示根據本發明之實施例的神經網路控制器之示意性視圖;
圖9 展示根據本發明之實施例的神經網路聯合學習控制器之示意性視圖;
圖10 展示根據本發明之實施例的用於解碼神經網路之參數的方法之示意性方塊圖;
圖11 展示根據本發明之實施例的用於編碼神經網路之參數以便獲得經編碼位元流的方法之示意性方塊圖;
圖12 展示根據本發明之實施例的用於控制神經網路之方法之示意性方塊圖;
圖13 展示根據本發明之實施例的用於控制神經網路聯合學習之方法之示意性方塊圖;
圖14 展示根據本發明之實施例的聯合學習情形之示例之示意性視圖;且
圖15 展示根據本發明之實施例的例如例示性參數更新樹之參數更新樹的示例之示意性視圖。
100:解碼器
102:經編碼位元流
104:神經網路參數
110:獲得單元
112:節點資訊
114:父節點識別符資訊
116:參數更新資訊
120:PUT資訊單元
122:參數資訊
124:PUT資訊
130:導出單元
Claims (89)
- 一種用於解碼一神經網路之參數之解碼器(100, 100b) 其中該解碼器經組配以基於一經編碼位元流獲得該神經網路之多個神經網路參數(104, 104b, 204, 304, 512, 522, 532, 542, 552, 562, 572, 582, 592, 602 ,612, 622, 652, 720, 740, 812); 其中該解碼器經組配以獲得描述一參數更新樹之一節點的一節點資訊(112, 112b), 其中該節點資訊包含一父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624),且 其中該節點資訊包含一參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626); 其中該解碼器經組配以使用藉由該父節點識別符識別出的一父節點之參數資訊且使用該參數更新資訊導出一或多個神經網路參數(104, 104b, 204, 304, 512, 522, 532, 542, 552, 562, 572, 582, 592, 602 ,612, 622, 652, 720, 740, 812)。
- 如請求項1之解碼器(100, 100b),其中該解碼器經組配以使用該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)修改由藉由該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)識別出的該父節點定義之一或多個神經網路參數。
- 如前述請求項中任一項之解碼器(100, 100b),其中該解碼器經組配以設置一參數更新樹(500),其中包含不同參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)之多個子節點與一共同父節點(510)相關聯。
- 如請求項3之解碼器(100, 100b),其中該解碼器經組配以使用與一當前所考慮節點相關聯之該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)、使用與一根節點(510)相關聯之一參數資訊(512)且使用與位於該更新樹中之該根節點與該當前所考慮節點之間的一或多個中間節點相關聯之參數更新資訊來獲得與該當前所考慮節點相關聯之一或多個神經網路參數。
- 如請求項3至4中任一項之解碼器(100, 100b),其中該解碼器經組配以自一根節點(510)至一當前所考慮節點遍歷該參數更新樹(500),且 其中該解碼器經組配以將所訪問節點之更新指令應用於一或多個初始神經網路參數,以便獲得與該當前所考慮節點相關聯之一或多個神經網路參數。
- 如請求項3至5中任一項之解碼器(100, 100b),其中該解碼器經組配以彙總 該參數更新樹之多個連續節點(520, 550)及/或 該參數更新樹之一或多個連續節點(520, 550)及該參數更新資訊。
- 如請求項3至6中任一項之解碼器(100, 100b),其中該解碼器經組配以基於該節點資訊(112, 112b)更新該參數更新樹(500)。
- 如前述請求項中任一項之解碼器(100, 100b),其中該解碼器經組配以決定挑選與一根節點(510)相關聯之神經網路參數(512)或挑選與該根節點之後代節點中之一者相關聯之神經網路參數。
- 如前述請求項中任一項之解碼器(100, 100b),其中該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令(576),該更新指令定義與一當前所考慮節點(570)之一父節點(530)相關聯之一或多個參數值(532)之一縮放;且 其中該解碼器經組配以應用由該更新指令(576)定義之一縮放,以便獲得與該當前所考慮節點相關聯之一或多個神經網路參數(572)。
- 如前述請求項中任一項之解碼器(100, 100b), 其中與一當前所考慮節點相關聯之多個神經網路參數由一參數張量表示,且 其中該解碼器經組配以將一乘積張量(596)應用於一參數張量(542),以便獲得與該當前所考慮節點相關聯之該參數張量(592)。
- 如前述請求項中任一項之解碼器(100, 100b), 其中與一父節點相關聯之多個神經網路參數由一參數張量表示,且 其中該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一乘積張量且 其中該解碼器經組配以將該乘積張量應用於該父節點之該參數張量,以便獲得與該當前所考慮節點相關聯之一參數張量。
- 如前述請求項中任一項之解碼器(100, 100b),其中該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令(526, 536, 546, 556, 566, 586),該更新指令定義將一或多個變化值添至與一當前所考慮節點之一父節點相關聯之一或多個參數值之一加法及/或將一或多個變化值從與一當前所考慮節點之一父節點相關聯之一或多個參數值去除之一減法;且 其中該解碼器經組配以應用由該更新指令定義之該等變化值之一加法或減法,以便獲得與該當前所考慮節點相關聯之一或多個神經網路參數(522, 532, 542, 552, 562, 582)。
- 如前述請求項中任一項之解碼器(100, 100b),其中該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令,該更新指令定義與該當前所考慮節點之一父節點相關聯之一或多個參數值(582)與一或多個變化值之一加權組合(606);且 其中該解碼器經組配以應用與該當前所考慮節點之一父節點相關聯之一或多個參數值與一或多個變化值之一加權組合,以便獲得與該當前所考慮節點相關聯之一或多個神經網路參數(602)。
- 如前述請求項中任一項之解碼器(100, 100b),其中與該當前所考慮節點之一父節點相關聯之多個神經網路參數由一參數張量表示;且 其中與一當前所考慮節點相關聯之多個神經網路參數由一參數張量表示;且 其中多個變化值由一和張量表示;且 其中該解碼器經組配以將與該當前所考慮節點之該父節點相關聯之該參數張量之元素與一節點張量權重值相乘以獲得一縮放參數張量、將該和張量之元素與一和張量權重值相乘以獲得一縮放和張量,及形成該縮放參數張量之及該縮放和張量之一逐元素和以便獲得與該當前所考慮節點相關聯之該參數張量。
- 如前述請求項中任一項之解碼器(100, 100b),其中該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令(616),該更新指令定義用一或多個變化值對與該當前所考慮節點之一父節點相關聯之一或多個參數值之一替換;且 其中該解碼器經組配以用一或多個替換值替換與該當前所考慮節點(610)之一父節點(530)相關聯之一或多個參數值,以便獲得與該當前所考慮節點相關聯之一或多個神經網路參數(612)。
- 如前述請求項中任一項之解碼器(100, 100b),其中與該當前所考慮節點之一父節點相關聯之多個神經網路參數由一參數張量表示;且 其中該參數更新資訊(116, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含呈一更新張量形式之一更新指令(660);且 其中該解碼器經組配以根據該父節點之該參數張量之形狀來轉換該更新張量之形狀。
- 如請求項16之解碼器(100, 100b), 其中沿著一第一方向(652)配置之該參數張量之張量元素與該神經網路之一前一層(630)的多個神經元(632, 634, 636)之輸出信號對該神經網路之一當前所考慮層(640)的一給定神經元(642)之一輸入信號的貢獻相關聯,且 其中沿著一第二方向(654)配置之該參數張量之張量元素與該神經網路之一前一層(630)的一給定神經元(634)之一輸出信號對該神經網路之一當前所考慮層(640)的多個神經元(642, 644, 646)之輸入信號的貢獻相關聯,且 其中該解碼器經組配以在該更新張量在該第一方向上之擴展小於該參數張量在該第一方向上之一維度之情況下,擴展該更新張量在該第一方向上之維度;及/或 其中該解碼器經組配以在該更新張量在該第二方向上之擴展小於該參數張量在該第二方向上之一維度之情況下,擴展該更新張量在該第二方向上之維度。
- 如請求項16或請求項17之解碼器(100, 100b), 其中該解碼器經組配以在該更新張量之一數目或列小於該參數張量之一列數目之情況下,拷貝該更新張量(660)之一列之條目,以獲得一形狀轉換更新張量(670)之一或多個擴展列之條目;及/或 其中該解碼器經組配以在該更新張量之一數目或行小於該參數張量之一行數目之情況下,拷貝該更新張量(660)之一行之條目,以獲得一形狀轉換更新張量(670)之一或多個擴展行之條目。
- 如請求項16至18中任一項之解碼器(100, 100b), 其中該解碼器經組配以在一列方向上及在一行方向上拷貝一更新張量(660)之一或多個條目,以獲得一形狀轉換更新張量(670)之條目。
- 如請求項16至19中任一項之解碼器(100, 100b), 其中該解碼器經組配以取決於關於該更新張量之一擴展的一資訊而判定對轉換該更新張量之該形狀的一需要,及/或該更新張量之該形狀之一轉換的一程度。
- 如前述請求項中任一項之解碼器(100, 100b),其中該解碼器經組配以判定是否存在一父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624);且 其中該解碼器經組配以在該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)存在之情況下導出如前述請求項中任一項之一或多個神經網路參數,且 其中該解碼器經組配以在該父節點識別符不存在之情況下使該當前所考慮節點成為該根節點(510)。
- 如前述請求項中任一項之解碼器(100, 100b),其中該解碼器經組配以將該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)跟與一或多個節點相關聯之雜湊值做比較,以識別該當前所考慮節點之該父節點。
- 如請求項22之解碼器(100, 100b),其中該等雜湊值為與一或多個先前經解碼節點相關聯之一完全經壓縮資料單元NDU之雜湊值。
- 如請求項22或23中任一項之解碼器(100, 100b),其中該等雜湊值為與一或多個先前經解碼節點相關聯之一經壓縮資料單元NDU的一酬載部分之雜湊值,而不考慮一資料大小資訊及一標頭資訊。
- 如請求項22至24中任一項之解碼器(100, 100b),其中該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)為表示一裝置識別符及一序列號之一組合值,該裝置識別符及該序列號均與該父節點相關聯。
- 如請求項1至25中任一項之解碼器(100, 100b), 其中該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)識別一更新樹(500)及/或該神經網路之一層。
- 如請求項1至26中任一項之解碼器(100, 100b), 其中該節點資訊(112, 112b)包含一節點識別符。
- 如請求項1至27中任一項之解碼器(100, 100b), 其中該解碼器經組配以儲存該節點識別符。
- 如請求項1至28中任一項之解碼器(100, 100b), 其中該解碼器經組配以在添加一新節點時將一或多個所儲存節點識別符與該新節點之一節點資訊(112, 112b)中之一父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)做比較,以便識別該新節點之一父節點。
- 如請求項1至29中任一項之解碼器(100, 100b), 其中該節點識別符識別與該節點資訊相關聯之一更新樹(500);及/或 其中該節點識別符識別與該節點資訊相關之該神經網路之一層。
- 如請求項1至30中任一項之解碼器(100, 100b), 其中該節點識別符包含一裝置識別符及/或一參數更新樹深度資訊及/或一參數更新樹識別符。
- 如請求項1至31中任一項之解碼器(100, 100b), 其中該節點資訊(112, 112b)包含指示是否存在一節點識別符之一傳訊。
- 如請求項21至32中任一項之解碼器(100, 100b),其中該解碼器經組配以獲得包含關於該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)之類型的一資訊之一傳訊(202, 302, 302b),且其中該解碼器經組配以評估該傳訊以便考慮該父節點識別符之各別類型。
- 如請求項1至33中任一項之解碼器(100, 100b),其中該解碼器經組配以取決於指示該父節點識別符(114, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)之該存在的一語法元素而選擇性地評估指示該父節點識別符之一類型的一語法元素。
- 如前述請求項中任一項之解碼器(100, 100b),其中該解碼器經組配以獲得該節點資訊內之一拓樸變化傳訊,該拓樸變化傳訊包含關於該神經網路之一拓樸變化的一資訊,且 其中該解碼器經組配以根據該拓樸變化修改該父節點之該參數資訊以便導出具有經修改拓樸之該神經網路之一或多個神經網路參數。
- 如前述請求項中任一項之解碼器(100, 100b) 其中該解碼器經組配以回應於一拓樸變化資訊而改變一或二個張量之一形狀。
- 如請求項36之解碼器(100, 100b), 其中該解碼器經組配以回應於該拓樸變化資訊而改變給定層之一神經元數目。
- 如請求項36或37之解碼器(100, 100b), 其中該解碼器經組配以用一或多個替換值替換與該當前所考慮節點之一父節點相關聯之形狀待改變之一或多個張量之一或多個張量值,以便獲得具有一經修改大小之一或多個張量,或 其中該解碼器經組配以用一或多個替換張量替換與該當前所考慮節點之一父節點相關聯之形狀待改變之一或多個張量,以便獲得具有一經修改大小之一或多個張量。
- 如請求項36至38之解碼器(100, 100b), 其中該解碼器經組配以回應於該拓樸變化傳訊而以一同步方式改變與該神經網路之相鄰層相關聯之二個更新樹中之二個張量之形狀。
- 一種用於編碼一神經網路之參數以便獲得一經編碼位元流之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以提供描述一參數更新樹(500)之一節點的一節點資訊(212, 312, 312b, 412), 其中該節點資訊包含一父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624),且 其中該節點資訊包含一參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626); 其中該參數更新資訊描述與由該父節點識別符定義之一父節點相關聯之神經網路參數與當前神經網路參數之間的差異。
- 如請求項40之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以判定由藉由該父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)識別出的該父節點定義之一或多個神經網路參數與一或多個當前神經網路參數之間的差異,以便獲得該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)。
- 如請求項40至41中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以設置一參數更新樹(500),其中包含不同參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)之多個子節點與一共同父節點(510)相關聯。
- 如請求項40至42中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以提供該節點資訊(212, 312, 312b, 412),使得有可能使用與一當前所考慮節點相關聯之該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)、使用與一根節點(510)相關聯之一參數資訊且使用與位於該更新樹中之該根節點與該當前所考慮節點之間的一或多個中間節點相關聯之參數更新資訊來獲得與該當前所考慮節點相關聯之一或多個神經網路參數。
- 如請求項40至43中任一項之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以提供多個節點資訊區塊(418), 其中一第一節點資訊區塊之一父節點識別符(524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)係指一根節點,且其中該第一節點之一參數更新資訊(526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)描述與由該第一節點資訊區塊之該父節點識別符定義之該根節點(510)相關聯之神經網路參數(512)與該第一節點之神經網路參數之間的差異,且 其中一第N節點資訊區塊之一父節點識別符係指一第N-1節點,且其中該第N節點之一參數更新資訊描述與由該第N節點資訊區塊之該父節點識別符定義之該第N-1節點相關聯之神經網路參數與該第N節點之神經網路參數之間的差異。
- 如請求項40至44中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以將一傳訊(202, 302, 302b)提供至一解碼器,以選擇性地挑選與一根節點(510)相關聯之神經網路參數(512)或與該根節點之後代節點中之一者相關聯之神經網路參數。
- 如請求項40至45中任一項之編碼器(200, 300, 300b, 400),其中該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令(576),該更新指令定義與一當前所考慮節點(570)之一父節點(530)相關聯之一或多個參數值(532)之一縮放;且 其中該編碼器經組配以基於與該當前所考慮節點之一父節點相關聯之一或多個參數值(532)及一當前所考慮節點之參數值(572)判定該縮放。
- 如請求項40至46中任一項之編碼器(200, 300, 300b, 400),其中與一當前所考慮節點相關聯之多個神經網路參數由一參數張量表示,且 其中該編碼器經組配以提供一乘積張量(596)以應用於一參數張量(542),以便獲得與該當前所考慮節點相關聯之該參數張量(592)。
- 如請求項40至47中任一項之編碼器(200, 300, 300b, 400), 其中與一父節點相關聯之多個神經網路參數由一參數張量表示,且 其中該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一乘積張量, 其中該編碼器經組配來以下述之一方式提供該乘積張量,即將該乘積張量應用於該父節點之該參數張量,產生與該當前所考慮節點相關聯之一參數張量。
- 如請求項40至48中任一項之編碼器(200, 300, 300b, 400), 其中該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令(526, 536, 546, 556, 566, 586),該更新指令定義將一或多個變化值添至與一當前所考慮節點之一父節點相關聯之一或多個參數值之一加法及/或將一或多個變化值從與一當前所考慮節點之一父節點相關聯之一或多個參數值去除之一減法。
- 如請求項40至49中任一項之編碼器(200, 300, 300b, 400),其中該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令,該更新指令定義與該當前所考慮節點(602)之一父節點(580)相關聯之一或多個參數值(582)與一或多個變化值之一加權組合(606)。
- 如請求項40至50中任一項之編碼器(200, 300, 300b, 400),其中與該當前所考慮節點之一父節點相關聯之多個神經網路參數由一參數張量表示;且 其中與一當前所考慮節點相關聯之多個神經網路參數由一參數張量表示;且 其中多個變化值由一和張量表示。
- 如請求項40至51中任一項之編碼器(200, 300, 300b, 400),其中該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含一更新指令(616),該更新指令定義用一或多個變化值對與該當前所考慮節點(610)之一父節點(530)相關聯之一或多個參數值之一替換。
- 如請求項40至52中任一項之編碼器(200, 300, 300b, 400), 其中與該當前所考慮節點之一父節點相關聯之多個神經網路參數由一參數張量表示;且 其中該參數更新資訊(216, 316, 416, 526, 536, 546, 556, 566, 576, 586, 596, 606, 616, 626)包含呈一更新張量形式之一更新指令;且 其中該編碼器經組配以提供該更新張量(660),使得該更新張量之一形狀不同於該父節點之該參數張量之一形狀。
- 如請求項53之編碼器(200, 300, 300b, 400), 其中沿著一第一方向(652)配置之該參數張量之張量元素與該神經網路之一前一層(630)的多個神經元(632, 634, 636)之輸出信號對該神經網路之一當前所考慮層(640)的一給定神經元(642)之一輸入信號的貢獻相關聯,且 其中沿著一第二方向(654)配置之該參數張量之張量元素與該神經網路之一前一層(630)的一給定神經元(634)之一輸出信號對該神經網路之一當前所考慮層(640)的多個神經元(642, 644, 646)之輸入信號的貢獻相關聯,且 其中該編碼器經組配以提供該更新張量,使得該更新張量在該第一方向(例如一列方向)上之該擴展小於該參數張量在該第一方向上之一維度,及/或 其中該編碼器經組配以提供該更新張量,使得該更新張量在該第二方向(例如一行方向)上之該擴展小於該參數張量在該第二方向上之一維度。
- 如請求項53或請求項54之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以提供該更新張量(660),使得該更新張量之一列數目小於該參數張量之一列數目;及/或 其中該編碼器經組配以提供該更新張量,使得該更新張量之一行數目小於該參數張量之一行數目。
- 如請求項53至55中任一項之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以提供關於該更新張量(660)之一擴展的一資訊。
- 如請求項40至56中任一項之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以提供一傳訊(202, 302, 302b),該傳訊包含是否存在一父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)之一資訊。
- 如請求項40至57中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以提供與一節點相關聯之一雜湊值作為該父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624),以識別該當前所考慮節點之該父節點。
- 如請求項58之編碼器(200, 300, 300b, 400),其中該雜湊值為與一或多個先前經編碼節點相關聯之一完全經壓縮資料單元之一雜湊值。
- 如請求項58或59中任一項之編碼器(200, 300, 300b, 400),其中該雜湊值為與一或多個先前經編碼節點相關聯之一經壓縮資料單元的一酬載部分之一雜湊值,而不考慮一資料大小資訊及一標頭資訊。
- 如請求項58至60中任一項之編碼器(200, 300, 300b, 400),其中該父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)為表示一裝置識別符及一序列號之一組合值,該裝置識別符及該序列號均與該父節點相關聯。
- 如請求項40至61中任一項之編碼器(200, 300, 300b, 400), 其中父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)識別一更新樹(500)及/或該神經網路之一層。
- 如請求項40至62中任一項之編碼器(200, 300, 300b, 400), 其中該節點資訊(212, 312, 312b, 412)包含一節點識別符。
- 如請求項40至63中任一項之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以儲存該節點識別符。
- 如請求項40至64中任一項之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以在添加一新節點時將一或多個所儲存節點識別符與該新節點之一節點資訊(212, 312, 312b, 412)中之一父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)做比較,以便識別該新節點之一父節點。
- 如請求項40至65中任一項之編碼器(200, 300, 300b, 400), 其中節點識別符識別與該節點資訊(212, 312, 312b, 412)相關聯之一更新樹(500);及/或 其中該節點識別符識別與該節點資訊相關之該神經網路之一層。
- 如請求項40至66中任一項之編碼器(200, 300, 300b, 400), 其中該節點識別符包含一裝置識別符及/或一參數更新樹深度資訊及/或一參數更新樹識別符。
- 如請求項40至67中任一項之編碼器(200, 300, 300b, 400), 其中該節點資訊(212, 312, 312b, 412)包含指示是否存在一節點識別符之一傳訊。
- 如請求項40至67中任一項之編碼器(200, 300, 300b, 400), 其中該父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)為表示一裝置識別符及一序列號之一組合值,該裝置識別符及該序列號均與該父節點相關聯。
- 如請求項40至61中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以提供一傳訊(202, 302, 302b),該傳訊包含關於該父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)之類型的一資訊。
- 如請求項40至70中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以在存在描述該父節點識別符(214, 314, 524, 534, 544, 554, 564, 574, 584, 594, 604, 614, 624)之一語法元素之情況下選擇性地提供指示該父節點識別符之一類型的一語法元素。
- 如請求項40至70中任一項之編碼器(200, 300, 300b, 400),其中該編碼器經組配以提供該節點資訊(212, 312, 312b, 412)內之一拓樸變化傳訊,該拓樸變化傳訊包含關於該神經網路之一拓樸變化的一資訊。
- 如請求項40至72中任一項之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以傳訊一或二個張量之一形狀之一變化,連同一拓樸變化之一傳訊。
- 如請求項73之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以使用該拓樸變化資訊來傳訊給定層之一神經元數目之一變化。
- 如請求項73或74之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以傳訊用一或多個替換值對與該當前所考慮節點之一父節點相關聯之形狀待改變之一或多個張量之一或多個張量值的一替換,或 其中該編碼器經組配以傳訊用一或多個替換張量對與該當前所考慮節點之一父節點相關聯之形狀待改變之一或多個張量之一替換。
- 如請求項73至75之編碼器(200, 300, 300b, 400), 其中該編碼器經組配以使用該拓樸變化傳訊以一同步方式傳訊與該神經網路之相鄰層相關聯之二個更新樹中之二個張量的形狀之一變化。
- 一種神經網路控制器(800), 其中該神經網路控制器經組配以訓練一神經網路,以基於初始神經網路參數獲得經更新神經網路參數(812),且 其中該神經網路控制器經組配以基於參考神經網路參數(822)及該經更新神經網路參數判定一參數更新資訊(832), 其中該參數更新資訊包含描述如何自該等初始神經網路參數至少近似地導出該經更新神經網路參數之一或多個更新指令,且 其中該神經網路控制器經組配以提供一節點資訊(112, 112b, 212, 312, 312b, 412, 802),該節點資訊包含一父節點識別符及該參數更新資訊, 其中該父節點識別符定義一父附註,該父附註之參數資訊充當該參數更新資訊之該應用的一起點。
- 如請求項77之神經網路控制器(800), 其中該神經網路控制器包含如請求項40至76中任一項之編碼器(200, 300, 300b, 400);或 其中該神經網路控制器包含如請求項40至76中任一項之編碼器之任何功能性或功能性之組合。
- 一種神經網路聯合學習控制器(900), 其中該神經網路聯合學習控制器經組配以接收多個神經網路之節點資訊(112, 112b, 212, 312, 312b, 412, 802, 902),其中該節點資訊包含一父節點識別符,且 其中該節點資訊包含一參數更新資訊;且 其中該神經網路聯合學習控制器經組配以組合不同神經網路之若干對應節點之參數更新資訊,以獲得一組合參數更新資訊(912),且 其中該神經網路聯合學習控制器經組配以分佈該組合參數更新資訊。
- 如請求項79之神經網路聯合學習控制器(900), 其中該神經網路聯合學習控制器經組配以組合不同神經網路之具有相等父節點識別符的若干對應節點之參數更新資訊,以獲得一組合參數更新資訊。
- 如請求項79至80中任一項之神經網路聯合學習控制器(900), 其中該神經網路聯合學習控制器經組配以將與該父節點識別符相關聯之一父節點之參數資訊分佈至多個解碼器;且 其中該神經網路聯合學習控制器經組配以自該等解碼器接收包含該父節點識別符之節點資訊,且 其中該神經網路聯合學習控制器經組配以組合具有該父節點識別符之若干對應節點之參數更新資訊。
- 如請求項81之神經網路聯合學習控制器(900), 其中該神經網路聯合學習控制器經組配以提供描述一參數更新樹之一組合節點資訊的一節點資訊, 其中該組合節點資訊包含該父節點識別符,且 其中該組合節點資訊包含該組合參數更新資訊。
- 如請求項79至82中任一項之神經網路聯合學習控制器(900), 其中該神經網路聯合學習控制器包含如請求項40至72中任一項之編碼器(200, 300, 300b, 400);或 其中該神經網路聯合學習控制器包含如請求項40至72中任一項之編碼器之任何功能性或功能性之組合。
- 一種用於解碼一神經網路之參數之方法(1000),該方法包含 基於一經編碼位元流獲得(1010)該神經網路之多個神經網路參數; 獲得(1020)描述一參數更新樹之一節點的一節點資訊, 其中該節點資訊包含一父節點識別符,且 其中該節點資訊包含一參數更新資訊;及 使用藉由該父節點識別符識別出的一父節點之參數資訊及使用該參數更新資訊導出(1030)一或多個神經網路參數。
- 一種用於編碼一神經網路之參數以便獲得一經編碼位元流之方法(1100),該方法包含 提供(1110)描述一參數更新樹之一節點的一節點資訊, 其中該節點資訊包含一父節點識別符,且 其中該節點資訊包含一參數更新資訊; 其中該參數更新資訊描述與由該父節點識別符定義之一父節點相關聯之神經網路參數與當前神經網路參數之間的差異。
- 一種用於控制一神經網路之方法(1200),該方法包含 訓練(1210)一神經網路,以基於初始神經網路參數獲得經更新神經網路參數,及 基於參考神經網路參數及該經更新神經網路參數判定(1220)一參數更新資訊, 其中該參數更新資訊包含描述如何自該等初始神經網路參數至少近似地導出該經更新神經網路參數之一或多個更新指令,及 提供(1230)包含一父節點識別符及該參數更新資訊之一節點資訊, 其中該父節點識別符定義一父附註,該父附註之參數資訊充當該參數更新資訊之應用的一起點。
- 一種用於控制神經網路聯合學習之方法(1300),該方法包含 接收(1310)多個神經網路之節點資訊,其中該節點資訊包含一父節點識別符,且 其中該節點資訊包含一參數更新資訊;及 組合(1320)不同神經網路之若干對應節點之參數更新資訊,以獲得一組合參數更新資訊,及 分佈(1330)該組合參數更新資訊。
- 一種電腦程式,其用於在該電腦程式運行於一電腦上時進行如請求項84至87中任一項之方法。
- 一種神經網路參數之經編碼表示, 其中該經編碼表示包含描述一參數更新樹之一節點的一節點資訊, 其中該節點資訊包含一父節點識別符及一參數更新資訊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21169029 | 2021-04-16 | ||
EP21169029.2 | 2021-04-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202248906A true TW202248906A (zh) | 2022-12-16 |
Family
ID=75690093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111114507A TW202248906A (zh) | 2021-04-16 | 2022-04-15 | 使用節點資訊更新神經網路參數之解碼器、編碼器、控制器、方法及電腦程式 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20240046093A1 (zh) |
EP (1) | EP4324097A1 (zh) |
JP (1) | JP2024514656A (zh) |
KR (1) | KR20240004518A (zh) |
CN (1) | CN117501632A (zh) |
TW (1) | TW202248906A (zh) |
WO (1) | WO2022219158A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4390774A1 (en) * | 2022-12-21 | 2024-06-26 | Fondation B-COM | Method and device for decoding a bitstream |
CN117240305B (zh) * | 2023-11-15 | 2024-01-26 | 上海叁零肆零科技有限公司 | 一种管网拓扑数据压缩方法、装置、设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016197389A (ja) * | 2015-04-03 | 2016-11-24 | 株式会社デンソーアイティーラボラトリ | 学習システム、学習プログラムおよび学習方法 |
EP3794515A1 (en) * | 2018-05-17 | 2021-03-24 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor |
WO2020190772A1 (en) * | 2019-03-15 | 2020-09-24 | Futurewei Technologies, Inc. | Neural network model compression and optimization |
-
2022
- 2022-04-14 CN CN202280043492.5A patent/CN117501632A/zh active Pending
- 2022-04-14 KR KR1020237039207A patent/KR20240004518A/ko not_active Application Discontinuation
- 2022-04-14 JP JP2023563233A patent/JP2024514656A/ja active Pending
- 2022-04-14 WO PCT/EP2022/060122 patent/WO2022219158A1/en active Application Filing
- 2022-04-14 EP EP22723377.2A patent/EP4324097A1/en active Pending
- 2022-04-15 TW TW111114507A patent/TW202248906A/zh unknown
-
2023
- 2023-10-16 US US18/487,885 patent/US20240046093A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240046093A1 (en) | 2024-02-08 |
KR20240004518A (ko) | 2024-01-11 |
CN117501632A (zh) | 2024-02-02 |
WO2022219158A1 (en) | 2022-10-20 |
EP4324097A1 (en) | 2024-02-21 |
JP2024514656A (ja) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112424797B (zh) | 神经网络的分布式学习和/或其参数化更新的传输的概念 | |
CN102170455B (zh) | 用于在本地装置和远程装置间更新对象的方法和系统 | |
TW202248906A (zh) | 使用節點資訊更新神經網路參數之解碼器、編碼器、控制器、方法及電腦程式 | |
US11575922B2 (en) | Methods and apparatuses for hierarchically encoding and decoding a bytestream | |
CN109586896B (zh) | 一种基于哈希前缀树的数据完整性验证方法 | |
US20060224760A1 (en) | Method and system for providing streaming content in a peer-to-peer network with network coding | |
US20170155402A1 (en) | Encoder, decoder and method | |
US11520778B2 (en) | Merkle tree storage of big data | |
BR112019016230A2 (pt) | método e sistemas para a reconstrução de sequências de referência genômicas a partir de leituras de sequência genômica comprimidas | |
TW202331600A (zh) | 用於編/解碼神經網路參數之設備與方法、及相關資料串流與電腦程式 | |
KR20190040063A (ko) | 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기 | |
US11134285B2 (en) | Transmission of applications with content | |
Sattler et al. | Trends and advancements in deep neural network communication | |
CN108365962B (zh) | 一种证书吊销列表查询方法及装置 | |
JP6255496B2 (ja) | ボリュームコーホート内の小ボリュームの照合調整 | |
CN114430488A (zh) | 一种视频编码和视频解码的方法及装置 | |
JP6300293B1 (ja) | エンコード・デコード構造およびこれを用いた分散データシステム | |
Zheng et al. | Improved lossless data hiding for JPEG images based on optimized VLC mapping | |
CN111008301B (zh) | 一种以图搜视频的方法 | |
CN114221956B (zh) | 一种分布式网络的内容审查方法 | |
US20240275400A1 (en) | Event-driven data transmission using codebooks with protocol adaption | |
CN118827576A (zh) | 数据分发方法、数据溯源方法、装置和计算机设备 | |
CN114328805A (zh) | 一种文本处理方法、系统及存储介质和终端设备 | |
US20210203718A1 (en) | Encoding/decoding structure and distributed data system using the same | |
Bruccoleri | Database Streaming Compression on Memory-Limited Machines |