JP2024518718A - 更新モデルを使用して、ニューラルネットワークパラメーターを復号化する装置、方法及びコンピュータープログラム、並びにニューラルネットワークパラメーターを符号化する装置、方法及びコンピュータープログラム - Google Patents
更新モデルを使用して、ニューラルネットワークパラメーターを復号化する装置、方法及びコンピュータープログラム、並びにニューラルネットワークパラメーターを符号化する装置、方法及びコンピュータープログラム Download PDFInfo
- Publication number
- JP2024518718A JP2024518718A JP2023563318A JP2023563318A JP2024518718A JP 2024518718 A JP2024518718 A JP 2024518718A JP 2023563318 A JP2023563318 A JP 2023563318A JP 2023563318 A JP2023563318 A JP 2023563318A JP 2024518718 A JP2024518718 A JP 2024518718A
- Authority
- JP
- Japan
- Prior art keywords
- model
- neural network
- parameters
- context
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 390
- 238000000034 method Methods 0.000 title claims description 150
- 238000004590 computer program Methods 0.000 title claims description 15
- 230000004048 modification Effects 0.000 claims abstract description 62
- 238000012986 modification Methods 0.000 claims abstract description 62
- 238000013139 quantization Methods 0.000 claims description 240
- 238000003062 neural network model Methods 0.000 claims description 107
- 230000001537 neural effect Effects 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 21
- 210000002569 neuron Anatomy 0.000 claims description 13
- 230000011664 signaling Effects 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 195
- 230000008569 process Effects 0.000 description 35
- 238000012549 training Methods 0.000 description 15
- 230000001419 dependent effect Effects 0.000 description 14
- 239000013598 vector Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000012447 hatching Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000001308 synthesis method Methods 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
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000613118 Gryllus integer Species 0.000 description 1
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 1
- QMQDJVIJVPEQHE-UHFFFAOYSA-N SBMP Natural products CCC(C)C1=NC=CN=C1OC QMQDJVIJVPEQHE-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013526 transfer learning 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
-
- 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/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- 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/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stored Programmes (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本発明による実施形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置を含む。本装置は、任意選択で、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルの、パラメーターを得るように、例えば復号化するように構成されてもよい。さらに、本装置は、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正を定義する、例えばNU1~NUKのような更新モデルを、復号化するように構成され、本装置は、新たなモデル層LNkjを含む、例えば「新たなモデル」として指定されるような、更新されたモデルを得るために、更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正するように構成されている。さらに、本装置は、例えば更新モデルのパラメーターの行、若しくは列、又はブロックのようなシーケンスがゼロであるか否かを示す、例えばskip_row_flag及び/又はskip_column_flagのようなスキップ情報を評価するように構成されている。【選択図】図1
Description
本発明による実施形態は、更新モデルを使用して、ニューラルネットワークパラメーターを復号化する装置、方法及びコンピュータープログラム、並びにニューラルネットワークパラメーターを符号化する装置、方法及びコンピュータープログラムに関する。
本発明による更なる実施形態は、ニューラルネットワークの増分更新のパラメーターのエントロピー符号化の方法に関する。
ニューラルネットワーク(NN)は、多種多様な用途において使用されている。増加し続ける計算能力により、複雑さが増し、それゆえニューラルネットワークパラメーター、例えば重みの数が増加している、NNが使用され得る。
特に計算コストの高いトレーニングプロセスは、専用のトレーニング装置上で実行され得るものであり、そのため、更新されたニューラルネットワークパラメーターは、かかるトレーニングデバイスからエンドユーザデバイスに伝送される必要があることとなり得る。
さらに、NNは、複数のデバイス、例えば複数のエンドユーザデバイス上でトレーニングされ得るものであり、複数のトレーニング結果の集約されたバージョンを提供することが有利となり得る。それゆえ、それぞれのトレーニング結果は、後続する集約のために送信される必要があることとなり得るものであり、集約された更新されたパラメーターセットは、デバイスのそれぞれに再伝送され得る。
それゆえ、ニューラルネットワークパラメーターをコード化する、例えば符号化する及び/又は復号化する概念であって、該概念の効率、複雑さ及び計算コストの間で良好な妥協点を実現する、概念に対するニーズがある。
これは、本出願の独立請求項の主題によって達成される。
本発明による更なる実施の形態は、本出願の従属請求項の主題によって定義される。
本発明による実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置を含む。本装置は、任意選択で、ニューラルネットワークの、1つ以上の層、例えばベース層を定義する、ニューラルネットワークのベースモデル、例えばNBのパラメーターを得るように、例えば復号化するように構成されてもよい。
さらに、本装置は、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正を定義する、例えばNU1~NUKのような更新モデルを、復号化するように構成され、本装置は、新たなモデル層LNkjを含む、例えば「新たなモデル」として指定されるような、更新されたモデルを得るために、更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正するように構成されている。
さらに、本装置は、更新モデルのパラメーターの、例えば行、若しくは列、又はブロックのようなシーケンスが、ゼロであるか否かを示す、例えばskip_row_flag及び/又はskip_column_flagのようなスキップ情報を評価するように構成されている。
本発明者らは、ニューラルネットワークパラメーターは、ベースモデル及び更新モデルを使用して効率的に伝送することができることを認識した。ニューラルネットワークのトレーニングにおいては、ニューラルネットワークパラメーターの一部のみが、例えばデフォルトパラメーター又は初期パラメーターのようなベースパラメーターと比較して、著しく変更され得る。それゆえ、本発明者らは、例えば更新モデルの形態をとる修正情報のような、変更情報のみを伝送することが有利となり得ることを認識した。一例として、ベースモデルはデコーダーに記憶することができ、それにより伝送を必要なくできる。一方、かかるベースモデルは、例えば一度だけ伝送されるものとすることができる。
さらに、本発明者らは、かかる更新モデルの手法は、スキップ情報を使用することによって更に改善することができることを認識した。スキップ情報は、モデル内の情報分布に関する更新モデルの構造についての情報を含むことができる。それゆえ、スキップ情報は、更新モデルのパラメーターの或る特定のシーケンスが更新情報を含まないこと、換言すればゼロであることを示すことができる。それゆえ、かかるパラメーターのシーケンスの代わりに、スキップ情報しか伝送される必要がないものとすることができる。
さらに、スキップ情報に基づいて、デコーダーにおいて、かかるパラメーターの評価及び適用(例えばベースモデルへの適用)をスキップすることができる。
これに加えて、ベースモデル及び更新モデルは、ニューラルネットワーク全体の若しくはその層の、又はニューラルネットワークのニューラルネットワークパラメーターの他のサブセット又は一部の、ニューラルネットワークパラメーターに対処することができることは、留意されるべきである。
本発明の更なる実施の形態によれば、更新モデルは、差分値を記述し、本装置は、更新されたモデルのパラメーターの、例えば対応する値を得るために、差分値をベースモデルのパラメーターの値と加算的に又は減算的に組み合わせるように構成されている。
本発明者らは、加法的な又は減法的な修正情報が、効果的なパラメーター更新、更には計算コストの低いパラメーターの適応を可能にすることができることを認識した。
本発明の更なる実施の形態によれば、本装置は、ニューラルネットワークのj番目の層に関連付けられた差分値又は差分テンソルLUk,jを、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjと、LNkj=LBj+LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従って組み合わせ、それにより、ニューラルネットワークのモデルインデックスkを有する更新されたモデルのj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjを得るように構成され、ここで、例えば、「+」は、2つのテンソル間の要素毎の加法演算を定義してもよい。
本発明者らは、ニューラルネットワークパラメーターは、例えば、テンソルを使用して効率的に表現することができることを認識した。さらに、本発明者らは、テンソルの形態をとる更新情報とベース情報との組み合わせを、計算コストの低い態様で実行することができることを認識した。
本発明の更なる実施の形態によれば、更新モデルは、スケーリング因子値を記述し、本装置は、更新されたモデルのパラメーターの、例えば対応する値を得るために、スケーリング因子値を使用して、ベースモデルのパラメーターの値をスケーリングするように構成されている。
本発明者らは、スケーリング因子を使用することが、少ないビット数でパラメーター更新を表すことを可能にし、それにより、かかる情報を少ない伝送リソースを用いて伝送することができることを認識した。さらに、スケーリング因子の適用は、低い計算コストで実行することができる。
本発明の更なる実施の形態によれば、本装置は、ニューラルネットワークのj番目の層に関連付けられたスケーリング値又はスケーリングテンソルLUk,jを、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjと、LNkj=LBj・LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従って組み合わせ、それにより、ニューラルネットワークのモデルインデックスkを有する更新されたモデルのj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjを得るように構成され、ここで、例えば、「・」は、2つのテンソル間の要素毎の乗法演算を定義してもよい。
本発明者らは、テンソルと乗法スケーリングとの組み合わせが、効率的なニューラルネットワークパラメーター更新を可能にすることができることを認識した。
本発明の更なる実施の形態によれば、更新モデルは、置換値を記述し、本装置は、更新されたモデルのパラメーターの、例えば対応する値を得るために、置換値を使用して、ベースモデルのパラメーターの値を置換するように構成されている。
本発明者らは、いくつかの場合においては、パラメーターの更新を表すために、例えば、加法的な又は乗法的な修正の代わりに、ベースモデルの値を更新モデルからの値で置換することが、より効率的となり得ることを認識した。
本発明の更なる実施の形態によれば、ニューラルネットワークパラメーターは、ニューロンから発生する、又はニューロンに向かってつながる、ニューロン相互接続の重みを定義する重み値を含む。
それゆえ、NNの重み値を、効率的に復号化することができる。
本発明の更なる実施の形態によれば、ニューラルネットワークパラメーターのシーケンスは、例えば2次元行列又は更にはより高次元の行列のような、行列の行又は列に関連付けられた重み値を含む。
本発明者らは、ニューラルネットワークパラメーターのシーケンスの行毎の又は列毎の配置が、シーケンスの、例えば行列のスキャンを含む、効率的な処理を可能にすることができることを認識した。
本発明の更なる実施の形態によれば、スキップ情報は、更新モデルのパラメーターの、例えば行のようなシーケンスの、全てのパラメーターがゼロであるか否かを、例えば単一のビットを使用して示す、フラグを含む。
本発明者らは、ニューラルネットワークパラメーターのシーケンス専用のフラグが、対応するシーケンスを効率的に取り扱う方法についての、デコーダーによる個別の評価を可能にすることができることを認識した。一例として、フラグが更新モデルの対応するパラメーターがゼロであることを示す場合、かかるシーケンスの処理はスキップされてもよい。
それゆえ、本発明の更なる実施の形態によれば、本装置は、スキップ情報に依存して、更新モデルのパラメーターの、例えば行のようなシーケンスの復号化を選択的にスキップするように構成されている。
本発明の更なる実施の形態によれば、本装置は、スキップ情報に依存して、更新モデルのパラメーターのシーケンスの値を、例えばゼロのような所定の値に選択的に設定するように構成されている。
一例として、パラメーターのシーケンスの代わりに、スキップ情報のみがデコーダーに伝送されてもよい。スキップ情報に基づいて、デコーダーは、シーケンスのニューラルネットワークパラメーターが所定の値を有することを結論付けてもよく、それゆえ、これらの値を再構築してもよい。
本発明の更なる実施の形態によれば、スキップ情報は、例えば単一のビットを使用して、更新モデルのパラメーターの、例えば行のようなそれぞれのシーケンスの全てのパラメーターがゼロであるか否かを示す、スキップフラグのアレイを含み、例えば、各フラグは、更新モデルのパラメーターの1つのシーケンスに関連付けられたものであってもよい。
本発明者らは、スキップフラグのアレイを使用することが、更新モデルのニューラルネットワークパラメーターの複数のシーケンスに対処するコンパクトな情報を提供することを可能にすることができることを認識した。
それゆえ、本発明の更なる実施の形態によれば、本装置は、パラメーターのそれぞれのシーケンスに関連付けられたそれぞれのスキップフラグに依存して、更新モデルのパラメーターの、例えば行のような複数のそれぞれのシーケンスの(又は例えば1つのそれぞれのシーケンスの)復号化を、選択的にスキップするように構成されている。
本発明の更なる実施の形態によれば、本装置は、スキップフラグのアレイのエントリの数を記述する、例えばNのようなアレイサイズ情報を評価し、例えば復号化し、使用するように構成されている。このことは、良好な柔軟性及び良好な効率を提供することができる。
本発明の更なる実施の形態によれば、本装置は、コンテキストモデルを使用して1つ以上のスキップフラグを復号化するように構成され、本装置は、例えば1つ以上の以前に復号化されたスキップフラグに依存してのように、1つ以上の以前に復号化されたシンボルに依存して、1つ以上のスキップフラグの復号化のためのコンテキストモデルを選択するように構成されている。
本発明者らは、コンテキストモデルを使用することが、スキップフラグを効率的に符号化し、それに対応して復号化することを可能にすることができることを認識した。
本発明の更なる実施の形態によれば、本装置は、ニューラルネットワークの層に関連付けられた全てのスキップフラグの復号化のために単一のコンテキストモデルを適用するように構成されている。
このことは、低い計算労力でのスキップフラグの単純な復号化を可能にすることができる。
本発明の更なる実施の形態によれば、本装置は、以前に復号化されたスキップフラグに依存して、スキップフラグの復号化のためのコンテキストモデルを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明者らは、コード化効率の向上のために、対応するスキップフラグ間の相関を、コンテキストモデルの選択によって利用することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に復号化された更新モデル又は以前に復号化されたベースモデルのような、以前に復号化されたニューラルネットワークモデルにおける、対応する(例えば、現在考慮されているスキップフラグが関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)スキップフラグの値に依存して、スキップフラグの復号化のためのコンテキストモデルを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明者らは、スキップフラグの復号化のために、コンテキストモデルをそれに応じて選択することによって、以前に復号化されたニューラルネットワークの対応するスキップフラグとの相関を利用することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に復号化された更新モデル又は以前に復号化されたベースモデルのような、以前に復号化されたニューラルネットワークモデルにおける、対応する(例えば、現在考慮されているスキップフラグが関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)スキップフラグの値に依存して、スキップフラグの復号化のための選択可能なコンテキストモデルのセットを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明者らは、コード化効率を向上させるために、コンテキストモデルのセットを、スキップフラグを復号化し、それに応じて符号化するために使用できることを認識した。さらに、本発明者らは、以前に復号化されたニューラルネットワークモデルと現在復号化されているニューラルネットワークモデルとの間の相関を、かかるコンテキストモデルのセットの選択のために利用することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、例えば以前に復号化された更新モデル又は以前に復号化されたベースモデルにおけるような、以前に復号化されたニューラルネットワークモデルにおける、対応する層の存在に依存して、スキップフラグの復号化のための選択可能なコンテキストモデルのセットを、例えば2つのコンテキストモデルのセットの中から、選択するように構成され、ここで、任意選択で、以前に復号化されたニューラルネットワークモデルは、或る特定の層を含まないが、この或る特定の層は、現在考慮されている層に存在し得るものとすることができる。このことは例えば、例えば層を追加することによって、ニューラルネットワークのトポロジーが変更される場合に成り立ち得る。このことはまた例えば、ニューラルネットワークの或る特定の層が以前の更新においては変更されず、そのため、この或る特定の層に関する情報が以前の更新に含まれていない場合に成り立ち得る。
一例として、デコーダーは、対応するスキップフラグ間の相関が存在するか否かを評価するように構成されてもよい。対応する層の欠如は、以前に復号化されたニューラルネットワークモデルにおいて、現在の復号化されるべきスキップフラグに対応し得るスキップフラグがないことを示し得る。それゆえ、この情報は、コンテキストモデルのセットの選択のために使用することができる。
本発明の更なる実施の形態によれば、本装置は、現在復号化されている更新モデルの、例えば1つ以上の以前に復号化されたスキップフラグに依存してのように、1つ以上の以前に復号化されたシンボルに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選択するように構成されている。
それゆえ、実施の形態によれば、いくつかの決定、及びそれゆえ自由度を組み込むことができることは、留意されるべきである。以前に復号化されたニューラルネットワークモデルと、現在復号化されているモデルとの間、更には、現在復号化されている更新モデルの以前に復号化されたシンボルと、現在復号化されているシンボルとの間の情報の相関が、利用されてもよい。それゆえ、これらの相関は、最初にコンテキストモデルのセットを選択し、次いでコンテキストモデルのセットの中からコンテキストモデルを選択し、それゆえ現在のシンボルを復号化するために、使用することができる。本発明者らは、簡単に言えば、コード化効率を向上させるために、情報相関のいくつかの層を利用することができることを認識した。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置を含む。任意選択で、本装置は、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルのパラメーターを得るように、例えば復号化するように構成されてもよい。
さらに、本装置は、例えばLB,jのようなニューラルネットワークの、例えばベース層のような1つ以上の層の修正、又は、1つ以上の中間層の若しくはニューラルネットワークの、例えばLUK-1,jの修正を定義する、例えばNU1又はNUKのような現在の更新モデルを復号化するように構成されている。
さらに、本装置は、例えば新たなモデル層LN1,j又はLNK,jを含む「新たなモデル」として指定されるような、更新されたモデルを得るために、例えばNU1又はNUKのような現在の更新モデルを使用して、例えばLB,jのパラメーターのようなニューラルネットワークのベースモデルのパラメーター、又は例えばNU1~NUK-1を使用してのように、1つ以上の中間更新モデルを使用して、ニューラルネットワークのベースモデルから導出された、例えばLUK-1,jのパラメーターのような中間パラメーターを修正するように構成されている。
これに加えて、本装置は、現在の更新モデルの1つ以上のパラメーターを、例えばコンテキスト適応型二値算術コード化を使用して、エントロピー復号化するように構成され、本装置は、例えば、現在の更新モデルとベースモデルとの間の相関、及び/又は現在の更新モデルと中間更新モデルとの間の相関を利用するために、ベースモデルの1つ以上の以前に復号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ以上の以前に復号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー復号化のために使用されるコンテキストを適応させるように構成されている。
本発明者らは、例えばベースモデル又は中間モデルのような、以前に復号化されたニューラルネットワークモデルと、現在復号化されているニューラルネットワークモデルである現在の更新モデルとの間の相関が、現在の更新モデルの1つ以上のパラメーターのエントロピー復号化のために使用される、コンテキストモデルの適応のために利用することができることを認識した。
一例として、ニューラルネットワークの反復トレーニング手順においては、ベースモデル(例えばデフォルトニューラルネットワークパラメーター又は初期ニューラルネットワークパラメーターを含むか又はそれに関連付けられる)に基づいて、例えば各トレーニングの後に、更新された、例えば改善されたモデルを得ることができる。本発明者らは、例えばトレーニングサイクルの間に、ニューラルネットワークパラメーターの変更又は改変を相関付けることができることを認識した。先行するトレーニング及び後続するトレーニングを通じて、相関付けることができるニューラルネットワークパラメーターのいくつかのセットがあり得る。それゆえ、かかる相関を利用することによって、コード化効率を改善することができる。中間モデルは、例えば初期のモデルのようなベースモデルと、例えば直近のトレーニングサイクルに関連付けられた現在のモデルとの間の、更新されたニューラルネットワークを表し得る。
それゆえ、本発明者らは、かかる相関についての情報を組み込むために、復号化及び対応する符号化のためのコンテキストの適応が有利となり得ることを認識した。
本発明の更なる実施の形態によれば、本装置は、コンテキストベースのエントロピー復号化を使用して、現在の更新モデルの、例えば差分値LUk,j又はスケーリング因子値Luk,j若しくは置換値Luk,jのような1つ以上のパラメーターの、量子化及び二値化された表現を復号化するように構成されている。
本発明者らは、現在の更新モデルのパラメーターについて量子化及び二値化された表現を使用することが、本発明の手法のコード化効率を更に向上させることを可能にすることを認識した。一例として、二値表現を使用することは、複雑さを低く保つことができ、任意のシンボルの、より頻繁に使用されるビットについての、単純な確率モデル化を可能にすることができる。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー復号化するように構成され、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述する。
このことは、ニューラルネットワークパラメーターの符号化及び/又は復号化のために使用されるビットを節約することを可能にすることができる。有意ビンが、パラメーターがゼロであることを示す場合、更なるビンは不要とすることができ、それゆえ他の情報のために使用することができる。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー復号化するように構成され、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述する。
本発明者らは、符号ビンの使用が、パラメーター値の符号についてのコンパクトで複雑性の低い情報を提供することを可能にすることを認識した。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた単項シーケンスをエントロピー復号化するように構成され、単項シーケンスのビンは、現在考慮されているパラメーター値の量子化インデックスの絶対値が、例えばXのようなそれぞれのビン重みよりも大きいか否かを記述する。
本発明者らは、かかる単項アレイの使用が、現在考慮されているパラメーター値の効率的な表現を可能にすることを認識した。
本発明の更なる実施の形態によれば、本装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー復号化するように構成され、Xはゼロよりも大きい整数である。
本発明者らは、量子化インデックスについての間隔のかかる後続の指標が、その絶対値の効率的な表現を可能にすることを認識した。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に復号化されたベースモデルの、又は以前に復号化された更新モデルの、対応する層における、例えば、以前に復号化された更新モデル又は以前に復号化されたベースモデルのような、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明者らは、現在復号化されているモデルと以前に復号化されたモデルとの間の相関を利用することができることを認識した。本発明者らは、かかる相関を、例えば改善されたコード化効率を提供するために、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスを復号化するためのコンテキストモデルを選択することによって、有利に利用することができることを認識した。本発明者らは、例えば後続のニューラルネットワークトレーニングの対応するパラメーター値の、対応する量子化インデックスの相関を、コンテキストモデルの選択に組み込むことができることを認識した。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に復号化されたベースモデルの、又は以前に復号化された更新モデルの、対応する層における、例えば、以前に復号化された更新モデル又は以前に復号化されたベースモデルのような、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための選択可能なコンテキストモデルのセットを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明者らは、現在復号化されているモデルと以前に復号化されたモデルとの間の相関を、例えば、量子化インデックスのビンについてのコンテキストモデルのセット、それゆえ一例としては複数のコンテキストモデルの選択のために、例えばコード化効率の向上のために、更に利用することができることを認識した。コンテキストモデルの全セットの使用は、より良好なコンテキスト選択、それゆえコード化効率の向上を可能にする、別の自由度を実装することを可能にすることができる。
本発明の更なる実施の形態によれば、本装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されている。
本発明者らは、情報の相関を、任意選択で、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に基づいて利用することができることを認識した。それゆえ、コンテキストモデル又はコンテキストモデルのセットが選択されてもよく、このとき、選ばれたセット又はコンテキストモデルは、対応する以前に復号化された絶対値に基づいて、量子化インデックスのビンの相関を良好に又は例えば最良に表すコンテキストを含むものであってもよい。
本発明の更なる実施の形態によれば、本装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値を、例えばT1、T2等のような1つ以上の閾値と比較するように構成されている。
さらに、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成され、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1よりも低い場合には第1のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1以上である場合には第2のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが閾値T2以上である場合には第3のセットが選ばれるようにする。
本発明者らは、閾値は、コンテキストモデル又はコンテキストモデルのセットを選択する、計算コストの低い方法を可能にすることができることを認識した。複数の閾値を使用することは、例えば、どのようなコンテキストモデル又はコンテキストモデルのセットを選ぶか又は選択するかについての、差別化された情報を提供することを可能にすることができる。
本発明の更なる実施の形態によれば、本装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値を、例えばT1のような単一の閾値(又は単一の閾値)と比較するように構成されている。
さらに、本装置は、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されている。
本発明者らは、単一の閾値の使用が、以前に復号化された対応するパラメーター値から抽出される又は該パラメーター値に基づいて使用される情報の量と、計算コストとの間の良好な妥協点を提供することを可能にすることができることを認識した。
本発明の更なる実施の形態によれば、本装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値を、例えばT1、T2等のような1つ以上の閾値と比較するように構成されている。
さらに、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成され、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1よりも低い場合には第1のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1以上である場合には第2のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが閾値T2以上である場合には第3のセットが選ばれるようにする。
本発明者らは、以前に復号化された対応するパラメーター値の絶対値の、1つ以上の閾値との、計算コストの低い比較に基づいて、コンテキストモデル又はコンテキストモデルのセットの高度な選択を実行することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー復号化することであって、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述することと、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の、例えば絶対値又は符号付きの値のような値に依存して、少なくとも1つの有意ビンのエントロピー復号化のためのコンテキスト、又は少なくとも1つの有意ビンのエントロピー復号化のためのコンテキストのセットを選択することとを行うように構成され、ここで例えば、対応するパラメーター値は、コンテキストを選択するために若しくはコンテキストのセットを選択するために、単一の閾値と比較されるか、又は例えば、対応するパラメーター値は、例えばT1=1及びT2=2のような2つの閾値と比較される。
本発明者らは、有意ビンの使用が、コード化効率を改善することを可能にすることができることを認識した。パラメーター値がゼロである場合、それを示すために有意ビンしか伝送される必要がないこととすることができる。それゆえ、例えば、ベースモデルの又は中間モデルのニューラルネットワークパラメーターの断片についてのいくつかの変更値のみを含む更新モデルについては、有意ビンが、更新モデルを表すために伝送される必要があり得るビットの量を低減させることを可能にすることができる。さらに、有意ビンは、コンテキストモデルを使用して効果的に符号化し、及びそれゆえ復号化することができ、本発明者らは、コンテキストの選択は、現在の更新モデルと以前に復号化されたモデルとの間の相関を利用するために、以前に復号化されたニューラルネットワークモデルにおける、対応する以前に復号化されたパラメーター値に基づいて実行することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー復号化することであって、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述することと、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものである、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の値に依存して、少なくとも1つの符号ビンのエントロピー復号化のためのコンテキスト、又は少なくとも1つの符号ビンのエントロピー復号化のためのコンテキストのセットを選択することとを行うように構成され、ここで例えば、対応するパラメーター値は、コンテキストを選択するために若しくはコンテキストのセットを選択するために、単一の閾値と比較されるか、又は例えば、対応するパラメーター値は、例えばT1=0及びT2=1のような2つの閾値と比較される。
以上に説明されたように、本発明者らは、符号ビンの使用が、例えば、パラメーター値の符号についてのコンパクトで複雑性の低い情報を提供することを可能にすることができることを認識した。さらに、符号ビンは、例えば、コンテキストモデルを使用して効果的に符号化し、及びそれゆえ復号化することができ、本発明者らは、コンテキストの選択は、例えば現在の更新モデルと以前に復号化されたモデルとの間の相関を利用するために、以前に復号化されたニューラルネットワークモデルにおけるパラメーター値に基づいて実行することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー復号化することであって、Xはゼロよりも大きい整数であることと、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものである、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の、例えば絶対値又は符号付きの値のような値に依存して、少なくとも1つのXよりも大きいビンのエントロピー復号化のためのコンテキスト、又は少なくとも1つのXよりも大きいビンのエントロピー復号化のためのコンテキストのセットを選択することとを行うように構成され、ここで例えば、対応するパラメーター値は、コンテキストを選択するために又はコンテキストのセットを選択するために、例えばT1=Xのような、単一の閾値と比較される。
以上に説明されたように、本発明者らは、量子化インデックスについての間隔のかかる後続の指標が、その絶対値の効率的な表現を可能にすることを認識した。さらに、Xよりも大きいビンは、コンテキストモデルを使用して効果的に符号化し、及びそれゆえ復号化することができ、本発明者らは、コンテキストの選択は、例えば現在の更新モデルと以前に復号化されたモデルとの間の相関を利用するために、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値に基づいて実行することができることを認識した。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの1つ以上の以前に復号化されたビン又はパラメーターに依存して(又は、例えば、現在の更新モデルに依存して)、コンテキストモデルの選択されたセットの中から、コンテキストモデルを選ぶように構成されている。
本発明者らは、例えば効率的な符号化及びそれぞれの復号化のためのコンテキストモデルを選択する又は選ぶためにも、現在の更新モデル内のパラメーター又はビンの相関を、
利用することができることを認識した。
利用することができることを認識した。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する装置を含む。本装置は、任意選択で、ニューラルネットワークの、例えばベース層のような、1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルのパラメーターを、得る及び/又は提供する、例えば符号化するように構成されてもよい。
さらに、本装置は、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正を定義する、例えばNU1~NUKのような更新モデルを、符号化するように構成されている。さらに、例えば、本装置は、例えば、更新モデルが、例えば以上に定義されたような復号化の装置のようなデコーダーが、新たなモデル層LNkjを含む、例えば「新たなモデル」として指定されるような、更新されたモデルを得るために、更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正することを可能とするように、更新モデルを提供するように構成されている。
さらに、本装置は、更新モデルのパラメーターの、例えば行、若しくは列、又はブロックのようなシーケンスが、ゼロであるか否かを示す、例えばskip_row_flag及び/又はskip_column_flagのようなスキップ情報を、提供及び/又は決定、及び/又は符号化するように構成されている。
上述したエンコーダーは、上述したデコーダーと同じ考察に基づくことができる。また、エンコーダーは、デコーダーに関しても説明される全ての(例えば、全ての対応する又は全ての類似する)特徴及び機能を備えることができる。
本発明の更なる実施の形態によれば、更新モデルは、更新されたモデルのパラメーターの、例えば対応する値を得るために、デコーダーが、差分値をベースモデルのパラメーターの値と加算的に又は減算的に組み合わせることを可能とする差分値を記述する。
本発明の更なる実施の形態によれば、本装置は、更新されたモデルのパラメーターの値と、例えば対応する、ベースモデルのパラメーターの値との差分として、又は該差分を使用して、差分値を決定するように構成されている。
本発明の更なる実施の形態によれば、本装置は、ニューラルネットワークのj番目の層に関連付けられた差分値又は差分テンソルLUk,jを、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjとの、LNkj=LBj+LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従う、差分値又は差分テンソルLUk,jの組み合わせが、ニューラルネットワークのモデルインデックスkを有する更新されたモデルのj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjの決定を可能にするように、決定するように構成され、ここで、例えば、「+」は、2つのテンソル間の要素毎の加法演算を定義してもよい。
本発明の更なる実施の形態によれば、更新モデルは、スケーリング因子値を記述し、本装置は、スケーリング因子値を使用した、ベースモデルのパラメーターの値のスケーリングが、更新されたモデルのパラメーターの、例えば対応する値に帰着するように、スケーリング因子値を提供するように構成されている。
本発明の更なる実施の形態によれば、本装置は、スケーリング因子値を、更新されたモデルのパラメーターの値とベースモデルのパラメーターの、例えば対応する値との間のスケーリング因子として決定するように構成されている。
本発明の更なる実施の形態によれば、本装置は、ニューラルネットワークのj番目の層に関連付けられたスケーリング値又はスケーリングテンソルLUk,jを、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjとの、LNkj=LBj・LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従う、スケーリング値又はスケーリングテンソルの組み合わせが、ニューラルネットワークのモデルインデックスkを有する更新されたモデルのj番目の層のパラメーターを表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjの決定を可能にするように、決定するように構成され、ここで、例えば、「・」は、2つのテンソル間の要素毎の加法演算を定義してもよい。
本発明の更なる実施の形態によれば、更新モデルは、置換値を記述し、本装置は、置換値を使用したベースモデルのパラメーターの値の置換が、更新されたモデルのパラメーターの、例えば対応する値を得ることを可能にするように、置換値を提供するように構成されている。
本発明の更なる実施の形態によれば、本装置は、置換値を決定するように構成されている。
本発明の更なる実施の形態によれば、ニューラルネットワークパラメーターは、ニューロンから発生する、又はニューロンに向かってつながる、ニューロン相互接続の重みを定義する重み値を含む。
本発明の更なる実施の形態によれば、ニューラルネットワークパラメーターのシーケンスは、例えば2次元行列又は更にはより高次元の行列のような、行列の行又は列に関連付けられた重み値を含む。
本発明の更なる実施の形態によれば、スキップ情報は、更新モデルのパラメーターの、例えば行のようなシーケンスの、全てのパラメーターがゼロであるか否かを、例えば単一のビットを使用して示す、フラグを含む。
本発明の更なる実施の形態によれば、本装置は、更新モデルのパラメーターの、例えば行のようなシーケンスの復号化のスキップをシグナリングするスキップ情報を提供するように構成されている。
本発明の更なる実施の形態によれば、本装置は、更新モデルのパラメーターのシーケンスが、例えばゼロのような所定の値を有するか否かの情報を含むスキップ情報を提供するように構成されている。
本発明の更なる実施の形態によれば、スキップ情報は、例えば単一のビットを使用して、更新モデルのパラメーターの、例えば行のようなそれぞれのシーケンスの、全てのパラメーターがゼロであるか否かを示す、スキップフラグのアレイを含み、例えば、各フラグは、更新モデルのパラメーターの1つのシーケンスに関連付けられたものであってもよい。
本発明の更なる実施の形態によれば、本装置は、更新モデルのパラメーターの、例えば行のようなそれぞれのシーケンスの復号化のスキップをシグナリングするための、パラメーターのそれぞれのシーケンスに関連付けられたスキップフラグを提供するように構成されている。
本発明の更なる実施の形態によれば、本装置は、スキップフラグのアレイのエントリの数を記述する、例えばNのようなアレイサイズ情報を提供するように、例えば符号化する及び/又は決定するように、構成されている。
本発明の更なる実施の形態によれば、本装置は、コンテキストモデルを使用して1つ以上のスキップフラグを符号化するように構成され、本装置は、例えば1つ以上の以前に符号化されたスキップフラグに依存してのように、1つ以上の以前に符号化されたシンボルに依存して、1つ以上のスキップフラグの符号化のためのコンテキストモデルを選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、ニューラルネットワークの層に関連付けられた全てのスキップフラグの符号化のために単一のコンテキストモデルを適用するように構成されている。
本発明の更なる実施の形態によれば、本装置は、以前に符号化されたスキップフラグに依存して、スキップフラグの符号化のためのコンテキストモデルを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に符号化された更新モデル又は以前に符号化されたベースモデルのような、以前に符号化されたニューラルネットワークモデルにおける、対応する(例えば、現在考慮されているスキップフラグが関連しているものと同じニューラルネットワークパラメーター(同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)スキップフラグの値に依存して、スキップフラグの符号化のためのコンテキストモデルを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に符号化された更新モデル又は以前に符号化されたベースモデルのような、以前に符号化されたニューラルネットワークモデルにおける、対応する(例えば、現在考慮されているスキップフラグが関連しているものと同じニューラルネットワークパラメーター(同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)スキップフラグの値に依存して、スキップフラグの符号化のための選択可能なコンテキストモデルのセットを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、例えば以前に符号化された更新モデル又は以前に符号化されたベースモデルにおけるような、以前に符号化されたニューラルネットワークモデルにおける、対応する層の存在に依存して、スキップフラグの符号化のための選択可能なコンテキストモデルのセットを、例えば2つのコンテキストモデルのセットの中から、選択するように構成され、ここで例えば、以前に符号化されたニューラルネットワークモデルは、或る特定の層を含まないが、この或る特定の層は、現在考慮されている層に存在するものとすることができる。このことは例えば、例えば層を追加することによって、ニューラルネットワークのトポロジーが変更される場合に成り立ち得る。このことはまた、ニューラルネットワークの或る特定の層が以前の更新においては変更されず、そのため、この或る特定の層に関する情報が以前の更新に含まれていない場合に成り立ち得る。
本発明の更なる実施の形態によれば、本装置は、現在符号化されている更新モデルの、例えば1つ以上の以前に符号化されたスキップフラグに依存してのように、1つ以上の以前に符号化されたシンボルに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選択するように構成されている。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する装置を含む。任意選択で、本装置は、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルのパラメーターを得る及び/又は提供するように、例えば符号化するように構成されてもよい。
さらに、本装置は、例えばLB,jのようなニューラルネットワークの、例えばベース層のような1つ以上の層の修正、又は、1つ以上の中間層の若しくはニューラルネットワークの、例えばLUK-1,jの修正を定義する、例えばNU1又はNUKのような現在の更新モデルを符号化するように構成されている。
さらに、例えば、本装置は、更新モデルが、新たなモデル層LN1,j又はLNK,jを含む、例えば「新たなモデル」として指定されるような、更新されたモデルを得るために、例えばNU1又はNUKのような現在の更新モデルを使用して、例えばLB,jのパラメーターのようなニューラルネットワークのベースモデルのパラメーター、又は例えばNU1~NUK-1を使用してのように、1つ以上の中間更新モデルを使用して、ニューラルネットワークのベースモデルから導出された、例えばLUK-1,jのパラメーターのような中間パラメーターを、例えば以上に定義されたような復号化の装置のようなデコーダーが修正することを可能とするような、更新モデルを提供するように構成されている。
これに加えて、本装置は、現在の更新モデルの1つ以上のパラメーターを、例えばコンテキスト適応型二値算術コード化を使用して、エントロピー符号化するように構成され、本装置は、例えば、現在の更新モデルとベースモデルとの間の相関、及び/又は現在の更新モデルと中間更新モデルとの間の相関を利用するために、ベースモデルの1つ以上の以前に符号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ(又は例えば、それ以上)の以前に符号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー符号化のために使用されるコンテキストを適応させるように構成されている。
以上に説明されたようなエンコーダーは、以上に説明されたデコーダーと同じ考察に基づくものであってもよい。ところで、エンコーダーは、デコーダーに関しても説明されている全ての(例えば全ての対応する又は全ての類似する)特徴及び機能を備えてもよい。
本発明の更なる実施の形態によれば、本装置は、コンテキストベースのエントロピー符号化を使用して、現在の更新モデルの、例えば差分値LUk,j又はスケーリング因子値Luk,j若しくは置換値Luk,jのような1つ以上のパラメーターの、量子化及び二値化された表現を符号化するように構成されている。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー符号化するように構成され、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述する。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー符号化するように構成され、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述する。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた単項シーケンスをエントロピー符号化するように構成され、単項シーケンスのビンは、現在考慮されているパラメーター値の量子化インデックスの絶対値が、例えばXのようなそれぞれのビン重みよりも大きいか否かを記述する。
本発明の更なる実施の形態によれば、本装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー符号化するように構成され、Xはゼロよりも大きい整数である。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に符号化されたベースモデルの、又は以前に符号化された更新モデルの、対応する層における、例えば以前に符号化された更新モデル又は以前に復号化されたベースモデルのような、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応する(現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(同じニューロン相互接続を定義する)に関連付けられた、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、例えば、以前に符号化されたベースモデルの、又は以前に符号化された更新モデルの、対応する層における、例えば、以前に符号化された更新モデル又は以前に符号化されたベースモデルのような、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応する(例えば、現在考慮されているスキップフラグが関連しているものと同じニューラルネットワークパラメーター(同じニューロン相互接続を定義する)に関連付けられた、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための選択可能なコンテキストモデルのセットを、例えば2つのコンテキストモデルのセットの中から、選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値を、例えばT1、T2等のような1つ以上の閾値と比較するように構成され、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成され、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1よりも低い場合には第1のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1以上である場合には第2のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが閾値T2以上である場合には第3のセットが選ばれるようにする。
本発明の更なる実施の形態によれば、本装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値を、例えばT1のような単一の閾値と比較するように構成されている。
さらに、本装置は、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成されている。
本発明の更なる実施の形態によれば、本装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値を、例えばT1、T2等のような1つ以上の閾値と比較するように構成されている。
さらに、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルを選択するように構成されている。
代替としては、本装置は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成され、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1よりも低い場合には第1のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが第1の閾値T1以上である場合には第2のセットが選ばれ、例えば、対応する又は同位置にあるパラメーターが閾値T2以上である場合には第3のセットが選ばれるようにする。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー符号化することであって、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述することと、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の、例えば絶対値又は符号付きの値のような値に依存して、少なくとも1つの有意ビンのエントロピー符号化のためのコンテキスト、又は少なくとも1つの有意ビンのエントロピー符号化のためのコンテキストのセットを選択することとを行うように構成され、ここで例えば、対応するパラメーター値は、コンテキストを選択するために若しくはコンテキストのセットを選択するために、単一の閾値と比較されるか、又は例えば、対応するパラメーター値は、例えばT1=1及びT2=2のような2つの閾値と比較される。
本発明の更なる実施の形態によれば、本装置は、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー符号化することであって、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述することと、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものであってもよい、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の値に依存して、少なくとも1つの符号ビンのエントロピー符号化のためのコンテキスト、又は少なくとも1つの符号ビンのエントロピー符号化のためのコンテキストのセットを選択することとを行うように構成され、ここで例えば、対応するパラメーター値は、コンテキストを選択するために若しくはコンテキストのセットを選択するために、単一の閾値と比較されるか、又は例えば、対応するパラメーター値は、例えばT1=0及びT2=1のような2つの閾値と比較される。
本発明の更なる実施の形態によれば、本装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー符号化することであって、Xはゼロよりも大きい整数であることと、本装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応する(例えば、現在考慮されているパラメーター値が関連しているものと同じニューラルネットワークパラメーター(例えば同じニューロン相互接続を定義する)に関連付けられたものである、例えば同位置にある、例えば更新モデルの対応するパラメーターのシーケンスに関連付けられたもの)パラメーター値、例えば現在考慮されているパラメーター値のような2つの所与のニューロン間の同じニューロン相互接続に関連する又はこれを定義する「対応する」パラメーター値の、例えば絶対値又は符号付きの値のような値に依存して、少なくとも1つのXよりも大きいビンのエントロピー符号化のためのコンテキスト、又は少なくとも1つのXよりも大きいビンのエントロピー符号化のためのコンテキストのセットを選択することとを行うように構成され、ここで例えば、対応するパラメーター値は、コンテキストを選択するために又はコンテキストのセットを選択するために、例えばT1=Xのような、単一の閾値と比較される。
本発明の更なる実施の形態によれば、本装置は、1つ以上の以前に符号化されたビン若しくはパラメーター(例えば現在の更新モデルの)又は現在の更新モデルに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選ぶように構成されている。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する方法を含み、本方法は、任意選択で、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルのパラメーターを得ること、例えば復号化することを含む。さらに、本方法は、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正を定義する、例えばNU1~NUKのような更新モデルを復号化することと、新たなモデル層LNkjを含む、例えば「新たなモデル」として指定されるような、更新されたモデルを得るために、更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正することと、更新モデルのパラメーターの、例えば行、若しくは列、又はブロックのようなシーケンスが、ゼロであるか否かを示す、例えばskip_row_flag及び/又はskip_column_flagのようなスキップ情報を評価することとを含む。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する方法を含み、本方法は、任意選択で、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルの、パラメーターを得ること、例えば復号化することを含む。さらに、本方法は、例えばLB,jのような、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正、又は、1つ以上の中間層の若しくはニューラルネットワークの、例えばLUK-1,jの修正を定義する、例えばNU1又はNUKのような現在の更新モデルを復号化することと、新たなモデル層LN1,j又はLNK,jを含む、例えば「新たなモデル」と指定されるような、更新されたモデルを得るために、例えばNU1又はNUKのような現在の更新モデルを使用して、例えばLB,jのパラメーターのようなニューラルネットワークのベースモデルのパラメーター、又は例えばNU1~NUK-1を使用してのように、1つ以上の中間更新モデルを使用して、ニューラルネットワークのベースモデルから導出された、LUK-1,jのパラメーターのような中間パラメーターを修正することと、を含む。
さらに、本方法は、現在の更新モデルの1つ以上のパラメーターを、例えばコンテキスト適応型二値算術コード化を使用して、エントロピー復号化することと、例えば、現在の更新モデルとベースモデルとの間の相関、及び/又は現在の更新モデルと中間更新モデルとの間の相関を利用するために、ベースモデルの1つ以上の以前に復号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ又は以前に復号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー復号化のために使用されるコンテキストを適応させることとを含む。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する方法を含み、本方法は、任意選択で、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルのパラメーターを、得る及び/又は提供すること、例えば符号化することを含む。
さらに、本方法は、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正を定義する、例えばNU1~NUKのような更新モデルを符号化することと、新たなモデル層LNkjを含む、例えば「新たなモデル」と指定されるような、更新されたモデルを得るために、更新モデルを使用して、ニューラルネットワークのベースモデルのパラメーターを修正するために、更新モデルを提供することとを含む。
さらに、本方法は、更新モデルのパラメーターの、例えば行、若しくは列、又はブロックのようなシーケンスがゼロであるか否かを示す、例えばskip_row_flag及び/又はskip_column_flagのようなスキップ情報を提供する及び/又は決定する、及び/又は符号化することを含む。
本発明による更なる実施の形態は、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する方法を含み、本方法は、任意選択で、ニューラルネットワークの、例えばベース層のような1つ以上の層を定義する、ニューラルネットワークの、例えばNBのようなベースモデルのパラメーターを、得る及び/又は提供すること、例えば符号化することを含む。
さらに、本方法は、例えばLB,jのもののような、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正、又は、1つ以上の中間層の若しくはニューラルネットワークの、例えばLUK-1,jの修正を定義する、例えばNU1又はNUKのような現在の更新モデルを符号化して、新たなモデル層LN1,j又はLNK,jを含む、例えば「新たなモデル」と指定されるような、更新されたモデルを得るために、例えばNU1又はNUKのような現在の更新モデルを使用して、例えばLB,jのパラメーターのようなニューラルネットワークのベースモデルのパラメーター、又は例えばNU1~NUK-1を使用してのように、1つ以上の中間更新モデルを使用して、ニューラルネットワークのベースモデルから導出された、例えばLUK-1,jのパラメーターのような中間パラメーターを修正することを含む。
さらに、本方法は、現在の更新モデルの1つ以上のパラメーターを、例えばコンテキスト適応型二値算術コード化を使用して、エントロピー符号化することと、例えば、現在の更新モデルとベースモデルとの間の相関、及び/又は現在の更新モデルと中間更新モデルとの間の相関を利用するために、ベースモデルの1つ以上の以前に符号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ又は以前に符号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー符号化のために使用されるコンテキストを適応させることとを含む。
上述した方法は、上述したデコーダー及びエンコーダーと同じ考慮事項に基づき得ることに留意されたい。また、本方法は、デコーダー及びエンコーダーに関しても説明される全ての(例えば、全ての対応する又は全ての類似の)特徴及び機能を備えることができる。
本発明による更なる実施の形態は、コンピュータープログラムがコンピューター上で動作するときに、本明細書に開示される上記の方法のいずれかを実行するコンピュータープログラムを含む。
本発明による更なる実施の形態は、ニューラルネットワークの、例えばベース層のような1つ以上の層の修正を定義する、例えばNU1~NUKのような更新モデルと、更新モデルのパラメーターの、例えば行、若しくは列、又はブロックのようなシーケンスがゼロであるか否かを示す、例えばskip_row_flag及び/又はskip_column_flagのようなスキップ情報とを含む、例えばビットストリームのような、ニューラルネットワークパラメーターの符号化表現を含む。
図面は、必ずしも縮尺通りではなく、代わりに、概して、本発明の原理を図示することに重点が置かれている。以下の説明では、本発明の種々の実施形態が、以下の図面を参照して説明される。
同一若しくは同等の要素、又は同一若しくは同等の機能を有する要素は、異なる図に現れる場合であっても、以下の説明において同一又は同等の参照番号によって示される。
以下の説明では、本発明の実施形態のより完全な説明を提供するために、複数の詳細が記載される。しかしながら、本発明の実施形態がこれらの具体的な詳細なしに実施され得ることは、当業者には明らかであろう。他の例では、本発明の実施形態を不明瞭にすることを回避するために、既知の構造及びデバイスは、詳細にではなくブロック図の形態で示される。加えて、本明細書で後に説明される異なる実施形態の特徴は、特に別段の記載がない限り、互いに組み合わせることができる。
図1は、本発明の実施形態による、ニューラルネットワークパラメーターを符号化する装置、及びニューラルネットワークパラメーターを復号化する装置の概略図を示す。
図1は、ニューラルネットワークを定義するニューラルネットワーク(NN)パラメーターを符号化する装置100を示す。装置100は、更新モデル提供ユニット110及び符号化ユニット120を備える。
簡潔さのため、符号化の装置100は、エンコーダー100と呼ばれる。任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、NNパラメーター102を提供されてもよい。
これに基づいて、更新モデル提供ユニット110は、更新モデルであるか又は更新モデルを含む更新モデル情報112を提供するように構成されてもよく、これにより、更新モデルが、更新されたモデルを得るために、デコーダー150が更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正することを可能とする。一例として、更新されたモデルは、NNパラメーター102と関連付けられてもよいし、又はNNパラメーター102によって表されてもよい。
代替として、一例として、エンコーダー100は、例えばNNパラメーター102の代わりに、例えば更新モデル情報112の形態で、更新モデルを提供されてもよく、それゆえ受信された更新モデルを符号化するように構成され、それにより、更新モデルが、例えば108のような更新モデルを得るために、デコーダー150が更新モデルを使用してベースモデルのパラメーターを修正することを可能とする。
更新モデル情報112は、更新モデルを符号化するように構成された符号化ユニット120に提供される。更新モデルは、ニューラルネットワークの1つ以上の層の修正を定義してもよい。
任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、参照モデル情報104を提供されてもよい。別の任意選択の特徴として、例えば代替として、エンコーダー100は、参照モデル情報104を任意選択で更新モデル提供ユニット110及び/又は符号化ユニット120に提供するように構成された参照ユニット130を備えてもよい。
参照モデル情報104は、ニューラルネットワークの1つ以上の層を定義する、例えばベースモデルのニューラルネットワークパラメーターのような、ニューラルネットワークのベースモデルについての情報を含んでもよい。それゆえ、任意選択の特徴として、エンコーダー100は例えば、例えば更新モデル提供ユニット110を使用して及び/又は例えば参照ユニット130を使用して、参照モデル情報104を得るように構成されてもよい。
一例として、参照モデル情報104に基づいて、更新モデル提供ユニット110は、例えば、例えば参照モデル情報によって表されるベースモデルのニューラルネットワークパラメーターと、例えば更新されたモデルのもののような、例えばベースモデルの更新されたバージョンの、対応するNNパラメーター102との間のような、ベースモデルとエンコーダー100に提供される更新モデルとの間のような、ベースモデルとニューラルネットワークパラメーター102に関連付けられたモデルとの間の差分を決定してもよい。この差異又は差分情報は、例えば更新モデルとして、更新モデル情報112の形態で提供されてもよい。
別の例としては、例えばNNパラメーター102の代わりに、更新モデル提供ユニット110は、例えば108又は108と同等のもののような更新されたモデル情報を受信するように構成されてもよく、更新モデル提供ユニット110は、例えば更新されたモデルであるか又は更新されたモデルを含む更新モデル情報と、例えばベースモデルであるか又はベースモデルを含む参照情報との間の差異情報として、更新モデル情報112を提供するように構成されてもよい。
それゆえ、ベースモデルが利用可能であれば、対応するデコーダー150は、全てのNNパラメーター102の伝送を必要とすることなく、例えばNNパラメーター102を含む又はNNパラメーター102に関連付けられた更新されたモデルを得るために、更新モデル(例えばパラメーター又はそのパラメーター値)を使用して、ベースモデルのパラメーターを修正することができる。
さらに、一例として、符号化ユニット120を使用して、エンコーダー100は任意選択で、例えば符号化されたビットストリーム106の一部として、参照モデル情報を対応するデコーダー150に提供するように構成されてもよい。それゆえ、デコーダー150は、例えば参照モデル情報104内のベースモデルの参照パラメーターのような参照情報、及び、例えば更新モデル情報112のような修正情報を提供されてもよい。
これに加えて、更新モデル提供ユニット110は、更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報114を決定するように構成されてもよい(代替としては、スキップ情報114は任意選択で、外部ソースからエンコーダー100に提供されてもよい)。それゆえ、符号化ユニット120は、スキップ情報114を、対応するデコーダー150のための符号化されたビットストリームで提供する及び/又は符号化するように構成されてもよい。スキップ情報は、例えば、フラグ又はフラグのアレイであってもよい。それゆえ、更新モデル情報112は、フラグを用いて、ゼロであるか又は著しい影響がないものであってもよい、そのNNパラメーターを表すことによって圧縮されてもよく、それにより、これらのパラメーターが明示的に伝送される必要がなくなる。
図1はさらに、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置150を示す。簡潔さのため、装置150は、デコーダー150と呼ばれる。デコーダー150は、復号化ユニット160及び修正ユニット170を備える。
図示されるように、デコーダー150、又は例えば復号化ユニット160は、更新モデル情報及びスキップ情報(例えばスキップ情報114と等しいか又は同等である)を含む、符号化されたビットストリーム106を受信するように構成されてもよい。復号化ユニット160は、ニューラルネットワークの1つ以上の層の修正を定義する更新モデルを含むか又はかかる更新モデルである、更新モデル情報162(例えば更新モデル情報112と等しいか又は同等である)を提供するために、ビットストリーム106を復号化するように構成されてもよい。復号化された更新モデル情報162は、修正ユニット170に提供されてもよい。
修正ユニット170は、例えば更新されたモデルを含むか又は更新されたモデルである、更新されたモデル情報108を得るために、更新モデル情報162を使用して、ニューラルネットワークのベースモデルのパラメーターを修正するように構成されている。
それゆえ、任意選択の特徴として、修正ユニット170は、例えばベースモデルのニューラルネットワークパラメーターのような、例えばニューラルネットワークのベースモデルについての情報のような、参照モデル情報を提供されてもよい。
一例として、デコーダー150、例えば復号化ユニット160は、例えば、符号化されたビットストリーム106から、ニューラルネットワークの1つ以上の層を定義するニューラルネットワークのベースモデルのパラメーターを含むか又はかかるパラメーターである、参照モデル情報184(例えば参照モデル情報104と等しいか又は同等である)を得るように構成されてもよい。
一例として、参照モデル情報184は、例えば、任意選択の参照ユニット180に記憶されてもよい。任意選択で、参照ユニット180は、例えばその伝送とは関係なく、参照モデル情報184を含んでもよい。
それゆえ、任意選択で、復号化ユニット160及び/又は参照ユニット180は、参照モデル情報184を修正ユニット170に提供してもよい。したがって、参照モデル情報104に含まれるベースモデルのパラメーターは、更新されたモデルを含むか又は更新されたモデルである更新されたモデル情報108を提供するために、更新モデル情報112を使用して適応又は修正若しくは更新されてもよい。
さらに、デコーダー150、例えば、復号化ユニット160は、任意選択で、ビットストリーム106を復号化するように構成されてもよい。スキップ情報164(例えばスキップ情報114と等しいか又は同等である)を提供するためのデコーダー150。一例として、復号化ユニット160又は修正ユニット170は、更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報164を評価するように構成されてもよい。
一例として、スキップ情報164を評価した後に、復号化ユニット160は、それに応じて更新モデル情報162を適応させ、例えばそれにより、スキップ情報114によってゼロであることが示された更新モデルのパラメーターがゼロに設定されるようにしてもよい。
別の例として、修正ユニット170は、更新されたモデル情報108を得る又は提供するために、スキップ情報164を考慮に入れて、更新モデル情報162に従ってベースモデルを修正してもよい。
任意選択の特徴として、更新モデル情報112、162は、更新モデルを含むか又は更新モデルであり、更新モデルは差分値を記述する。
それゆえ、差分値は、例えば、デコーダー150、例えば修正ユニット170が、例えば更新されたモデル情報108のもののような、更新されたモデルのパラメーターの、例えば対応する値を得るために、差分値をベースモデルのパラメーターの値と加算的又は減算的に組み合わせることを可能とすることができる。
したがって、デコーダー100、例えば修正ユニット170は、更新されたモデルのパラメーターの、例えば対応する値を得るために、差分値をベースモデルのパラメーターの値(例えば参照モデル情報184からのもの)と加算的又は減算的に組み合わせるように構成されてもよい。
したがって、別の任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、例えばNNパラメーター102によって決定される又は表される、更新されたモデルのパラメーターの値と、例えば参照モデル情報104に含まれる、ベースモデルのパラメーターの値との間の差分として、差分値を決定するように構成されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、ニューラルネットワークのj番目の層に関連付けられた差分値又は差分テンソルLUk,jを決定するように構成されてもよく、それにより、LNkj=LBj+LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従う、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表す、ベース値パラメーター又はベース値テンソルLBj(例えば参照モデル情報104に含まれる)との、差分値又は差分テンソルLUk,jの組み合わせが、ニューラルネットワークのモデルインデックスkを有する更新されたモデルのj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkj(それゆえ、例えば、更新されたモデル情報108)の決定を可能にする。
したがって、デコーダー150、例えば修正ユニット170は、ニューラルネットワークのj番目の層に関連付けられた差分値又は差分テンソルLUk,jを、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjと、LNkj=LBj+LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従って組み合わせるように構成されてもよく、それにより、ニューラルネットワークのモデルインデックスkを有する更新されたモデルのj番目の層のパラメーターの値を表す更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkj(それゆえ、例えば、更新されたモデル情報108)を得る。
それゆえ、更新モデル提供ユニット110及び/又は修正ユニット170は、テンソル間の要素毎の加算を実行するように構成されてもよい。しかしながら、それに応じて減算も実行されてもよいことは、留意されるべきである。
別の任意選択の特徴として、例えば112、162のような更新モデルは、スケーリング因子値を記述するか又は含んでもよい。
それゆえ、エンコーダー100、例えば更新モデル提供ユニット110は、スケーリング因子値を提供するように構成されてもよく、それにより、スケーリング因子値を使用した(例えば参照モデル情報104に含まれる)ベースモデルのパラメーターの値のスケーリングが、例えば108のような更新されたモデルのパラメーターの値に帰着する。
したがって、デコーダー150、例えば修正ユニット170は、例えば108又は102のような更新されたモデルのパラメーターの値を得るために、スケーリング因子値を使用してベースモデルのパラメーターの値をスケーリングするように構成されてもよい。
したがって、エンコーダー100、例えば更新モデル提供ユニット110は、例えば108又は102のような更新されたモデルのパラメーターの値と、例えば参照モデル情報104に基づく、ベースモデルのパラメーターの値との間のスケーリング因子として、スケーリング因子値を決定するように構成されてもよい。以上に説明されたように、一例として、更新されたモデルは、NNパラメーター102によって表されてもよい。別の任意選択の特徴として、更新されたモデルは、エンコーダー100に提供されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、ニューラルネットワークのj番目の層に関連付けられたスケーリング値又はスケーリングテンソルLUk,jを決定するように構成されてもよく、それにより、LNk,j=LBj・LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従う、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjとの、スケーリング値又はスケーリングテンソルの組み合わせが、ニューラルネットワークのモデルインデックスkを有する、例えば108のような更新されたモデルのj番目の層のパラメーターを表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjの決定を可能にする。
したがって、デコーダー150、例えば修正ユニット170は、ニューラルネットワークのj番目の層に関連付けられたスケーリング値又はスケーリングテンソルLUk,jを、ニューラルネットのベースモデルのj番目の層のパラメーターの値を表す、ベース値パラメーター又はベース値テンソルLBjと、LNk,j=LBj・LUk,j(全てのjについて、又は更新モデルが層を含む全てのjについて)に従って組み合わせるように構成されてもよく、それにより、ニューラルネットワークのモデルインデックスkを有する、例えば108のような更新されたモデルのj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjを得る。
それゆえ、更新モデル提供ユニット110及び/又は修正ユニット170は、テンソル間の要素毎の乗算を実行するように構成されてもよい。しかしながら、それに応じて除算も実行されてもよいことは、留意されるべきである。
別の任意選択の特徴として、例えば112、162のような更新モデルは、置換値を記述する。
それゆえ、エンコーダー100、例えば更新モデル提供ユニット110は、置換値を提供するように構成されてもよく、それにより、例えば162のような置換値を使用した、例えば184のようなベースモデルのパラメーターの値の置換が、例えば更新されたモデル情報108に含まれる、更新されたモデルのパラメーターの値を得ることを可能にする。
したがって、デコーダー150、例えば修正ユニット170は、例えば108に含まれる更新されたモデルのパラメーターの値を得るために、例えば162に含まれる置換値を使用して、例えば参照情報184に含まれるベースモデルのパラメーターの値を置換するように構成されてもよい。
したがって、エンコーダー100、例えば更新モデル提供ユニット110は、置換値を決定するように構成されてもよい。
別の任意選択の例として、例えば102のようなニューラルネットワークパラメーターは、ニューロンから発生する、又はニューロンに向かってつながる、ニューロン相互接続の重みを定義する重み値を含む。
別の任意選択の特徴として、ニューラルネットワークパラメーターのシーケンスは、行列の行又は列に関連付けられた重み値を含む。本発明者らは、行毎の又は列毎の処理を、効率的に実行することができることを認識した。一例として、エンコーダー1010、例えば更新モデル提供ユニット110、及び/又は、デコーダー150、例えば修正ユニット170は、行列を効率的に処理するように構成されてもよく、又は行列を処理するために最適化されてもよい。
別の任意選択の特徴として、スキップ情報114及び/又は164は、例えば112、162のような更新モデルのパラメーターのシーケンスの全てのパラメーターがゼロであるか否かを示すフラグを含む。それゆえ、ゼロシーケンスの代わりに、スキップ情報114のみが符号化ユニット120を使用してビットストリーム106に符号化されてもよく、より少ない伝送リソースしか必要とされなくする。デコーダー側においては、スキップ情報164の評価に基づいて、ゼロである例えば重みのような更新値に関連付けられたベースモデルパラメーターの修正が、スキップされてもよい。したがって、デコーダー150、例えば修正ユニット170は、スキップ情報164に依存して、更新モデルのパラメーターのシーケンスの復号化を選択的にスキップするように構成されてもよい。
したがって、別の任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、例えば112のような更新モデルのパラメーターのシーケンスの復号化のスキップをシグナリングするために、スキップ情報114を提供するように構成されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、例えば112のような更新モデルのパラメーターのシーケンスが所定の値を有するか否かの情報を含むスキップ情報114を提供するように構成されてもよい。
したがって、デコーダー150、例えば修正ユニット170は、例えば162のような更新モデルのパラメーターのシーケンスの値を、スキップ情報に依存して、所定の値に選択的に設定するように構成されてもよい。
それゆえ、スキップ情報によって差別化された情報が提供されてもよい。ニューラルネットワークパラメーターは、ゼロ又は非ゼロであることがフラグ付けされ、非ゼロである場合には、所定の値さえもが示されてもよい。または、パラメーターのセット又はシーケンスが、例えばニューラルネットワークパラメーターの近似値として、所定の値によって表され得ることが示され得る。
別の任意選択の特徴として、スキップ情報114及び/又は164は、例えば108のような更新モデルのパラメーターのそれぞれのシーケンスの全てのパラメーターがゼロであるか否かを示す、スキップフラグのアレイを有する。本発明者らは、例えばニューラルネットワークパラメーター行列の行及び列についてのような、複数のシーケンスについての指標を、スキップフラグのアレイ中に要約することができることを認識した。かかるアレイは、効率的に符号化、伝送、及び復号化することができる。
別の任意選択の特徴として、エンコーダー100、例えば更新モデル提供ユニット110は、例えば112のような更新モデルのパラメーターのそれぞれのシーケンスの復号化のスキップをシグナリングするために、パラメーターのそれぞれのシーケンスに関連付けられた、例えばスキップフラグ情報114に含まれる、スキップフラグを提供するように構成されてもよい。フラグは、パラメーターのスキップの単純な指標のために、数ビットで表されてもよい。
したがって、デコーダー150、例えば復号化ユニット160は、パラメーターのそれぞれのシーケンスに関連付けられた、例えばスキップ情報164に含まれるそれぞれのスキップフラグに依存して、例えば符号化されたビットストリーム106から、更新モデルのパラメーターのそれぞれのシーケンスの復号化を、選択的にスキップするように構成されてもよい。
別の例として、エンコーダー100、例えば更新モデル提供ユニット110は、スキップフラグのアレイのエントリの数を記述するアレイサイズ情報を提供するように構成されてもよい。任意選択で、更新モデル情報114は、アレイサイズ情報を含んでもよい。
したがって、デコーダー150、例えば修正ユニット170は、スキップフラグのアレイのエントリの数を記述する、例えば更新モデル情報162に含まれるアレイサイズ情報を評価するように構成されてもよい。
別の任意選択の例として、エンコーダー100、例えば符号化ユニット120は、コンテキストモデルを使用して、例えばスキップ情報114に含まれる1つ以上のスキップフラグを符号化し、例えば更新モデル情報112の及び/又はスキップ情報114のシンボルのような、1つ以上の以前に符号化されたシンボルに依存して、1つ以上のスキップフラグの符号化のためのコンテキストモデルを選択するように構成されてもよい。それゆえ、符号化ユニット120は、1つ以上のコンテキストモデルを含んでもよいし、又は、コンテキストモデルを使用するか否かを選ぶための1つのコンテキストモデルを、若しくは、選ぶためにより多くのコンテキストモデルを、提供されてもよい。任意選択の特徴として、エンコーダー100及び/又はデコーダー150は、例えば図2の文脈において更に説明されるように、それぞれのコード化ユニット(符号化/復号化)に提供され得る、選ぶためのコンテキストモデルを含んでもよい、コンテキストユニットを含んでもよい。
したがって、デコーダー150、例えば復号化ユニット160は、コンテキストモデルを使用して1つ以上のスキップフラグを復号化し、1つ以上の以前に復号化されたシンボルに依存して、1つ以上のスキップフラグの復号化のためのコンテキストモデルを選択するように構成されてもよい。したがって、復号化ユニット160は、1つ以上のコンテキストモデルを含んでもよいし、又は、例えば符号化されたビットストリーム106を介して、1つ以上のコンテキストモデルを提供されてもよい。それゆえ、任意選択で、エンコーダー100、例えば符号化ユニット120は、1つ以上のコンテキストモデルを符号化及び/又は伝送するように構成されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば符号化ユニット120は、ニューラルネットワークの層に関連付けられた全てのスキップフラグの符号化のために単一のコンテキストモデルを適用するように構成されてもよい。したがって、デコーダー150、例えば復号化ユニット160は、ニューラルネットワークの層に関連付けられた全てのスキップフラグの復号化のために単一のコンテキストモデルを適用するように構成されてもよい。それゆえ、符号化及び/又は復号化は、低い計算コストで実行することができる。
別の任意選択の特徴として、エンコーダー100、例えば符号化ユニット120は、以前に符号化されたスキップフラグに依存して、スキップフラグの符号化のためのコンテキストモデルを選択するように構成されてもよい。したがって、デコーダー150、例えば復号化ユニット160は、以前に復号化されたスキップフラグに依存して、スキップフラグの復号化のためのコンテキストモデルを選択するように構成されてもよい。それゆえ、本発明のエンコーダー及び本発明のデコーダーは、後続のスキップフラグ間の相関を利用又は活用するように構成することができる。このことは、コード化効率を向上させることを可能にすることができる。情報の相関は、コンテキストモデルの形態で使用することができる。
さらに、一般的に、また別の任意選択の特徴として、符号化ユニット120は、以前に符号化された情報についての情報を記憶するように構成されてもよく、復号化ユニット160は、以前に復号化された情報についての情報を記憶するように構成されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば符号化ユニット120は、以前に符号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、例えばスキップ情報114に含まれる、スキップフラグの符号化のためのコンテキストモデルを選択するように構成されてもよい。したがって、デコーダー150、例えば復号化ユニット160は、以前に復号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの復号化のために選択可能なコンテキストモデルのセットを選択するように構成されてもよい。本発明者らは、コード化効率を向上させるために、単一のモデルの後続のスキップフラグ間のみならず、異なるモデルの対応するスキップフラグ間(例えば、現在のモデルと以前に符号化/復号化された更新モデル又は以前に符号化/復号化されたベースモデルとの間)の相関を、使用又は利用することができることを認識した。この相関は、それぞれのコンテキストモデルにマッピングされ、適切なコンテキストモデルの選択によって使用されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば符号化ユニット120は、以前に符号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの符号化のために選択可能なコンテキストモデルのセットを選択するように構成されてもよい。したがって、デコーダー150、例えば復号化ユニット160は、以前に復号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの復号化のために選択可能なコンテキストモデルのセットを選択するように構成されてもよい。更なる自由度として、コンテキストモデルのセットは、例えばコンテキストモデルのセットの中からそれぞれのコンテキストモデルを選ぶ前に、選ばれてもよい。それゆえ、良好なコード化効率を提供するために、良好に合致する又は最も良好に合致するコンテキストを選択する方法が提供されてもよい。以上に説明されたように、符号化ユニット120及び/又は復号化ユニット160は、後続するコンテキスト選択のために、先行する符号化/復号化された情報についての情報を記憶するように構成されてもよい。
別の任意選択の特徴として、エンコーダー100、例えば符号化ユニット120は、以前に符号化されたニューラルネットワークモデルにおける対応する層の存在に依存して、スキップフラグの符号化のために選択可能なコンテキストモデルのセットを選択するように構成されてもよい。したがって、デコーダー150、例えば復号化ユニット160は、以前に復号化されたニューラルネットワークモデルにおける対応する層の存在に依存して、スキップフラグの復号化のために選択可能なコンテキストモデルのセットを選択するように構成されてもよい。それゆえ、本発明の手法は、例えばトレーニングステップの間の、ニューラルネットワークのトポロジー変更に対処することができる。それゆえ、コード化を効率的に実行することができ、柔軟なネットワークトポロジーさえももたらし得る。
別の任意選択の特徴として、エンコーダー100、例えば符号化ユニット120は、現在符号化されている更新モデルの、1つ以上の以前に符号化されたシンボルに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選択するように構成されてもよい。したがって、デコーダー150、例えば復号化ユニット160は、現在復号化されている更新モデルの、1つ以上の以前に復号化されたシンボルに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選択するように構成されてもよい。
図2は、本発明の実施形態による、ニューラルネットワークパラメーターを符号化する第2の装置、及びニューラルネットワークパラメーターを復号化する第2の装置の概略図を示す。
図2は、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する装置200を示す。簡潔さのため、装置200は、エンコーダー200と呼ばれる。
エンコーダー200は、更新モデル提供ユニット210、及び符号化ユニット220を含む。任意選択の例として、エンコーダー200、例えば更新モデル提供ユニット210は、例えば更新されたモデルであるか又は更新されたモデルを含む、更新されたモデル情報202を受信するように構成されてもよい。
代替として、例えば図1の文脈において説明されたように、更新モデル提供ユニットは、例えば、更新されたモデルに関連付けられた又は更新されたモデルの、NNパラメーターを受信するように構成されてもよい。
それに基づいて、更新モデル提供ユニット210は、例えば現在の、例えば最近の、更新モデルであるか又はそれを含む、更新モデル情報を提供するように構成されてもよく、それにより、更新モデルは、デコーダーが、更新されたモデルを得るために、現在の更新モデルを使用して、ニューラルネットワークのベースモデルのパラメーター、又は1つ以上の中間更新モデルを使用して、ニューラルネットワークのベースモデルから導出された中間パラメーターを、修正することを可能にする。
それゆえ、別の任意選択の特徴として、エンコーダー200は任意選択で、例えば、例えばベースモデル若しくはベースモデルから導出された中間パラメーターについての、又は例えば中間の更新されたモデル(例えばベースモデルに基づく部分的に更新されたモデル)についての情報を含む、更新モデル情報212を使用してパラメーターが修正される、例えば、参照モデルを含む参照モデル情報を提供するように構成された、参照ユニット230を備えてもよい。
別の任意選択の特徴として、エンコーダー100は、例えば更新されたモデル情報202の代わりに、例えば、現在の更新モデルであるか又は現在の更新モデルを含む、更新モデル情報を受信するように構成されてもよい。この場合、エンコーダー200は、更新モデル提供ユニット210を含まなくてもよい。符号化ユニット220は、ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくはニューラルネットワークの修正を定義するものであってもよい、更新モデル情報を符号化してもよい。それゆえ、エンコーダー200は、更新モデル情報を提供してもよく、それにより、更新モデルは、例えば250のようなデコーダーが、例えば208のような更新されたモデルを得るために、現在の更新モデルを使用して、ニューラルネットワークのベースモデルのパラメーター、又は1つ以上の中間更新モデルを使用して、ニューラルネットワークのベースモデルから導出された中間パラメーターを修正することを可能にする。
一例として、任意選択の参照ユニット230は、かかる参照モデル情報204を含んでもよく、又は例えば、かかる参照モデル情報(図示されていない)を一度提供されてもよい。別の例として、更新モデル提供ユニット210は任意選択で、参照モデル情報204を受信するように構成されてもよい。
例えば、参照モデル情報に基づいて、更新モデル提供ユニット210は、例えば、ベースモデルと更新モデルとの間の差分を示すモデルとして、更新モデルを提供するように又は更には決定するように構成されてもよい。
例えば、かかる更新モデルであるか又はかかる更新モデルを含む、更新モデル情報212は次いで、符号化ユニット220に提供されてもよい。符号化ユニット220は、現在の更新モデルの1つ以上のパラメーターをエントロピー符号化するように構成されている。それゆえ、更新モデル情報212又はその一部、例えばそのパラメーター、パラメーター値、フラグ、シンボルは、ビットストリーム206に符号化されてもよい。
さらに、符号化ユニット220は、ベースモデルの1つ以上の以前に符号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ以上の以前に符号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー符号化のために使用されるコンテキストを適応させるように構成されている。
図2に示されるように、エンコーダー200は、更新モデル情報212を符号化するための1つ以上のコンテキストモデルについての情報を含む、コンテキストユニット240を含んでもよい。例えば、1つ以上の以前に符号化されたパラメーター及び/又は中間更新モデルの1つ以上の以前に符号化されたパラメーターを含むか又はこれらである、任意選択の符号化情報222に基づいて、コンテキストユニット240は、例えばコンテキスト又はコンテキストモデルを含むか又はこれらである、コンテキスト情報224を、符号化ユニット220に提供してもよい。
したがって、符号化ユニット220は任意選択で、かかる以前に符号化されたパラメーターについての情報を記憶してもよい。
以上に説明されたように、エンコーダー200は任意選択で、例えばニューラルネットワークの1つ以上の層を定義するニューラルネットワークのベースモードのパラメーターであるか又はかかるパラメーターを含む、参照モデル情報を得るように構成されてもよい。それゆえ、この情報204は任意選択で、例えば対応するデコーダーに提供されるために、符号化ユニット220に提供されてもよい。それゆえ、参照モデル情報204は、ビットストリーム206に符号化されてもよい。
別の任意選択の例として、符号化ユニット220は任意選択で、コンテキスト情報240を符号化ビットストリーム206に符号化するように構成されてもよい。
さらに、図2は、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置250を示す。簡潔さのため、装置250は、デコーダー250と呼ばれる。デコーダー250は、復号化ユニット260及び修正ユニット270を備える。
任意選択で示されるように、デコーダー200、例えば復号化ユニット260は、符号化されたビットストリーム206を受信してもよい。ビットストリームは、更新モデル情報212の符号化されたバージョンを含んでもよいし又はかかる符号化されたバージョンであってもよい。
復号化ユニット260は、ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくはニューラルネットワークの修正を定義する、現在の更新モデルを(例えばビットストリーム206に符号化された更新モデル情報を復号化することによって)復号化するように構成されている。それゆえ、復号化ユニット260は、現在の更新モデルであるか又は現在の更新モデルを含む、更新モデル情報262を提供することができる。更新モデル情報262は、例えば、更新モデル情報212と等しいか又は同等であってもよい。
復号化ユニット260は、現在の更新モデルの1つ以上のパラメーターをエントロピー復号化するように構成されている。したがって、更新モデル情報262は、これらの復号化されたパラメーターを含んでもよい。更新モデル情報262は、例えば、更新モデル情報212と等しいか又は同等であってもよい。
さらに、復号化ユニット260は、ベースモデルの1つ以上の以前に復号化されたパラメーターに依存して、及び/又は、中間更新モデルの1つ以上の以前に復号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー復号化に使用されるコンテキストを適応させるように構成されている。
それゆえ、デコーダー250は、コンテキストユニット290を備える。例えば、ベースモデルの1つ以上の以前に復号化されたパラメーター、及び/又は中間更新モデルの1つ以上の以前に復号化されたパラメーターであるか又はかかるパラメーターを含む、任意選択の復号化情報に基づいて、コンテキストユニット290は、例えば、コンテキスト又は対応するコンテキストモデルであるか又はかかるコンテキストモデルを含む、コンテキスト情報264を提供してもよい。任意選択で、コンテキスト情報264は、コンテキスト情報224と等しいか又は同等であってもよい。
それゆえ、復号化ユニット260は任意選択で、かかる以前に復号化されたパラメーターについての情報を記憶するように構成されてもよい。
さらに、更新モデル情報262は、修正ユニット270に提供される。修正ユニット270は、更新されたモデル208を得るために、現在の更新モデルを使用して、ニューラルネットワークのベースモデルのパラメーター、又は1つ以上の中間更新モデルを使用してニューラルネットワークのベースモデルから導出された中間パラメーターを修正するように構成されている。図示されるように、修正ユニット270は、更新されたモデルを含むか又は更新されたモデルである、更新されたモデル情報208を提供するように構成されてもよい。さらに、更新されたモデル情報208は、例えば、更新されたモデル情報202と等しいか又は同等であってもよい。
以上に説明されたように、更新モデル情報262は、現在の更新モデルであるか又は現在の更新モデルを含んでもよい。任意選択で示されるように、修正ユニット270は、例えば、参照モデル情報284を提供されてもよい。参照モデル情報284は、ベースモデル若しくは中間モデル、又は、例えばニューラルネットワークのベースモデルのパラメーター、若しくは中間パラメーター(又はそのそれぞれの値)であってもよいし、又はそれらを含んでもよい。
さらに、参照モデル情報284は、例えば、参照モデル情報204と等しいか又は同等であってもよい。
任意選択の特徴として、デコーダー250は、例えば、参照モデル情報284を修正ユニット270に提供するように構成された参照ユニットを備えてもよい。
別の任意選択の特徴として、復号化ユニット260は、例えばビットストリーム206を介して、参照モデル情報284を受信し、情報284を修正ユニット270に提供してもよい。この場合、参照ユニット280は、例えば、存在しなくてもよい。
別の例として、復号化ユニット260は、例えばビットストリーム206を介して、参照モデル情報284を受信し、参照モデル情報284を、例えば一度、参照ユニット280に提供して、そこに記憶させてもよい。
それゆえ、デコーダー250は任意選択で、ニューラルネットワークの1つ以上の層を定義するニューラルネットワークのベースモデルのパラメーターを得る、例えば復号化するように構成されてもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、例えばコンテキスト情報224を使用してのように、コンテキストベースのエントロピー符号化を使用して、例えば212のような現在の更新モデルの、換言すれば例えば更新モデル情報212に含まれる、1つ以上のパラメーターの量子化及び二値化された表現を符号化するように構成されてもよい。
本発明者らは、コンテキストベースのエントロピー符号化が、計算労力とコード化効率との間の良好なトレードオフを提供することを可能にすることができることを認識した。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、例えばコンテキスト情報264を使用してのように、コンテキストベースのエントロピー復号化を使用して、例えばビットストリーム206に符号化された、現在の更新モデルの1つ以上のパラメーターの量子化及び二値化された表現を復号化するように構成されてもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、例えば212のような現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー符号化するように構成されてもよく、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述する。更新モデル情報212は、例えば、少なくとも1つの有意ビンを含んでもよい。有意ビンは、例えば、ビットストリーム206に符号化されてもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー復号化するように構成されてもよく、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述する。任意選択で、更新モデル情報262は、例えば、少なくとも1つの復号化された有意ビンを含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、例えば212のような現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー符号化するように構成されてもよく、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述する。更新モデル情報212は、例えば、少なくとも1つの符号ビンを含んでもよい。符号ビンは、例えば、ビットストリーム206に符号化されてもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー復号化するように構成されてもよく、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述する。任意選択で、更新モデル情報262は、例えば、少なくとも1つの復号化された符号ビンを含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、例えば212のような現在の更新モデルの現在考慮されているパラメーター値に関連付けられた単項シーケンスをエントロピー符号化するように構成されてもよく、単項シーケンスのビンは、現在考慮されているパラメーター値の量子化インデックスの絶対値がそれぞれのビン重みよりも大きいか否かを記述する。更新モデル情報212は、例えば、単項シーケンスを含んでもよい。単項シーケンスは、ビットストリーム206に符号化されてもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた単項シーケンスをエントロピー復号化するように構成されてもよく、単項シーケンスのビンは、現在考慮されているパラメーター値の量子化インデックスの絶対値がそれぞれのビン重みよりも大きいか否かを記述する。任意選択で、更新モデル情報262は、例えば、復号化された単項シーケンスを含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー符号化するように構成されてもよく、Xはゼロよりも大きい整数である。更新モデル情報212は、例えば、1つ以上のXよりも大きいビンを含んでもよい。1つ以上のXよりも大きいビンは、例えば、ビットストリーム206に符号化されてもよい。
したがって、復号器250、例えば復号化ユニット260は、例えば、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー復号化するように構成されてもよく、Xはゼロよりも大きい整数である。任意選択で、更新モデル情報262は、例えば、1つ以上の復号化されたXよりも大きいビンを含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
それゆえ、符号化ユニット220は任意選択で、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値についての情報を記憶する又は含むように構成されてもよい。任意選択の符号化情報222は、例えば、以前に符号化された対応するパラメーター値の値を含んでもよい。更新モデル情報212は、例えば、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンを含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための、例えば264のようなコンテキストモデルを選択するように構成されてもよい。
それゆえ、復号化ユニット260は任意選択で、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値についての情報を記憶する又は含むように構成されてもよい。任意選択の復号化情報292は、例えば、例えばコンテキストユニット290におけるコンテキストの選択のために、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値を含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のために選択可能な、例えば224のようなコンテキストモデルのセットを選択するように構成されてもよい。
それゆえ、符号化ユニット220は任意選択で、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値についての情報を記憶する又は含むように構成されてもよい。
任意選択の符号化情報222は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値を含んでもよい。コンテキスト情報224は任意選択で、選択されたコンテキストモデルのセットを含んでもよい。更新モデル情報212は、例えば、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンを含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のために選択可能な、例えば224のようなコンテキストモデルのセットを選択するように構成されてもよい。
それゆえ、復号化ユニット260は任意選択で、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値についての情報を記憶する又は含むように構成されてもよい。
コンテキスト情報264は、選択されたコンテキストモデルのセットを含んでもよい。更新モデル情報212は、例えば、現在考慮されているパラメーター値の量子化インデックスの1つ以上の復号化されたビンを含んでもよい。任意選択の復号化情報292は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値を含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
代替として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば264のようなコンテキストモデルのセットを選択するように構成されてもよい。
コンテキスト情報224は、例えば、選択されたコンテキストモデル又はコンテキストモデルの選択されたセットを含んでもよい。符号化情報222は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値を含んでもよい。それゆえ、符号化ユニット220は任意選択で、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値についての情報を記憶する又は含むように構成されてもよい。更新モデル情報212は、例えば、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンを含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための、例えば264のようなコンテキストモデルを選択するように構成されてもよい。
代替として、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。復号化情報222は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値を含んでもよい。それゆえ、復号化ユニット260は任意選択で、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値についての情報を記憶する又は含むように構成されてもよい。更新モデル情報262は、例えば、現在考慮されているパラメーター値の量子化インデックスの1つ以上の復号化されたビンを含んでもよい。
任意選択の特徴として、エンコーダー200、例えば更新モデル提供ユニット210は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値を、1つ以上の閾値と比較するように構成されてもよい。
任意選択で、エンコーダー200は、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
代替として、エンコーダー200は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルのセットを選択するように構成されてもよい。
一例として、第1のセットは、例えば、対応する又は同位置のパラメーターが第1の閾値T1よりも小さい場合に選ばれてもよく、例えば、第2のセットは、対応する又は同位置のパラメーターが第1の閾値T1以上である場合に選ばれ、また例えば、第3のセットは、対応する又は同位置のパラメーターが閾値T2以上である場合に選ばれるようにしてもよい。
コンテキスト情報224は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。更新モデル情報212は、例えば、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンを含んでもよい。したがって、符号化ユニット220は、例えば、以前に符号化された対応するパラメーター値についての及び/又は1つ以上の閾値についての情報を記憶する又は含むように構成されてもよい。さらに、符号化情報222は、例えば、比較の結果を含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値を、1つ以上の閾値と比較するように構成されてもよい。
任意選択で、デコーダー250は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
代替として、デコーダー250は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。更新モデル情報212は、例えば、現在考慮されているパラメーター値の量子化インデックスの復号化された1つ以上のビンを含んでもよい。さらに、復号化情報292は、例えば、比較の結果を含んでもよい。したがって、復号化ユニット260は、例えば、以前に復号化された対応するパラメーター値についての及び/又は1つ以上の閾値についての情報を記憶する又は含むように構成されてもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値を、単一の閾値と比較するように構成されてもよい。
任意選択で、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
代替として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のために、例えば224のようなコンテキストモデルのセットを選択するように構成されてもよい。
それゆえ、符号化ユニット220は任意選択で、以前に符号化された対応するパラメーター値についての情報を記憶する又は含むように構成されてもよく、及び/又は閾値を含んでもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。更新モデル情報212は任意選択で、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンを含んでもよい。符号化情報222は任意選択で、単一の閾値との比較の結果を含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値を、単一の閾値と比較するように構成されてもよい。
任意選択で、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための、例えば264のようなコンテキストモデルを選択するように構成されてもよい。
代替として、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、単一の閾値との比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のために、例えば264のようなコンテキストモデルのセットを選択するように構成されてもよい。
それゆえ、復号化ユニット260は任意選択で、以前に復号化された対応するパラメーター値についての及び/又は閾値についての情報を記憶する又は含むように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。更新モデル情報262は任意選択で、現在考慮されているパラメーター値の量子化インデックスの復号化された1つ以上のビンを含んでもよい。復号化情報292は任意選択で、単一の閾値との比較の結果を含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値を、1つ以上の閾値と比較するように構成されてもよい。
任意選択で、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
代替として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のための、例えば224のようなコンテキストモデルのセットを選択するように構成されてもよい。
それゆえ、符号化ユニット220は任意選択で、以前に符号化された対応するパラメーター値の絶対値を記憶するように構成されてもよく、1つ以上の閾値を含んでもよい。
コンテキスト情報224は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。更新モデル情報212は任意選択で、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンを含んでもよい。符号化情報222は任意選択で、1つ以上の閾値との比較の結果を含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値を、1つ以上の閾値と比較するように構成されてもよい。
任意選択で、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための、例えば224のようなコンテキストモデルを選択するように構成されてもよい。
代替として、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のための、例えば224のようなコンテキストモデルのセットを選択するように構成されてもよい。
それゆえ、復号化ユニット260は、任意選択で、以前に復号化された対応するパラメーター値の絶対値についての及び/又は1つ以上の閾値についての情報を記憶する又は含むように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。更新モデル情報262は任意選択で、現在考慮されているパラメーター値の量子化インデックスの復号化された1つ以上のビンを含んでもよい。復号化情報292は任意選択で、例えばコンテキスト情報の選択のための、1つ以上の閾値との比較の結果を含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、例えば212のような現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー符号化することであって、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述することと、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、少なくとも1つの有意ビンのエントロピー符号化のための、例えば224のようなコンテキスト、又は、少なくとも1つの有意ビンのエントロピー符号化のための、例えば224のようなコンテキストのセットを選択することとを行うように構成されてもよい。
コンテキスト情報224は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。それゆえ、符号化ユニット220は任意選択で、以前に符号化された対応するパラメーター値の値についての情報を記憶するように構成されてもよい。更新モデル情報212は任意選択で、少なくとも1つの有意ビンを含んでもよい。符号化情報222は任意選択で、例えばコンテキストユニット240を使用した、コンテキスト選択のための以前に符号化された対応するパラメーター値の値を含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー復号化することであって、有意ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述することと、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、少なくとも1つの有意ビンのエントロピー復号化のための、例えば264のようなコンテキスト、又は少なくとも1つの有意ビンのエントロピー復号化のための、例えば264のようなコンテキストのセットを選択することとを行うように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。それゆえ、復号化ユニット260は任意選択で、以前に復号化された対応するパラメーター値の値についての情報を記憶するように構成されてもよい。
更新モデル情報262は任意選択で、少なくとも1つの復号化された有意ビンを含んでもよい。復号化情報292は任意選択で、例えばコンテキストユニット290を使用した、コンテキスト選択のための以前に復号化された対応するパラメーター値の値を含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー符号化することであって、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述することと、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、少なくとも1つの符号ビンのエントロピー符号化のための、例えば224のようなコンテキスト、又は少なくとも1つの符号ビンのエントロピー符号化のための、例えば224のようなコンテキストのセットを選択することとを行うように構成されてもよい。
コンテキスト情報224は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。それゆえ、符号化ユニット220は任意選択で、以前に符号化された対応するパラメーター値の値についての情報を記憶するように構成されてもよい。
更新モデル情報212は任意選択で、少なくとも1つの符号ビンを含んでもよい。符号化情報222は任意選択で、例えばコンテキストユニット240を使用した、コンテキスト選択のための以前に符号化された対応するパラメーター値の値を含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、現在の更新モデルの現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー復号化することであって、符号ビンは、現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述することと、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、少なくとも1つの符号ビンのエントロピー復号化のための、例えば224のようなコンテキスト、又は少なくとも1つの符号ビンのエントロピー復号化のための、例えば224のようなコンテキストのセットを選択することとを行うように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。それゆえ、復号化ユニット260は任意選択で、以前に復号化された対応するパラメーター値の値についての情報を記憶するように構成されてもよい。
更新モデル情報262は任意選択で、少なくとも1つの復号化された符号ビンを含んでもよい。復号化情報292は任意選択で、例えばコンテキストユニット290を使用した、コンテキスト選択のための以前に復号化された対応するパラメーター値の値を含んでもよい。
任意選択の特徴として、エンコーダー200、例えば符号化ユニット220は、例えば、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー符号化することであって、Xはゼロよりも大きい整数であることと、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、少なくとも1つのXよりも大きいビンのエントロピー符号化のための、例えば224のようなコンテキスト、又は少なくとも1つのXよりも大きいビンのエントロピー符号化のための、例えば224のようなコンテキストのセットを選択することとを行うように構成されてもよい。
コンテキスト情報224は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。それゆえ、符号化ユニット220は任意選択で、以前に符号化された対応するパラメーター値の値についての情報を記憶するように構成されてもよい。
更新モデル情報212は任意選択で、1つ以上のXよりも大きいビンを含んでもよい。符号化情報222は任意選択で、例えばコンテキストユニット240を使用した、コンテキスト選択のための以前に符号化された対応するパラメーター値の値を含んでもよい。
したがって、デコーダー250、例えば復号化ユニット260は、例えば、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す1つ以上のXよりも大きいビンをエントロピー復号化することであって、Xはゼロよりも大きい整数であることと、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、少なくとも1つのXよりも大きいビンのエントロピー復号化のための、例えば264のようなコンテキスト、又は少なくとも1つのXよりも大きいビンのエントロピー復号化のための、例えば264のようなコンテキストのセットを選択することとを行うように構成されてもよい。
コンテキスト情報264は、例えば、選択されたコンテキストモデル又はコンテキストモデルのセットを含んでもよい。それゆえ、復号化ユニット260は任意選択で、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値についての情報を記憶するように構成されてもよい。
更新モデル情報262は任意選択で、1つ以上のXよりも大きいビンを含んでもよい。復号化情報292は任意選択で、例えばコンテキストユニット290を使用した、コンテキスト選択のための以前に復号化された対応するパラメーター値の値を含んでもよい。
別の任意選択の特徴として、エンコーダー200、例えば符号化ユニット220及び/又はコンテキストユニット240は、例えば、現在の更新モデルの1つ以上の以前に符号化されたビン又はパラメーターに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選ぶように構成されてもよい。
それゆえ、コンテキスト情報224は、コンテキストモデルの選択されたセットを含んでもよく、符号化ユニット220は、コンテキストモデルのセットの中から1つのコンテキストモデルを選んでもよい。代替として、コンテキスト情報224は、選ばれたコンテキストモデルであってもよいし、又は選ばれたコンテキストモデルを含んでもよい。一例として、現在の更新モデルの1つ以上の以前に符号化されたビン又はパラメーターは、符号化情報222を使用したコンテキスト選択のためにコンテキストユニット240に提供されてもよい。
したがって、デコーダー250、例えば復号化ユニット260及び/又はコンテキストユニット290は、例えば、現在の更新モデルの1つ以上の以前に復号化されたビン又はパラメーターに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデルを選ぶように構成されてもよい。
それゆえ、一般的に、符号化ユニット220は、例えば、例えばシンボル、モデル、値、絶対値及び/又はビンのような、以前に符号化された情報についての情報を記憶するように構成されてもよいことは、留意されるべきである。
したがって、一般的に、復号化ユニット260は、例えば、例えばシンボル、モデル、値、絶対値及び/又はビンのような、以前に復号化された情報についての情報を記憶するように構成されてもよいことは、留意されるべきである。
図3は、本発明の実施形態による、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する方法を示す。方法300は、ニューラルネットワークの1つ以上の層の修正を定義する更新モデルを復号化すること(310)と、更新されたモデルを得るために、更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正すること(320)と、更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報を評価すること(330)とを含む。
図4は、本発明の実施形態による、ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する方法を示す。方法400は、ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくはニューラルネットワークの修正を定義する、現在の更新モデルを復号化すること(410)と、更新されたモデルを得るために、現在の更新モデルを使用して、ニューラルネットワークのベースモデルのパラメーター、又は1つ以上の中間更新モデルを使用してニューラルネットワークのベースモデルから導出された中間パラメーターを修正すること(420)と、現在の更新モデルの1つ以上のパラメーターをエントロピー復号化すること(430)と、ベースモデルの1つ以上の以前に復号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ又は以前に復号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー復号化のために使用されるコンテキストを適応させること(440)とを含む。
図5は、本発明の実施形態による、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する方法を示す。方法500は、ニューラルネットワークの1つ以上の層の修正を定義する更新モデルを符号化すること(510)と、更新されたモデルを得るために、更新モデルを使用してニューラルネットワークのベースモデルのパラメーターを修正するために、更新モデルを提供すること(520)と、更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報を提供すること(530)及び/又は決定することとを含む。
図6は、本発明の実施形態による、ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する方法を示す。方法600は、更新されたモデルを得るために、現在の更新モデルを使用して、ニューラルネットワークのベースモデルのパラメーター、又は1つ以上の中間更新モデルを使用してニューラルネットワークのベースモデルから導出された中間パラメーターを修正するために、ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくはニューラルネットワークの修正を定義する、現在の更新モデルを符号化すること(610)と、現在の更新モデルの1つ以上のパラメーターをエントロピー符号化すること(620)と、ベースモデルの1つ以上の以前に符号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ又は以前に符号化されたパラメーターに依存して、現在の更新モデルの1つ以上のパラメーターのエントロピー符号化のために使用されるコンテキストを適応させること(630)とを含む。
本発明による更なる実施形態は、時間的なコンテキスト適応を含む。実施形態は、例えば、時間経過に伴うコンテキストモデル又はコンテキスト情報の適応を含んでもよい。
さらに、実施形態は、ニューラルネットワーク全体の圧縮に適用することができ、それらのうちのいくつかは、ベースネットワークに対するニューラルネットワークの差分更新の圧縮にも適用され得ることに留意されたい。かかる差分更新は、例えば、モデルがファインチューニング又は転移学習の後に再分配されるとき、又は異なる圧縮率を有するニューラルネットワークのバージョンを提供するときに有用である。
実施形態は、ベースニューラルネットワーク、例えば、差分更新の基準となるニューラルネットワークの使用、例えば、操作又は修正に更に対処することができる。
実施形態は更に、更新されたニューラルネットワーク、例えば、ベースニューラルネットワークを修正することから生じるニューラルネットワークに対処するか、又はそれを含むか、又はそれを提供することができる。注:更新されたニューラルネットワークは、例えば、差分更新をベースニューラルネットワークに適用することによって再構成することができる。
本発明による更なる実施形態は、NNRユニットの形態のシンタックス要素を含むことができる。NNRユニットは、例えば、本発明の実施形態に従って圧縮又は表現され得るニューラルネットワークデータ及び/又は関連するメタデータを搬送するデータ構造であってもよい。
NNRユニットは、ニューラルネットワークメタデータについての圧縮された情報、ニューラルネットワークメタデータについての圧縮されていない情報、トポロジー情報、完全な又は部分的な層データ、フィルター、カーネル、バイアス、量子化された重み、テンソル等のうちの少なくとも1つを搬送することができる。
NNRユニットは、例えば、以下のデータ要素を含むか、又はそれらからなっていてもよい。
NNRユニットサイズ(任意選択):このデータ要素は、NNRユニットサイズを含む、NNRユニットの総バイトサイズをシグナリングすることができる。
NNRユニットヘッダー:このデータ要素は、NNRユニットタイプ及び/又は関連するメタデータに関する情報を含むか、又は包含することができる。
NNRユニットペイロード:このデータ要素は、ニューラルネットワークに関係する圧縮又は非圧縮データを含むか、又は包含することができる。
一例として、実施形態は、以下のビットストリームシンタックス(例えばnumBytesInNNRUnitはnnr_unitビットストリーム要素のサイズを示してもよい)を含んでも(又は使用しても)よい。
親ノード識別子は、例えば、上記のシンタックス要素のうちの1つ以上を含むことができ、例えば、device_id、parameter_id、及び/又はput_node_depthが挙げられる。
decode_compressed_data_unit_payload()を使用して、更新されたモデルを取得するために、ニューラルネットワークのベースモデルのパラメーターを修正することができる。
1に等しいnode_id_present_flagは、シンタックス要素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であってよく、又は更にはそれに等しくなければならない。
1に等しいparent_node_id_present_flagは、例えば、シンタックス要素parent_node_id_typeが存在することを示すことができる。
parent_node_id_typeは、例えば、親ノードidタイプを指定することができる。これは、親ノードを一意に識別する更なるシンタックス要素が存在することを示してもよい。parent_node_id_typeの許容値の例が表2に定義されている。
temporal_context_modeling_flagは、例えば、時間コンテキストモデリングが有効にされるかどうかを指定することができる。1に等しいtemporal_context_modeling_flagは、時間コンテキストモデリングが有効にされることを示すことができる。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によって有効にされた場合、行スキップ技術は、パラメーターテンソルの第1の軸に沿って値iごとに1つのフラグrow_skip_list[i]をシグナリングする。フラグrow_skip_list[i]が1である場合、第1の軸のインデックスがiに等しいパラメーターテンソルの全ての要素がゼロに設定される。フラグrow_skip_list[i]が0である場合、第1の軸のインデックスがiに等しいパラメーターテンソルの全ての要素が個々に符号化される。
さらに、本発明による実施形態は、コンテキストモデリングを含むことができる。一例として、コンテキストモデリングは、3つのタイプのフラグsig_flag、sign_flag、及びabs_level_greater_x/x2をコンテキストモデルに関連付けることに対応することができる。このようにして、(コンテキストモデルの内部の)確率推定器が、例えば、基礎となる統計に適応することができるように、同様の統計的挙動を有するフラグが同じコンテキストモデルに関連付けられ得るか、又は関連付けられるべきである。
提示された手法のコンテキストモデリングは、例えば、以下の通りであってもよい。
例えば、24個のコンテキストモデルは、状態値と、左に隣接する量子化されたパラメーターレベルがゼロであるか、ゼロよりも小さいか、又はゼロよりも大きいかとに応じて、sig_flagについて区別することができる。
dq_flagが0である場合、例えば、最初の3個のコンテキストモデルのみを使用することができる。
3つの他のコンテキストモデルは、例えば、左に隣接する量子化されたパラメーターレベルがゼロであるか、ゼロよりも小さいか、又はゼロよりも大きいかに応じて、sign_flagについて区別することができる。
abs_level_greater_x/x2フラグの場合、各xは、例えば、1つ又は2つの別個のコンテキストモデルのいずれかを使用することができる。x≦maxNumNoRemMinus1の場合、sign_flagに応じて2つのコンテキストモデルが区別される。x>maxNumNoRemMinus1の場合、例えば、1つのコンテキストモデルのみを使用することができる。
さらに、本発明による実施形態は、時間コンテキストモデリングを含むことができる。一例として、フラグtemporal_context_modeling_flagによって有効にされた場合、フラグsig_flag、sign_flag及びabs_level_greater_xの追加のコンテキストモデルセットが利用可能であり得る。ctxIdxの導出は、次いで、例えば、パラメーター更新ツリーによって一意に識別され得る、以前に符号化されたパラメーター更新テンソル中の量子化されたコロケートパラメーターレベルの値にも基づき得る。コロケートパラメーターレベルが利用可能でないか、又はゼロに等しい場合、例えば、前に説明したようなコンテキストモデリングが適用されてもよい。そうではなく、コロケートパラメーターレベルがゼロに等しくない場合、提示される手法の時間コンテキストモデリングは、以下の通りであってもよい。
16個のコンテキストモデルは、例えば、状態値と、量子化されたコロケートパラメーターレベルの絶対値が1よりも大きいか否かとに応じて、sig_flagについて区別することができる。
dq_flagが0である場合、最初の2つの追加のコンテキストモデルのみを使用することができる。
更に2つのコンテキストモデルは、例えば、量子化されたコロケートパラメーターレベルがゼロよりも小さいか又は大きいかに応じて、sign_flagについて区別することができる。
abs_level_greater_xフラグの場合、各xは2つの別個のコンテキストモデルを使用することができる。これらの2つのコンテキストモデルは、例えば、量子化されたコロケートパラメーターレベルの絶対値がx-1以上であるか否かに応じて区別することができる。
本発明による実施形態は、任意選択で、以下のテンソルシンタックス、例えば量子化されたテンソルシンタックスを含むことができる。
スキップ情報は、例えば、上記の行スキップ情報、例えば、row_skip_enabled_flag及び/又はrow_skip_listのいずれか又は全てを含むことができる。
一例として、row_skip_enabled_flagは、行スキップが有効にされるかどうかを指定することができる。1に等しいrow_skip_enabled_flagは、行スキップが有効にされることを示すことができる。
row_skip_listは、フラグのリストを指定することができ、i番目のフラグrow_skip_lsit[i]は、第1の次元のインデックスがiに等しいQuantParamの全てのテンソル要素がゼロであるかどうかを示すことができる。row_skip_list[i]が1に等しい場合、第1の次元のインデックスがiに等しいQuantParamの全てのテンソル要素はゼロであってもよい。
本発明による実施形態は、例えば、量子化されたパラメーターシンタックス、一例として、以下に定義されるシンタックスを更に含むことができる(全ての要素は、任意選択と見なすことができる)。
sig_flagは、例えば、量子化された重みQuantParam[i]が非ゼロであるかどうかを指定することができる。0に等しいsig_flagは、例えば、QuantParam[i]が0であることを示すことができる。sign_flagは、例えば、量子化された重みQuantParam[i]が正であるか負であるかを指定することができる。1に等しいsign_flagは、例えば、QuantParam[i]が負であることを示すことができる。abs_level_greater_x[j]は、例えば、QuantParam[i]の絶対レベルがj+1よりも大きいかどうかを示すことができる。
abs_level_greater_x2[j]は、例えば、指数ゴロム剰余の単項部分を含むことができる。
abs_remainderは、例えば、固定長剰余を示すことができる。
本発明による更なる実施形態は、例えば、以下のシフトパラメーターインデックスシンタックスを含むことができる(全ての要素は、任意選択と見なすことができる)。
本発明による更なる実施形態は、以下で説明されるように、エントロピー復号化プロセスを含む。
一般に、このプロセスへの入力は、例えば、シンタックス要素の値及び前の解析されたシンタックス要素の値についての要求であり得る。
このプロセスの出力は、例えば、シンタックス要素の値とすることができる。
シンタックス要素の解析は、例えば、以下のように進めることができる。
シンタックス要素の要求された値ごとに、例えば、二値化を導出することができる。
シンタックス要素の二値化及び解析されたビンのシーケンスは、例えば、復号化プロセスフローを決定することができる。
実施形態による初期化プロセスの例:
一般に、このプロセスの出力は、例えば、初期化されたDeepCABAC内部変数とすることができる。
算術復号化エンジンのコンテキスト変数は、例えば、以下のように初期化することができる。
復号化エンジンは、例えば、IvlCurrRange及びIvlOffsetを両方とも16ビットレジスタ精度で登録することができ、例えば、算術復号化エンジンの初期化プロセスを呼び出すことによって初期化することができる。
本発明による実施形態は、例えば以下で説明するように、確率推定パラメーターの初期化プロセスを含むことができる。
このプロセスの出力は、例えば、シンタックス要素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)、例えば、シンタックス要素sign_flagの最初の、例えば、3個のコンテキストモデルのそれぞれについて、関連するコンテキストパラメーターshift0は、例えば、CtxParameterListsetId[0]に設定することができ、shift1は、例えば、CtxParameterList[setId][1]に設定することができ、pStateIdx0は、例えば、CtxParameterList[setId][2]に設定することができ、pStateIdx1は、例えば、CtxParameterList[setId][3]に設定することができ、ここで、iは、例えば、コンテキストモデルのインデックスであり得て、setIdは、例えば、ShiftParameterIdsSignFlag[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]に等しくなり得る。
本発明による更なる実施形態は、例えば、以下で説明されるような復号化プロセスフローを含むことができる。
一般に、このプロセスへの入力は、例えば、要求されたシンタックス要素の二値化の全てのビン文字列であってもよい。
このプロセスの出力は、例えば、シンタックス要素の値であってもよい。
このプロセスは、例えば、各シンタックス要素について、例えば、ビン文字列の各ビンがどのように解析されるかを指定することができる。例えば各ビンを解析した後、得られたビン文字列は、例えばシンタックス要素の二値化の全てのビン文字列と比較されてもよく、以下が適用されてもよい。
ビン文字列がビン文字列のうちの1つに等しい場合、シンタックス要素の対応する値は、例えば、出力であり得る。
そうでない場合(ビン文字列がビン文字列のうちの1つに等しくない)、次のビットが、例えば解析され得る。
そうでない場合(ビン文字列がビン文字列のうちの1つに等しくない)、次のビットが、例えば解析され得る。
各ビンを解析する間、変数binIdxは、例えば、最初のビンについて0に等しく設定されているbinIdxから開始して、1だけ増分することができる。
各ビンの解析は、例えば、以下の2つの順序付けられたステップによって指定することができる。
1.例えば、ctxIdx及びbypassFlagの導出プロセスは、例えば、binIdxを入力として、ctxIdx及びbypassFlagを出力として呼び出すことができる。
2.算術復号化プロセスは、例えば、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に設定される。
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に設定され得る。
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に設定され得る。
そうでない場合、ctxIncは、例えば、2*j+1に設定され得る。
coLocParamがゼロに等しくない場合、以下を適用することができる。
coLocParamがj以上又は-j以下である場合、
ctxIncは、例えば、2*j+2*maxNumNoRemMinus1に設定され得る。
そうでない場合、ctxIncは、例えば、2*j+2*macNumNoRemMinus1+1に設定され得る。
更なる注:
以下においては、章「応用分野」、章「本発明による実施形態の態様」、及び章「本発明の態様」において、種々の本発明の実施形態及び態様が説明される。
以下においては、章「応用分野」、章「本発明による実施形態の態様」、及び章「本発明の態様」において、種々の本発明の実施形態及び態様が説明される。
また、更なる実施形態は、添付の特許請求の範囲によって定義される。
特許請求の範囲によって定義される任意の実施形態は、それぞれ上述の章及び/又は下位章に記載された詳細(特徴及び機能)のいずれかによって、及び/又は上記の開示に記載された詳細(特徴及び機能)のいずれかによって補完され得ることに留意されたい。
また、それぞれ上述の章及び/又は下位章に記載された実施形態は、個々に使用することができ、それぞれ別の章及び/又は下位章の特徴のいずれかによって、又は特許請求の範囲に含まれる任意の特徴によって補完することもできる。
また、本明細書に記載される個々の態様は、個々に又は組み合わせて使用することができることに留意されたい。したがって、当該態様の別の1つに詳細を追加することなく、当該個々の態様のそれぞれに詳細を追加することができる。
また、本開示は、ニューラルネットワークパラメーターエンコーダー又はニューラルネットワークパラメーター更新エンコーダー(ニューラルネットワークパラメーター又はその更新の符号化表現を提供する装置)及びニューラルネットワークパラメーターデコーダー又はニューラルネットワークパラメーター更新デコーダー(符号化表現に基づいて、ニューラルネットワークパラメーター又はニューラルネットワークパラメーター更新の復号化表現を提供する装置)において使用可能な特徴を、明示的又は暗黙的に記載するものであることは、留意されるべきである。かくして、本明細書で説明される特徴のいずれも、ニューラルネットワークエンコーダーの文脈及びニューラルネットワークデコーダーの文脈において使用することができる。
さらに、方法に関して本明細書に開示される特徴及び機能は、(かかる機能を実施するように構成された)装置においても使用され得る。さらに、装置に関して本明細書に開示される任意の特徴及び機能は、対応する方法においても使用され得る。換言すれば、本明細書に開示される方法は、装置に関して説明される特徴及び機能のうちのいずれかによって補完することができる。
また、本明細書において説明される特徴及び機能のいずれも、「代替的な実施態様」の節で説明されるように、ハードウェア若しくはソフトウェアで、又はハードウェアとソフトウェアとの組み合わせを使用して実装され得る。
以下の節は、ニューラルネットワークの増分更新のパラメーターのエントロピーコード化の方法と題することができ、例えば、下位節又は章1~3を含む。
以下において、本発明の実施形態の態様が開示される。以下は、本発明の実施形態の態様の包括的な概念を提供し得る。特許請求の範囲によって定義される任意の実施形態は、任意選択で、以下に説明される詳細(特徴及び機能)のいずれかによって補足されてもよいことは、留意されるべきである。また、以下に説明される実施形態及びその態様は、個々に使用されてもよく、また、任意選択で、それぞれ別の章及び/又は下位章における特徴のいずれかによって、又は特許請求の範囲に含まれるいずれかの特徴によって、及び/又は以上の開示において説明された詳細(特徴及び機能)のいずれかによって、補足されてもよい。実施形態は、当該態様及び/又は特徴を単独で含んでもよいし、又は組み合わせで含んでもよい。
本発明の実施形態及び/又は態様は、例えば、エントロピー符号化法を使用して、ニューラルネットワークパラメーター(例えば重み、又は重みパラメーター(複数の場合もある)とも呼ばれる)のセットの増分更新のパラメーターコード化の方法を説明し得る。例えば、(例えば完全な)ニューラルネットワークパラメーターの符号化と同様に、この方法は、量子化、可逆符号化及び/又は可逆復号化法を含んでもよい。例えば、通常、増分更新は、ニューラルネットワークモデルを再構築するのに十分でないものであり得るが、例えば既存のモデルに対する差分更新を提供することができる。例えば、例えば更新のアーキテクチャのようなそれらのアーキテクチャが、関連する完全なニューラルネットワークモデルと類似しているか又は例えば更には同一となり得るということのために、例えば、ニューラルネットワーク圧縮のための多くの又は更には全ての既存の方法(例えばマルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮についてのMPEG-7パート17規格[2]で与えられるようなもの)が適用可能となり得る。
ベースモデル及び1つ以上の増分更新を有するという基本構造は、例えば、例えばこの開示において説明されるエントロピーコード化のためのコンテキストモデリングにおいて、新たな方法を可能にすることができる。換言すれば、本発明による実施形態は、エントロピーコード化のためのコンテキストモデリング法を使用して、ベースモデル及び1つ以上の増分更新を含んでもよい。
本発明の実施形態及び/又は態様は、例えば、ニューラルネットワーク圧縮におけるニューラルネットワークパラメーターの層の非可逆コード化を主な対象とすることができるが、非可逆コード化の他の領域にも適用することができる。換言すれば、本発明による実施形態は、例えば追加的に、非可逆コード化のための方法を含んでもよい。
例えば本発明の実施形態による装置の方法論、又は装置は、異なる主要部分に分割することができ、これらは以下のうちの少なくとも1つを含むか又は以下のうちの少なくとも1つからなるものであってもよい:
1.量子化
2.可逆符号化
3.可逆復号化
1.量子化
2.可逆符号化
3.可逆復号化
本発明の実施形態の主な利点を理解するために、以下においては、ニューラルネットワークのトピックについて及びパラメーターコード化のための関連する方法についての、簡単な導入が開示される。以下において開示されるいずれの態様及び/又は特徴も、本発明による実施形態に組み込まれてもよく、及び/又は、本発明の実施形態は、当該特徴及び態様によって補足されてもよいことは、留意されるべきである。
1 応用分野
最も基本的な形態においては、ニューラルネットワークは、例えば、アフィン変換の後に例えば、要素毎の非線形関数が続く連鎖を構成し得る。これらは、例えば図7に描かれているように、有向非巡回グラフとして表現することができる。図7は、例えばフィードフォワードニューラルネットワークのような、フィードフォワードニューラルネットワークのグラフ表現の一例を示している。具体的には、この2層ニューラルネットワークは、4次元入力ベクトルを実数直線にマッピングする非線形関数である。各ノード710は、例えば、エッジ720のそれぞれの重み値との乗算によって、次のノードに順伝播させることができる、特定の値を含むことができる。全ての入力値は、例えば、次いで単純に集約されてもよい。
最も基本的な形態においては、ニューラルネットワークは、例えば、アフィン変換の後に例えば、要素毎の非線形関数が続く連鎖を構成し得る。これらは、例えば図7に描かれているように、有向非巡回グラフとして表現することができる。図7は、例えばフィードフォワードニューラルネットワークのような、フィードフォワードニューラルネットワークのグラフ表現の一例を示している。具体的には、この2層ニューラルネットワークは、4次元入力ベクトルを実数直線にマッピングする非線形関数である。各ノード710は、例えば、エッジ720のそれぞれの重み値との乗算によって、次のノードに順伝播させることができる、特定の値を含むことができる。全ての入力値は、例えば、次いで単純に集約されてもよい。
数学的には、以上のニューラルネットワークは、例えば、以下のように出力を算出してもよく、又は算出することとなり得る:
出力=σ(W2・σ(W1・入力))
ここで、W2及びW1は、ニューラルネットワークの重みパラメーター(エッジ重み)であり得て、σは、何らかの非線形関数であり得る。例として、いわゆる畳み込み層もまた、例えば[1]に記載されているように、例えば行列-行列積としてキャストすることによって、使用されてもよい。増分更新は、例えば、通常はW1及び/又はW2の重みについての更新を提供することを目的とすることができ、例えば、追加的なトレーニングプロセスの結果であり得る。W2及びW1の更新されたバージョンは、例えば、通常は修正された出力に導くことができる。ここからは、所与の入力から出力を算出する手順を、推論と呼ぶこととする。また、中間的な結果を隠れ層又は隠れ活性化値と呼ぶこととするが、これらは、例えば、以上の第1のドット積+非線形性の算出等の、線形変換+要素毎の非線形性を構成してもよい。
出力=σ(W2・σ(W1・入力))
ここで、W2及びW1は、ニューラルネットワークの重みパラメーター(エッジ重み)であり得て、σは、何らかの非線形関数であり得る。例として、いわゆる畳み込み層もまた、例えば[1]に記載されているように、例えば行列-行列積としてキャストすることによって、使用されてもよい。増分更新は、例えば、通常はW1及び/又はW2の重みについての更新を提供することを目的とすることができ、例えば、追加的なトレーニングプロセスの結果であり得る。W2及びW1の更新されたバージョンは、例えば、通常は修正された出力に導くことができる。ここからは、所与の入力から出力を算出する手順を、推論と呼ぶこととする。また、中間的な結果を隠れ層又は隠れ活性化値と呼ぶこととするが、これらは、例えば、以上の第1のドット積+非線形性の算出等の、線形変換+要素毎の非線形性を構成してもよい。
例えば、通常は、ニューラルネットワークは、数百万のパラメーターを備え得るものであり、かくして、表現されるために数百MBを必要とし得る。その結果、それらの推論手順が、例えば、例えば大きな行列間の多くのドット積演算を含み得るため、実行されるためには高い計算リソースを必要とし得る。それゆえ、これらのドット積を実行することの複雑さを低減することは、高い重要性を持つものとなり得る。
2 本発明による実施形態の態様
2.1 量子化及びエントロピーコード化の関連する方法
マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮についてのMPEG-7パート17規格[2]は、例えば、独立スカラー量子化及び従属スカラー量子化(DQ又はトレリス符号化量子化(TCQ))のような、ニューラルネットワークパラメーターの量子化のための種々の方法を提供する。これに加えて、deepCABAC[7]としても知られるエントロピー量子化方式も規定している。より深い理解のために、これらの方法が簡潔に要約される。詳細は、[2]において見出され得る。本発明による実施形態(例えば節3において説明され、特許請求の範囲によって定義されるもの)は、当該方法又は規格のいずれの特徴及び/又は態様を含んでもよく、特に、以下において説明される特徴及び/又は態様を、単独で又は組み合わせで含んでもよいことは、留意されるべきである。
2.1 量子化及びエントロピーコード化の関連する方法
マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮についてのMPEG-7パート17規格[2]は、例えば、独立スカラー量子化及び従属スカラー量子化(DQ又はトレリス符号化量子化(TCQ))のような、ニューラルネットワークパラメーターの量子化のための種々の方法を提供する。これに加えて、deepCABAC[7]としても知られるエントロピー量子化方式も規定している。より深い理解のために、これらの方法が簡潔に要約される。詳細は、[2]において見出され得る。本発明による実施形態(例えば節3において説明され、特許請求の範囲によって定義されるもの)は、当該方法又は規格のいずれの特徴及び/又は態様を含んでもよく、特に、以下において説明される特徴及び/又は態様を、単独で又は組み合わせで含んでもよいことは、留意されるべきである。
2.1.1 スカラー量子化器(任意選択、詳細は全て任意選択)
ニューラルネットワークパラメーターは、例えば、スカラー量子化器を使用して量子化されてもよい。量子化の結果として、パラメーターについての許容可能な値のセットを、例えば、低減させることができる。換言すれば、ニューラルネットワークパラメーターは、いわゆる再構築レベルのカウント可能なセット(例えば、実際には、有限のセット)にマッピングすることができる。再構築レベルのセットは、とり得るニューラルネットワークパラメーター値のセットの適切なサブセットを表すことができる。以下のエントロピーコード化を簡略化するために、許容可能な再構築レベルは、例えば、ビットストリームの一部として伝送することができる、量子化インデックスによって表されてもよい。デコーダー側においては、量子化インデックスは、例えば、再構築されたニューラルネットワークパラメーターにマッピングされてもよい。再構築されたニューラルネットワークパラメーターについてのとり得る値は、再構築レベルのセットに対応してもよい。エンコーダー側においては、スカラー量子化の結果は、(整数の)量子化インデックスのセットであってもよい。
ニューラルネットワークパラメーターは、例えば、スカラー量子化器を使用して量子化されてもよい。量子化の結果として、パラメーターについての許容可能な値のセットを、例えば、低減させることができる。換言すれば、ニューラルネットワークパラメーターは、いわゆる再構築レベルのカウント可能なセット(例えば、実際には、有限のセット)にマッピングすることができる。再構築レベルのセットは、とり得るニューラルネットワークパラメーター値のセットの適切なサブセットを表すことができる。以下のエントロピーコード化を簡略化するために、許容可能な再構築レベルは、例えば、ビットストリームの一部として伝送することができる、量子化インデックスによって表されてもよい。デコーダー側においては、量子化インデックスは、例えば、再構築されたニューラルネットワークパラメーターにマッピングされてもよい。再構築されたニューラルネットワークパラメーターについてのとり得る値は、再構築レベルのセットに対応してもよい。エンコーダー側においては、スカラー量子化の結果は、(整数の)量子化インデックスのセットであってもよい。
実施形態によれば、例えば、この用途においては、一様再構築量子化器(URQ)を使用することができる。それらの基本設計が、図8に示されている。図8は、本発明の実施形態による、一様再構築量子化器の説明の一例である。URQは、再構築レベルが等間隔であるという特性を有することができる。2つの隣接する再構築レベル間の距離Δは、量子化ステップサイズと呼ばれる。再構築レベルの1つは、例えば、0に等しくてもよい。それゆえ、利用可能な再構築レベルの完全なセットは、例えば、量子化ステップサイズΔによって一意に指定することができる。再構築された重みパラメーターt’に対する量子化インデックスqのデコーダーマッピングは、例えば、原理的には、
t’=q・Δ
という単純な式によって与えることができる。
t’=q・Δ
という単純な式によって与えることができる。
この文脈において、用語「独立スカラー量子化」は、例えば、任意の重みパラメーターに対する所与の量子化インデックスqに対して、関連する再構築された重みパラメーターt’が、例えば、例えば他の重みパラメーターについての全ての量子化インデックスとは独立して、決定することができるという特性を指し得る。
2.1.2 従属スカラー量子化(任意選択、詳細は全て任意選択)
従属スカラー量子化(DQ)においては、ニューラルネットワークパラメーターについての許容可能な再構築レベルは、例えば、例えば再構築順序において、先行するニューラルネットワークパラメーターについて選択された量子化インデックスに依存してもよい。従属スカラー量子化の概念は、ニューラルネットワークパラメーターについての確率モデル選択(又は、例えば、代替として、コードワードテーブル選択)が、例えば、許容可能な再構築レベルのセットに依存し得る、修正されたエントロピーコード化と組み合わせられてもよい。ニューラルネットワークパラメーターの従属量子化の利点は、例えば、許容可能な再構築ベクトルを、N次元信号空間(ここでNは例えば層のような処理されるべきサンプルのセット中のサンプル又はニューラルネットワークパラメーターの数を示す)に、より密に詰め込むことができることであり得る。ニューラルネットワークパラメーターのセットについての再構築ベクトルは、ニューラルネットワークパラメーターのセットの順序付けられた再構築されたニューラルネットワークパラメーター(又は、例えば、代替として、順序付けられた再構築されたサンプル)を指し得る。従属スカラー量子化の効果の例が、例えば2つのニューラルネットワークパラメーターの最も単純な場合について、図9に示される。図9は、本発明の実施形態による、例えば2つの重みパラメーター:(a)独立スカラー量子化(例)及び(b)従属スカラー量子化の、最も単純な場合についての許容可能な再構築ベクトルの位置の例を示す。図9(a)は、独立スカラー量子化についての許容可能な再構築ベクトル910(2d平面内の点を表す)の例を示す。ここに見られるように、第2のニューラルネットワークパラメーターt1’についての許容可能な値のセットは、第1の再構築されたニューラルネットワークパラメーターt0’について選ばれた値に依存しないこととなり得る。図9(b)は、従属スカラー量子化の例を示す。独立スカラー量子化とは対照的に、第2のニューラルネットワークパラメーターt1’のために選択可能な再構築値は、第1のニューラルネットワークパラメーターt0’について選ばれた再構築レベルに依存し得ることに留意されたい。図9(b)の例においては、第2のニューラルネットワークパラメーターt1’についての利用可能な再構築レベルの2つの異なるセット920、930がある(異なる色若しくは異なるハッチング又は異なるタイプのシンボルで示されている)。第1のニューラルネットワークパラメーターt0’についての量子化インデックスが偶数(...、-2、0、2、...)である場合、例えば、第2のニューラルネットワークパラメーターt1’について、第1のセット920の任意の再構築レベル(例えば青色の点若しくは第1のハッチングを有する点又は第1のタイプのシンボル)が選択されてもよい。また、第1のニューラルネットワークパラメーターt0’についての量子化インデックスが奇数(...、-3、-1、1、3、...)である場合、例えば、第2のニューラルネットワークパラメーターt1’について、第2のセット930の任意の再構築レベル(例えば、赤色の点若しくは第2のハッチングを有する点又は第2のタイプのシンボル)が選択されてもよい。本例においては、第1のセット及び第2のセットについての再構築レベルは、量子化ステップサイズの半分だけシフトされる(第2のセットの任意の再構築レベルは、第1のセットの2つの再構築レベルの間に位置する)。
従属スカラー量子化(DQ)においては、ニューラルネットワークパラメーターについての許容可能な再構築レベルは、例えば、例えば再構築順序において、先行するニューラルネットワークパラメーターについて選択された量子化インデックスに依存してもよい。従属スカラー量子化の概念は、ニューラルネットワークパラメーターについての確率モデル選択(又は、例えば、代替として、コードワードテーブル選択)が、例えば、許容可能な再構築レベルのセットに依存し得る、修正されたエントロピーコード化と組み合わせられてもよい。ニューラルネットワークパラメーターの従属量子化の利点は、例えば、許容可能な再構築ベクトルを、N次元信号空間(ここでNは例えば層のような処理されるべきサンプルのセット中のサンプル又はニューラルネットワークパラメーターの数を示す)に、より密に詰め込むことができることであり得る。ニューラルネットワークパラメーターのセットについての再構築ベクトルは、ニューラルネットワークパラメーターのセットの順序付けられた再構築されたニューラルネットワークパラメーター(又は、例えば、代替として、順序付けられた再構築されたサンプル)を指し得る。従属スカラー量子化の効果の例が、例えば2つのニューラルネットワークパラメーターの最も単純な場合について、図9に示される。図9は、本発明の実施形態による、例えば2つの重みパラメーター:(a)独立スカラー量子化(例)及び(b)従属スカラー量子化の、最も単純な場合についての許容可能な再構築ベクトルの位置の例を示す。図9(a)は、独立スカラー量子化についての許容可能な再構築ベクトル910(2d平面内の点を表す)の例を示す。ここに見られるように、第2のニューラルネットワークパラメーターt1’についての許容可能な値のセットは、第1の再構築されたニューラルネットワークパラメーターt0’について選ばれた値に依存しないこととなり得る。図9(b)は、従属スカラー量子化の例を示す。独立スカラー量子化とは対照的に、第2のニューラルネットワークパラメーターt1’のために選択可能な再構築値は、第1のニューラルネットワークパラメーターt0’について選ばれた再構築レベルに依存し得ることに留意されたい。図9(b)の例においては、第2のニューラルネットワークパラメーターt1’についての利用可能な再構築レベルの2つの異なるセット920、930がある(異なる色若しくは異なるハッチング又は異なるタイプのシンボルで示されている)。第1のニューラルネットワークパラメーターt0’についての量子化インデックスが偶数(...、-2、0、2、...)である場合、例えば、第2のニューラルネットワークパラメーターt1’について、第1のセット920の任意の再構築レベル(例えば青色の点若しくは第1のハッチングを有する点又は第1のタイプのシンボル)が選択されてもよい。また、第1のニューラルネットワークパラメーターt0’についての量子化インデックスが奇数(...、-3、-1、1、3、...)である場合、例えば、第2のニューラルネットワークパラメーターt1’について、第2のセット930の任意の再構築レベル(例えば、赤色の点若しくは第2のハッチングを有する点又は第2のタイプのシンボル)が選択されてもよい。本例においては、第1のセット及び第2のセットについての再構築レベルは、量子化ステップサイズの半分だけシフトされる(第2のセットの任意の再構築レベルは、第1のセットの2つの再構築レベルの間に位置する)。
ニューラルネットワークパラメーターの従属スカラー量子化は、例えば、N次元単位体積当たりの再構築ベクトルの所与の平均数について、ニューラルネットワークパラメーターの所与の入力ベクトルと、最も近い利用可能な再構築ベクトルとの間の距離の期待値を低減することができるという効果を有し得る。例えば、結果として、ニューラルネットワークパラメーターの入力ベクトルと、ベクトル再構築されたニューラルネットワークパラメーターとの間の平均歪みは、例えば、所与のビットの平均数に対して低減され得る。ベクトル量子化においては、この効果は空間充填利得と呼ばれ得る。ニューラルネットワークパラメーターのセットに対して従属スカラー量子化を使用して、例えば、高次元ベクトル量子化の潜在的な空間充填利得の大部分が、例えば利用されてもよい。また、ベクトル量子化とは対照的に、再構築プロセス(又は、例えば、復号化プロセス)の実装の複雑度は、例えば、例えば独立スカラー量子化器を用いた、関連するニューラルネットワークパラメーターコード化のものに相当し得る。
上述した態様の結果として、DQは、例えば、通常は、より低いビットレートで同じ歪みレベルを達成することができる。
2.1.3 MPEG-7パート17におけるDQ(任意選択、詳細は全て任意選択)
マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮についてのMPEG-7パート17規格は、再構築レベルの異なるセットを有する2つの量子化器Q1及びQ2を採用する。いずれのセットも、例えば、量子化ステップサイズΔの整数倍を含むことができる。Q1は、例えば、量子化ステップサイズの全ての偶数倍と0とを含むことができ、Q2は、例えば、量子化ステップサイズの全ての奇数倍と0とを含むことができる。この再構築セットの分割は、図10に示されている。図10は、本発明の実施形態による、再構築レベルのセットの、2つのサブセットへの分割についての例を示す。量子化セット0の2つのサブセットは、「A」及び「B」を使用してラベル付けされ、量子化セット1の2つのサブセットは、「C」及び「D」を使用してラベル付けされている。
マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮についてのMPEG-7パート17規格は、再構築レベルの異なるセットを有する2つの量子化器Q1及びQ2を採用する。いずれのセットも、例えば、量子化ステップサイズΔの整数倍を含むことができる。Q1は、例えば、量子化ステップサイズの全ての偶数倍と0とを含むことができ、Q2は、例えば、量子化ステップサイズの全ての奇数倍と0とを含むことができる。この再構築セットの分割は、図10に示されている。図10は、本発明の実施形態による、再構築レベルのセットの、2つのサブセットへの分割についての例を示す。量子化セット0の2つのサブセットは、「A」及び「B」を使用してラベル付けされ、量子化セット1の2つのサブセットは、「C」及び「D」を使用してラベル付けされている。
セット間を切り換えるためのプロセスは、例えば、再構築順序において先行するニューラルネットワークパラメーターについて選ばれた量子化インデックスに基づいて、又は例えば、より正確には、以前に符号化された量子化インデックスのパリティに基づいて、適用されるべき量子化器を決定してもよい。この切り換えプロセスは、例えば、(図11において表されているような)8つの状態を有する有限状態機械によって実現されてもよく、このとき各状態は、例えば、量子化器Q1又はQ2のうちの一方と関連付けられてもよい。図11は、8つの状態を有する構成についての状態遷移テーブルの好ましい例を示している。
状態遷移の概念を使用して、例えば、現在の状態、及び、例えば、かくして、現在の量子化セットが、(例えば再構築順序において)以前の状態、及び、例えば、以前の量子化インデックスによって、一意に決定されてもよい。
2.1.4 エントロピーコード化(任意選択、詳細は全て任意選択)
例えば、以前のステップにおいて適用された量子化の結果として、重みパラメーターは、例えば、いわゆる再構築レベルの有限セットにマッピングされてもよい。これらは、例えば、例えば層全体に対して固定されていてもよい、(例えば整数の)量子化器インデックス(例えばパラメーターレベル又は重みレベルとも呼ばれる)及び量子化ステップサイズによって表されてもよい。例えば、或る層の全ての量子化された重みパラメーターを復元するために、その層のステップサイズ及び次元がデコーダーに既知であってもよい。これらは、例えば、個別に伝送されてもよい。
例えば、以前のステップにおいて適用された量子化の結果として、重みパラメーターは、例えば、いわゆる再構築レベルの有限セットにマッピングされてもよい。これらは、例えば、例えば層全体に対して固定されていてもよい、(例えば整数の)量子化器インデックス(例えばパラメーターレベル又は重みレベルとも呼ばれる)及び量子化ステップサイズによって表されてもよい。例えば、或る層の全ての量子化された重みパラメーターを復元するために、その層のステップサイズ及び次元がデコーダーに既知であってもよい。これらは、例えば、個別に伝送されてもよい。
2.1.4.1 コンテキスト適応型二値算術コード化(CABAC)を用いた量子化インデックスの符号化
量子化インデックス(整数表現)は、例えば、次いで、エントロピーコード化手法を使用して伝送されてもよい。例えば、それゆえ、重みの層は、例えばスキャンを使用して、量子化された重みレベルのシーケンス上にマッピングされてもよい。例えば、行列の最も上の行から開始し、含まれる値を左から右に符号化する、行ファースト(row first)スキャン順序が例えば使用されてもよい。このようにして、例えば、全ての行が、上から下に符号化されてもよい。他の任意のスキャンが、例えば、適用されてもよいことに、留意されたい。例えば、行ファーストスキャンを適用する前に、行列が転置されてもよいし、又は水平方向及び/又は垂直方向に反転させられてもよく、及び/又は左又は右に90度/180度/270度回転させられてもよい。
量子化インデックス(整数表現)は、例えば、次いで、エントロピーコード化手法を使用して伝送されてもよい。例えば、それゆえ、重みの層は、例えばスキャンを使用して、量子化された重みレベルのシーケンス上にマッピングされてもよい。例えば、行列の最も上の行から開始し、含まれる値を左から右に符号化する、行ファースト(row first)スキャン順序が例えば使用されてもよい。このようにして、例えば、全ての行が、上から下に符号化されてもよい。他の任意のスキャンが、例えば、適用されてもよいことに、留意されたい。例えば、行ファーストスキャンを適用する前に、行列が転置されてもよいし、又は水平方向及び/又は垂直方向に反転させられてもよく、及び/又は左又は右に90度/180度/270度回転させられてもよい。
レベルのコード化のために、例えば、CABAC(コンテキスト適応型二値算術コード化)が使用されてもよい。詳細については、例えば[2]を参照されたい。したがって、量子化された重みレベルqは、例えば、一連の二値シンボル又はシンタックス要素に分解されてもよく、その後、例えば、二値算術コード化器(CABAC)に渡されてもよい。
第1のステップにおいては、例えば、量子化された重みレベルに対して二値シンタックス要素sig_flagが導出されてもよく、これが、例えば、対応するレベルがゼロに等しいか否かを指定するものであってもよい。sig_flagが1に等しい場合、例えば、更なる二値シンタックス要素sign_flagが導出されてもよい。ビンは、例えば、現在の重みレベルが正である(例えばビン=0)か負である(例えばビン=1)かを示すものであってもよい。
例えば、次に、ビンの単項シーケンスが、例えば固定長シーケンスに後続されて、例えば以下のように符号化されてもよい。
変数kは、例えば、負でない整数で初期化されてもよく、Xは、例えば、1<<kで初期化されてもよい。
1つ以上のシンタックス要素abs_level_greater_Xは、例えば、符号化されてもよく、これは、量子化された重みレベルの絶対値がXよりも大きいことを示すことができる。abs_level_greater_Xが1に等しい場合、変数kは、例えば、更新され(例えば1だけ増加され)得て、次いで、例えば、1<<kがXに加算され得て、例えば、更なるabs_level_greater_Xが符号化され得る。この手順は、abs_level_greater_Xが0に等しくなるまで続けられてもよい。その後、量子化器インデックスの符号化を完了するには、長さkの固定長コードで十分とすることができる。例えば、変数rem=X-|q|は、例えば、k個のビットを使用して符号化されてもよいし、または符号化され得る。又は代替として、変数rem’は、rem’=(1<<k)-rem-1として定義されてもよいし、又は定義され得るものであり、これは、例えばk個のビットを使用して符号化することができる。代替として、k個のビットの固定長コードへの変数remの他の任意のマッピングが、本発明の実施形態に従って使用されてもよい。
各abs_level_greater_Xの後にkを1ずつ増加させる場合、この手法は、指数ゴロムコード化を適用することと同じであり得る(例えばsign_flagが考慮されない場合)。
これに加えて、最大絶対値abs_maxがエンコーダー及びデコーダー側において既知である場合、例えば、伝送されるべき次のabs_Level_greater_Xについて、X≧abs_maxが成り立つとき、abs_level_greater_Xシンタックス要素の符号化が終了させられてもよい。
2.1.4.2 コンテキスト適応型二値算術コード化(CABAC)を用いた量子化インデックスの復号化
量子化された重みレベル(例えば整数表現)の復号化は、例えば、符号化と同様に動作してもよい。デコーダーは、最初にsig_flagを復号化してもよい。これが1に等しい場合、sign_flagとabs_level_greater_Xの単項シーケンスとが続き得て、kの更新(及び、例えば、かくして、Xの増分)は、エンコーダーにおけるものと同じ規則に従ってもよく、又は、例えば、従わなければならない。例えば、最終的に、k個のビットの固定長コードは、復号化され、整数として解釈されてもよい(例えばrem又はrem’として、例えば双方のうちのどちらが符号化されたかに応じて)。復号化された量子化された重みレベルの絶対値|q|は次いで、Xから再構築されてもよく、固定長部分を形成してもよい。例えば、固定長部分としてremが使用された場合、|q|=X-remとなる。または代替としては、rem’が符号化されていた場合には、|q|=X+1+rem’-(1<<k)である。例えば、最後のステップとして、符号が適用されてもよいし、又は例えば、復号化されたsign_flagに依存して、|q|に適用される必要があってもよく、例えば量子化された重みレベルqをもたらす。例えば、最終的に、量子化された重みwは、例えば、量子化された重みレベルqをステップサイズΔで乗算することによって、再構築されてもよい。
量子化された重みレベル(例えば整数表現)の復号化は、例えば、符号化と同様に動作してもよい。デコーダーは、最初にsig_flagを復号化してもよい。これが1に等しい場合、sign_flagとabs_level_greater_Xの単項シーケンスとが続き得て、kの更新(及び、例えば、かくして、Xの増分)は、エンコーダーにおけるものと同じ規則に従ってもよく、又は、例えば、従わなければならない。例えば、最終的に、k個のビットの固定長コードは、復号化され、整数として解釈されてもよい(例えばrem又はrem’として、例えば双方のうちのどちらが符号化されたかに応じて)。復号化された量子化された重みレベルの絶対値|q|は次いで、Xから再構築されてもよく、固定長部分を形成してもよい。例えば、固定長部分としてremが使用された場合、|q|=X-remとなる。または代替としては、rem’が符号化されていた場合には、|q|=X+1+rem’-(1<<k)である。例えば、最後のステップとして、符号が適用されてもよいし、又は例えば、復号化されたsign_flagに依存して、|q|に適用される必要があってもよく、例えば量子化された重みレベルqをもたらす。例えば、最終的に、量子化された重みwは、例えば、量子化された重みレベルqをステップサイズΔで乗算することによって、再構築されてもよい。
実装の一変形例においては、kは、例えば、0で初期化されてもよく、以下のように更新されてもよい。例えば、各abs_level_greater_Xが1に等しくなった後、例えば、kの必要とされる更新は、以下の規則に従って行われてもよい:X>X’の場合、kは1だけインクリメントされてもよく、X’は用途に依存する定数であってもよい。例えば、X’は、例えばエンコーダーによって導出されてもよくデコーダーにシグナリングされてもよい数(例えば0と100との間)であってもよい。
2.1.4.3 コンテキストモデリング
CABACエントロピーコード化においては、例えば、量子化された重みレベルのほとんどのシンタックス要素が、二値確率モデリングを使用してコード化されてもよい。各二値決定(ビン)は、コンテキストに関連付けられてもよい。コンテキストは、例えば、コード化されたビンのクラスについての確率モデルを表すものであってもよい。2つのとり得るビン値のうちの一方についての確率は、例えば、例えば対応するコンテキストを用いて既にコード化されているビンの値に基づいて、各コンテキストについて推定されてもよい。例えば、用途に依存して、異なるコンテキストモデリング手法が適用されてもよい。例えば、通常は、量子化された重みコード化に関連するいくつかのビンについて、コード化のために使用することができるコンテキストは、既に伝送されたシンタックス要素に基づいて選択されてもよい。例えば実際の用途に依存して、例えばSBMP[4]、又はHEVC[5]若しくはVTM-4.0[6]のような、種々の確率推定器を選ぶことができる。この選択は、例えば、圧縮効率及び/又は複雑さに影響を与え得る。
CABACエントロピーコード化においては、例えば、量子化された重みレベルのほとんどのシンタックス要素が、二値確率モデリングを使用してコード化されてもよい。各二値決定(ビン)は、コンテキストに関連付けられてもよい。コンテキストは、例えば、コード化されたビンのクラスについての確率モデルを表すものであってもよい。2つのとり得るビン値のうちの一方についての確率は、例えば、例えば対応するコンテキストを用いて既にコード化されているビンの値に基づいて、各コンテキストについて推定されてもよい。例えば、用途に依存して、異なるコンテキストモデリング手法が適用されてもよい。例えば、通常は、量子化された重みコード化に関連するいくつかのビンについて、コード化のために使用することができるコンテキストは、既に伝送されたシンタックス要素に基づいて選択されてもよい。例えば実際の用途に依存して、例えばSBMP[4]、又はHEVC[5]若しくはVTM-4.0[6]のような、種々の確率推定器を選ぶことができる。この選択は、例えば、圧縮効率及び/又は複雑さに影響を与え得る。
広範なニューラルネットワークに適合することができるコンテキストモデリング方式が、以下に説明される。量子化された重みレベルqを、例えば、重み行列(層)中の特定の位置(x,y)において復号化するために、ローカルテンプレートが現在の位置に適用されてもよい。このテンプレートは、例えば(x-1,y)、(x,y-1)、(x-1,y-1)等のような、他のいくつかの(順序付けられた)位置を含んでもよい。例えば、各位置について、状態識別子が導出されてもよい。
実装の一変形例(例えばSi1と示される)においては、位置(x,y)についての状態識別子sx,yは、以下のように導出されてもよい:位置(x,y)が行列の外側を指す場合、又は位置(x,y)における量子化された重みレベルqx,yが未だ復号化されていないか若しくはゼロに等しい場合、状態識別子sx,y=0である。そうでない場合には、状態識別子は、sx,y=qx,y<0?1:2となってもよく、又はそうなるべきである。
特定のテンプレートについて、状態識別子のシーケンスが導出されてもよく、状態識別子の値のとり得る各コンステレーションは、使用されるべきコンテキストを識別するコンテキストインデックスにマッピングされてもよい。テンプレートとマッピングとは、例えば、異なるシンタックス要素に対して、異なるものであってもよい。例えば、(例えば順序付けられた)位置(x-1,y)、(x,y-1)、(x-1,y-1)を含むテンプレートから、状態識別子の順序付けられたシーケンスsx-1,y、sx,y-1、sx-1,y-1が導出されてもよい。例えば、このシーケンスは、コンテキストインデックスC=sx-1,y+3*sx,y-1+9*sx-1,y-1にマッピングされてもよい。例えば、コンテキストインデックスCは、sig_flagについてのいくつかのコンテキストを識別するために使用されてもよい。
実装の一変形例(手法1と示される)においては、位置(x,y)における量子化された重みレベルqx,yのsig_flag又はsign_flagについてのローカルテンプレートは、例えば、1つの位置(x-1,y)のみ(すなわち、例えば、左近傍)からなるものであってもよい。関連する状態識別子sx-1,yは、実装の変形例Si1に従って導出されてもよい。
sig_flagについて、例えば、sx-1,yの値に依存して、3つのコンテキストの中から1つが選択されてもよいし、又は、sign_flagについて、例えば、sx-1,yの値に依存して、3つの他のコンテキストの中から1つが選択されてもよい。
別の実装の変形例(手法2と示される)においては、sigフラグについてのローカルテンプレートは、3つの順序付けられた位置(x-1,y)、(x-2,y)、(x-3,y)を含んでもよい。関連する状態識別子のシーケンスsx-1,y、sx-2,y、sx-3,yは、実装の変形例Si2に従って導出されてもよい。
sig_flagについては、コンテキストインデックスCは、例えば、以下のように導出されてもよい:
sx-1,y≠0ならばC=0。そうでなければ、sx-2,y≠0ならばC=1。そうでなければ、sx-3,y≠0ならばC=2。そうでなければ、C=3。
sx-1,y≠0ならばC=0。そうでなければ、sx-2,y≠0ならばC=1。そうでなければ、sx-3,y≠0ならばC=2。そうでなければ、C=3。
このことは、以下の式によって表すこともできる:
C=(sx-1,y≠0)?0:((sx-2,y≠0)?1:((sx-3,y≠0)?2:3))。
C=(sx-1,y≠0)?0:((sx-2,y≠0)?1:((sx-3,y≠0)?2:3))。
例えば、同じ態様で、コンテキストインデックスCが、左隣の次の非ゼロの重みまでの距離に等しくなるように(例えばテンプレートサイズを超えないように)、左隣の数が増減されてもよい。
例えば、各abs_level_greater_Xフラグは、例えば、2つのコンテキストの自身のセットを適用してもよい。次いで、例えば、sign_flagの値に依存して、2つのコンテキストの中から1つが選ばれてもよい。
実装の一変形例においては、Xが予め定義された数X’よりも小さいabs_level_greater_Xフラグについて、例えば、Xに及び/又はsign_flagの値に依存して、異なるコンテキストが区別されてもよい。
実装の一変形例においては、Xが予め定義された数X’以上であるabs_level_greater_Xフラグについて、例えば、Xにのみ依存して、異なるコンテキストが区別されてもよい。
別の実装の変形例においては、Xが予め定義された数X’以上であるabs_level_greater_Xフラグは、(例えば算術コード化器のバイパスモードを使用して)1の固定符号長を使用して符号化されてもよい。
さらに、シンタックス要素のいくつか又は全てが、例えば、コンテキストの使用なしで、符号化されてもよい。その代わりに、例えばCABACのいわゆるバイパスビンを使用して、1ビットの固定長で符号化されてもよい。
別の実装の変形例においては、例えば、バイパスモードを使用して、固定長の剰余部remが符号化されてもよい。
別の実装の変形例においては、エンコーダーは、予め定義された数X’を決定してもよく、例えば符号に依存して、X<X’である各シンタックス要素abs_level_greater_Xについて、2つのコンテキストを区別してもよく、例えば、X>=X’である各abs_level_greater_Xについて、1つのコンテキストを使用してもよい。
2.1.4.4 従属スカラー量子化についてのコンテキストモデリング
従属スカラー量子化の主な態様の1つ、又は例えば主な態様は、ニューラルネットワークパラメーターについて許容可能な再構築レベルの異なるセット(例えば量子化セットとも呼ばれる)があり得るということであり得る。現在のニューラルネットワークパラメーターの量子化セットは、例えば、先行するニューラルネットワークパラメーターについての量子化インデックスの値に基づいて決定されてもよい。図10における好ましい例を検討し、2つの量子化セットを比較すると、ゼロに等しい再構築レベルと隣接する再構築レベルとの間の距離は、セット1におけるよりもセット0における方が大きいことが明らかである。それゆえ、量子化インデックスが0に等しい確率は、セット0が使用される場合に大きくなり、セット1が使用される場合に小さくなる。実装の一変形例においては、この効果は、例えば、現在の量子化インデックスのために使用される量子化セット(又は状態)に基づいて、コードワードテーブル又は確率モデルを切り換えることによって、エントロピーコード化において利用されてもよい。
従属スカラー量子化の主な態様の1つ、又は例えば主な態様は、ニューラルネットワークパラメーターについて許容可能な再構築レベルの異なるセット(例えば量子化セットとも呼ばれる)があり得るということであり得る。現在のニューラルネットワークパラメーターの量子化セットは、例えば、先行するニューラルネットワークパラメーターについての量子化インデックスの値に基づいて決定されてもよい。図10における好ましい例を検討し、2つの量子化セットを比較すると、ゼロに等しい再構築レベルと隣接する再構築レベルとの間の距離は、セット1におけるよりもセット0における方が大きいことが明らかである。それゆえ、量子化インデックスが0に等しい確率は、セット0が使用される場合に大きくなり、セット1が使用される場合に小さくなる。実装の一変形例においては、この効果は、例えば、現在の量子化インデックスのために使用される量子化セット(又は状態)に基づいて、コードワードテーブル又は確率モデルを切り換えることによって、エントロピーコード化において利用されてもよい。
例えば、コードワードテーブル又は確率モデルの適切な切り換えのために、現在の量子化インデックス(又は、例えば、現在の量子化インデックスの対応する二値決定)をエントロピー復号化するときに、全ての先行する量子化インデックスのパス(例えば使用される量子化セットのサブセットとの関連付け)が既知であってもよく、又は例えば、既知でなければならないことに留意されたい。例えば、それゆえ、ニューラルネットワークパラメーターが再構築順序でコード化されることが有益であるか、又は必要でさえあり得る。それゆえ、実装の一変形例においては、ニューラルネットワークパラメーターのコード化順序は、それらの再構築順序と等しくてもよい。その態様の他に、節2.1.4.1において規定されたもの、及び/又は他の任意の、例えば一意に定義された順序等の、量子化インデックスの任意の符号化/再構築順序が可能であり得る。
例えば、絶対レベルについてのビンの少なくとも一部は典型的には、適応的確率モデル(コンテキストとも呼ばれる)を使用してコード化されてもよい。実装の一変形例においては、1つ以上のビンの確率モデルは、例えば、対応するニューラルネットワークパラメーターについての量子化セット(又は、例えば、より一般的には、対応する状態変数)に基づいて選択されてもよい。選ばれた確率モデルは、例えば、既に伝送された量子化インデックスの複数のパラメーター又は特性に依存し得るが、パラメーターのうちの1つは、コード化されている量子化インデックスに適用することができる量子化セット又は状態であってもよい。
別の実装の変形例においては、層の量子化インデックスを伝送するためのシンタックスは、量子化インデックスが0に等しいか、又は0に等しくないかを指定するビンを含んでもよい。このビンをコード化するために使用することができる確率モデルは、例えば、2つ以上の確率モデルのセットの中から選択されてもよい。使用される確率モデルの選択は、例えば対応する量子化インデックスに適用することができる量子化セット(すなわち、例えば、再構築レベルのセット)に依存してもよい。別の実装の変形例においては、使用される確率モデルは、例えば、現在の状態変数に依存してもよい(状態変数は、例えば、使用される量子化セットを意味してもよい)。
更なる実装の変形例においては、層の量子化インデックスを伝送するためのシンタックスは、例えば、量子化インデックスがゼロよりも大きいかゼロよりも小さいかを指定するビンを含んでもよい。換言すれば、ビンは量子化インデックスの符号を示すものであってもよい。使用される確率モデルの選択は、例えば対応する量子化インデックスに適用することができる量子化セット(すなわち、例えば、再構築レベルのセット)に依存してもよい。別の実装の変形例においては、使用される確率モデルは、現在の状態変数に依存してもよい(状態変数は使用される量子化セットを意味してもよい)。
更なる実装の変形例においては、量子化インデックスを伝送するためのシンタックスは、量子化インデックス(例えばニューラルネットワークパラメーターレベル)の絶対値がXよりも大きいか否かを指定するものであってもよいビンを含んでもよい(任意の詳細については、節2.1.4.1を参照されたい)。このビンをコード化するために使用することができる確率モデルは、例えば、2つ以上の確率モデルのセットの中から選択されてもよい。使用される確率モデルの選択は、対応する量子化インデックスに適用することができる量子化セット(すなわち、例えば、再構築レベルのセット)に依存してもよい。別の実装の変形例においては、使用される確率モデルは、現在の状態変数に依存してもよい(例えば状態変数は使用される量子化セットを意味する)。
実施形態による1つの態様は、ニューラルネットワークパラメーターの従属量子化が、エントロピー符号化と組み合わせることができるものであり、この場合、量子化インデックスの二値表現の1つ以上のビン(量子化レベルとも呼ばれる)についての確率モデルの選択は、例えば、量子化セット(例えば許容可能な再構築レベルのセット)、及び/又は、例えば、現在の量子化インデックスについての、対応する状態変数に依存してもよい。量子化セット(及び/又は状態変数)は、例えば、コード化順序及び再構築順序において先行するニューラルネットワークパラメーターについての量子化インデックス(及び/又は量子化インデックスを表すビンのサブセット)によって与えられてもよい。
実装の一変形例において、確率モデルの記述された選択は、例えば、以下のエントロピーコード化の態様のうちの1つ以上と組み合わせられてもよい:
- 量子化インデックスの絶対値は、例えば、適応的確率モデルを使用してコード化することができるいくつかのビンと、適応的にコード化されたビンが既に絶対値を完全に指定しない場合には、算術コード化エンジンのバイパスモードにおいてコード化することができるサフィックス部分(例えば全てのビンに対してpmf(0.5,0.5)を有する非適応的確率モデル)とからなるものであってもよい、二値化方式を使用して伝送されてもよい。実装の一変形例において、サフィックス部分のために使用される二値化は、例えば、既に伝送された量子化インデックスの値に依存してもよい。
- 量子化インデックスの絶対値についての二値化は、例えば、量子化インデックスが0に等しくないか否かを指定する、適応的にコード化されたビンを含んでもよい。このビンをコード化するために使用される確率モデル(コンテキストと呼ばれる)は、候補の確率モデルのセットの中から選択されてもよい。選択された候補の確率モデルは、現在の量子化インデックスについての量子化セット(例えば許容可能な再構築レベルのセット)及び/又は状態変数によって決定されてもよいのみならず、例えば、これに加えて、層について既に伝送された量子化インデックスによっても決定されてもよい。実装の一変形例においては、量子化セット(及び/又は状態変数)は、利用可能な確率モデルのサブセット(例えばコンテキストセットとも呼ばれる)を決定してもよく、既にコード化された量子化インデックスの値は、このサブセット(コンテキストセット)の内部で使用される確率モデルを決定してもよい。換言すれば、例えば、本発明の実施形態によれば、利用可能な確率モデルのサブセット(例えばコンテキストセットとも呼ばれる)は、量子化セット(及び/又は状態変数)に基づいて決定されてもよく、及び/又は、このサブセット(コンテキストセット)の内部で使用される確率モデルは、例えば、既にコード化された量子化インデックスの値に基づいて決定されてもよい。
- 量子化インデックスの絶対値は、例えば、適応的確率モデルを使用してコード化することができるいくつかのビンと、適応的にコード化されたビンが既に絶対値を完全に指定しない場合には、算術コード化エンジンのバイパスモードにおいてコード化することができるサフィックス部分(例えば全てのビンに対してpmf(0.5,0.5)を有する非適応的確率モデル)とからなるものであってもよい、二値化方式を使用して伝送されてもよい。実装の一変形例において、サフィックス部分のために使用される二値化は、例えば、既に伝送された量子化インデックスの値に依存してもよい。
- 量子化インデックスの絶対値についての二値化は、例えば、量子化インデックスが0に等しくないか否かを指定する、適応的にコード化されたビンを含んでもよい。このビンをコード化するために使用される確率モデル(コンテキストと呼ばれる)は、候補の確率モデルのセットの中から選択されてもよい。選択された候補の確率モデルは、現在の量子化インデックスについての量子化セット(例えば許容可能な再構築レベルのセット)及び/又は状態変数によって決定されてもよいのみならず、例えば、これに加えて、層について既に伝送された量子化インデックスによっても決定されてもよい。実装の一変形例においては、量子化セット(及び/又は状態変数)は、利用可能な確率モデルのサブセット(例えばコンテキストセットとも呼ばれる)を決定してもよく、既にコード化された量子化インデックスの値は、このサブセット(コンテキストセット)の内部で使用される確率モデルを決定してもよい。換言すれば、例えば、本発明の実施形態によれば、利用可能な確率モデルのサブセット(例えばコンテキストセットとも呼ばれる)は、量子化セット(及び/又は状態変数)に基づいて決定されてもよく、及び/又は、このサブセット(コンテキストセット)の内部で使用される確率モデルは、例えば、既にコード化された量子化インデックスの値に基づいて決定されてもよい。
実装の一変形例においては、コンテキストセットの内部で使用される確率モデルは、例えば、現在のニューラルネットワークパラメーターの局所近傍において、既にコード化された量子化インデックスの値に基づいて決定されてもよい。以下においては、例えば、局所近傍における量子化インデックスの値に基づいて導出され得て、例えば、次いで、所定のコンテキストセットの確率モデルを選択するために使用され得る、いくつかの例示的な尺度が列記される:
- 例えば局所近傍の内部における、0に等しくない量子化インデックスの符号。
- 例えば局所近傍の内部における、0に等しくない量子化インデックスの数。この数はことによると、例えば、最大値にクリッピングされてもよい。
- 例えば局所近傍における、量子化インデックスの絶対値の和。この数値は、例えば、最大値にクリッピングされてもよい。
- 例えば局所近傍における、量子化インデックスの絶対値の和と、例えば局所近傍の内部における、0に等しくない量子化インデックスの数との差。この数値は、例えば、最大値にクリッピングされてもよい。
- 例えば局所近傍の内部における、0に等しくない量子化インデックスの符号。
- 例えば局所近傍の内部における、0に等しくない量子化インデックスの数。この数はことによると、例えば、最大値にクリッピングされてもよい。
- 例えば局所近傍における、量子化インデックスの絶対値の和。この数値は、例えば、最大値にクリッピングされてもよい。
- 例えば局所近傍における、量子化インデックスの絶対値の和と、例えば局所近傍の内部における、0に等しくない量子化インデックスの数との差。この数値は、例えば、最大値にクリッピングされてもよい。
量子化インデックスの絶対値についての二値化は、例えば、量子化インデックスの絶対値がXよりも大きいか否かを指定するものであってもよい、1つ以上の適応的にコード化されたビンを含んでもよい。例えばこれらのビンをコード化するために使用される確率モデル(コンテキストと呼ばれる)は、例えば候補の確率モデルのセットの中から選択されてもよい。選択された確率モデルは、現在の量子化インデックスについての量子化セット(例えば許容可能な再構築レベルのセット)及び/又は状態変数によって決定されてもよいのみならず、これに加えて、層についての既に伝送された量子化インデックスによっても決定されてもよい。実装の一変形例においては、量子化セット(又は状態変数)は、利用可能な確率モデルのサブセット(コンテキストセットとも呼ばれる)を決定してもよく、既にコード化された量子化インデックスのデータは、このサブセット(例えばコンテキストセット)の内部において使用される確率モデルを決定してもよい。確率モデルを選択するために、本発明の実施形態によって、以上に説明された方法(例えば量子化インデックスが0に等しくないか否かを指定するビンについて)のいずれが使用されてもよい。
3 本発明の態様
本発明による実施形態は、ニューラルネットワークの増分更新の符号化の方法を説明する及び/又は含むものであり、例えば、再構築されたネットワーク層は、既存のベース層(例えばベースモデルのもの)と、例えば、別個に符号化及び/又は伝送されてもよい1つ以上の増分更新層との合成であってもよい。
本発明による実施形態は、ニューラルネットワークの増分更新の符号化の方法を説明する及び/又は含むものであり、例えば、再構築されたネットワーク層は、既存のベース層(例えばベースモデルのもの)と、例えば、別個に符号化及び/又は伝送されてもよい1つ以上の増分更新層との合成であってもよい。
3.1 ベースモデル及び更新モデルの概念
本発明の実施形態による概念は、例えば、所与の入力に対して出力が計算され得るという意味で完全なモデルとして考慮され得る、節1によるニューラルネットワークモデルを導入する。換言すれば、本発明による実施形態は、節1によるニューラルネットワークモデルを含んでもよい。このモデルは、ベースモデルNBと示される。各ベースモデルは、ベース層LB1、LB2、...、LBJと示される層からなってもよい。ベース層は、例えば、例えば本発明の実施形態による方法の第1のステップのような、第1のステップにおいて、例えば効率的に表現及び/又は圧縮/伝送できるように選ばれてもよい、ベース値を含んでもよい。例えば、これに加えて、この概念は、ベースモデルと同様の、又は例えば同一のアーキテクチャを有してもよい、更新モデル(NU1、NU2、...、NUK)を導入する。換言すれば、本発明による実施形態は、更新モデル(NU1、NU2、...、NUK)を含んでもよい。更新モデルは、例えば、上述した意味での完全なモデルでなくてもよい。その代わりに、例えば合成法を使用して、ベースモデルと組み合わせられ、それによって、例えばベースモデルと更新モデルとが、新たな完全なモデルNB1を形成するようにしてもよい。このモデル自体は、例えば、更なる更新モデルについてのベースモデルとして機能することができる。更新モデルNUkは、更新層LUk,1、LUk,2、...、LUk,Jと示される層からなってもよい。更新層は、例えば、別個に効率的に表現及び/又は圧縮/伝送できるように選ばれてもよいベース値を含んでもよい。
本発明の実施形態による概念は、例えば、所与の入力に対して出力が計算され得るという意味で完全なモデルとして考慮され得る、節1によるニューラルネットワークモデルを導入する。換言すれば、本発明による実施形態は、節1によるニューラルネットワークモデルを含んでもよい。このモデルは、ベースモデルNBと示される。各ベースモデルは、ベース層LB1、LB2、...、LBJと示される層からなってもよい。ベース層は、例えば、例えば本発明の実施形態による方法の第1のステップのような、第1のステップにおいて、例えば効率的に表現及び/又は圧縮/伝送できるように選ばれてもよい、ベース値を含んでもよい。例えば、これに加えて、この概念は、ベースモデルと同様の、又は例えば同一のアーキテクチャを有してもよい、更新モデル(NU1、NU2、...、NUK)を導入する。換言すれば、本発明による実施形態は、更新モデル(NU1、NU2、...、NUK)を含んでもよい。更新モデルは、例えば、上述した意味での完全なモデルでなくてもよい。その代わりに、例えば合成法を使用して、ベースモデルと組み合わせられ、それによって、例えばベースモデルと更新モデルとが、新たな完全なモデルNB1を形成するようにしてもよい。このモデル自体は、例えば、更なる更新モデルについてのベースモデルとして機能することができる。更新モデルNUkは、更新層LUk,1、LUk,2、...、LUk,Jと示される層からなってもよい。更新層は、例えば、別個に効率的に表現及び/又は圧縮/伝送できるように選ばれてもよいベース値を含んでもよい。
更新モデルは、例えば、例えばエンコーダー側でベースモデルに適用される、(例えば追加的な)トレーニングプロセスの結果であってもよい。例えば、更新モデルによって提供される更新のタイプに依存して、いくつかの合成方法を、実施形態によって適用することができる。本発明内で説明される方法は、いずれかの特定のタイプの更新/合成方法に限定されるものではなく、例えば、ベースモデル/更新モデル手法を使用するいずれのアーキテクチャにも適用可能であり得ることに留意されたい。
好ましい実施形態においては、k番目の更新モデルNUkは、差分値を有する層LUk,jを含むことができ(増分更新とも示される)、この差分値は、例えば、ベースモデルLBjの対応する層に追加されて、以下に従って新たなモデル層LNk,jを形成することができる:
LNkj=LBj+LUk,j(全てのjについて)
LNkj=LBj+LUk,j(全てのjについて)
新たなモデル層は、(例えば更新された)新たなモデルを形成することができ、この新たなモデルは、例えば、次いで、別個に伝送されることができる次の増分更新のためのベースモデルとして機能することができる。
更に好ましい実施形態においては、k番目の更新モデルは、スケーリング因子値を有する層LUk,jを含むことができ、このスケーリング因子値は、例えば、対応するベース層LBj値によって乗算されて、以下に従って新たなモデルLNk,jを形成することができる:
LNk,j=LBj・LUk,j(全てのjについて)
LNk,j=LBj・LUk,j(全てのjについて)
新たなモデル層は、(更新された)新たなモデルを形成することができ、この新たなモデルは、例えば、次いで、別個に伝送されることができる次の増分更新のためのベースモデルとして機能することができる。
いくつかの場合においては、更新モデルはまた、例えば以上に説明されたように層を更新する代わりに、1つ以上の既存の層を置換することができる新たな層を含んでもよいことに留意されたい(すなわち、例えば、層kについて、LNk,j=LUk,j(全てのjについて))。しかしながら、実施形態によれば、前述した更新のいずれの組み合わせが実行されてもよい。
3.2 増分更新のニューラルネットワークパラメーターコード化
本発明の実施形態による、ベースモデル及び1つ以上の増分更新の概念は、例えば、例えばコード化効率を向上させるために、エントロピーコード化段階において利用されてもよい。層のパラメーターは、例えば、通常は、多次元テンソルによって表されてもよい。符号化プロセスについては、例えば、複数の又は全てのテンソルが、例えば、通常は、行及び列のようなエンティティのような2D行列にマッピングされてもよい。この2D行列は、例えば、予め定義された順序でスキャンされてもよく、パラメーターが符号化/伝送されてもよい。以下において説明される方法は、2D行列に限定されないことに留意されたい。実施形態による方法は、例えば行、列、ブロック等及び/又はそれらの組み合わせのような、既知のサイズのパラメーターエンティティを提供する、ニューラルネットワークパラメーターの全ての表現に適用することができる。以下においては、本方法のより深い理解のために、2D行列表現が使用される。一般的に、実施形態によれば、ニューラルネットワークパラメーターについての情報を含むテンソルが、例えば、多次元行列の行及び列にマッピングされてもよい。
本発明の実施形態による、ベースモデル及び1つ以上の増分更新の概念は、例えば、例えばコード化効率を向上させるために、エントロピーコード化段階において利用されてもよい。層のパラメーターは、例えば、通常は、多次元テンソルによって表されてもよい。符号化プロセスについては、例えば、複数の又は全てのテンソルが、例えば、通常は、行及び列のようなエンティティのような2D行列にマッピングされてもよい。この2D行列は、例えば、予め定義された順序でスキャンされてもよく、パラメーターが符号化/伝送されてもよい。以下において説明される方法は、2D行列に限定されないことに留意されたい。実施形態による方法は、例えば行、列、ブロック等及び/又はそれらの組み合わせのような、既知のサイズのパラメーターエンティティを提供する、ニューラルネットワークパラメーターの全ての表現に適用することができる。以下においては、本方法のより深い理解のために、2D行列表現が使用される。一般的に、実施形態によれば、ニューラルネットワークパラメーターについての情報を含むテンソルが、例えば、多次元行列の行及び列にマッピングされてもよい。
好ましい実施形態においては、層のパラメーターは、例えば行及び列のような値のエンティティを提供することができる、2D行列として表現されてもよい。
3.2.1 行又はチャネルスキップモード
例えば、通常は、更新モデルの値の大きさは、例えば完全な(ベース)モデルと比較して小さくてもよい。例えば、多くの場合、かなりの数の値がゼロとなり得て、量子化プロセスによって更に増幅されることができる。例えば、結果として、伝送されるべき層はゼロの長いシーケンスを含んでもよく、このことは、2D行列の行のいくつかが完全にゼロになり得ることを意味し得る。
例えば、通常は、更新モデルの値の大きさは、例えば完全な(ベース)モデルと比較して小さくてもよい。例えば、多くの場合、かなりの数の値がゼロとなり得て、量子化プロセスによって更に増幅されることができる。例えば、結果として、伝送されるべき層はゼロの長いシーケンスを含んでもよく、このことは、2D行列の行のいくつかが完全にゼロになり得ることを意味し得る。
このことは、例えば、行の中の全てのパラメーターがゼロに等しいか否かを指定することができるフラグ(skip_row_flag)を、例えば各行について、導入することによって利用されてもよい。フラグが1に等しい場合(skip_row_flag==1)、その行については更なるパラメーターは符号化されなくてもよい。デコーダー側においては、フラグが1に等しい場合、この行についてのパラメーターは復号化されなくてもよい。その代わりに、これら、例えばかかるパラメーターは、0であると仮定されてもよい。
ここでの実施形態による変形例は、全てのskip_row_flagを、フラグのアレイskip_row_flag[N]に配列することであり、ここでNは行の数である。また、一変形例においては、Nはアレイの前にシグナリングされているもの又はされるものであり得る。
例えば、そうでなければ、フラグが0に等しい場合、パラメーターはこの行について定期的に符号化され復号化されてもよい。
例えば、skip_row_flagのそれぞれは、確率モデル又はコンテキストモデルに関連付けられてもよい。コンテキストモデルは、例えば、以前にコード化されたシンボル(例えば先行する符号化されたパラメーター及び/又はskip_row_flag)に基づいて、コンテキストモデルのセットの中から選ばれてもよい。
好ましい実施形態においては、単一のコンテキストモデルが、層の全てのskip_row_flagに適用されてもよい。
別の好ましい実施形態においては、コンテキストモデルは、例えば、以前に符号化されたskip_row_flagの値に基づいて、2つのコンテキストモデルのセットの中から選ばれてもよい。このコンテキストモデルは、先行するskip_row_flagの値がゼロに等しい場合には第1のコンテキストモデルとなり、値が1に等しい場合には第2のコンテキストモデルとなってもよい。換言すれば、実施形態によれば、第1のコンテキストモデルは、例えば、先行するskip_row_flagの値がゼロに等しい場合に選ばれてもよく、第2のコンテキストモデルは、例えば、値が1に等しい場合に選ばれてもよい。
更に好ましい実施形態においては、コンテキストモデルは、例えば以前に符号化された更新モデル及び/又はベースモデルの対応する層における、同位置にあるskip_row_flagの値に基づいて、2つのコンテキストモデルのセットの中から選ばれてもよい。このコンテキストモデルは、先行するskip_row_flagの値がゼロに等しい場合には第1のコンテキストモデルとなり、値が1に等しい場合には第2のコンテキストモデルとなってもよい。換言すれば、実施形態によれば、第1のコンテキストモデルは、例えば、先行するskip_row_flagの値がゼロに等しい場合に選ばれてもよく、第2のコンテキストモデルは、例えば、値が1に等しい場合に選ばれてもよい。
別の好ましい実施形態においては、例えば以上の実施形態におけるような所与の数のコンテキストモデルが2倍にされ、コンテキストモデルの2つのセットを形成してもよい。例えば、次いで、コンテキストモデルのセットは、例えば、特定の以前に符号化された更新モデル及び/又はベースモデルの対応する層における、同位置のskip_row_flagの値に基づいて選ばれてもよい。このことは、例えば、先行するskip_row_flagの値が0に等しい場合には第1のセットが選ばれてもよく、値が1に等しい場合には第2のセットが選択ばれてもよいことを意味する。
更なる好ましい実施形態は、以上の実施形態と等しくてもよいが、コンテキストモデルの第1のセットは、特定の以前に符号化された更新モデル及び/又はベースモデルにおいて対応する層が存在しない場合に選ばれてもよい。例えば、その結果、特定の以前に符号化された更新モデル及び/又はベースモデルにおいて対応する層が存在する場合には、第2のセットが選ばれてもよい。
行をスキップするための特定の説明された機構は、2D行列の場合の列にも同様に適用されてもよく、N個のパラメーター次元を有する一般化されたテンソルの場合にも適用されてもよく、例えばskip_flag及び/又はskip_flag_arrayの説明された機構を使用して、より小さい次元K(K<N)のサブブロック又はサブ行が、例えばスキップされてもよいことに、留意されたい。
3.2.2 ベースモデル更新モデル構造のための改善されたコンテキストモデリング
ベースモデル及び1つ以上の更新モデルの概念は、例えば、エントロピーコード化段階において利用されてもよい。ここで説明される実施形態による方法は、例えば節2.1.4において説明されるもののようなコンテキストモデルを使用する、いずれのエントロピーコード化方式にも適用可能となることができる。
ベースモデル及び1つ以上の更新モデルの概念は、例えば、エントロピーコード化段階において利用されてもよい。ここで説明される実施形態による方法は、例えば節2.1.4において説明されるもののようなコンテキストモデルを使用する、いずれのエントロピーコード化方式にも適用可能となることができる。
例えば、通常は、別個の更新モデル(及び、例えば、ベースモデル)は、相関していてもよく、例えば、エンコーダー側及びデコーダー側において利用可能であってもよい。このことは、例えば、例えば新たなコンテキストモデル及び/又はコンテキストモデル選択の方法を提供することによって、例えばコード化効率を改善するために、コンテキストモデリング段階において使用されてもよい。
好ましい実施形態においては、節2.1.4.1による二値化(例えば、例えばこれらフラグを含む、sig_flag、sign_flag等)、コンテキストモデリング及び/又は符号化方式が適用されてもよい。
別の好ましい実施形態においては、符号化されるべきシンボルについての所与の数のコンテキストモデル(例えばコンテキストセット)が複製され、コンテキストモデルの2つ以上のセットを形成してもよい。例えば、次いで、コンテキストモデルのセットは、例えば特定の以前に符号化された更新モデル及び/又はベースモデルの対応する層における、例えば同位置のパラメーターの値に基づいて、選ばれてもよい。このことは、同位置のパラメーターが第1の閾値T1よりも小さい場合には第1のセットが選ばれ、値が閾値T1以上である場合には第2のセットが選ばれ、値が閾値T2以上である場合には第3のセットが選ばれる等してもよいことを意味する。この手順は、例えば任意の数の閾値、例えば特定の用途に応じて選ぶことができる数の閾値のような、より多くの又はより少ない閾値で適用されてもよい。
以上の実施形態に等しいものとなり得る好ましい実施形態においては、単一の閾値T1=0が使用されてもよい。
別の好ましい実施形態においては、符号化されるべきシンボルについての所与の数のコンテキストモデル(例えばコンテキストセット)が複製され、コンテキストモデルの2つ以上のセットを形成してもよい。例えば、次いで、コンテキストモデルのセットは、例えば、例えば特定の以前に符号化された更新モデル及び/又はベースモデルの対応する層における、例えば同位置のパラメーター及び/又は近傍値(例えば同位置のパラメーターの1つの又はいくつかの空間的近傍)からなる、値のセットに基づいて、選ばれてもよい。
例えば以上の実施形態と部分的に等しい又は等しい、好ましい実施形態においては、例えば同位置のパラメーター及び/又は近傍値からなる値のセットのテンプレートのような、テンプレート内の値(又は、例えば、絶対値)の和が、第1の閾値T1よりも小さい場合には、例えばコンテキストモデルの第1のセットのような、第1のセットが選ばれ、和が閾値T1以上である場合には、例えばコンテキストモデルの第2のセットのような、第2のセットが選ばれ、和が閾値T2以上である場合には、第3のセットが選ばれる等してもよい。この手順は、例えば任意の数の閾値、例えば特定の用途に応じて選ぶことができる数の閾値のような、より多くの又はより少ない閾値で適用されてもよい。
例えば以上の実施形態と部分的に等しい又は等しい、特に好ましい実施形態においては、テンプレートは、同位置のパラメーター及び同位置のパラメーターの左近傍を含んでもよく、単一の閾値T1=0が使用されてもよい。
別の好ましい実施形態においては、シンタックス要素についてのコンテキストモデルのセットのうちのコンテキストモデルは、例えば特定の以前に符号化された更新モデル及び/又はベースモデルの対応する層における、例えば同位置のパラメーター及び/又は近傍値(例えば同位置のパラメーターの1つの又はいくつかの空間的な近傍)からなる、値のセットに基づいて選ばれてもよい。
例えば以上の実施形態と部分的に等しい又は等しい、好ましい実施形態においては、例えば、同位置のパラメーター及び/又は近傍値からなる値のセットのテンプレートのような、テンプレート内の値(又は、例えば、絶対値)の和が、第1の閾値T1よりも小さい場合には、第1のコンテキストモデルが選ばれ、和が閾値T1以上である場合には、第2のコンテキストモデルが選ばれ、和が閾値T2以上である場合には、第3のコンテキストモデルが選ばれる等してもよい。この手順は、例えば任意の数の閾値、例えば特定の用途に応じて選ぶことができる数の閾値のような、より多くの又はより少ない閾値で適用されてもよい。
例えば以上の実施形態と部分的に等しい又は等しい、特に好ましい実施形態においては、テンプレートは、同位置のパラメーター及び同位置のパラメーターの左近傍を含んでもよく、単一の閾値T1=0が使用されてもよい。
更に好ましい実施形態においては、符号化されるべきシンボルについての所与の数のコンテキストモデル(例えばコンテキストセット)が複製され、コンテキストモデルの2つ以上のセットを形成してもよい。例えば、次いで、コンテキストモデルのセットは、例えば特定の以前に符号化された更新モデル及び/又はベースモデルの対応する層における、同位置のパラメーターの絶対値に基づいて、選ばれてもよい。このことは、同位置のパラメーターの絶対値が第1の閾値T1よりも小さい場合には第1のセットが選ばれ、絶対値が閾値T1以上である場合には第2のセットが選ばれ、絶対値が閾値T2以上である場合には第3のセットが選ばれる等してもよいことを意味する。この手順は、例えば任意の数の閾値、例えば特定の用途に応じて選ぶことができる数の閾値のような、より多くの又はより少ない閾値で適用されてもよい。
以上の実施形態に等しくてもよい好ましい実施形態においては、符号化されるべき現在の値がゼロに等しいか否かを示すことができるsig_flagが符号化されてもよく、このことはコンテキストモデルのセットを利用してもよい。この実施形態は、単一の閾値T1=1を使用してもよい。実施形態によれば、コンテキストモデルのセットは、例えば、符号化されるべき現在の値がゼロに等しいか否かを示すsig_flagに依存して選ばれてもよい。
別の好ましい実施形態は、以上の実施形態と等しくてもよいが、sig_flagの代わりに、符号化されるべき現在の値の符号を示すことができるsign_flagが符号化されてもよい。
更に好ましい実施形態は、以上の実施形態と等しくてもよいが、sig_flagの代わりに、符号化されるべき現在の値がXよりも大きいか否かを示すことができるabs_level_greater_Xが符号化されてもよい。
更に好ましい実施形態においては、符号化されるべきシンボルについての所与の数のコンテキストモデル(例えばコンテキストセット)が2倍にされ、コンテキストモデルの2つのセットを形成してもよい。例えば、次いで、対応する以前に符号化された更新(及び/又はベース)モデルがあるか否かに依存して、コンテキストモデルのセットが選ばれてもよい。対応する以前に符号化された更新(及び/又はベース)モデルがない場合には、コンテキストモデルの第1のセットが選ばれ、そうでない場合には、第2のセットが選ばれてもよい。
別の好ましい実施形態においては、シンタックス要素についてのコンテキストモデルのセットのうちのコンテキストモデルは、例えば特定の対応する以前に符号化された更新(及び/又はベース)モデルにおける、同位置のパラメーターの値に基づいて選ばれてもよい。このことは、同位置のパラメーターが第1の閾値T1よりも小さい場合には第1のモデルが選ばれ、値が閾値T1以上である場合には第2のモデルが選ばれ、値が閾値T2以上である場合には第3のセットが選ばれる等してもよいことを意味する。この手順は、例えば任意の数の閾値、例えば特定の用途に応じて選ぶことができる数の閾値のような、より多くの又はより少ない閾値で適用されてもよい。
例えば以上の実施形態と等しい、好ましい実施形態においては、符号化されるべき現在の値の符号を示すことができるsign_flagが符号化されてもよい。コンテキストモデル選択プロセスについての第1の閾値はT1=0であってもよく、第2の閾値はT2=1であってもよい。
別の好ましい実施形態においては、シンタックス要素についてのコンテキストモデルのセットのうちのコンテキストモデルは、特定の対応する以前に符号化された更新(及び/又はベース)モデルにおける同位置のパラメーターの絶対値に基づいて選ばれてもよい。このことは、同位置のパラメーターの絶対値が閾値T1よりも小さい場合には第1のモデルが選ばれ、値が閾値T1以上である場合には第2のモデルが選ばれ、値が閾値T2以上である場合には第3のモデルが選ばれる等してもよいことを意味する。この手順は、例えば任意の数の閾値、例えば特定の用途に応じて選ぶことができる数の閾値のような、より多くの又はより少ない閾値で適用されてもよい。
例えば以上の実施形態と等しい、好ましい実施形態においては、符号化されるべき現在の値がゼロに等しいか否かを示すことができるsig_flagが符号化されてもよい。例えば、この実施形態による装置は、T1=1に設定された第1の閾値、及びT2=2に設定された第2の閾値を採用してもよい。
例えば以上の実施形態と等しい、別の好ましい実施形態においては、sig_flagの代わりに、符号化されるべき現在の値がXよりも大きいか否かを示すことができるabs_level_greater_Xが符号化されてもよい。これに加えて、T1=Xに設定されてもよい1つの閾値のみが採用されてもよい。
上述した実施形態並びにその態様及び特徴のいずれも、他の実施形態並びにその態様及び特徴のうちの1つ以上と組み合わせられてもよいことに、留意されたい。
いくつかの態様が装置の文脈で説明されているが、これらの態様が対応する方法の説明も表すことは明らかであり、ブロック又はデバイスは方法ステップ又は方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明される態様はまた、対応する装置の対応するブロック又は項目又は特徴の説明を表す。
ニューラルネットワークパラメーターの本発明の符号化表現は、デジタル記憶媒体に保存されてもよいし、又はインターネット等の無線伝送媒体若しくは有線伝送媒体等の伝送媒体上で伝送されてもよい。
或る特定の実装要件に応じて、本発明の実施形態は、ハードウェア又はソフトウェアで実施することができる。実施態様は、それぞれの方法が実行されるようにプログラム可能なコンピューターシステムと協働する(又は協働することができる)電子的可読制御信号が記憶されたデジタル記憶媒体、例えば、フロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROM又はフラッシュメモリを使用して実行することができる。
本発明によるいくつかの実施形態は、電子的可読制御信号を有するデータキャリアを備え、該電子的可読制御信号は、本明細書で説明される方法のうちの1つが実行されるように、プログラム可能なコンピューターシステムと協働することが可能である。
概して、本発明の実施形態は、プログラムコードを有するコンピュータープログラム製品として実施することができ、プログラムコードは、コンピュータープログラム製品がコンピューター上で動作するときに方法のうちの1つを実行するように動作可能である。プログラムコードは、例えば、機械可読キャリアに記憶されてもよい。
他の実施形態は、機械可読キャリア上に記憶された、本明細書で説明される方法のうちの1つを実行するコンピュータープログラムを含む。
したがって、換言すれば、本発明の方法の一実施形態は、コンピュータープログラムがコンピューター上で動作するときに、本明細書で説明される方法のうちの1つを実行するプログラムコードを有するコンピュータープログラムである。
したがって、本発明の方法の更なる実施形態は、本明細書に記載の方法のうちの1つを実行するコンピュータープログラムを記録したデータキャリア(又はデジタル記憶媒体、又はコンピューター可読媒体)である。
したがって、本発明の方法の更なる実施形態は、本明細書に記載された方法の1つを実行するコンピュータープログラムを表すデータストリーム又はシグナルのシーケンスである。データストリーム又はシグナルのシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成されてもよい。
更なる実施形態は、本明細書に記載の方法の1つを実行するように構成又は適合された処理手段、例えばコンピューター又はプログラム可能な論理デバイスを含む。
更なる実施形態は、本明細書に記載の方法のうちの1つを実行するコンピュータープログラムがインストールされたコンピューターを含む。
いくつかの実施形態において、プログラム可能論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が、本明細書に説明される方法の機能性のいくつか又は全部を行うために使用されてもよい。いくつかの実施形態において、フィールドプログラマブルゲートアレイは、本明細書に説明される方法のうちの1つを行うために、マイクロプロセッサと協働してもよい。概して、方法は、任意のハードウェア装置によって実行されることが好ましい。
記載される実施形態は、本発明の原理を単に例示するものである。本明細書に記載された構成及び詳細の変更及び変形が他の当業者に明らかであることが理解される。したがって、添付の特許請求の範囲によってのみ限定され、本明細書の実施形態の記述及び説明によって提示される特定の詳細によって限定されないことが意図される。
参考文献
[1] S. Chetlur et al., "cuDNN: Efficient Primitives for Deep Learning," arXiv: 1410.0759, 2014
[2] MPEG, “Text of ISO/IEC DIS 15938-17 Compression of Neural Networks for Multimedia Content Description and Analysis”, Document of ISO/IEC JTC1/SC29/WG11, w19764, OnLine, Oct. 2020
[3] D. Marpe, H. Schwarz und T. Wiegand, "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,“ IEEE transactions on circuits and systems for video technology, Vol. 13, No. 7, pp. 620-636, July 2003.
[4] H. Kirchhoffer, J. Stegemann, D. Marpe, H. Schwarz und T. Wiegand, "JVET-K0430-v3 - CE5-related: State-based probalility estimator,“ in JVET, Ljubljana, 2018.
[5] ITU - International Telecommunication Union, "ITU-T H.265 High efficiency video coding,“Series H: Audiovisual and multimedia systems - Infrastructure of audiovisual services - Coding of moving video, April 2015.
[6] B. Bross, J. Chen und S. Liu, "JVET-M1001-v6 - Versatile Video Coding (Draft 4),“ in JVET, Marrakech, 2019.
[7] S. Wiedemann et al., "DeepCABAC: A Universal Compression Algorithm for Deep Neural Networks," in IEEE Journal of Selected Topics in Signal Processing, vol. 14, no. 4, pp. 700-714, May 2020, doi: 10.1109/JSTSP.2020.2969554.
[1] S. Chetlur et al., "cuDNN: Efficient Primitives for Deep Learning," arXiv: 1410.0759, 2014
[2] MPEG, “Text of ISO/IEC DIS 15938-17 Compression of Neural Networks for Multimedia Content Description and Analysis”, Document of ISO/IEC JTC1/SC29/WG11, w19764, OnLine, Oct. 2020
[3] D. Marpe, H. Schwarz und T. Wiegand, "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,“ IEEE transactions on circuits and systems for video technology, Vol. 13, No. 7, pp. 620-636, July 2003.
[4] H. Kirchhoffer, J. Stegemann, D. Marpe, H. Schwarz und T. Wiegand, "JVET-K0430-v3 - CE5-related: State-based probalility estimator,“ in JVET, Ljubljana, 2018.
[5] ITU - International Telecommunication Union, "ITU-T H.265 High efficiency video coding,“Series H: Audiovisual and multimedia systems - Infrastructure of audiovisual services - Coding of moving video, April 2015.
[6] B. Bross, J. Chen und S. Liu, "JVET-M1001-v6 - Versatile Video Coding (Draft 4),“ in JVET, Marrakech, 2019.
[7] S. Wiedemann et al., "DeepCABAC: A Universal Compression Algorithm for Deep Neural Networks," in IEEE Journal of Selected Topics in Signal Processing, vol. 14, no. 4, pp. 700-714, May 2020, doi: 10.1109/JSTSP.2020.2969554.
Claims (83)
- ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置(150、250)であって、
前記装置は、前記ニューラルネットワークの1つ以上の層の修正を定義する更新モデル(112、162、212、262)を復号化するように構成され、
前記装置は、更新されたモデル(108、208)を得るために、前記更新モデルを使用して前記ニューラルネットワークのベースモデル(184、284)のパラメーターを修正するように構成され、
前記装置は、前記更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報(164)を評価するように構成されている、
装置。 - 請求項1に記載の装置(150、250)であって、
前記更新モデル(112、162、212、262)は、差分値を記述し、
前記装置は、前記更新されたモデル(108、208)のパラメーターの値を得るために、前記差分値を前記ベースモデル(184、284)のパラメーターの値と加算的に又は減算的に組み合わせるように構成されている、
装置。 - 請求項1又は2に記載の装置(150、250)であって、
前記装置は、前記ニューラルネットワークのj番目の層に関連付けられた差分値又は差分テンソルLUk,jを、前記ニューラルネットのベースモデル(184、284)のj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjと、
LNkj=LBj+LUk,j(全てのjについて、又は前記更新モデルが層を含む全てのjについて)
に従って組み合わせ、それにより、前記ニューラルネットワークのモデルインデックスkを有する更新されたモデル(108、208)のj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjを得るように構成されている、
装置。 - 請求項1~3のいずれか一項に記載の装置(150、250)であって、
前記更新モデル(112、162、212、262)は、スケーリング因子値を記述し、
前記装置は、前記更新されたモデル(108、208)のパラメーターの値を得るために、前記スケーリング因子値を使用して、前記ベースモデル(184、284)のパラメーターの値をスケーリングするように構成されている、
装置。 - 請求項1~4のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記ニューラルネットワークのj番目の層に関連付けられたスケーリング値又はスケーリングテンソルLUk,jを、前記ニューラルネットのベースモデル(184、284)のj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjと、
LNkj=LBj・LUk,j(全てのjについて、又は前記更新モデルが層を含む全てのjについて)
に従って組み合わせ、それにより、前記ニューラルネットワークのモデルインデックスkを有する更新されたモデル(108、208)のj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjを得るように構成されている、
装置。 - 請求項1~5のいずれか一項に記載の装置(150、250)であって、
前記更新モデル(112、162、212、262)は、置換値を記述し、
前記装置は、前記更新されたモデル(108、208)のパラメーターの値を得るために、前記置換値を使用して、前記ベースモデルのパラメーターの値を置換するように構成されている、
装置。 - 請求項1~6のいずれか一項に記載の装置(150、250)であって、
前記ニューラルネットワークパラメーターは、ニューロンから発生する、又はニューロンに向かってつながる、ニューロン相互接続の重みを定義する重み値を含む、
装置。 - 請求項1~7のいずれか一項に記載の装置(150、250)であって、
ニューラルネットワークパラメーターのシーケンスが、行列の行又は列に関連付けられた重み値を含む、
装置。 - 請求項1~8のいずれか一項に記載の装置(150、250)であって、
前記スキップ情報(164)は、前記更新モデル(112、162、212、262)のパラメーターのシーケンスの全てのパラメーターがゼロであるか否かを示すフラグを含む、
装置。 - 請求項1~9のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記スキップ情報(164)に依存して、前記更新モデル(112、162、212、262)のパラメーターのシーケンスの復号化を選択的にスキップするように構成されている、
装置。 - 請求項1~10のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記スキップ情報(164)に依存して、前記更新モデル(112、162、212、262)のパラメーターのシーケンスの値を、所定の値に選択的に設定するように構成されている、
装置。 - 請求項1~11のいずれか一項に記載の装置(150、250)であって、
前記スキップ情報(164)は、前記更新モデル(112、162、212、262)のパラメーターのそれぞれのシーケンスの全てのパラメーターがゼロであるか否かを示すスキップフラグのアレイを含む、
装置。 - 請求項1~12のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記更新モデル(112、162、212、262)のパラメーターのそれぞれのシーケンスの復号化を、パラメーターのそれぞれのシーケンスに関連付けられたそれぞれのスキップフラグに依存して、選択的にスキップするように構成されている、
装置。 - 請求項1~13のいずれか一項に記載の装置(150、250)であって、
前記装置は、スキップフラグの前記アレイのエントリの数を記述するアレイサイズ情報を評価するように構成されている、
装置。 - 請求項1~14のいずれか一項に記載の装置(150、250)であって、
前記装置は、コンテキストモデル(264)を使用して、1つ以上のスキップフラグを復号化するように構成され、
前記装置は、1つ以上の以前に復号化されたシンボルに依存して、1つ以上のスキップフラグの復号化のためのコンテキストモデルを選択するように構成されている、
装置。 - 請求項1~15のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記ニューラルネットワークの層に関連付けられた全てのスキップフラグの復号化のために単一のコンテキストモデル(264)を適用するように構成されている、
装置。 - 請求項1~16のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたスキップフラグに依存して、スキップフラグの復号化のためのコンテキストモデル(264)を選択するように構成されている、
装置。 - 請求項1~17のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの復号化のためのコンテキストモデル(264)を選択するように構成されている、
装置。 - 請求項1~18のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの復号化のために選択可能なコンテキストモデル(264)のセットを選択するように構成されている、
装置。 - 請求項1~19のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける対応する層の存在に依存して、スキップフラグの復号化のために選択可能なコンテキストモデル(264)のセットを選択するように構成されている、
装置。 - 請求項1~20のいずれか一項に記載の装置(150、250)であって、
前記装置は、現在復号化されている更新モデル(112、162、212、262)の1つ以上の以前に復号化されたシンボルに依存して、コンテキストモデルの前記選択されたセットの中からコンテキストモデル(264)を選択するように構成されている、
装置。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する装置(150、250)であって、
前記装置は、前記ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくは前記ニューラルネットワークの修正を定義する、現在の更新モデル(112、162、212、262)を復号化するように構成され、
前記装置は、更新されたモデル(108、208)を得るために、前記現在の更新モデルを使用して、前記ニューラルネットワークのベースモデル(184、284)のパラメーター、又は1つ以上の中間更新モデルを使用して前記ニューラルネットワークの前記ベースモデルから導出された中間パラメーターを修正するように構成され、
前記装置は、前記現在の更新モデルの1つ以上のパラメーターをエントロピー復号化するように構成され、
前記装置は、前記ベースモデル(184、284)の1つ以上の以前に復号化されたパラメーターに依存して、及び/又は中間更新モデル(184、284)の1つ以上の以前に復号化されたパラメーターに依存して、前記現在の更新モデルの1つ以上のパラメーターのエントロピー復号化のために使用されるコンテキストを適応させるように構成されている、
装置。 - 請求項22に記載の装置(150、250)であって、
前記装置は、コンテキストベースのエントロピー復号化を使用して、前記現在の更新モデル(112、162、212、262)の1つ以上のパラメーターの量子化及び二値化された表現を復号化するように構成されている、
装置。 - 請求項22又は23に記載の装置(150、250)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー復号化するように構成され、前記有意ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述する、
装置。 - 請求項22~24のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー復号化するように構成され、前記符号ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述する、
装置。 - 請求項22~25のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた単項シーケンスをエントロピー復号化するように構成され、前記単項シーケンスの前記ビンは、前記現在考慮されているパラメーター値の量子化インデックスの絶対値がそれぞれのビン重みよりも大きいか否かを記述する、
装置。 - 請求項22~26のいずれか一項に記載の装置(150、250)であって、
前記装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー復号化するように構成され、Xはゼロよりも大きい整数である、
装置。 - 請求項22~27のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデル(264)を選択するように構成されている、
装置。 - 請求項22~28のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のために選択可能なコンテキストモデル(264)のセットを選択するように構成されている、
装置。 - 請求項22~29のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデル(264)を選択するように構成されているか、又は
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項22~30のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値を、1つ以上の閾値と比較するように構成され、
前記装置は、前記比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデル(264)を選択するように構成されているか、又は
前記装置は、前記比較の結果に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項22~31のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値を、単一の閾値と比較するように構成され、
前記装置は、前記単一の閾値との前記比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデル(264)を選択するように構成されているか、又は
前記装置は、前記単一の閾値との前記比較の結果に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項22~32のいずれか一項に記載の装置(150、250)であって、
前記装置は、以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の絶対値を、1つ以上の閾値と比較するように構成され、
前記装置は、前記比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデル(264)を選択するように構成されているか、又は
前記装置は、前記比較の結果に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの復号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項22~33のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー復号化することであって、前記有意ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述することと、
以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、前記少なくとも1つの有意ビンの前記エントロピー復号化のためのコンテキスト、又は前記少なくとも1つの有意ビンの前記エントロピー復号化のためのコンテキストのセットを選択することと、
を行うように構成されている、
装置。 - 請求項22~34のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー復号化することであって、前記符号ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述することと、
以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、前記少なくとも1つの符号ビンの前記エントロピー復号化のためのコンテキスト、又は前記少なくとも1つの符号ビンの前記エントロピー復号化のためのコンテキストのセットを選択することと、
を行うように構成されている、
装置。 - 請求項22~35のいずれか一項に記載の装置(150、250)であって、
前記装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー復号化することであって、Xはゼロよりも大きい整数であることと、
以前に復号化されたニューラルネットワークモデルにおける、以前に復号化された対応するパラメーター値の値に依存して、少なくとも1つのXよりも大きいビンの前記エントロピー復号化のためのコンテキスト、又は前記少なくとも1つのXよりも大きいビンの前記エントロピー復号化のためのコンテキストのセットを選択することと、
を行うように構成されている、
装置。 - 請求項22~36のいずれか一項に記載の装置(150、250)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の、1つ以上の以前に復号化されたビン又はパラメーターに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデル(264)を選ぶように構成されている、
装置。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する装置(100、210)であって、
前記装置は、前記ニューラルネットワークの1つ以上の層の修正を定義する更新モデル(112、162、212、262)を符号化するように構成され、
前記装置は、更新されたモデル(108、208)を得るために、デコーダーが、前記更新モデルを使用して、前記ニューラルネットワークのベースモデル(104、204)のパラメーターを修正することを、前記更新モデルが可能とするように、前記更新モデルを提供するように構成され、
前記装置は、前記更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報(114)を提供及び/又は決定するように構成されている、
装置。 - 請求項38に記載の装置(100、210)であって、
前記更新モデル(112、162、212、262)は、前記更新されたモデル(108、208)のパラメーターの値を得るために、前記デコーダーが、前記差分値を前記ベースモデル(104、204)のパラメーターの値と加算的に又は減算的に組み合わせることを可能とする差分値を記述する、
装置。 - 請求項39に記載の装置(100、210)であって、
前記装置は、前記更新されたモデル(108、208)のパラメーターの値と前記ベースモデル(104、204)のパラメーターの値との間の差分として、前記差分値を決定するように構成されている、
装置。 - 請求項39又は40に記載の装置(100、210)であって、
前記装置は、前記ニューラルネットワークのj番目の層に関連付けられた差分値又は差分テンソルLUk,jを、前記ニューラルネットのベースモデル(104、204)のj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjとの、
LNkj=LBj+LUk,j(全てのjについて、又は前記更新モデルが層を含む全てのjについて)
に従う、前記差分値又は差分テンソルLUk,jの組み合わせが、前記ニューラルネットワークのモデルインデックスkを有する前記更新されたモデル(108、208)のj番目の層のパラメーターの値を表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjの決定を可能にするように、決定するように構成されている、
装置。 - 請求項38~41のいずれか一項に記載の装置(100、210)であって、
前記更新モデル(112、162、212、262)は、スケーリング因子値を記述し、
前記装置は、前記スケーリング因子値を使用した、前記ベースモデル(104、204)のパラメーターの値のスケーリングが、前記更新されたモデル(108、208)のパラメーターの値に帰着するように、前記スケーリング因子値を提供するように構成されている、
装置。 - 請求項42に記載の装置(100、210)であって、
前記装置は、前記スケーリング因子値を、前記更新されたモデル(108、208)のパラメーターの値と前記ベースモデル(104、204)のパラメーターの値との間のスケーリング因子として決定するように構成されている、
装置。 - 請求項43に記載の装置(100、210)であって、
前記装置は、前記ニューラルネットワークのj番目の層に関連付けられたスケーリング値又はスケーリングテンソルLUk,jを、前記ニューラルネットのベースモデル(104、204)のj番目の層のパラメーターの値を表すベース値パラメーター又はベース値テンソルLBjとの、
LNkj=LBj・LUk,j(全てのjについて、又は前記更新モデルが層を含む全てのjについて)
に従う、前記スケーリング値又はスケーリングテンソルの組み合わせが、前記ニューラルネットワークのモデルインデックスkを有する更新されたモデル(108、208)のj番目の層のパラメーターを表す、更新されたモデル値パラメーター又は更新されたモデル値テンソルLNkjの決定を可能にするように、決定するように構成されている、
装置。 - 請求項38~44のいずれか一項に記載の装置(100、210)であって、
前記更新モデル(112、162、212、262)は、置換値を記述し、
前記装置は、前記置換値を使用した前記ベースモデル(104、204)のパラメーターの値の置換が、前記更新されたモデル(108、208)のパラメーターの値を得ることを可能にするように、前記置換値を提供するように構成されている、
装置。 - 請求項45に記載の装置(100、210)であって、
前記装置は、前記置換値を決定するように構成されている、
装置。 - 請求項38~46のいずれか一項に記載の装置(100、210)であって、
前記ニューラルネットワークパラメーターは、ニューロンから発生する、又はニューロンに向かってつながる、ニューロン相互接続の重みを定義する重み値を含む、
装置。 - 請求項38~47のいずれか一項に記載の装置(100、210)であって、
ニューラルネットワークパラメーターのシーケンスが、行列の行又は列に関連付けられた重み値を含む、
装置。 - 請求項38~48のいずれか一項に記載の装置(100、210)であって、
前記スキップ情報(114)は、前記更新モデル(112、162、212、262)のパラメーターのシーケンスの全てのパラメーターがゼロであるか否かを示すフラグを含む、
装置。 - 請求項38~49のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記更新モデル(112、162、212、262)のパラメーターのシーケンスの復号化のスキップをシグナリングするスキップ情報(114)を提供するように構成されている、
装置。 - 請求項38~50のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記更新モデル(112、162、212、262)のパラメーターのシーケンスが所定の値を有するか否かの情報を含むスキップ情報を提供するように構成されている、
装置。 - 請求項38~51のいずれか一項に記載の装置(100、210)であって、
前記スキップ情報(114)は、前記更新モデルのパラメーターのそれぞれのシーケンスの全てのパラメーターがゼロであるか否かを示すスキップフラグの前記アレイを含む、
装置。 - 請求項38~52のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記更新モデル(112、162、212、262)のパラメーターのそれぞれのシーケンスの復号化のスキップをシグナリングするための、パラメーターのそれぞれのシーケンスに関連付けられたスキップフラグを提供するように構成されている、
装置。 - 請求項38~53のいずれか一項に記載の装置(100、210)であって、
前記装置は、スキップフラグのアレイのエントリの数を記述するアレイサイズ情報を提供するように構成されている、
装置。 - 請求項38~54のいずれか一項に記載の装置(100、210)であって、
前記装置は、コンテキストモデル(264)を使用して、1つ以上のスキップフラグを符号化するように構成され、
前記装置は、1つ以上の以前に符号化されたシンボルに依存して、1つ以上のスキップフラグの符号化のためのコンテキストモデルを選択するように構成されている、
装置。 - 請求項38~55のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記ニューラルネットワークの層に関連付けられた全てのスキップフラグの符号化のために単一のコンテキストモデル(264)を適用するように構成されている、
装置。 - 請求項38~56のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたスキップフラグに依存して、スキップフラグの符号化のためのコンテキストモデル(264)を選択するように構成されている、
装置。 - 請求項38~57のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの符号化のためのコンテキストモデル(264)を選択するように構成されている、
装置。 - 請求項38~58のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける対応するスキップフラグの値に依存して、スキップフラグの符号化のために選択可能なコンテキストモデル(264)のセットを選択するように構成されている、
装置。 - 請求項38~59のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける対応する層の存在に依存して、スキップフラグの符号化のために選択可能なコンテキストモデル(264)のセットを選択するように構成されている、
装置。 - 請求項38~60のいずれか一項に記載の装置(100、210)であって、
前記装置は、現在符号化されている更新モデル(112、162、212、262)の1つ以上の以前に符号化されたシンボルに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデル(264)を選択するように構成されている、
装置。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する装置(100、210)であって、
前記装置は、前記ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくは前記ニューラルネットワークの修正を定義する、現在の更新モデル(112、162、212、262)を符号化するように構成され、
前記装置は、更新されたモデル(108、208)を得るために、前記現在の更新モデルを使用して、前記ニューラルネットワークのベースモデル(104、204)のパラメーター、又は1つ以上の中間更新モデルを使用して前記ニューラルネットワークの前記ベースモデル(104、204)から導出された中間パラメーターを、デコーダーが修正することを、前記更新モデルが可能とするように、前記更新モデル(112、162、212、262)を提供するように構成され、
前記装置は、前記現在の更新モデルの1つ以上のパラメーターをエントロピー符号化するように構成され、
前記装置は、前記ベースモデル(104、204)の1つ以上の以前に符号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ以上の以前に符号化されたパラメーターに依存して、前記現在の更新モデルの1つ以上のパラメーターのエントロピー符号化のために使用されるコンテキストを適応させるように構成されている、
装置。 - 請求項62に記載の装置(100、210)であって、
前記装置は、コンテキストベースのエントロピー符号化を使用して、前記現在の更新モデル(112、162、212、262)の1つ以上のパラメーターの量子化及び二値化された表現を符号化するように構成されている、
装置。 - 請求項62又は63に記載の装置(100、210)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー符号化するように構成され、前記有意ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述する、
装置。 - 請求項62~64のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー符号化するように構成され、前記符号ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述する、
装置。 - 請求項62~65のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた単項シーケンスをエントロピー符号化するように構成され、前記単項シーケンスの前記ビンは、前記現在考慮されているパラメーター値の量子化インデックスの絶対値がそれぞれのビン重みよりも大きいか否かを記述する、
装置。 - 請求項62~66のいずれか一項に記載の装置(100、210)であって、
前記装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー符号化するように構成され、Xはゼロよりも大きい整数である、
装置。 - 請求項62~67のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデル(224)を選択するように構成されている、
装置。 - 請求項62~68のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のために選択可能なコンテキストモデル(224)のセットを選択するように構成されている、
装置。 - 請求項62~69のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデル(224)を選択するように構成されているか、又は
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項62~70のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値を、1つ以上の閾値と比較するように構成され、
前記装置は、前記比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデル(264)を選択するように構成されているか、又は
前記装置は、前記比較の結果に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデル(224)のセットを選択するように構成されている、
装置。 - 請求項62~71のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値を、単一の閾値と比較するように構成され、
前記装置は、前記単一の閾値との前記比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデル(224)を選択するように構成されているか、又は
前記装置は、前記単一の閾値との前記比較の結果に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項62~72のいずれか一項に記載の装置(100、210)であって、
前記装置は、以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の絶対値を、1つ以上の閾値と比較するように構成され、
前記装置は、前記比較の結果に依存して、現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデル(224)を選択するように構成されているか、又は
前記装置は、前記比較の結果に依存して、前記現在考慮されているパラメーター値の量子化インデックスの1つ以上のビンの符号化のためのコンテキストモデルのセットを選択するように構成されている、
装置。 - 請求項62~73のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの有意ビンをエントロピー符号化することであって、前記有意ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロに等しいか否かを記述することと、
以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、前記少なくとも1つの有意ビンの前記エントロピー符号化のためのコンテキスト(224)、又は前記少なくとも1つの有意ビンの前記エントロピー符号化のためのコンテキストのセットを選択することと、
を行うように構成されている、
装置。 - 請求項62~74のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の現在考慮されているパラメーター値に関連付けられた少なくとも1つの符号ビンをエントロピー符号化することであって、前記符号ビンは、前記現在考慮されているパラメーター値の量子化インデックスがゼロよりも大きいかゼロよりも小さいかを記述することと、
以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、前記少なくとも1つの符号ビンの前記エントロピー符号化のためのコンテキスト(224)、又は前記少なくとも1つの符号ビンの前記エントロピー符号化のためのコンテキストのセットを選択することと、
を行うように構成されている、
装置。 - 請求項62~75のいずれか一項に記載の装置(100、210)であって、
前記装置は、現在考慮されているパラメーター値の量子化インデックスの絶対値がXよりも大きいか否かを示す、1つ以上のXよりも大きいビンをエントロピー符号化することであって、Xはゼロよりも大きい整数であることと、
以前に符号化されたニューラルネットワークモデルにおける、以前に符号化された対応するパラメーター値の値に依存して、少なくとも1つのXよりも大きいビンの前記エントロピー符号化のためのコンテキスト(224)、又は前記少なくとも1つのXよりも大きいビンの前記エントロピー符号化のためのコンテキストのセットを選択することと、
を行うように構成されている、
装置。 - 請求項62~76のいずれか一項に記載の装置(100、210)であって、
前記装置は、前記現在の更新モデル(112、162、212、262)の、1つ以上の以前に符号化されたビン又はパラメーターに依存して、コンテキストモデルの選択されたセットの中からコンテキストモデル(224)を選ぶように構成されている、
装置。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する方法(300)であって、前記方法は、
前記ニューラルネットワークの1つ以上の層の修正を定義する更新モデル(112、162、212、262)を復号化すること(310)と、
更新されたモデル(108、208)を得るために、前記更新モデルを使用して前記ニューラルネットワークのベースモデルのパラメーターを修正すること(320)と、
前記更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報(164)を評価すること(330)と、
を含む、方法。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを復号化する方法(400)であって、前記方法は、
前記ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくは前記ニューラルネットワークの修正を定義する、現在の更新モデル(112、162、212、262)を復号化すること(410)と、
更新されたモデル(108、208)を得るために、前記現在の更新モデルを使用して、前記ニューラルネットワークのベースモデルのパラメーター、又は1つ以上の中間更新モデルを使用して前記ニューラルネットワークの前記ベースモデルから導出された中間パラメーターを修正すること(420)と、
前記現在の更新モデルの1つ以上のパラメーターをエントロピー復号化すること(430)と、
前記ベースモデルの1つ以上の以前に復号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ又は以前に復号化されたパラメーターに依存して、前記現在の更新モデルの1つ以上のパラメーターのエントロピー復号化のために使用されるコンテキスト(264)を適応させること(440)と、
を含む、方法。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する方法(500)であって、前記方法は、
前記ニューラルネットワークの1つ以上の層の修正を定義する更新モデル(112、162、212、262)を符号化すること(510)と、
更新されたモデル(108、208)を得るために、前記更新モデルを使用して前記ニューラルネットワークのベースモデル(104、204)のパラメーターを修正するために、前記更新モデルを提供すること(520)と、
前記更新モデルのパラメーターのシーケンスがゼロであるか否かを示すスキップ情報(114)を提供及び/又は決定すること(530)と、
を含む、方法。 - ニューラルネットワークを定義するニューラルネットワークパラメーターを符号化する方法(600)であって、前記方法は、
前記ニューラルネットワークの1つ以上の層の修正、又は1つ以上の中間層の若しくは前記ニューラルネットワークの修正を定義する、現在の更新モデル(112、162、212、262)を符号化すること(610)と、
更新されたモデル(108、208)を得るために、前記ニューラルネットワークのベースモデル(104、204)のパラメーター、又は1つ以上の中間更新モデルを使用して前記ニューラルネットワークの前記ベースモデルから導出された中間パラメーターを修正するために、前記現在の更新モデルを使用することと、
前記現在の更新モデルの1つ以上のパラメーターをエントロピー符号化すること(620)と、
前記ベースモデルの1つ以上の以前に符号化されたパラメーターに依存して、及び/又は中間更新モデルの1つ又は以前に符号化されたパラメーターに依存して、前記現在の更新モデル(112、162、212、262)の1つ以上のパラメーターのエントロピー符号化のために使用されるコンテキスト(224)を適応させること(630)と、
を含む、方法。 - コンピュータープログラムであって、前記コンピュータープログラムがコンピューター上で動作するときに、請求項78~81のいずれか一項に記載の方法を実行する、コンピュータープログラム。
- ニューラルネットワークパラメーターの符号化表現であって、
前記ニューラルネットワークの1つ以上の層の修正を定義する、更新モデル(112、162、212、262)と、
前記更新モデルのパラメーターのシーケンスがゼロであるか否かを示す、スキップ情報と、
を含む、符号化表現。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21169030 | 2021-04-16 | ||
EP21169030.0 | 2021-04-16 | ||
PCT/EP2022/060124 WO2022219159A2 (en) | 2021-04-16 | 2022-04-14 | Apparatus, method and computer program for decoding neural network parameters and apparatus, method and computer program for encoding neural network parameters using an update model |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024518718A true JP2024518718A (ja) | 2024-05-02 |
Family
ID=75690094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023563318A Pending JP2024518718A (ja) | 2021-04-16 | 2022-04-14 | 更新モデルを使用して、ニューラルネットワークパラメーターを復号化する装置、方法及びコンピュータープログラム、並びにニューラルネットワークパラメーターを符号化する装置、方法及びコンピュータープログラム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20240046100A1 (ja) |
EP (1) | EP4324098A2 (ja) |
JP (1) | JP2024518718A (ja) |
KR (1) | KR20240004520A (ja) |
CN (1) | CN117501631A (ja) |
TW (1) | TW202248905A (ja) |
WO (1) | WO2022219159A2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020190772A1 (en) * | 2019-03-15 | 2020-09-24 | Futurewei Technologies, Inc. | Neural network model compression and optimization |
JP7356513B2 (ja) * | 2019-03-18 | 2023-10-04 | フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | ニューラルネットワークのパラメータを圧縮する方法および装置 |
-
2022
- 2022-04-14 KR KR1020237039288A patent/KR20240004520A/ko active Search and Examination
- 2022-04-14 WO PCT/EP2022/060124 patent/WO2022219159A2/en active Application Filing
- 2022-04-14 JP JP2023563318A patent/JP2024518718A/ja active Pending
- 2022-04-14 EP EP22723567.8A patent/EP4324098A2/en active Pending
- 2022-04-14 CN CN202280043475.1A patent/CN117501631A/zh active Pending
- 2022-04-15 TW TW111114506A patent/TW202248905A/zh unknown
-
2023
- 2023-10-16 US US18/380,551 patent/US20240046100A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022219159A9 (en) | 2022-12-15 |
WO2022219159A8 (en) | 2023-11-02 |
KR20240004520A (ko) | 2024-01-11 |
WO2022219159A2 (en) | 2022-10-20 |
US20240046100A1 (en) | 2024-02-08 |
WO2022219159A3 (en) | 2023-01-26 |
TW202248905A (zh) | 2022-12-16 |
CN117501631A (zh) | 2024-02-02 |
EP4324098A2 (en) | 2024-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI748201B (zh) | 適於相依純量量化之變換係數熵寫碼技術 | |
JP4295356B1 (ja) | 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体 | |
Kirchhoffer et al. | Overview of the neural network compression and representation (NNR) standard | |
KR100868716B1 (ko) | 컬러 이미지 인코딩을 위한 방법, 시스템 및 소프트웨어제품 | |
US6894628B2 (en) | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables | |
US20080219578A1 (en) | Method and apparatus for context adaptive binary arithmetic coding and decoding | |
CN110710217B (zh) | 用于对最后有效系数标志进行代码化的方法和设备 | |
US8711019B1 (en) | Context-based adaptive binary arithmetic coding engine | |
JP7356513B2 (ja) | ニューラルネットワークのパラメータを圧縮する方法および装置 | |
CN113170132A (zh) | 使用或适用于与依赖标量量化的组合的变换系数的有效编码 | |
US20220393986A1 (en) | Concepts for Coding Neural Networks Parameters | |
JP2024518718A (ja) | 更新モデルを使用して、ニューラルネットワークパラメーターを復号化する装置、方法及びコンピュータープログラム、並びにニューラルネットワークパラメーターを符号化する装置、方法及びコンピュータープログラム | |
WO2023198817A1 (en) | Decoder for providing decoded parameters of a neural network, encoder, methods and computer programs using a reordering | |
US20220217418A1 (en) | Coding concept for a sequence of information values | |
WO2023131641A1 (en) | Concepts for encoding and decoding neural network parameters | |
KR20230005868A (ko) | 신경망의 가중치 파라미터들을 디코딩하기 위한 디코더, 인코더, 방법들 및 확률 추정 파라미터들을 사용하는 인코딩된 표현 | |
Huang et al. | Texture-and multiple-template-based algorithm for lossless compression of error-diffused images | |
Jafarkhani et al. | Channel-matched hierarchical table-lookup vector quantization | |
Belkoura | Analysis and Application of Turbo Coder based Distributed Video Coding | |
Bhosale et al. | A Modified Image Template for FELICS Algorithm for Lossless Image Compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231219 |