JP2023522886A - ニューラルネットワークパラメーターの表現の改良された概念 - Google Patents

ニューラルネットワークパラメーターの表現の改良された概念 Download PDF

Info

Publication number
JP2023522886A
JP2023522886A JP2022562943A JP2022562943A JP2023522886A JP 2023522886 A JP2023522886 A JP 2023522886A JP 2022562943 A JP2022562943 A JP 2022562943A JP 2022562943 A JP2022562943 A JP 2022562943A JP 2023522886 A JP2023522886 A JP 2023522886A
Authority
JP
Japan
Prior art keywords
representation
parameter
activation
parameters
batch
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
Application number
JP2022562943A
Other languages
English (en)
Inventor
ヴィーデマン,ジモン
マーリンチ,タルマイ
サメック,ヴォイチェフ
ハーゼ,パウル
ミュラー,カーステン
キルヒホッファー,ハイナー
マープ,デトレフ
シュヴァルツ,ハイコ
ヴィーガント,トーマス
Original Assignee
フラウンホーファー‐ゲゼルシャフト ツア フェルデルング デア アンゲヴァンテン フォルシュング アインゲトラーゲナー フェライン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フラウンホーファー‐ゲゼルシャフト ツア フェルデルング デア アンゲヴァンテン フォルシュング アインゲトラーゲナー フェライン filed Critical フラウンホーファー‐ゲゼルシャフト ツア フェルデルング デア アンゲヴァンテン フォルシュング アインゲトラーゲナー フェライン
Publication of JP2023522886A publication Critical patent/JP2023522886A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

量子化パラメーターから乗数及びビットシフト数が導出可能であるように、NNパラメーターの量子化パラメーター及び量子化値を決定することによって、NNパラメーターを量子化された値に量子化するように構成された、NN表現を生成する装置。加えて、NNパラメーターの量子化パラメーター及び量子化値の決定は、NNパラメーターの量子化された値が、量子化値と乗数に依存する因数との積であって、ビットシフト数に依存するビット数だけビットシフトされた積に対応するように実行される。【選択図】図2

Description

本発明による実施形態は、ニューラルネットワークパラメーターの表現の改善された概念を使用して、ニューラルネットワークパラメーターを符号化又は復号化する装置及び方法に関する。推論及び/又は記憶ビットレート最適化に関する改善を達成することができる。
ニューラルネットワークは、その最も基本的な形態において、一連のアフィン変換とそれに続く要素ごとの非線形関数とを構成する。図1に示すように、それらは有向非巡回グラフとして表すことができる。各ノードは、エッジのそれぞれの重み値との乗算によって次のノードに順方向伝搬される特定の値を伴う。次に、全ての入力値が単純に集約される。
図1は、フィードフォワードニューラルネットワークのグラフ表現の例を示している。具体的には、この2層ニューラルネットワークは、4次元入力ベクトルを実線に写像する非線形関数である。
数学的には、図1のニューラルネットワークは次の方法で出力を算出する。
output=L(L(input))
ここで、
(X)=N(B(X))
であり、式中、Bは層iのアフィン変換であり、Nは層iの何らかの非線形関数である。
バイアス層
いわゆる「バイアス層」の場合、Bは、層iに関連する重みパラメーター(エッジ重み)Wと層iの入力Xとの行列乗算と、それに続くバイアスbとの和である。
(X)=W*X+b
は、次元n×kを有する重み行列であり、Xは、次元k×mを有する入力行列である。バイアスbは、長さnの転置ベクトルである。演算子*は、行列乗算を示すものとする。バイアスbとの和は、行列の列に対する要素ごとの演算である。より正確には、W*X+bは、bがW*Xの各列に追加されることを意味する。
いわゆる畳み込み層は、非特許文献1に記載されているように、それらを行列-行列積としてキャストすることによって使用することもできる。
以降、所与の入力から出力を算出する手順を推論と称する。また、中間結果を、隠れ層又は隠れ活性化値と称し、これは、例えば上記の第1の内積+非線形性の算出等、線形変換+要素ごとの非線形性を構成する。
通常、ニューラルネットワークは、数百万のパラメーターを含むため、その表現のために数百メガバイトを必要とし得る。したがって、その推論手順には、大きな行列間の多くの内積演算の計算が含まれるため、その実行には高い計算リソースが必要となる。したがって、これらの内積を実行する複雑性を低減することが非常に重要である。
バッチノルム層
ニューラルネットワーク層のアフィン変換のより洗練された変形例として、以下のような、いわゆるバイアス及びバッチノルム演算が挙げられる。
式1:
Figure 2023522886000002
ここで、μ、σ、γ、及びβは、バッチノルムパラメーターを示す。なお、層インデックスiはここでは無視する。Wは、次元n×kを有する重み行列であり、Xは、次元k×mを有する入力行列である。バイアスb及びバッチノルムパラメーターμ、σ、γ、及びβは、長さnの転置ベクトルである。演算子*は、行列乗算を示す。ベクトルを有する行列に対する他の全ての演算(加算、乗算、除算)は、行列の列に対する要素ごとの演算であることに留意されたい。例えば、X・γは、Xの各列がγと要素ごとに乗算されることを意味する。εは、0による除算を避けるために必要な小さなスカラー数(0.001等)である。ただし、0であってもよい。
bの全てのベクトル要素が0に等しい場合、式1はバッチノルム層を指す。
対照的に、ε並びにμ及びβの全てのベクトル要素が0に設定され、γ及びσの全ての要素が1に設定される場合、バッチノルムのない層(バイアスのみ)が処理される。
パラメーターの効率的な表現
パラメーターW、b、μ、σ、γ、及びβは、集合的に層のパラメーターを示すものとする。それらは通常、ビットストリーム中でシグナリングされる必要がある。例えば、それらは32ビットの浮動小数点数として表すことができ、又は整数表現に量子化することができる。εは通常、ビットストリーム中でシグナリングされないことに留意されたい。
かかるパラメーターを符号化するための特に効率的な手法では、各値がいわゆる量子化ステップサイズ値の整数倍として表される均一再構成量子化器が用いられる。対応する浮動小数点数は、整数に、通常は単一の浮動小数点数である量子化ステップサイズを乗算することによって再構築することができる。しかしながら、ニューラルネットワーク推論のための効率的な実施態様(すなわち、入力に対するニューラルネットワークの出力の算出)では、可能な限り整数演算が用いられる。したがって、パラメーターを浮動小数点表現に再構成する必要があることは望ましくない場合がある。
"cuDNN: Efficient Primitives for Deep Learning" (Sharan Chetlur, et al.; arXiv: 1410.0759, 2014)
したがって、ニューラルネットワークパラメーターの効率的な符号化及び/又は復号化をサポートするために、かかるパラメーターの表現の概念を改善することが望まれている。ニューラルネットワークパラメーターが符号化されるビットストリームを低減して、シグナル化コストを低減することが望ましい場合がある。加えて、又は代替として、ニューラルネットワーク推論を改善するために計算リソースの複雑性を低減することが望ましい場合があり、例えば、ニューラルネットワーク推論のための効率的な実施態様を達成することが望ましい場合がある。
これは、本出願の独立請求項の主題によって達成される。
本発明による更なる実施の形態は、本出願の従属請求項の主題によって定義される。
本発明の第1の態様によれば、本出願の発明者らは、ニューラルネットワーク(NN)表現が直面する1つの問題が、ニューラルネットワークが数百万のパラメーターを含み、したがってその表現のために数百メガバイトを必要とし得るという事実から生じることを認識した。したがって、その推論手順には、大きな行列間の多くの内積演算の計算が含まれるため、その実行には高い計算リソースが必要となる。本出願の第1の態様によれば、この困難は、NNパラメーターの量子化を使用することによって克服され、浮動小数点演算をほとんど又は全く用いずに推論が可能となる。本発明者らは、乗数及びビットシフト数を導出することができる量子化パラメーターを決定することが有利であることを見出した。これは、ビットレートに関して、32ビット浮動小数点値の代わりに量子化パラメーター及び量子化値(quantization value)のみをシグナリングすることが効率的であるという着想に基づいている。NNパラメーターの量子化された値(quantized value)は、乗数、ビットシフト数、及び量子化値を使用して算出することができるため、浮動小数点領域の代わりに整数領域において、計算、例えばNNパラメーターの和及び/又はNNパラメーターとベクトルとの乗算を実行することが可能である。したがって、提示するNN表現を用いて、推論の効率的な計算を達成することができる。
したがって、本出願の第1の態様によれば、NN表現、例えばデータストリームを生成する装置は、量子化パラメーターから乗数及びビットシフト数が導出可能であるように、NNパラメーターの量子化パラメーター及び量子化値を決定することによって、NNパラメーターを量子化された値に量子化するように構成される。生成されたNN表現は、NN表現、例えばデータストリームからNNパラメーター、例えばNNパラメーターの量子化された値を導出する装置によって読み出され/復号化され得る。NNパラメーターを導出する装置は、NN表現から量子化パラメーター及び量子化値を導出し、量子化パラメーターから乗数及びビットシフト数を導出するように構成される。乗数は、量子化パラメーターによって導出された被除数と精度パラメーターによって導出された除数との間の除算の剰余に基づいて量子化パラメーターから導出可能であり、例えば、精度パラメーターは、デフォルト値に設定されてもよく、又は、自然数若しくは2の累乗等の精度パラメーターの複数の異なる整数値が、NN全体に対して、又は各層等のNNの各部分に対して装置によってテストされてもよく、量子化誤差及びビットレートの観点から、そのラグランジュ和に関して最良のものがテストされ、精度パラメーターとして最良の値を取得し、NN表現でこの選択がシグナリングされる。ビットシフト数は、除算の商の丸めに基づいて量子化パラメーターから導出可能である。NNパラメーターを導出する装置の場合のNNパラメーター、又はNN表現を生成する装置の場合のNNパラメーターの量子化された値は、(例えば、少なくとも、シフトの場合に符号の別個の処理を伴う量子化された値の絶対値に関して、又はさらに、積、その因数、及びシフトに関してそれぞれ2の補数表現及び2の補数演算を使用する場合等、絶対値と符号の両方に関して)量子化値と乗数に依存する因数との間の積であって、ビットシフト数に依存するビット数だけビットシフトされた積に対応する。デジタルデータは、上述したように、NNパラメーターを表すために、量子化パラメーター及び量子化値を含むNN表現を定義することができる。
NNパラメーターを導出する装置によって導出されるNNパラメーターは、NN表現を生成する装置によって生成されるNNパラメーターの量子化された値に対応することに留意されたい。これは、NNパラメーターを導出する装置には、元のNNパラメーターが見えないため、NNパラメーターを導出する装置から見て、NNパラメーターの量子化された値をNNパラメーターとみなすためである。
一実施の形態は、NNを使用して推論を実行するデバイスに関し、該デバイスは、NNをパラメーター化するように構成されたNNパラメトライザーを備える。NNパラメトライザーは、上述したように、NN表現からNNパラメーターを導出する装置を備える。加えて、デバイスは、NNを使用してNN入力に基づいて推論出力を計算するように構成された計算ユニットを備える。上述したように、NNパラメーターは、乗数、ビットシフト数及び量子化値に基づいて導出することができ、そのため、浮動小数点領域の代わりに整数領域において、計算、例えばNNパラメーターの和及び/又はNNパラメーターとベクトルとの乗算を実行することが可能である。したがって、推論の効率的な計算が、デバイスによって達成され得る。
本発明の第2の態様によれば、本出願の発明者らは、ニューラルネットワーク(NN)を使用して推論を実行するときに遭遇する1つの問題が、推論に使用される重み行列が量子化誤差を有する可能性があり、そのため、低いレベルの精度しか達成されないという事実に起因することを認識した。本出願の第1の態様によれば、この困難は、重み行列W’の各列と要素ごとに乗算される転置ベクトルs、例えばスケーリングファクターを使用することによって克服される。本発明者らは、算術符号化方法が、重み行列のスケーリングを使用することによってより高い符号化利得をもたらすこと、及び/又は重み行列のスケーリングがニューラルネットワーク性能結果を増加させる、例えば、より高い精度を達成することを見出した。これは、量子化誤差を低減し、それにより量子化されたニューラルネットワークの予測性能を向上させるために、例えば重み行列、例えば量子化された重み行列に依存して、転置ベクトルsを効率的に適応させることができるという着想に基づいている。さらに、本発明者らは、重みパラメーターを転置ベクトルsと重み行列W’との合成として因数分解することで、両者を独立に量子化でき、例えば転置ベクトルsと重み行列W’の量子化には、様々な量子化パラメーターを使用できるため、表現の効率を高めることができることを見出した。これは、性能の観点から有益であるが、ハードウェア効率の観点からも有益である。
したがって、本出願の第2の態様によれば、NNを使用して推論を実行するデバイスは、NNを使用してNN入力に基づいて推論出力を計算するように構成される。NNは、一対のNN層と、一対のNN層のうちの第1のNN層から一対のNN層のうちの第2のNN層へのニューロン間活性化フィードフォワードとを含む。デバイスは、第1のNN層のニューラルネットワークニューロンの活性化から行列Xを形成し、s・W’*Xを計算することによって、第1のNN層のニューラルネットワークニューロンの活性化に基づいて第2のNN層のニューラルネットワークニューロンの活性化を計算するように構成される。演算子*は、行列乗算を示し、W’は、n及びm∈Nである次元n×mの重み行列であり、sは、長さnの転置ベクトルであり、演算子・は、・の一方の側の行列と・の他方の側の転置ベクトルとの間の列に関するアダマール乗算を示す。
本発明の第3の態様によれば、本出願の発明者らは、バッチノルム層を使用するときに遭遇する1つの問題が、バッチノルム演算子のバッチノルムパラメーター/要素が通常は浮動小数点表現であるという事実から生じることを認識した。しかしながら、ニューラルネットワーク推論のための効率的な実施態様(すなわち、入力に対するニューラルネットワークの出力の算出)では、可能な限り整数演算が用いられる。この困難は、所定の定数値をバッチノルムパラメーター/要素に、例えばb及びμ及びσ又はσに割り当てることによって克服される。本発明者らは、バッチノルムパラメーター/要素が所定の定数値を有する場合、それらを極めて効率的に圧縮することができることを見出した。これは、全ての要素/パラメーターが所定の定数値を有するかを示す単一のフラグの使用を可能にし、それにより、それらを所定の定数値に設定することができるという着想に基づいている。加えて、バッチノルム演算子の結果は、所定の定数値を使用することによって変更されないことを見出した。
したがって、本出願の第3の態様によれば、第1の実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する装置に関する。バッチノルム演算子は、
Figure 2023522886000003
として定義され、式中、
μ、σ、γ、及びβは、バッチノルムパラメーター、例えば、各出力ノードについて1つの成分を含む転置ベクトルであり、
Wは、重み行列であり、例えば、その各行は1つの出力ノードに対するものであり、それぞれの行の各成分はXの1つの行に関連付けられており、
Xは、NN層の活性化から導出される入力行列であり、
bは、バイアスを形成する転置ベクトル、例えば、各出力ノードに対して1つの成分を含む転置ベクトルであり、
εは、ゼロ除算回避のための定数であり、
・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
*は、行列乗算を示す。
装置は、b及びμ及びγ及びβ及びσ又はσを受信し、
Figure 2023522886000004
及び
Figure 2023522886000005
を計算するように構成される。
加えて、装置は、β’及びγ’をNN表現に符号化するように構成され、例えば、出力ノードごとに1つの成分を含む転置ベクトルもバッチノルム演算子のNNパラメーターとして符号化するように構成され、バッチノルム演算子を
Figure 2023522886000006
として定義し、
σ’:=θ、μ’:=0、b’:=0であり、ここで、θは所定のパラメーターである。
NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する並列装置は、NN表現からγ及びβを導出し、その全ての成分に適用される1つのシグナリングによって、σ’:=θ及びμ’:=0及びb’:=0を推論又は導出するように構成され、ここで、θは所定のパラメーターである。装置は、例えば、1つのシグナリング、例えばフラグを読み出し、そこからσ’:=θ及びμ’:=0及びb’:=0を推論又は導出するように構成される。バッチノルム演算子は、第3の態様の第1の実施の形態に関して上記で説明したように定義される。
したがって、本出願の第3の態様によれば、第2の実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する装置に関する。バッチノルム演算子は、
Figure 2023522886000007
として定義され、式中、
μ、σ、γ、及びβは、バッチノルムパラメーター、例えば、各出力ノードについて1つの成分を含む転置ベクトルであり、
Wは、重み行列であり、例えば、その各行は1つの出力ノードに対するものであり、それぞれの行の各成分はXの1つの行に関連付けられており、
Xは、NN層の活性化から導出される入力行列であり、
bは、バイアスを形成する転置ベクトル、例えば、各出力ノードに対して1つの成分を含む転置ベクトルであり、
・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
*は、行列乗算を示す。
装置は、b及びμ及びγ及びβ及びσ又はσを受信し、
Figure 2023522886000008
及び
Figure 2023522886000009
を計算するように構成される。
加えて、装置は、バッチノルム演算子のNNパラメーターとしてβ’及びγ’をNN表現に符号化するように構成され、バッチノルム演算子を
Figure 2023522886000010
として定義し、
σ’:=1、μ’:=0、b’:=0である。
NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する並列装置は、NN表現からγ及びβを導出し、その全ての成分に適用される1つのシグナリングによって、σ:=1及びμ:=0及びb:=0を推論又は導出するように構成される。装置は、例えば、1つのシグナリング、例えばフラグを読み出し、そこからσ:=1及びμ:=0及びb:=0を推論又は導出するように構成される。バッチノルム演算子は、第3の態様の第2の実施の形態に関して上記で説明したように定義される。
したがって、本出願の第3の態様によれば、第3の実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する装置に関する。バッチノルム演算子は、
Figure 2023522886000011
として定義され、式中、
μ、σ、γ、及びβは、バッチノルムパラメーター、例えば、各出力ノードについて1つの成分を含む転置ベクトルであり、
Wは、重み行列であり、例えば、その各行は1つの出力ノードに対するものであり、それぞれの行の各成分はXの1つの行に関連付けられており、
Xは、NN層の活性化から導出される入力行列であり、
εは、ゼロ除算回避のための定数であり、
・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
*は、行列乗算を示す。
装置は、μ及びγ及びβ及びσ又はσを受信し、
Figure 2023522886000012
及び
Figure 2023522886000013
を計算するように構成される。
加えて、装置は、バッチノルム演算子のNNパラメーターとしてβ’及びγ’をNN表現に符号化するように構成され、バッチノルム演算子を
Figure 2023522886000014
として定義し、
σ’:=θ、μ’:=0であり、θは所定のパラメーターである。
NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する並列装置は、NN表現からγ及びβを導出し、その全ての成分に適用される1つのシグナリングによって、σ:=θ及びμ:=0を推論又は導出するように構成され、θは所定のパラメーターである。装置は、例えば、1つのシグナリング、例えばフラグを読み出し、そこからσ:=θ及びμ:=0を推論又は導出するように構成される。バッチノルム演算子は、第3の態様の第3の実施の形態に関して上記で説明したように定義される。
したがって、本出願の第3の態様によれば、第4の実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する装置に関する。バッチノルム演算子は、
Figure 2023522886000015
として定義され、式中、
μ、σ、γ、及びβは、バッチノルムパラメーター、例えば、各出力ノードについて1つの成分を含む転置ベクトルであり、
Wは、重み行列であり、例えば、その各行は1つの出力ノードに対するものであり、それぞれの行の各成分はXの1つの行に関連付けられており、
Xは、NN層の活性化から導出される入力行列であり、
・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
*は、行列乗算を示す。
装置は、μ及びγ及びβ及びσ又はσを受信し、
Figure 2023522886000016
及び
Figure 2023522886000017
を計算するように構成される。
加えて、装置は、バッチノルム演算子のNNパラメーターとしてβ’及びγ’をNN表現に符号化するように構成され、バッチノルム演算子を
Figure 2023522886000018
として定義し、
σ’:=1、μ’:=0である。
NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する並列装置は、NN表現からγ及びβを導出し、その全ての成分に適用される1つのシグナリングによって、σ:=1及びμ:=0を推論又は導出するように構成される。装置は、例えば、1つのシグナリング、例えばフラグを読み出し、そこからσ:=1及びμ:=0を推論又は導出するように構成される。バッチノルム演算子は、第3の態様の第4の実施の形態に関して上記で説明したように定義される。
以下の方法は、上述の原理に従って動作する。
一実施の形態は、NN表現を生成する方法であって、量子化パラメーターから、量子化パラメーターによって導出された被除数と精度パラメーターによって導出された除数との間の除算の剰余に基づいて乗数が導出可能であり、量子化パラメーターから、除算の商の丸めに基づいてビットシフト数が導出可能であるように、NNパラメーターの量子化パラメーター及び量子化値を決定することによって、NNパラメーターを量子化された値に量子化することを含む方法に関する。量子化パラメーターは、NNパラメーターの量子化された値が、量子化値と乗数に依存する因数との積であって、ビットシフト数に依存するビット数だけビットシフトされた積に対応するように決定される。
一実施の形態は、NN表現からNNパラメーターを導出する方法であって、NN表現から量子化パラメーター及び量子化値を導出することを含む方法に関する。加えて、方法は、量子化パラメーターから、量子化パラメーターによって導出された被除数と精度パラメーターによって導出された除数との間の除算の剰余に基づいて乗数を導出することと、量子化パラメーターから、除算の商の丸めに基づいてビットシフト数を導出することとを含む。NNパラメーターは、量子化値と乗数に依存する因数との積であって、ビットシフト数に依存するビット数だけビットシフトされた積に対応する。
一実施の形態は、NNを使用して推論を実行する方法であって、NN表現からNNパラメーターを導出するために、NNパラメーターを導出する上述の方法を使用してNNをパラメーター化することを含む方法に関する。加えて、推論を実行する方法は、NNを使用してNN入力に基づいて推論出力を計算することを含む。
一実施の形態は、NNを使用して推論を実行する方法であって、NNを使用してNN入力に基づいて推論出力を計算することを含む方法に関する。NNは、一対のNN層と、一対のNN層のうちの第1のNN層から一対のNN層のうちの第2のNN層へのニューロン間活性化フィードフォワードとを含む。方法は、第1のNN層のニューラルネットワークニューロンの活性化から行列Xを形成することと、s・W’*Xを計算することであって、式中、*は、行列乗算を表し、W’は、n及びm∈Nである次元n×mの重み行列であり、sは、長さnの転置ベクトルであり、・は、・の一方の側の行列と・の他方の側の転置ベクトルとの間の列に関するアダマール乗算を示すこととによって、第1のNN層のニューラルネットワークニューロンの活性化に基づいて、第2のNN層のニューラルネットワークニューロンの活性化を計算することを含む。
一実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000019
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、bは、バイアスを形成する転置ベクトルであり、εは、ゼロ除算回避のための定数であり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、b、μ、γ、β及びσ又はσを受信することと、
Figure 2023522886000020
及び
Figure 2023522886000021
を計算することと、を含む。
加えて、方法は、β’及びγ’をバッチノルム演算子のNNパラメーターとしてNN表現に符号化することであって、バッチノルム演算子を
Figure 2023522886000022
として定義し、σ’:=θ、μ’:=0、及びb’:=0であり、ここで、θは所定のパラメーターであることを含む。
一実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000023
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、bは、バイアスを形成する転置ベクトルであり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、b、μ、γ、β、及びσ又はσを受信することと、
Figure 2023522886000024
及び
Figure 2023522886000025
を計算することと、を含む。加えて、方法は、β’及びγ’をバッチノルム演算子のNNパラメーターとしてNN表現に符号化することであって、バッチノルム演算子を
Figure 2023522886000026
として定義し、σ’:=1、μ’:=0、及びb’:=0であることを含む。
一実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000027
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、εは、ゼロ除算回避のための定数であり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、μ、γ、β及びσ又はσを受信することと、
Figure 2023522886000028
及び
Figure 2023522886000029
を計算することと、を含む。加えて、方法は、β’及びγ’をバッチノルム演算子のNNパラメーターとしてNN表現に符号化することであって、バッチノルム演算子を
Figure 2023522886000030
として定義し、σ’:=θ及びμ’:=0であり、ここで、θは所定のパラメーターであることを含む。
一実施の形態は、NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000031
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、μ、γ、β及びσ又はσを受信することと、
Figure 2023522886000032
及び
Figure 2023522886000033
を計算することと、を含む。加えて、方法は、β’及びγ’をバッチノルム演算子のNNパラメーターとしてNN表現に符号化することであって、バッチノルム演算子を
Figure 2023522886000034
として定義し、σ’:=1、及びμ’:=0であることを含む。
一実施の形態は、NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000035
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、bは、バイアスを形成する転置ベクトルであり、εは、ゼロ除算回避のための定数であり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、NN表現からγ及びβを導出することと、その全ての成分に適用される1つのシグナリングによって、σ’:=θ、μ’:=0、及びb’:=0であり、ここで、θは所定のパラメーターであることを推論又は導出することとを含む。
一実施の形態は、NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000036
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、bは、バイアスを形成する転置ベクトルであり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、NN表現からγ及びβを導出することと、その全ての成分に適用される1つのシグナリングによって、σ:=1、μ:=0、及びb:=0であることを推論又は導出することとを含む。
一実施の形態は、NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000037
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、εは、ゼロ除算回避のための定数であり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、NN表現からγ及びβを導出することと、その全ての成分に適用される1つのシグナリングによって、σ:=θ及びμ:=0であり、ここで、θは所定のパラメーターであることを推論又は導出することとを含む。
一実施の形態は、NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法に関し、バッチノルム演算子は、
Figure 2023522886000038
として定義され、式中、μ、σ、γ、及びβは、バッチノルムパラメーターであり、Wは、重み行列であり、Xは、NN層の活性化から導出される入力行列であり、・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、*は、行列乗算を示す。方法は、NN表現からγ及びβを導出することと、その全ての成分に適用される1つのシグナリングによって、σ:=1及びμ:=0であることを推論又は導出することとを含む。
上述したように、これらの方法は、上述した装置又はデバイスと同じ考察に基づいている。方法は、装置又はデバイスに関しても説明される全ての特徴及び機能で完成され得る。
一実施の形態は、上述したように、NN表現を生成する方法又は装置によって生成されたNN表現を定義するデジタルデータを含むデジタル記憶媒体に関する。
一実施の形態は、上述の方法のうちの1つを実行するコンピュータープログラムに関する。
一実施の形態は、上述したように、NN表現を生成する方法又は装置によって生成されるデータストリームに関する。
図面は、必ずしも縮尺通りではなく、代わりに、概して、本発明の原理を図示することに重点が置かれている。以下の説明では、本発明の種々の実施形態が、以下の図面を参照して説明される。
ニューラルネットワークを示す図である。 本発明の一実施形態による、NN表現を生成する装置、NN表現を定義するデジタルデータ、及びNN表現からNNパラメーターを導出する装置を概略的に示す図である。 フィードフォワードニューラルネットワークを概略的に示す図である。 本発明の一実施形態による、NNパラメトライザーを使用して推論を実行するデバイスを概略的に示す図である。 本発明の一実施形態による、ベクトル及び行列の合成として重みパラメーターを因数分解することによって推論を実行するデバイスを概略的に示す図である。 本発明の一実施形態による、NNパラメーターをNN表現に符号化する装置及びNN表現からNNパラメーターを復号化する装置を概略的に示す図である。 行列XとWとの間の可能な関係を概略的に示す図である。
同一若しくは同等の要素、又は同一若しくは同等の機能を有する要素は、異なる図に現れる場合であっても、以下の説明において同一又は同等の参照番号によって示される。
以下の説明では、本発明の実施形態のより完全な説明を提供するために、複数の詳細が記載される。しかしながら、本発明の実施形態がこれらの具体的な詳細なしに実施され得ることは、当業者には明らかであろう。他の例では、本発明の実施形態を不明瞭にすることを回避するために、周知の構造及びデバイスは、詳細にではなくブロック図の形態で示される。加えて、本明細書で後に説明される異なる実施形態の特徴は、特に別段の記載がない限り、互いに組み合わせることができる。
以下では、少数の浮動小数点演算のみを用いた、又は更には浮動小数点演算を全く用いない推論を可能にする層のパラメーターの量子化ステップサイズを表し、シグナリングする効率的な手法を提示する。つまり、ビットレートの点で効率的な表現であり、更に推論の効率的な計算に利用することができる。
図2は、NN表現110を生成する装置100を示している。装置100は、量子化パラメーター142を決定(140)することと、NNパラメーター120の量子化値152を決定(150)することとによって、NNパラメーター120を量子化された値130に量子化するように構成される。量子化値152は、量子化パラメーター142に基づいて決定(150)することができる。量子化パラメーター142の決定(140)は、量子化パラメーター決定器によって実行することができる。量子化値152の決定(150)は、量子化値決定器によって実行することができる。
量子化パラメーター142が決定(140)され、それにより、量子化パラメーター142から、乗数144及びビットシフト数146が導出可能である。量子化パラメーター142の決定(140)において、装置100は、例えば、乗数144及びビットシフト数146が、決定された量子化パラメーター142から導出可能であるかどうかを既にチェックしている場合がある。
任意選択で、装置100は、量子化パラメーター142から乗数144を導出し、量子化パラメーター142からビットシフト数146を導出して、例えば装置100による量子化された値130の決定を可能にするように構成することができる。しかし、量子化された値130は量子化パラメーター142及び量子化値152によって表すことができるので、これは必要ではない。装置100は、量子化された値130を明示的に決定する必要はない。
一実施形態によれば、生成されたNN表現110は、決定された量子化パラメーター142及び決定された量子化値152を含むことができ、それにより、NNパラメーター120、すなわちNNパラメーター120の量子化された値130は、NN表現110から導出可能である。例えば、装置100は、量子化パラメーター142及び量子化値152をNN表現110に符号化するように構成されてもよい。
乗数144は、量子化パラメーター142によって導出される被除数と、精度パラメーターk145によって導出される除数との間の除算の剰余に基づいて、量子化パラメーター142から導出可能である。
ビットシフト数146は、除算の商の丸めに基づいて、すなわち、量子化パラメーター142によって導出された被除数と精度パラメーターk145によって導出された除数との間の除算の商の丸めに基づいて、量子化パラメーター142から導出可能である。
量子化パラメーター142の決定(140)が実行され、それにより、NNパラメーター120の量子化された値130は、量子化値152と乗数144に依存する因数148との間の積であって、ビットシフト数146に依存するビット数だけビットシフトされた積に対応する。NNパラメーター120の量子化された値130は、例えば、少なくとも、シフトの場合には符号の別個の処理を伴う量子化された値の絶対値に関して、又は更には、積、その因数、及びシフトに対してそれぞれ2の補数表現及び2の補数演算を使用する場合等、絶対値と符号との両方に関して、積に対応する。これは、ユニット150に例示的かつ概略的に示されている。
一実施形態によれば、装置100は、NNパラメーターのための浮動小数点表現を使用してNN20を訓練することによって、かつ量子化誤差を低減することを目的とする反復最適化方式によってNNパラメーターのための量子化パラメーター142及び量子化値152を決定することによって、NNパラメーター、例えばNNパラメーター120の量子化された値130を提供するように構成される。
装置100とは別に、図1は、NN表現110を定義するデジタルデータ200と、NN表現110からNNパラメーター、すなわちNNパラメーター120の量子化された値130を導出する装置300とを示している。デジタルデータ200及び装置300がNNパラメーターの元の値を見ることがないという事実から、量子化された値130は、この文脈ではNNパラメーターの値として理解される。このため、NNパラメーターは、デジタルデータ200及び装置300の以下の説明のために、130として示される。本明細書で説明されるNNパラメーターは、NNパラメーターに割り当てられた元の値120によって、又は元の値120に基づいて決定された量子化された値130によって表され得ることが明らかである。したがって、以下では、NNパラメーターを120/130として示す。これは、例えば、NNパラメーターが元の値120と量子化された値130のどちらで表されても一般的に適用できる特徴を説明するものである。
デジタルデータ200は、NN表現110を定義し、NN表現110は、NNパラメーター130を表すために、量子化パラメーター142及び量子化値152を含んでおり、それにより、量子化パラメーター142から、量子化パラメーター142によって導出された被除数と精度パラメーターk145によって導出された除数との間の除算の剰余に基づいて乗数144が導出可能であり、かつ、量子化パラメーター142から、除算の商の丸めに基づいてビットシフト数146が導出可能である。NN表現110は、量子化パラメーター142及び量子化値152を含んでおり、それにより、NNパラメーター130は、量子化値152と乗数144に依存する因数148との間の積であって、ビットシフト数146に依存するビット数だけビットシフトされた積に対応する。
NN表現110からNNパラメーター130を導出する装置300は、例えば、量子化パラメーター導出ユニット310を使用して、NN表現110から量子化パラメーター142を導出し、例えば、量子化値導出ユニット320を使用して、NN表現110から量子化値152を導出するように構成される。加えて、装置300は、量子化パラメーター142から、乗数144及びビットシフト数146を導出するように構成される。装置300は、量子化パラメーター142によって導出された被除数と精度パラメーター145によって導出された除数との間の除算の剰余に基づいて乗数144を導出し、除算の商の丸めに基づいてビットシフト数146を導出するように構成される。乗数144の導出は、乗数導出ユニット330を使用して実行されてもよく、ビットシフト数146の導出は、ビットシフト数導出ユニット340を使用して実行されてもよい。NNパラメーター130は、量子化値152と乗数144に依存する因数148との間の積であって、ビットシフト数146に依存するビット数だけビットシフトされた積に対応する(図2の装置100及びユニット150についての上記の対応する説明を参照)。NNパラメーター130は、例えば、NNパラメーター導出ユニット350を用いて導出されてもよい。NNパラメーター導出ユニット350は、装置100のオプションのユニット150と同じ特徴及び/又は機能を備えてもよい。
以下では、装置100及び装置300の両方に適用可能な実施形態及び例が提示される。
一実施形態によれば、NNパラメーター120/130は、重みパラメーター、バッチノルムパラメーター、及びバイアスのうちの1つである。重みパラメーター、例えば、Wの成分wは、一対のニューロンの間のニューロン間活性化フィードフォワードを重み付けするために使用可能であり得るか、又は代替的に言えば、第1のニューロンと第2のニューロンとを接続するエッジに関係し、第2のニューロンのためのインバウンド活性化の和において第1のニューロンの活性化のフォワーディングを重み付けする重みを表し得る。バッチノルムパラメーター、例えば、μ、σ、γ、βは、ニューラルネットワーク層のアフィン変換をパラメーター化するために使用可能とすることができ、バイアス、例えば、bの成分は、所定のニューラルネットワークニューロンのためのインバウンドニューロン間活性化フィードフォワードの和にバイアスをかけるために使用可能であり得る。
一実施形態によれば、NNパラメーター120/130は、例えば図1に示すように、NNの複数のニューロン間活性化フィードフォワード122のうちの単一のニューロン間活性化フィードフォワード12、例えばWの成分wに関して、NN20をパラメーター化する。装置100/装置300は、複数のニューロン間活性化フィードフォワード122の各々について、対応するNNパラメーター120/130をNN表現110に符号化/NN表現110から導出するように構成される。対応するNNパラメーター130は、NN表現110に含まれる。この場合、装置100は、複数のニューロン間活性化フィードフォワード122の各々について、それぞれのニューロン間活性化フィードフォワード12に関連付けられた関連量子化パラメーター142と、それぞれのニューロン間活性化フィードフォワード12に関連付けられた関連量子化値152とを決定(140)することによって、対応するNNパラメーター120を対応する量子化された値130に量子化するように構成され得る。関連量子化パラメーター142の決定(140)は、関連量子化パラメーター142から、関連量子化パラメーター142によって導出された被除数と、それぞれのニューロン間活性化フィードフォワード12に関連付けられた関連精度パラメーター145によって導出された除数との間の除算の剰余に基づいてそれぞれのニューロン間活性化フィードフォワード12に関連付けられた関連乗数144と、除算の商の丸めに基づいてそれぞれのニューロン間活性化フィードフォワード12に関連付けられた関連ビットシフト数146と、を導出することができるように実行される。この場合の対応する装置300は、複数のニューロン間活性化フィードフォワード122の各々について、NN表現110からそれぞれのニューロン間活性化フィードフォワード12に関連付けられた関連量子化パラメーター142を導出(310)し、NN表現110からそれぞれのニューロン間活性化フィードフォワード12に関連付けられた関連量子化値152を導出(320)するように構成される。導出(310及び320)は、例えばNN表現110から復号化することによって実行されてもよく、すなわちエッジごとに1つが復号化されてもよい。加えて、装置300は、複数のニューロン間活性化フィードフォワード122の各々について、関連量子化パラメーター142から、関連量子化パラメーター142によって導出された被除数と、それぞれのニューロン間活性化フィードフォワード12に関連付けられた関連精度パラメーター145によって導出された除数との間の除算の剰余に基づいて、それぞれのニューロン間活性化フィードフォワード12に関連付けられた関連乗数144と、除算の商の丸めに基づいて、それぞれのニューロン間活性化フィードフォワード12に関連付けられた関連ビットシフト数146と、を導出するように構成される(330及び340参照)。導出(330及び340)は、例えばNN表現110から復号化することによって実行されてもよく、すなわちエッジごとに1つが復号化されてもよい。
別の実施形態によれば、装置100/装置300は、NN20の複数のニューロン間活性化フィードフォワード122をニューロン間活性化フィードフォワードのサブグループ122a、122bに細分するように構成され、それにより、各サブグループは、NNの関連する一対のNN層に関連付けられ、関連する一対のNN層の間のニューロン間活性化フィードフォワードを含み、関連する一対の層以外の更なる一対のNN層の間のニューロン間活性化フィードフォワードを除外し、2つ以上のサブグループが所定のNN層に関連付けられる(例えば図3を参照)。サブグループ122aは、例えば、NN20の関連する一対のNN層114及び116に関連付けられ、関連する一対のNN層114及び116の間のニューロン間活性化フィードフォワードを含み、関連する一対の層114及び116以外の更なる一対のNN層の間、例えば更なる一対のNN層116及び116の間のニューロン間活性化フィードフォワードを除外する。サブグループ122a及び122bは、層116に関連付けられる。NN20の複数のニューロン間活性化フィードフォワード122の細分化は、例えば、NN20内の各エッジ/重み12のインデックスによって、又は他の形態で各層の対の間のエッジ12をセグメント化することによって実行されてもよい。NNパラメーター120/130は、NN2の複数のニューロン間活性化フィードフォワード122のうちの単一のニューロン間活性化フィードフォワード12に関してNN20をパラメーター化する。複数のニューロン間活性化フィードフォワード122の各々について、対応するNNパラメーター120/130がNN表現110に含まれる。装置300は、例えば、NN表現から復号化することによって、すなわち、エッジサブグループごとに1つのサブグループを復号化することによって、複数のニューロン間活性化フィードフォワード122の各々について、NN表現110から対応するNNパラメーター120/130を導出するように構成される。装置100/装置300は、ニューロン間活性化フィードフォワードのサブグループ122a、122bごとに、それぞれのサブグループ122a又は122bに関連付けられた関連量子化パラメーター142を決定(140)/導出(310)するように構成される。量子化パラメーター142は、それぞれのサブグループ122a又は122bに関連付けられた関連乗数144が、関連量子化パラメーター142によって導出された被除数とそれぞれのサブグループに関連付けられた関連精度パラメーター145によって導出された除数との間の除算の剰余に基づいて量子化パラメーター142から導出可能であるように、装置100によって決定(140)され、量子化パラメーター142は、それぞれのサブグループ122a又は122bに関連付けられた関連ビットシフト数146が、除算の商の丸めに基づいて量子化パラメーター142から導出可能であるように、装置100によって決定(140)される。装置300は、NN表現110から関連乗数144及び関連ビットシフト数146を導出するように構成される。装置100/装置300は、複数のニューロン間活性化フィードフォワード122の各々について、NN表現110からそれぞれのニューロン間活性化フィードフォワード12に関連付けられた関連量子化値152を決定(150)/導出(320)する(例えば、NN表現110から復号化することによって、すなわち、エッジごとに1つが復号化されることによって、導出(320)する)ように構成される。それぞれのニューロン間活性化フィードフォワード12の対応するNNパラメーター120/130は、関連量子化値142と、それぞれのニューロン間活性化フィードフォワード12が含まれるサブグループ、例えば122a又は122bに関連付けられた関連乗数144に依存する因数148との間の積であって、それぞれのニューロン間活性化フィードフォワード12が含まれるサブグループ、例えば122a又は122bの関連ビットシフト数146に依存するビット数だけビットシフトされた積に対応する。
関連精度パラメーター145は、例えば、NN20にわたって、又は各NN層114、116、及び116内でグローバルに等しく評価される。任意選択で、装置100/装置300は、関連精度パラメーター145をNN表現110に符号化/NN表現110から導出するように構成される。
一実施形態によれば、装置100/装置300は、コンテキスト適応型二値算術符号化/復号化を使用することによって、又は量子化パラメーター142を表すビットをNN表現110に直接書き込む/NN表現110から読み出すことによって、又は装置100/装置300のコンテキスト適応型二値エンコーダー/デコーダーの等確率バイパスモードを介して量子化パラメーター142を表すビットをNN表現110から符号化/導出することによって、量子化パラメーター142をNN表現110に符号化/NN表現110から導出するように構成される。装置100/装置300は、二値化方式を使用してビンストリングを二値化/非二値化することによってNN表現110から量子化パラメーター142を導出するように構成され得る。二値化方式は、例えば、指数ゴロム符号である。
一実施形態によれば、装置100は、量子化パラメーター142を決定(140)し、それを固定小数点表現、例えば2の補数表現の形態でNN表現110に符号化するように構成される。装置300は、固定小数点表現、例えば2の補数表現の形態でNN表現110から量子化パラメーター142を導出(310)するように構成されてもよい。任意選択で、精度パラメーター145は2であり、固定小数点表現、例えば2の補数表現のビット長は、NN20に対して一定になるように設定されるか、又はNN20に対して一定である基底ビット長とtとの和になるように設定される。
一実施形態によれば、装置100/装置300は、整数値シンタックス要素として量子化パラメーター142をNN表現110に符号化/NN表現110から導出するように構成される。
一実施形態によれば、装置100は、量子化値152を決定し、それを固定小数点表現、例えば2の補数表現の形態でNN表現110に符号化するように構成される。装置300は、固定小数点表現、例えば2の補数表現の形態でNN表現110から量子化値152を導出(320)するように構成されてもよい。
一実施形態によれば、装置100/装置300は、二値化方式に従って量子化値152をビンストリングに二値化/ビンストリングから非二値化し、コンテキスト適応算術符号化/復号化を使用してビンストリングのビットを符号化/復号化することによって、量子化値152をNN表現110に符号化/NN表現110から導出するように構成される。
一実施形態によれば、装置100/装置300は、二値化方式に従って量子化値152をビンストリングに二値化/ビンストリングから非二値化し、コンテキスト適応算術符号化/復号化を使用してビンストリングの第1のビットを符号化/復号化し、等確率バイパスモードを使用してビンストリングの第2のビットを符号化/復号化することによって、量子化値152をNN表現110に符号化/NN表現110から復号化するように構成される。
一実施形態によれば、量子化ステップサイズΔ149は、装置100及び/又は装置300によって、量子化パラメーターQP142で示される符号付き整数及び正の整数パラメーターk、すなわち精度パラメーター145から、以下の式に従って導出することができる。
mul=k+QP%k
Figure 2023522886000039
Δ=(mul/k)・2shift
乗数144はmulで表され、ビットシフト数146はshiftで表され、因数148はmul/kで表される。
NNパラメーター130は、(mul/k)・2shift・Pであり、ここで、Pは量子化値152である。
フロア演算子
Figure 2023522886000040
及びモジュロ演算子%は、以下のように定義される。
Figure 2023522886000041
は、x以下の最大の整数である。
x%yは、
Figure 2023522886000042
として定義されるモジュロ演算子である。
任意選択で、装置100及び/又は装置300は、精度パラメーターk145をデフォルト値に設定するように構成することができる。
あるいは、装置100は、任意選択で、自然数又は2の累乗等の精度パラメーターk145の複数の異なる整数値をテストすることができる。異なる整数値は、例えば、NN全体に対して、又は各層等のNNの各部分に対してテストされ、量子化誤差及びビットレートに関して、例えばそのラグランジュ和に関して最良の精度パラメーターk145が選択される。装置100は、例えば、精度パラメーターk145を決定して、例えば決定(140)において、乗数144及びビットシフト数146が量子化パラメーター142から導出可能であるかどうかをチェックするように構成されてもよい。任意選択で、装置100によって選択された精度パラメーターk145は、NN表現110においてシグナリングされ、例えば、NN表現110に符号化される。装置300は、例えば、NN表現110から精度パラメーターk145を導出するように構成される。
一実施形態によれば、精度パラメーター145は、2の累乗である。
一実施形態によれば、装置100/装置300は、精度パラメーター145を表すビットを直接NN表現110に書き込む/NN表現110から読み出すことによって、又は装置100/装置300のコンテキスト適応型二値エンコーダー/デコーダーの等確率バイパスモードを介して精度パラメーター145を表すビットをNN表現110に/NN表現110から導出することによって、精度パラメーター145をNN表現110に符号化/NN表現110から導出するように構成される。
ビットストリーム、例えばデジタルデータ200において32ビット浮動小数点値をシグナリングする代わりに、パラメーターQP142及びk145のみがシグナリングされる必要がある。一部の適用例では、ビットストリーム中でQP142をシグナリングし、k145を何らかの固定値に設定することで十分な場合もある。
好ましい実施形態において、パラメーターQP’=QP-QPが、QP142の代わりにビットストリーム内でシグナリングされ、ここで、パラメーターQPは、所定の定数値である。換言すれば、一実施形態によれば、装置100/装置300は、関連量子化パラメーターQP142を、参照量子化パラメーターQPとの差分の形態で、NN表現110に符号化/NN表現110から導出するように構成される。
別の好ましい実施形態において、k145は2に設定される。このようにして、Δ149の算出は、除算を含まずに以下のように実行することができる。
Δ=mul・2shift-t
これにより、一部の計算を、以下に例示されるように、浮動小数点領域の代わりに整数領域で実行することが可能となる。
図4は、NN20を使用して推論を実行するデバイス400を概略的に示している。デバイス400は、NN20をパラメーター化するように構成されたNNパラメトライザー410を備える。NNパラメトライザー410は、NN表現110からNNパラメーター130を導出する装置300を備える。NNパラメーター130を導出する装置300は、図2の装置300に関して説明したものと同じ又は同様の特徴を備えることができる。装置300は、NNパラメーター導出ユニットとして理解され得る。加えて、デバイス400は、NN20を使用して、例えば、NNパラメトライザー410によって決定されたNN20のパラメーター化450を使用して、NN入力440に基づいて推論出力430を計算するように構成された計算ユニット420を備える。
例1:
一実施形態によれば、NNパラメトライザー410は、装置300を介して、第1のNNパラメーター及び第2のNNパラメーターのうちの少なくとも1つを導出するように構成され、それにより、第1のNNパラメーターは、第1の量子化値と第1の因数との間の積であって、第1のビット数だけビットシフトされた積に対応し、第2のNNパラメーターは、第2の量子化値と第2の因数との間の積であって、第2のビット数だけビットシフトされた積に対応する。
第1の量子化値及び第2の量子化値は両方とも、図2において152で示される量子化値を表す。第1の因数及び第2の因数は両方とも、図2において148で示される因数を表す。
例えば、t=2とし、k=2とし、QPで示される第1のQP、すなわち第1の量子化パラメーター142、関連するshift、すなわち第1のビットシフト数146、mul、すなわち第1の乗数144、及びΔ、すなわち第1の量子化ステップサイズ149を定義する。
さらに、QPで示される第2のQP、すなわち第2の量子化パラメーター142、関連するshift、すなわち第2のビットシフト数146、mul、すなわち第2の乗数144、及びΔ、すなわち第2の量子化ステップサイズ149を定義する。
「第1の」パラメーター及び「第2の」パラメーターは、この文脈では同じ参照番号で示されているが、それらが異なる値を有し得ることは明らかである。それらは、それらが図2に示されるどの特徴に属するかを明確にするために、同じ参照番号で示されているのみである。
C=Δ・Cが成り立つ第1の量子化行列Cを考える。
D=Δ・Dが成り立つ第2の量子化行列Dを考える。
すなわち、Cは、QPを使用して量子化され、Dは、QPを使用して量子化されている。
両方の行列は、同じ次元を有する。図2で説明した量子化値152は、Cの1つの成分又はDの1つの成分を表すことができる。例えば、Cは、複数の第1の量子化値152を含むことができ、Dは、複数の第2の量子化値152を含むことができる。
さらに、和C+Dが以下のように算出されると仮定する。
Figure 2023522886000043
デバイス400は、第1のNNパラメーターCの第1の量子化値Cによって形成され、第1の乗数mulで重み付けされた第1の加数、例えばmul・Cと、第2のNNパラメーターDの第2の量子化値Dによって形成され、第2の乗数mulで重み付けされ、第1のビット数及び第2のビット数の差、例えば、
Figure 2023522886000044
だけビットシフトされた第2の加数、例えば、
Figure 2023522886000045
との間の和を形成することと、第1の加数及び第2の加数の和に、第1のビット数及び第2のビット数の一方に依存する、例えば第1のビットシフト数shift又は第2のビットシフト数shiftに依存するビット数だけビットシフト
Figure 2023522886000046
を施すことと、によって、第1のNNパラメーターC及び第2のNNパラメーターDを加算してNN20の最終NNパラメーターを生成するように構成される。
任意選択で、この算出/計算は、計算ユニット420によって実行することができる。この場合、計算ユニット420は、上述したように、第1のNNパラメーターCと第2のNNパラメーターDとを加算してNN20の最終的なNNパラメーターを生成するように構成されている。
式から分かるように、浮動小数点演算を必要とし得るC及びDを導出する必要はない。その代わりに、Cの要素、すなわち第1の量子化値152は、単にmul、すなわち第1の乗数144と乗算され、Dの要素、すなわち第2の量子化値152は、mul、すなわち第2の乗数144と乗算され、因数
Figure 2023522886000047
は、Cの第1の量子化値152、すなわちCの成分に関連する第1のビットシフト数shift146と、Dの第2の量子化値152、すなわちDの成分に関連する第2のビットシフト数shift146とに依存する単純なビットシフト演算として実施される。t=2であるので、整数変数mul及びmulは両方とも値4、5、6、及び7のうちの1つであることに留意されたい。かかる小さい数を有する整数乗算は、ハードウェア又はソフトウェア実施態様において非常に効率的に実施され得る。
一実施形態によれば、第1のNNパラメーターはNN20のベース層表現を表し、第2のNNパラメーターはNN20のエンハンスメント層表現を表す。代替的に、第1のNNパラメーターは、例えば、NN20の現在の表現を表し、第2のNNパラメーターは、現在のNN表現の更新、すなわち、NN20の現在の表現の更新を表す。代替的に、例えば、第1のNNパラメーターは、所定のニューラルネットワークニューロン10のインバウンドニューロン間活性化フィードフォワードの和にバイアスをかけるバイアス、すなわちbの成分を表し、第2のNNパラメーターは、ニューラルネットワーク層114、116又は116のアフィン変換をパラメーター化するバッチノルムパラメーター、すなわちμ、σ、γ又はβ、例えばb+μを表す。
例2:
一実施形態によれば、NNパラメトライザー410は、装置300を介して、第3のNNパラメーター及び第4のNNパラメーターのうちの少なくとも1つを導出するように構成され、それにより、第3のNNパラメーターは、第3の量子化値と第3の因数との間の積であって、第3のビット数だけビットシフトされた積に対応し、第4のNNパラメーターは、第4の量子化値と第4の因数との間の積であって、第4のビット数だけビットシフトされた積に対応する。
第3の量子化値及び第4の量子化値はともに、図2において152で示される量子化値を表す。第3の因数及び第4の因数は、両方とも、図2において148で示される因数を表す。
例えば、t=2とし、k=2とし、第1のQP、例えば、QPで示される第3の量子化パラメーター142、関連するshift、すなわち第3のビットシフト数146、mul、すなわち第3の乗数144、及びΔ、すなわち第3の量子化ステップサイズ149を定義する。
さらに、第2のQP、例えば、QPで示される第4の量子化パラメーター142、関連するshift、すなわち第4のビットシフト数146、mul、すなわち第4の乗数144、及びΔ、すなわち第4の量子化ステップサイズ149を定義する。
「第3の」パラメーター及び「第4の」パラメーターは、この文脈では同じ参照番号で示されているが、それらが異なる値を有し得ることは明らかである。それらは、それらが図2に示されるどの特徴に属するかを明確にするために、同じ参照番号で示されているのみである。デバイス400は、第3のパラメーター及び/又は第4のパラメーターのみ、又は、上記の例1で説明したように、更に第1のパラメーター及び/又は第2のパラメーターを導出するように構成されてもよい。
W=Δ・Wが成り立つ量子化行列Wを考える。
γ=Δ・γが成り立つ量子化された転置ベクトルγを考える。
すなわち、Wは、QPを使用して量子化され、γは、QPを使用して量子化されている。
図2で説明した量子化値152は、Wの1つの成分又はγの1つの成分を表すことができる。例えば、Waは複数の量子化値152を含むことができ、γは複数の量子化値152を含むことができる。
さらに、要素ごとの積W・γが以下のように算出されると仮定する。
Figure 2023522886000048
この算出/計算は、例えば、第3のNNパラメーターW及び第4のNNパラメーターγを乗算に施して、第3のNNパラメーターWの第3の量子化値Wによって形成される第1の因数と、第3の乗数mulによって形成される第2の因数と、第4のNNパラメーターγの第4の量子化値γによって形成される第3の因数と、第4の乗数mulによって形成される第4の因数との積であって、第3のビット数shiftによって形成される第1の加数と第4のビット数shiftによって形成される第2の加数とを含む和に対応するビット数、例えば
Figure 2023522886000049
だけビットシフトされた積を形成することによって積を得ることによって、演算ユニット420によって実行され得る。
式から分かるように、浮動小数点演算を必要とし得るW及びγを導出する必要はない。代わりに、計算mul・mul・W・γは、整数乗算のみを伴い、
Figure 2023522886000050
との後続の乗算は、ビットシフトとして実施することができる。t=2であるので、整数変数mul及びmulは両方とも値4、5、6、及び7のうちの1つであることに留意されたい。かかる小さい数を有する整数乗算は、ハードウェア又はソフトウェア実施態様において非常に効率的に実施され得る。
一実施形態によれば、第3のNNパラメーターは、第1のNN層114の第1のニューロン10から第2のNN層116の第2のニューロン10へのニューロン間活性化フィードフォワードを重み付けする重みパラメーター、例えば、Wの成分wを表すか、又は代替的に、第3のNNパラメーターは、第1のニューロン10と第2のニューロン10とを接続するエッジ12に関連し、第2のニューロン10のインバウンド活性化の和における第1のニューロン10の活性化の転送を重み付けする重みを表す。
第4のNNパラメーターは、例えば、バッチノルムパラメーター、例えば、μ、σ、γ又はβを表す。バッチノルムパラメーターは、例えば、第2のNN層116に対する第1のニューロン10の活性化フィードフォワード増幅を調整するものであり、例えばγである。
入力Xの量子化
一実施形態によれば、デバイス400は、例えば装置300を使用して、活性化を量子化された値、例えばX’’に量子化することによって、活性化について第5の量子化パラメーターQP、すなわち量子化パラメーター142、及び第5の量子化値、例えばX’、すなわち量子化値152を決定することによって、NN入力X440を量子化するように構成され、それにより、第5の量子化パラメーターQPからの第5の乗数mul、すなわち乗数144の導出は、第5の量子化パラメーターによって導出された被除数と、活性化に関連する精度パラメーターk、すなわち精度パラメーター145によって導出された除数との間の除算の剰余と、除算の商の丸めに基づく第5のビットシフト数shift、すなわちビットシフト数146とに基づいて、第5の量子化値と第5の乗数に依存する因数mul/k、すなわち因数148との間の積に対応する量子化された値が、第5のビットシフト数に依存する第5のビット数だけビットシフトされることをもたらす。
好ましい実施形態において、バイアス層又はバッチ正規化層の入力X440も、本発明の量子化方法を使用して量子化される。図2の装置100の説明を参照。すなわち、X’’=Δ・X’=mul・2shift-t・X’が成り立つように、量子化パラメーターQP及び関連する変数、関連するshift、mul、及びΔ(t=2及びk=2)が選択され、XがX’に量子化される。次に、バイアス層又はバッチノルム層を実行するためにXを使用する代わりに、X’’が入力として使用される。X’は、通常、Xよりも極めて少ないビット/要素で表すことができ、これは、効率的なハードウェア又はソフトウェア実施態様のための別の利点であることに留意されたい。
一実施形態によれば、NNパラメトライザー410は、装置300を介して第6のNNパラメーターを導出するように構成され、それにより、第6のNNパラメーターは、第6の量子化値と第6の因数mul/kとの積であって、第6のビット数だけビットシフトされた積に対する。デバイス400は、第6のNNパラメーター及び活性化に乗算を施して、第6のNNパラメーターのための第6の量子化値によって形成される第1の因数と、第6の乗数によって形成される第2の因数と、第5の量子化値によって形成される第3の因数と、第5の乗数によって形成される第4の因数との積を形成することによって積であって、第6のビット数によって形成される第1の加数と第4のビット数によって形成される第2の加数とを含む和に対応するビット数だけビットシフトされた積を生成するように構成される。
一実施形態によれば、第6のNNパラメーターは、入力440を重み付けする重みパラメーターWを表し、それにより、積W*Xを算出/計算することができる。
図2に戻って参照すると、以下では、装置100及び/又は装置300の更なる任意選択の特徴が説明される。
パラメーターQPの効率的な符号化及び復号化
好ましい実施形態において、パラメーターQP、すなわち量子化パラメーター142は、以下の定義に従って、K次の符号付き指数ゴロム符号を使用して、装置100/装置300によってビットストリーム200内に符号化/ビットストリーム200から復号化される。
別の好ましい実施形態は、次数Kが0に設定された先の好ましい実施形態と同じである。
符号なし整数の指数ゴロム符号
符号なし整数の符号なし指数ゴロム符号は、高効率ビデオ符号化(HEVC:High Efficiency Video Coding)規格において定義されているシンタックス要素ue(v)の復号化仕様に従うものとする。
この仕様を以下に簡単に説明する。
次数Kの符号なし指数ゴロム符号で符号化された二値表現からの符号なし整数変数「decNum」の復号化は、以下の擬似符号に従って定義される。
leadingZeroBits=-1
for(b=0;!b;leadingZeroBits++)
b=read_bits(1)
次に、変数codeNumが以下のように割り当てられる。
decNum=(2leadingZeroBits-1)*2+read_bits(leadingZeroBits+K)
関数read_bits(x)は、ビットストリームからxビットを読み出し、それらを符号なし整数として返す。読み出されたビットは、最上位ビット(MSB)から最下位ビット(LSB)に順序付けられる。
符号付き整数の指数ゴロム符号
符号付き整数の符号なし指数ゴロム符号は、高効率ビデオ符号化(HEVC)規格において定義されているシンタックス要素se(v)の復号化仕様に従うものとする。
この仕様を以下に簡単に説明する。
符号付き指数ゴロム符号で符号化された二値表現からの符号付き整数「signedDecNum」の復号化は、以下の通りである。最初に、符号なし整数が、上記で説明したようにHEVCのue(v)シンタックス要素復号化プロセスに従って復号化される。次に、符号なし整数は、以下の式に従って符号付き整数に変換される。
Figure 2023522886000051
シーリング演算子
Figure 2023522886000052
は、x以上の最小整数を返す。
更に好ましい実施形態
好ましい実施形態において、パラメーターk、すなわち精度パラメーター145は、2に設定され、パラメーターtは、bits_tビットを有する(例えば、bits_t=3又はbits_t=4を有する)符号なし整数表現を使用して符号化される。
別の好ましい実施形態において、パラメーターk、すなわち精度パラメーター145は、2に設定され、パラメーターtは、符号なし整数用の指数ゴロム符号を使用して符号化される。
別の好ましい実施形態において、パラメーターQP、すなわち量子化パラメーター142は、符号付き整数用の指数ゴロム符号を使用して符号化される。
別の好ましい実施形態において、パラメーターk、すなわち精度パラメーター145は、2に設定され、パラメーターQPは、bits_qpビットを使用して2の補数表現の符号付き整数を使用して符号化される。bits_qpは、例えば、12又は13のような一定値に設定されるか、又はbits_qpは、bits_qp0+tに設定され、bits_qp0は、非ゼロの一定の整数値(例えば、bits_qp0=6)である。
CABAC符号化ビットストリーム200の場合、パラメーターt及び/又はQP142を表すビットは、(CABACのバイパスモードを使用して)バイパスビンとして符号化されるか、又はビットストリーム200に直接書き込まれるかのいずれかであり得る。
別の好ましい実施形態において、パラメーターW、b、μ、σ、γ、及びβの各々は、パラメーターの符号化の直前に符号化される個々のQP142の値で量子化される。
別の好ましい実施形態において、第1のQP142がビットストリーム200に符号化され、モデルのパラメーターのサブセットに関連付けられる。このサブセットの各パラメーターxについて、1つのQPオフセットQPがパラメーターごとに符号化され、パラメーターを逆量子化するために使用される有効QP142、すなわちNNパラメーター120は、QP+QPとして与えられる。QPの二値表現は、好ましくは、QPの二値表現よりも少ないビットを使用する。例えば、QPは、符号付き整数又は(2の補数表現での)固定数のビットのための指数ゴロムコードを使用して符号化される。
重みパラメーターの符号化に関する更なる実施形態
図5に示される更なる好ましい実施形態は、重みパラメーターW545の表現に関する。すなわち、それらをベクトル546と行列544との合成W→s・W’として因数分解する。W及びW’、すなわち重み行列544は、次元n×mの行列であり、sは、長さnの転置ベクトル546である。ベクトルs546の各要素は、重み行列W’544の行方向のスケーリングファクターとして使用される。換言すれば、s546は、W’544の各列と要素ごとに乗算される。s546をローカルスケーリングファクター又はローカルスケール適応(LSA:local scale adaptation)と称する。
図5は、NN20を使用して推論を実行するデバイス500を示している。デバイス500は、NN20を使用してNN入力440に基づいて推論出力430を計算するように構成される。NN20は、一対のNN層114及び116と、一対のNN層の第1の層114からNN層の第2の層116へのニューロン間活性化フィードフォワード122とを含む。デバイス500は、例えば、デバイス500の行列形成ユニット530を使用して、第1のNN層114のニューラルネットワークニューロン10の活性化520から行列X532を形成することによって、第1のNN層114のニューラルネットワークニューロン10の活性化520に基づいて第2のNN層116のニューラルネットワークニューロン10の活性化510を計算するように構成される。加えて、デバイス500は、s・W’*Xを計算(542)することによって、第1のNN層114のニューラルネットワークニューロン10の活性化520に基づいて、第2のNN層116のニューラルネットワークニューロン10の活性化510を計算するように構成され、ここで、*は、行列乗算を表し、W’は、n及びm∈Nである次元n×mの重み行列544であり、sは、長さnの転置ベクトル546であり、・は、・の一方の側の行列と・の他方の側の転置ベクトルとの間の列に関するアダマール乗算を示す、デバイス500は、計算542を実行するように構成された計算ユニット540を備えることができる。
一実施形態によれば、転置ベクトルs546は、W’544を符号化するためのより高い圧縮及び/又はより高い推論忠実度に関してW’544を最適化した結果である。
その論理的根拠は、LSAが重み行列544をスケーリングし、それにより、算術符号化方法がより高い符号化利得をもたらし、及び/又はニューラルネットワーク性能結果を増加させ、例えば、より高い精度を達成することである。例えば、Wの量子化後、s546は、入力データ440、例えばX532を使用して又は使用せずに、量子化誤差を低減し、それにより量子化されたニューラルネットワークの予測性能を向上させるために適応され得る。
したがって、s546及びW’544は、異なる量子化パラメーター、すなわち異なるQPを有することができる。これは、性能の観点からだけでなく、ハードウェア効率の観点からも有益であり得る。例えば、W’544は、入力X532との内積が8ビット表現で実行されてもよいが、スケーリングファクターs546との後続の乗算が16ビットで実行され得るように量子化されてもよい。デバイス500は、例えば、内積を得るためにnビット固定小数点演算を使用して行列乗算W’*Xを計算し、m>nであるmビット固定小数点演算を使用して内積をs546と乗算するように構成される。
しかしながら、W’544及びs546が両方ともnビット表現に量子化される場合であっても、同じ推論精度を得るためにW545を量子化するのに必要なnよりも小さいnで十分な場合がある。同様に、s546がW’544よりも少ないビットの表現に量子化された場合、表現の効率に関する利点を更に達成できる場合がある。
一実施形態によれば、デバイス500は、NN表現110からW’544を導出するように構成されたNNパラメトライザー、例えば、図4に示すNNパラメトライザー410を備える。NNパラメトライザーは、NN表現110からNNパラメーターを導出する装置、例えば、図4又は図2に示される装置300を備える。重み行列W’544は、装置300によって導出されたNNパラメーターであり得る。任意選択で、NNパラメトライザー410は、W’544に関連するNNパラメーターと比較して異なる量子化パラメーター142を使用して、NN表現110からs546を導出するように更に構成される。
好ましい実施形態において、重み行列W544の符号化は以下の通りである。第1に、LSAが使用されるかどうかを示すフラグが符号化される。フラグが1である場合、パラメーターs546及びW’544は、DeepCABACのような現行技術水準のパラメーター符号化方式を使用して符号化される。フラグが0である場合、W545が代わりに符号化される。
別の好ましい実施形態において、前の好ましい実施形態による、異なるQP値がW’544及びs546に使用される。
バッチノルム圧縮
図6に示す一実施形態は、バッチノルム圧縮を改善することに関する。図6は、NNのバッチノルム演算子710のNNパラメーター610、例えば、μ、σ、γ、β、及び任意選択でbをNN表現110に符号化する装置600と、NN表現110からNNのバッチノルム演算子710のNNパラメーター610、例えば、γ722及びβ724及びパラメーター732、すなわち、μ、σ、及び任意選択でbを復号化する装置700とを示している。4つの実施形態が示されており、第1の実施形態は一般的な場合を説明し、他の実施形態は特別な場合を対象とする。
概して、バッチノルム演算子710は、
Figure 2023522886000053
として定義することができ、式中、
μ、σ、γ、及びβは、バッチノルムパラメーター、例えば、各出力ノードについて1つの成分を含む転置ベクトルであり、
Wは、重み行列であり、例えば、その各行は1つの出力ノードに対するものであり、それぞれの行の各成分はXの1つの行に関連付けられており、
Xは、NN層の活性化から導出される入力行列であり、
bは、バイアスを形成する転置ベクトル、例えば、各出力ノードに対して1つの成分を含む転置ベクトルであり、
εは、ゼロ除算回避のための定数であり、
・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
*は、行列乗算を示す。
第2の実施形態において、定数εは0であり、それにより、バッチノルム演算子710は、
Figure 2023522886000054
によって定義される。
第3の実施形態において、バイアスbは0であり、それにより、バッチノルム演算子710は、
Figure 2023522886000055
によって定義される。
第4の実施形態において、バイアスb及び定数εは0であり、それにより、バッチノルム演算子710は、
Figure 2023522886000056
によって定義される。
図6では、バッチノルム演算子710の一部のパラメーターは、アポストロフィを有しており、アポストロフィなしのパラメーターによって示される元のパラメーター610と、アポストロフィありのパラメーターによって示される修正されたパラメーター722、724、及び732との間の区別を可能にする。元のパラメーター610又は修正されたパラメーター722、724及び732のいずれかを、上記で定義されたバッチノルム演算子710のうちの1つのパラメーターとして使用できることは明らかである。
装置600は、パラメーターμ、γ、β、及びσ又はσを受信するように構成され(610~610参照)、任意選択でbを受信するように構成される(610及び610参照)。
第1の実施形態によれば、装置600は、
Figure 2023522886000057
及び
Figure 2023522886000058
を計算するように構成される。
代替の第2の実施形態によれば、装置600は、
Figure 2023522886000059
及び
Figure 2023522886000060
を計算するように構成される。
代替の第3の実施形態によれば、装置600は、
Figure 2023522886000061
及び
Figure 2023522886000062
を計算するように構成される。
代替の第4の実施形態によれば、装置600は、
Figure 2023522886000063
及び
Figure 2023522886000064
を計算するように構成される。
計算されたパラメーターβ’及びγ’は、バッチノルム演算子710のNNパラメーターとしてNN表現110に符号化され、例えば、同じ(β’及びγ’)が、各出力ノードに対して1つの成分を含む転置ベクトルでもあるようにする。
したがって、第1の実施形態のバッチノルム演算子710は、
Figure 2023522886000065
として定義することができ、σ’:=θ、μ’:=0、及びb’:=0であり、ここで、θは所定のパラメーターである。第2の実施形態のバッチノルム演算子710は、
Figure 2023522886000066
として定義することができ、σ’:=1、μ’=0、及びb’=0である。第3の実施形態のバッチノルム演算子710は、
Figure 2023522886000067
として定義することができ、σ’:=θ及びμ’:=0であり、ここで、θは所定のパラメーターである。第4の実施形態のバッチノルム演算子710は、
Figure 2023522886000068
として定義することができ、σ’:=1及びμ’:=0である。
所定のパラメーターは1又は1-εであり、例えば、ここでもμ’、σ’、γ’、及びβ’は各出力ノードに対して1つの成分を含む転置ベクトルであり、Wは、重み行列であり、XはNN層の活性化から導出される入力行列であり、b’はバイアスを形成する転置ベクトル、例えば、各出力ノードに対して1つの成分を含む転置ベクトルである。
装置700は、例えば、装置700に含まれ得るγ及びβ導出ユニット720を使用することによって、NN表現からγ及びβ、すなわちγ’及びβ’を導出するように構成される。
第1の実施形態によれば、装置700は、その全ての成分に適用される1つのシグナリング734を介して、σ’:=θ、μ’:=0、及びb’:=0を推論又は導出するように構成され、ここで、θは所定のパラメーターである。
第2の実施形態によれば、装置700は、その全ての成分に適用される1つのシグナリング734を介して、σ’:=1、μ’:=0、及びb’:=0であると推論又は導出するように構成される。
第3の実施形態によれば、装置700は、その全ての成分に適用される1つのシグナリング734によって、σ’:=θ及びμ’:=0を推論又は導出するように構成され、ここで、θは所定のパラメーターである。
第4の実施形態によれば、装置700は、その全ての成分に適用される1つのシグナリング734によって、σ’:=1及びμ’:=0であると推論又は導出するように構成される。
パラメーターσ’、μ’、及び任意選択でb’のこの導出又は推論は、パラメーター推論/導出ユニット730を使用して実行され得る。
所定のパラメーターは1又は1-εであり、例えば、ここでもμ’、σ’、γ’、及びβ’は各出力ノードに対して1つの成分を含む転置ベクトルであり、Wは、重み行列であり、XはNN層の活性化から導出される入力行列であり、b’はバイアスを形成する転置ベクトル、例えば、各出力ノードに対して1つの成分を含む転置ベクトルである。
図6では、装置700によって導出又は推論されたパラメーターはアポストロフィによって示されているが、装置700が元のパラメーター610を見ることがないという事実により、装置700によって導出又は推論されたパラメーターはアポストロフィを使用せずに示されてもよい。装置700を考慮すると、導出又は推論されたパラメーターは、唯一の既存のパラメーターである。
任意選択で、装置700は、例えば推論のために、導出又は推論されたパラメーター722、724、及び732とともにバッチノルム演算子を使用するように構成され得る。バッチノルム演算子計算ユニットは、バッチノルム演算子を使用するように構成され得る。代替的に、推論のデバイス、例えばデバイス400又はデバイス500は、バッチノルム演算子710のパラメーターを取得する装置700を備えてもよい。
定数スカラー値θ、すなわち、例えば、1又は1-εに等しくなり得る所定のパラメーターを導入すると、パラメーターb、μ、σ、γ、及びβは、BN(X)、すなわち、バッチノルム演算子710の結果を変更することなく、以下の順序付けられたステップによって修正することができる。
Figure 2023522886000069
3)σ:=θ
4)μ:=0
5)b:=0
各演算は、転置されたベクトルの要素に対する要素ごとの演算として解釈される。実施形態2~3に例示されるように、BN(X)を変更しない更なる修正も可能である。例えば、バイアスb及び平均μはβに「積分」され、それにより、b及びμはその後0に設定される(第3の実施形態を参照)。又は、σは、他のパラメーターがそれに応じて調整されるとき、BN(X)における分数の分母を1に等しく設定するために、1-ε(すなわち、θ=1-ε)に設定され得る。
それにより、全てのベクトル要素が同じ値を有するので、b、σ、μ、及びbを極めてより効率的に圧縮することができる。
好ましい実施形態において、パラメーターの全ての要素が所定の定数値を有するかどうかを示すフラグ734が符号化される。パラメーターは、例えば、b、μ、σ、γ、又はβであってもよい。所定の値は、例えば、0、1、又は1-εであってもよい。フラグが1に等しい場合、パラメーターの全てのベクトル要素は、所定の値に設定される。そうでなければ、パラメーターは、例えばDeepCABACのような現行技術水準のパラメーター符号化方法の1つを使用して符号化される。
別の好ましい実施形態において、全てのベクトル要素が同じ値を有するかどうかを示すフラグがパラメーターごとに符号化される。全てのベクトル要素が同じ値を有するとき、フラグは1に等しく、その値は、例えばDeepCABAC、又は及び指数ゴロム符号、又は固定長符号のような現行技術水準のパラメーター符号化方法を使用して符号化される。フラグが0である場合、パラメーターのベクトル要素は、例えばDeepCABACのような現行技術水準のパラメーター符号化方法の1つを使用して符号化される。
一実施形態によれば、装置600/装置700は、表現110において/表現110から、σ’の全ての成分(例えば、各成分は、対応する出力ノードを意味するWの対応する行に対するものである)が互いに等しいこと、及びその値を示す/導出するように構成される。加えて、又は代替として、装置600/装置700は、表現110において/表現110から、μ’の全ての成分(例えば、各成分は、対応する出力ノードを意味するWの対応する行に対するものである)が互いに等しいこと、及びその値を示す/導出するように構成される。加えて、又は代替として、装置600/装置700は、存在する場合、例えば第1の実施形態及び第2の実施形態の場合であるが第3の実施形態及び第4の実施形態の場合ではない場合、表現119において/表現119から、b’の全ての成分(例えば、各成分は、対応する出力ノードを意味するWの対応する行に対するものである)が互いに等しいこと、及びその値を示す/導出するように構成される。
一実施形態によれば、装置600は、2つのバッチノルム符号化モードの間で切り替え可能であるように更に構成され、第1のバッチノルム符号化モードでは、装置600は、β’及びγ’の計算及び符号化を実行するように構成され、第2のバッチノルム符号化モードでは、装置は、受信されたμ、σ又はσ、γ、及びβ、並びに存在する場合、bを符号化するように構成される。換言すれば、受信されたパラメーター610は、第2のバッチノルムモードで表現110に直接符号化される。並行して、装置700も、2つのバッチノルム符号化モード間で切り替え可能であるように構成してもよく、第1のバッチノルム符号化モードでは、装置700は、導出することと、推論又は導出することとを実行するように構成され、第2の第1のバッチノルム符号化モードでは、装置700は、μ、σ又はσ、γ、及びβ、並びに存在する場合、bを表現110から復号化するように構成される。換言すれば、パラメーター610は、第2のバッチノルムモードで表現110から直接復号化される。
一実施形態によれば、装置600は、β’及びγ’をNN表現110に量子化及び符号化する装置100(図2参照)を備える。例えば、装置600は、最初に計算620を実行し、得られたパラメーターβ’及びγ’を、パラメーターの量子化のために装置100に渡す。一実施形態によれば、装置700は、NN表現110からβ及びγを導出する装置300(図2参照)を備える。
理解を容易にするために、X及びWと層の対との間の可能な関係が図7に示されており、左は全結合層i+1であり、右は畳み込み層i+1である。層のニューロンは円10で示されている。各層のニューロンは、アレイ位置(x,y)に配置される。各層iは、q列のニューロン10とp行のニューロン10とを有する。全結合の場合、Xは、成分
Figure 2023522886000070
のベクトルであり、各Xは、位置
Figure 2023522886000071
におけるニューロンの活性化で占められ、Wは、成分
Figure 2023522886000072
の行列であり、各Wg,hは、位置
Figure 2023522886000073
における層i+1のニューロン10と位置
Figure 2023522886000074
における層iのニューロン10との間のエッジ12の重みで占められる。畳み込みの場合、Xは、成分
Figure 2023522886000075
の行列であり、ここで、各Xg,hは、位置
Figure 2023522886000076
におけるニューロンの活性化で占められ、Wは、成分W1...r・sのベクトルであり、ここで、各Wg,hは、層iにわたって分散されたpi+1・qi+1位置のうちの1つに配置された層i中のサイズr×sの矩形フィルターカーネル中のニューロンから、カーネル位置に対応する層i+1中のニューロン位置につながるエッジの重みで占められる。
一部の態様を装置の文脈で説明してきたが、これらの態様が対応する方法の説明も表すことは明らかであり、ブロック又はデバイスは方法ステップ又は方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明される態様はまた、対応する装置の対応するブロック又は項目又は特徴の説明を表す。方法ステップの一部又は全部は、例えばマイクロプロセッサ、プログラマブルコンピューター又は電子回路のようなハードウェア装置によって(又はそれを使用して)実行されてもよい。一部の実施形態において、最も重要な方法ステップのうちの1つ以上は、かかる装置によって実行されてもよい。
本発明のNN表現を含む本発明のデジタルデータ、データストリーム、又はファイルは、デジタル記憶媒体上に記憶することができ、又は無線伝送媒体若しくはインターネット等の有線伝送媒体等の伝送媒体上で伝送することができる。
特定の実装要件に応じて、本発明の実施形態は、ハードウェア又はソフトウェアで実行することができる。実施態様は、それぞれの方法が実行されるようにプログラム可能なコンピューターシステムと協働する(又は協働することができる)電子的可読制御信号が記憶されたデジタル記憶媒体、例えば、フロッピーディスク、DVD、Blu-ray(登録商標)、CD、ROM、PROM、EPROM、EEPROM又はフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体はコンピューター可読であってもよい。
本発明による一部の実施形態は、電子的可読制御信号を有するデータキャリアを備え、該電子的可読制御信号は、本明細書で説明される方法のうちの1つが実行されるように、プログラム可能なコンピューターシステムと協働することが可能である。
概して、本発明の実施形態は、プログラムコードを有するコンピュータープログラム製品として実施することができ、プログラムコードは、コンピュータープログラム製品がコンピューター上で実行されるときに方法のうちの1つを実行するように動作可能である。プログラムコードは、例えば、機械可読キャリアに記憶されてもよい。
他の実施形態は、機械可読キャリア上に記憶された、本明細書で説明される方法のうちの1つを実行するコンピュータープログラムを含む。
したがって、換言すれば、本発明の方法の一実施形態は、コンピュータープログラムがコンピューター上で実行されるときに、本明細書で説明される方法のうちの1つを実行するプログラムコードを有するコンピュータープログラムである。
したがって、本発明の方法の更なる実施形態は、本明細書に記載の方法のうちの1つを実行するコンピュータープログラムを記録したデータキャリア(又はデジタル記憶媒体、又はコンピューター可読媒体)である。データキャリア、デジタル記憶媒体又は記録された媒体は、典型的には有形及び/又は非一時的である。
したがって、本発明の方法の更なる実施形態は、本明細書に記載された方法の1つを実行するコンピュータープログラムを表すデータストリーム又はシグナルのシーケンスである。データストリーム又はシグナルのシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成されてもよい。
更なる実施形態は、本明細書に記載の方法の1つを実行するように構成又は適合された処理手段、例えばコンピューター又はプログラム可能な論理デバイスを含む。
更なる実施形態は、本明細書に記載の方法のうちの1つを実行するコンピュータープログラムがインストールされたコンピューターを含む。
本発明による更なる実施形態は、本明細書で説明される方法のうちの1つを実行するコンピュータープログラムを受信機に(例えば、電子的に又は光学的に)転送するように構成された装置又はシステムを含む。受信機は、例えば、コンピューター、モバイルデバイス、メモリデバイス等であってもよい。装置又はシステムは、例えば、コンピュータープログラムを受信機に転送するためのファイルサーバを備えることができる。
一部の実施形態において、プログラム可能論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が、本明細書に説明される方法の機能性の一部又は全部を行うために使用されてもよい。一部の実施形態において、フィールドプログラマブルゲートアレイは、本明細書に説明される方法のうちの1つを行うために、マイクロプロセッサと協働してもよい。概して、方法は、任意のハードウェア装置によって実行されることが好ましい。
本明細書で説明される装置は、ハードウェア装置を使用して、又はコンピューターを使用して、又はハードウェア装置とコンピューターとの組み合わせを使用して実施され得る。
本明細書で説明される装置、又は本明細書で説明される装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアで実施され得る。
本明細書で説明される方法は、ハードウェア装置を使用して、又はコンピューターを使用して、又はハードウェア装置とコンピューターとの組み合わせを使用して実行され得る。
本明細書で説明される方法、又は本明細書で説明される装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアによって実行され得る。
上述の実施形態は、本発明の原理を単に例示するものである。本明細書に記載された構成及び詳細の変更及び変形が他の当業者に明らかであることが理解される。したがって、添付の特許請求の範囲によってのみ限定され、本明細書の実施形態の記述及び説明によって提示される特定の詳細によって限定されないことが意図される。

Claims (108)

  1. NN表現(110)を生成する装置(100)であって、前記装置(100)は、
    量子化パラメーター(142)から、
    前記量子化パラメーター(142)によって導出された被除数と精度パラメーター(145)によって導出された除数との間の除算の剰余に基づく乗数(144)と、
    前記除算の商の丸めに基づくビットシフト数(146)と、
    が導出可能であるように、NNパラメーター(120)の前記量子化パラメーター(142)及び量子化値(152)を決定(140)することによって、前記NNパラメーター(120)を量子化された値(130)に量子化するように構成され、
    それにより、前記NNパラメーター(120)の前記量子化された値(130)は、前記量子化値(152)と前記乗数(144)に依存する因数(148)との間の積であって、前記ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、装置。
  2. 請求項1に記載の装置(100)であって、前記精度パラメーター(145)を前記NN表現(110)に符号化するように更に構成されている、装置。
  3. 請求項1又は2に記載の装置(100)であって、前記NNパラメーター(120)は、
    一対のニューロン(10)間のニューロン間活性化フィードフォワード(12)に重み付けする重みパラメーター、
    ニューラルネットワーク層のアフィン変換をパラメーター化するバッチノルムパラメーター、及び
    所定のニューラルネットワークニューロン(10)のインバウンドニューロン間活性化フィードフォワード(12)の和にバイアスをかけるバイアス、
    のうちの1つである、装置。
  4. 請求項1~3のいずれか一項に記載の装置(100)であって、
    前記NNパラメーター(120)は、NN(20)の複数のニューロン間活性化フィードフォワード(122)のうちの単一のニューロン間活性化フィードフォワード(12)に関して前記NN(20)をパラメーター化し、前記複数のニューロン間活性化フィードフォワード(122)の各々について、対応するNNパラメーター(120)が、前記NN表現(110)に含まれ、
    前記装置(100)は、前記複数のニューロン間活性化フィードフォワード(122)の各々について、
    前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化パラメーター(142)と、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化値(152)と、を決定することによって、
    前記対応するNNパラメーター(120)を対応する量子化された値(130)に量子化するように構成され、
    それにより、前記関連量子化パラメーター(142)から、
    前記関連量子化パラメーター(142)によって導出された被除数と、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連精度パラメーター(145)によって導出された除数との間の除算の剰余に基づいて、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連乗数(144)と、
    前記除算の商の丸めに基づいて、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連ビットシフト数(146)と、が導出可能であり、
    それにより、前記それぞれのニューロン間活性化フィードフォワード(12)の前記対応するNNパラメーター(120)の前記対応する量子化された値(130)は、前記関連量子化値(152)と前記関連乗数(144)に依存する因数(148)との間の積であって、前記関連ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、装置。
  5. 請求項1~3のいずれか一項に記載の装置(100)であって、
    前記装置(100)は、NNの複数のニューロン間活性化フィードフォワード(122)をニューロン間活性化フィードフォワードのサブグループ(122a、122b)に細分するように構成され、それにより、各サブグループ(122a、122b)が、前記NN(20)の関連する一対のNN層に関連付けられ、前記関連する一対のNN層の間のニューロン間活性化フィードフォワード(12)を含み、前記関連する一対の層以外の更なる一対のNN層の間のニューロン間活性化フィードフォワード(12)を除外し、2つ以上のサブグループ(122a、122b)が、所定のNN層に関連付けられ、
    前記NNパラメーター(120)は、前記NNの前記複数のニューロン間活性化フィードフォワード(122)のうちの単一のニューロン間活性化フィードフォワード(12)に関して前記NN(20)をパラメーター化し、前記複数のニューロン間活性化フィードフォワード(122)の各々について、対応するNNパラメーター(120)が、前記NN表現(110)に含まれ、前記装置(100)は、
    ニューロン間活性化フィードフォワードの各サブグループ(122a、122b)について、
    前記NN表現(110)から前記それぞれのサブグループ(122a、122b)に関連付けられた関連量子化パラメーター(142)を決定することであって、それにより、
    前記関連量子化パラメーター(142)から、
    前記関連量子化パラメーター(142)によって導出された被除数と、前記それぞれのサブグループ(122a、122b)に関連付けられた関連精度パラメーター(145)によって導出された除数との間の除算の剰余に基づいて、前記それぞれのサブグループ(122a、122b)に関連付けられた関連乗数(144)と、
    前記除算の商の丸めに基づいて、前記それぞれのサブグループ(122a、122b)に関連付けられた関連ビットシフト数(146)と、が導出可能であることと、
    前記複数のニューロン間活性化フィードフォワード(122)の各々について、
    前記NN表現(110)から前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化値(152)を決定すること
    によって、前記対応するNNパラメーター(120)を対応する量子化された値(130)に量子化することと、を行うように構成され、
    前記それぞれのニューロン間活性化フィードフォワード(12)の前記対応するNNパラメーター(120)は、前記それぞれのニューロン間活性化フィードフォワード(12)が含まれる前記サブグループ(122a、122b)に関連付けられた、前記関連量子化値(152)と前記関連乗数(144)に依存する因数(148)との間の積であって、前記それぞれのニューロン間活性化フィードフォワード(12)が含まれる前記サブグループ(122a、122b)の前記関連ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、装置。
  6. 請求項4又は5に記載の装置(100)であって、前記関連精度パラメーター(145)は、前記NN(20)にわたって又は各NN層(114、116)内でグローバルに等しく評価される、装置。
  7. 請求項4~6のいずれか一項に記載の装置(100)であって、前記関連精度パラメーター(145)を前記NN表現(110)に符号化するように構成されている、装置。
  8. 請求項4~7のいずれか一項に記載の装置(100)であって、前記関連量子化パラメーター(142)を、基準量子化パラメーターとの差分の形態で前記NN表現(110)に符号化するように構成されている、装置。
  9. 請求項1~8のいずれか一項に記載の装置(100)であって、
    前記乗数(144)及び前記ビットシフト数(146)は、前記量子化パラメーター(142)から、
    mul=k+QP%k
    Figure 2023522886000077
    に従って導出可能であり、式中、mulは、前記乗数(144)であり、shiftは、前記ビットシフト数(146)であり、QPは、前記量子化パラメーター(142)であり、kは、前記精度パラメーター(145)であり、
    Figure 2023522886000078
    は、そのオペランド以下の最大の整数を生成するフロア演算子であり、%は、x%yに対して
    Figure 2023522886000079
    を生成するモジュロ演算子であり、それにより、前記NNパラメーター(130)は、
    (mul/k)・2shift・P
    であり、式中、Pは、前記量子化値(152)である、装置。
  10. 請求項1~9のいずれか一項に記載の装置(100)であって、前記精度パラメーター(145)は、2の累乗である、装置。
  11. 請求項1~10のいずれか一項に記載の装置(100)であって、
    コンテキスト適応型二値算術符号化の使用によって、又は
    前記量子化パラメーター(142)を表すビットを前記NN表現(110)に直接書き込むことによって、又は
    前記装置(100)のコンテキスト適応型二値エンコーダーの等確率バイパスモードを介して、前記量子化パラメーター(142)を表すビットを前記NN表現(110)に符号化することによって、
    前記量子化パラメーター(142)を前記NN表現(110)に符号化するように構成されている、装置。
  12. 請求項1~11のいずれか一項に記載の装置(100)であって、二値化方式を使用して前記量子化パラメーター(142)をビンストリングに二値化することによって、前記量子化パラメーター(142)を前記NN表現(110)に符号化するように構成されている、装置。
  13. 請求項12に記載の装置(100)であって、前記二値化方式は、指数ゴロム符号である、装置。
  14. 請求項1~13のいずれか一項に記載の装置(100)であって、前記量子化パラメーター(142)を決定し、それを固定小数点表現の形態で前記NN表現(110)に符号化するように構成されている、装置。
  15. 請求項14に記載の装置(100)であって、前記精度パラメーター(145)は、2であり、前記固定小数点表現のビット長は、前記NN(20)に対して一定になるように設定されるか、又は前記NN(20)に対して一定である基底ビット長とtとの和になるように設定される、装置。
  16. 請求項1~15のいずれか一項に記載の装置(100)であって、整数値シンタックス要素として前記量子化パラメーター(142)を前記NN表現(110)に符号化するように構成されている、装置。
  17. 請求項1~16のいずれか一項に記載の装置(100)であって、前記精度パラメーター(145)を表すビットを前記NN表現(110)に直接書き込むことによって、又は前記装置(100)のコンテキスト適応型二値エンコーダーの等確率バイパスモードを介して、前記精度パラメーター(145)を表すビットを前記NN表現(110)に符号化することによって、前記精度パラメーター(145)を前記NN表現(110)に符号化するように構成されている、装置。
  18. 請求項1~17のいずれか一項に記載の装置(100)であって、前記量子化値(152)及び前記量子化パラメーター(142)を前記NN表現(110)に符号化するように構成されている、装置。
  19. 請求項1~18のいずれか一項に記載の装置(100)であって、
    前記NNパラメーター(120)の浮動小数点表現を使用してNNを訓練することによって前記NNパラメーター(120)を提供することと、
    量子化誤差を低減することを目的とする反復最適化方式によって、前記NNパラメーター(120)の前記量子化パラメーター(142)及び前記量子化値(152)を決定することと、
    を行うように構成されている、装置。
  20. 請求項1~19のいずれか一項に記載の装置(100)であって、前記量子化値(152)を決定し、それを固定小数点表現の形態で前記NN表現(110)に符号化するように構成されている、装置。
  21. 請求項1~20のいずれか一項に記載の装置(100)であって、二値化方式に従って前記量子化値(152)をビンストリングに二値化し、コンテキスト適応算術符号化を使用して前記ビンストリングのビットを符号化することによって、前記量子化値(152)を前記NN表現(110)に符号化するように構成されている、装置。
  22. 請求項1~21のいずれか一項に記載の装置(100)であって、二値化方式に従って前記量子化値(152)をビンストリングに二値化し、コンテキスト適応算術符号化を使用して前記ビンストリングの第1のビットを符号化し、等確率バイパスモードを使用して前記ビンストリングの第2のビットを符号化することによって、前記量子化値(152)を前記NN表現(110)に符号化するように構成されている、装置。
  23. NN表現(110)を定義するデジタルデータであって、前記NN表現(110)は、NNパラメーター(130)を表すために、量子化パラメーター(142)及び量子化値(152)を含み、
    それにより、前記量子化パラメーター(142)から、
    前記量子化パラメーター(142)によって導出された被除数と精度パラメーター(145)によって導出された除数との間の除算の剰余に基づく乗数(144)と、
    前記除算の商の丸めに基づくビットシフト数(146)と、
    が導出可能であり、
    それにより、前記NNパラメーター(130)は、前記量子化値(152)と前記乗数(144)に依存する因数(148)との間の積であって、前記ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、デジタルデータ。
  24. 前記精度パラメーター(145)は、前記NN表現(110)に符号化される、請求項23に記載のデジタルデータ。
  25. 前記NNパラメーター(130)は、
    一対のニューロン(10)間のニューロン間活性化フィードフォワード(12)に重み付けする重みパラメーター、
    ニューラルネットワーク層のアフィン変換をパラメーター化するバッチノルムパラメーター、及び
    所定のニューラルネットワークニューロン(10)のインバウンドニューロン間活性化フィードフォワード(12)の和にバイアスをかけるバイアス、
    のうちの1つである、請求項23又は24に記載のデジタルデータ。
  26. 前記NNパラメーター(130)は、NNの複数のニューロン間活性化フィードフォワード(122)のうちの単一のニューロン間活性化フィードフォワード(12)に関して前記NNをパラメーター化し、前記複数のニューロン間活性化フィードフォワード(122)の各々について、対応するNNパラメーター(130)が、前記NN表現(110)に含まれ、
    前記複数のニューロン間活性化フィードフォワード(122)の各々について、
    前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化パラメーター(142)が、前記NN表現(110)に含まれ、
    前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化値(152)が、前記NN表現(110)に含まれ、それにより、
    前記関連量子化パラメーター(142)から、
    前記関連量子化パラメーター(142)によって導出された被除数と、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連精度パラメーター(145)によって導出された除数との間の除算の剰余に基づいて、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連乗数(144)と、
    前記除算の商の丸めに基づいて、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連ビットシフト数(146)と、が導出可能であり、
    それにより、前記それぞれのニューロン間活性化フィードフォワード(12)の前記対応するNNパラメーター(130)の前記対応する量子化された値(130)は、前記関連量子化値(152)と前記関連乗数(144)に依存する因数(148)との間の積であって、前記関連ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、請求項23~25のいずれか一項に記載のデジタルデータ。
  27. NNの複数のニューロン間活性化フィードフォワード(122)が、ニューロン間活性化フィードフォワードのサブグループ(122a、122b)に細分され、それにより、各サブグループ(122a、122b)が、前記NNの関連する一対のNN層に関連付けられ、前記関連する一対のNN層の間のニューロン間活性化フィードフォワードを含み、前記関連する一対の層以外の更なる一対のNN層の間のニューロン間活性化フィードフォワードを除外し、2つ以上のサブグループ(122a、122b)が、所定のNN層に関連付けられ、
    前記NNパラメーター(130)は、前記NNの前記複数のニューロン間活性化フィードフォワード(122)のうちの単一のニューロン間活性化フィードフォワード(12)に関して前記NNをパラメーター化し、前記複数のニューロン間活性化フィードフォワード(122)の各々について、対応するNNパラメーター(130)が、前記NN表現(110)に含まれ、
    ニューロン間活性化フィードフォワードの各サブグループ(122a、122b)について、
    前記それぞれのサブグループ(122a、122b)に関連付けられた関連量子化パラメーター(142)が、前記NN表現(110)に含まれ、それにより、
    前記関連量子化パラメーター(142)から、
    前記関連量子化パラメーター(142)によって導出された被除数と、前記それぞれのサブグループ(122a、122b)に関連付けられた関連精度パラメーター(145)によって導出された除数との間の除算の剰余に基づいて、前記それぞれのサブグループ(122a、122b)に関連付けられた関連乗数(144)と、
    前記除算の商の丸めに基づいて、前記それぞれのサブグループ(122a、122b)に関連付けられた関連ビットシフト数(146)と、が導出可能であり、
    前記複数のニューロン間活性化フィードフォワード(122)の各々について、
    前記それぞれのニューロン間活性化フィードフォワードに関連付けられた関連量子化値(152)が、前記NN表現(110)に含まれ、
    前記それぞれのニューロン間活性化フィードフォワード(12)の前記対応するNNパラメーター(130)は、前記それぞれのニューロン間活性化フィードフォワード(12)が含まれる前記サブグループ(122a、122b)に関連付けられた、前記関連量子化値(152)と前記関連乗数(144)に依存する因数(148)との間の積であって、前記それぞれのニューロン間活性化フィードフォワード(12)が含まれる前記サブグループ(122a、122b)の前記関連ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、請求項23~25のいずれか一項に記載のデジタルデータ。
  28. 前記関連精度パラメーター(145)は、前記NNにわたって又は各NN層内でグローバルに等しく評価される、請求項26又は27に記載のデジタルデータ。
  29. 前記関連精度パラメーター(145)は、前記NN表現(110)に符号化される、請求項26~28のいずれか一項に記載のデジタルデータ。
  30. 前記関連量子化パラメーター(142)は、基準量子化パラメーターとの差分の形態で前記NN表現(110)に符号化される、請求項26~29のいずれか一項に記載のデジタルデータ。
  31. 前記乗数(144)及び前記ビットシフト数(146)は、前記量子化パラメーター(142)から、
    mul=k+QP%k
    Figure 2023522886000080
    に従って導出可能であり、式中、mulは、前記乗数(144)であり、shiftは、前記ビットシフト数(146)であり、QPは、前記量子化パラメーター(142)であり、kは、前記精度パラメーター(145)であり、
    Figure 2023522886000081
    は、そのオペランド以下の最大の整数を生成するフロア演算子であり、%は、x%yに対して
    Figure 2023522886000082
    を生成するモジュロ演算子であり、それにより、前記NNパラメーター(130)は、
    (mul/k)・2shift・P
    であり、式中、Pは、前記量子化値(152)である、請求項23~30のいずれか一項に記載のデジタルデータ。
  32. 前記精度パラメーター(145)は、2の累乗である、請求項23~31のいずれか一項に記載のデジタルデータ。
  33. 前記量子化パラメーター(142)は、
    コンテキスト適応型二値算術符号化の使用によって、又は
    前記量子化パラメーター(142)を表すビットを前記NN表現(110)に直接書き込むことによって、又は
    コンテキスト適応型二値エンコーダーの等確率バイパスモードを介して、前記量子化パラメーター(142)を表すビットを前記NN表現(110)に符号化することによって、
    前記NN表現(110)に符号化される、請求項23~32のいずれか一項に記載のデジタルデータ。
  34. 前記量子化パラメーター(142)は、二値化方式を使用してビンストリングへの二値化の形態で前記NN表現(110)に符号化される、請求項23~33のいずれか一項に記載のデジタルデータ。
  35. 前記二値化方式は、指数ゴロム符号である、請求項34に記載のデジタルデータ。
  36. 前記量子化パラメーター(142)は、固定小数点表現の形態で前記NN表現(110)に符号化される、請求項23~35のいずれか一項に記載のデジタルデータ。
  37. 前記精度パラメーター(145)は、2であり、前記固定小数点表現のビット長は、前記NNに対して一定になるように設定されるか、又は前記NNに対して一定である基底ビット長とtとの和になるように設定される、請求項36に記載のデジタルデータ。
  38. 前記量子化パラメーター(142)は、整数値シンタックス要素として前記NN表現(110)に符号化される、請求項23~37のいずれか一項に記載のデジタルデータ。
  39. 前記精度パラメーター(145)は、前記精度パラメーター(145)を表すビットを前記NN表現(110)に直接書き込むことによって、又はコンテキスト適応型二値エンコーダーの等確率バイパスモードを介して、前記精度パラメーター(145)を表すビットを前記NN表現(110)に符号化することによって、前記NN表現(110)に符号化される、請求項23~38のいずれか一項に記載のデジタルデータ。
  40. 前記量子化値(152)は、固定小数点表現の形態で前記NN表現(110)に符号化される、請求項23~39のいずれか一項に記載のデジタルデータ。
  41. 前記量子化値(152)は、前記量子化値(152)が二値化方式に従って二値化される前記ビンストリングの形態で前記NN表現(110)に符号化され、そのビットは、コンテキスト適応算術符号化を使用して前記ビットストリームに符号化される、請求項23~40のいずれか一項に記載のデジタルデータ。
  42. 前記量子化値(152)は、前記量子化値(152)が二値化方式に従って二値化される前記ビンストリングの形態で前記NN表現(110)に符号化され、その第1のビットは、コンテキスト適応算術符号化を使用して前記ビットストリームに符号化され、その第2のビットは、等確率バイパスモードを使用して前記ビットストリームに符号化される、請求項23~41のいずれか一項に記載のデジタルデータ。
  43. NN表現(110)からNNパラメーターを導出する装置であって、
    前記NN表現(110)から量子化パラメーター(142)を導出することと、
    前記NN表現(110)から量子化値(152)を導出することと、
    前記量子化パラメーター(142)から、
    前記量子化パラメーター(142)によって導出された被除数と精度パラメーター(145)によって導出された除数との間の除算の剰余に基づく乗数(144)と、
    前記除算の商の丸めに基づくビットシフト数(146)と、
    を導出することと、
    を行うように構成され、
    前記NNパラメーター(130)は、前記量子化値(152)と前記乗数(144)に依存する因数(148)との間の積であって、前記ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、装置。
  44. 前記NN表現(110)から前記精度パラメーター(145)を導出するように更に構成されている、請求項43に記載の装置。
  45. 前記NNパラメーター(130)は、
    一対のニューロン(10)間のニューロン間活性化フィードフォワード(12)に重み付けする重みパラメーター、
    ニューラルネットワーク層のアフィン変換をパラメーター化するバッチノルムパラメーター、及び
    所定のニューラルネットワークニューロン(10)のインバウンドニューロン間活性化フィードフォワード(12)の和にバイアスをかけるバイアス、
    のうちの1つである、請求項43又は44に記載の装置。
  46. 前記NNパラメーター(130)は、NNの複数のニューロン間活性化フィードフォワード(122)のうちの単一のニューロン間活性化フィードフォワード(12)に関して前記NNをパラメーター化し、前記装置は、前記複数のニューロン間活性化フィードフォワード(122)の各々について、前記NN表現(110)から、対応するNNパラメーター(130)を、
    前記複数のニューロン間活性化フィードフォワード(122)の各々(12)について、
    前記NN表現(110)から前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化パラメーター(142)を導出することと、
    前記NN表現(110)から前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化値(152)を導出することと、
    前記関連量子化パラメーター(142)から、
    前記関連量子化パラメーター(142)によって導出された被除数と、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連精度パラメーター(145)によって導出された除数との間の除算の剰余に基づいて、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連乗数(144)と、
    前記除算の商の丸めに基づいて、前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連ビットシフト数(146)と、を導出することと、
    によって導出するように構成され、
    前記それぞれのニューロン間活性化フィードフォワード(12)の前記対応するNNパラメーター(130)は、前記関連量子化値(152)と前記関連乗数(144)に依存する因数(148)との間の積であって、前記関連ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、請求項43~45のいずれか一項に記載の装置。
  47. 前記装置は、NNの複数のニューロン間活性化フィードフォワード(122)をニューロン間活性化フィードフォワードのサブグループ(122a、122b)に細分するように構成され、それにより、各サブグループ(122a、122b)が、前記NNの関連する一対のNN層に関連付けられ、前記関連する一対のNN層の間のニューロン間活性化フィードフォワードを含み、前記関連する一対の層以外の更なる一対のNN層の間のニューロン間活性化フィードフォワードを除外し、2つ以上のサブグループ(122a、122b)が、所定のNN層に関連付けられ、
    前記NNパラメーター(130)は、前記NNの前記複数のニューロン間活性化フィードフォワード(122)のうちの単一のニューロン間活性化フィードフォワード(12)に関して前記NNをパラメーター化し、前記装置は、前記複数のニューロン間活性化フィードフォワード(122)の各々について、前記NN表現(110)から、対応するNNパラメーター(130)を、
    ニューロン間活性化フィードフォワードの各サブグループ(122a、122b)について、
    前記NN表現(110)から前記それぞれのサブグループ(122a、122b)に関連付けられた関連量子化パラメーター(142)を導出することと、
    前記関連量子化パラメーター(142)から、
    前記関連量子化パラメーター(142)によって導出された被除数と、前記それぞれのサブグループ(122a,122b)に関連付けられた関連精度パラメーター(145)によって導出された除数との間の除算の剰余に基づいて、前記それぞれのサブグループ(122a,122b)に関連付けられた関連乗数(144)と、
    前記除算の商の丸めに基づいて、前記それぞれのサブグループ(122a、122b)に関連付けられた関連ビットシフト数(146)と、を導出することと、
    前記複数のニューロン間活性化フィードフォワード(122)の各々について、
    前記NN表現(110)から前記それぞれのニューロン間活性化フィードフォワード(12)に関連付けられた関連量子化値(152)を導出することと、
    によって導出するように構成され、
    前記それぞれのニューロン間活性化フィードフォワード(12)の前記対応するNNパラメーター(130)は、前記それぞれのニューロン間活性化フィードフォワード(12)が含まれる前記サブグループ(122a、122b)に関連付けられた、前記関連量子化値(152)と前記関連乗数(144)に依存する因数(148)との間の積であって、前記それぞれのニューロン間活性化フィードフォワード(12)が含まれる前記サブグループ(122a、122b)の前記関連ビットシフト数(146)に依存するビット数だけビットシフトされた積に対応する、請求項43~45のいずれか一項に記載の装置。
  48. 前記関連精度パラメーター(145)は、前記NNにわたって又は各NN層内でグローバルに等しく評価される、請求項46又は47に記載の装置。
  49. 前記NN表現(110)から前記関連精度パラメーター(145)を導出するように構成されている、請求項46~48のいずれか一項に記載の装置。
  50. 前記NN表現(110)から前記関連量子化パラメーター(142)を基準量子化パラメーターとの差分の形態で導出するように構成されている、請求項46~49のいずれか一項に記載の装置。
  51. 前記量子化パラメーター(142)から、前記乗数(144)及び前記ビットシフト数(146)を、
    mul=k+QP%k
    Figure 2023522886000083
    に従って導出するように構成され、式中、mulは、前記乗数(144)であり、shiftは、前記ビットシフト数(146)であり、QPは、前記量子化パラメーター(142)であり、kは、前記精度パラメーター(145)であり、
    Figure 2023522886000084
    は、そのオペランド以下の最大の整数を生成するフロア演算子であり、%は、x%yに対して
    Figure 2023522886000085
    を生成するモジュロ演算子であり、それにより、前記NNパラメーター(130)は、
    (mul/k)・2shift・P
    であり、式中、Pは、前記量子化値(152)である、請求項43~50のいずれか一項に記載の装置。
  52. 前記精度パラメーター(145)は、2の累乗である、請求項43~51のいずれか一項に記載の装置。
  53. コンテキスト適応型二値算術復号化の使用によって、又は
    前記NN表現(110)から前記量子化パラメーター(142)を表すビットを直接読み出すことによって、又は
    前記装置のコンテキスト適応型二値デコーダーの等確率バイパスモードを介して、前記NN表現(110)から前記量子化パラメーター(142)を表すビットを導出することによって、
    前記NN表現(110)から前記量子化パラメーター(142)を導出するように構成されている、請求項43~52のいずれか一項に記載の装置。
  54. 二値化方式を使用してビンストリングを非二値化することによって、前記NN表現(110)から前記量子化パラメーター(142)を導出するように構成されている、請求項43~53のいずれか一項に記載の装置。
  55. 前記二値化方式は、指数ゴロム符号である、請求項54に記載の装置。
  56. 固定小数点表現の形態で前記NN表現(110)から前記量子化パラメーター(142)を導出するように構成されている、請求項43~55のいずれか一項に記載の装置。
  57. 前記精度パラメーター(145)は、2であり、前記固定小数点表現のビット長は、前記NNに対して一定になるように設定されるか、又は前記NNに対して一定である基底ビット長とtとの和になるように設定される、請求項56に記載の装置。
  58. 整数値シンタックス要素として前記NN表現(110)から前記量子化パラメーター(142)を導出するように構成されている、請求項43~57のいずれか一項に記載の装置。
  59. 前記NN表現(110)から前記精度パラメーター(145)を表すビットを直接読み出すことによって、又は前記装置のコンテキスト適応型二値デコーダーの等確率バイパスモードを介して前記NN表現(110)から前記精度パラメーター(145)を表すビットを導出することによって、前記NN表現(110)から前記精度パラメーター(145)を導出するように構成されている、請求項43~58のいずれか一項に記載の装置。
  60. 固定小数点表現の形態で前記NN表現(110)から前記量子化値(152)を導出するように構成されている、請求項43~59のいずれか一項に記載の装置。
  61. 二値化方式に従ってビンストリングから前記量子化値(152)を非二値化し、コンテキスト適応算術復号化を使用して前記NN表現(110)から前記ビンストリングのビットを復号化することによって、前記NN表現(110)から前記量子化値(152)を導出するように構成されている、請求項43~60のいずれか一項に記載の装置。
  62. 二値化方式に従ってビンストリングから前記量子化値(152)を非二値化し、コンテキスト適応算術復号化を使用して前記NN表現(110)から前記ビンストリングの第1のビットを復号化し、等確率バイパスモードを使用して前記ビンストリングの第2のビットを復号化することによって、前記NN表現(110)から前記量子化値(152)を導出するように構成されている、請求項43~61のいずれか一項に記載の装置。
  63. NN(20)を使用して推論を実行するデバイス(400)であって、前記デバイス(400)は、
    前記NN(20)をパラメーター化するように構成されたNNパラメトライザー(410)であって、前記NNパラメトライザー(410)は、請求項43~62のいずれか一項に記載のNN表現(110)からNNパラメーター(130)を導出する装置(300)を備える、NNパラメトライザー(410)と、
    前記NN(20)を使用してNN入力(440)に基づいて推論出力(430)を計算するように構成された計算ユニット(420)と、
    を備える、デバイス。
  64. 請求項63に記載のデバイス(400)であって、
    前記NNパラメトライザー(410)は、
    前記装置(300)を介して、第1のNNパラメーター(130)及び第2のNNパラメーター(130)のうちの少なくとも1つを導出することであって、それにより、前記第1のNNパラメーター(130)は、第1の量子化値(152)と第1の因数(148)との積であって、第1のビット数(146)だけビットシフトされた積に対応し、前記第2のNNパラメーター(130)は、第2の量子化値(152)と第2の因数(148)との積であって、第2のビット数(146)だけビットシフトされた積に対応することと、
    前記第1のNNパラメーター(130)の第1の量子化値(152)によって形成され、前記第1の乗数(144)で重み付けされた第1の加数と、前記第1のNNパラメーター(130)の第2の量子化値(152)によって形成され、前記第2の乗数(144)で重み付けされ、前記第1のビット数(146)及び前記第2のビット数(146)の差だけビットシフトされた第2の加数との間の和を形成することと、前記第1の加数及び前記第2の加数の前記和を、前記第1のビット数(146)及び前記第2のビット数(146)のうちの1つに依存するビット数だけビットシフトすることと、によって、前記第1のNNパラメーター(130)及び前記第2のNNパラメーター(130)に加算を施して、前記NN(20)の最終NNパラメーター(130)を生成することと、
    を行うように構成されている、デバイス。
  65. 請求項64に記載のデバイス(400)であって、
    前記第1のNNパラメーター(130)は、前記NN(20)のベース層表現を表し、前記第2のNNパラメーター(130)は、前記NNのエンハンスメント層表現を表すか、又は
    前記第1のNNパラメーター(130)は、前記NN(20)の現在の表現を表し、前記第2のNNパラメーター(130)は、前記現在のNN表現(110)の更新を表すか、又は
    前記第1のNNパラメーター(130)は、所定のニューラルネットワークニューロン(10)のインバウンドニューロン間活性化フィードフォワード(12)の和にバイアスをかけるバイアスを表し、前記第2のNNパラメーター(130)は、ニューラルネットワーク層のアフィン変換をパラメーター化するバッチノルムパラメーターを表す、デバイス。
  66. 請求項63~65のいずれか一項に記載のデバイス(400)であって、
    前記NNパラメトライザー(410)は、
    前記装置(300)を介して、第3のNNパラメーター(130)及び第4のNNパラメーター(130)のうちの少なくとも1つを導出するように構成され、それにより、前記第3のNNパラメーター(130)は、第3の量子化値(152)と第3の因数(148)との積であって、第3のビット数(146)だけビットシフトされた積に対応し、前記第4のNNパラメーター(130)は、第4の量子化値(152)と第4の因数(148)との積であって、第4のビット数(146)だけビットシフトされた積に対応し、
    前記計算ユニット(420)は、前記計算を実行する際に、
    前記第3のNNパラメーター(130)及び前記第4のNNパラメーター(130)に乗算を施して、前記第3のNNパラメーター(130)の第3の量子化値(152)によって形成される第1の因数と、前記第3の乗数(144)によって形成される第2の因数と、前記第4のNNパラメーター(130)の第4の量子化値(152)によって形成される第3の因数と、前記第4の乗数(144)によって形成される第4の因数との積であって、前記第3のビット数によって形成される第1の加数と前記第4のビット数によって形成される第2の加数とを含む和に対応するビット数だけビットシフトされた積を形成することによって積を生成するように構成される、デバイス。
  67. 請求項66に記載のデバイス(400)であって、
    前記第3のNNパラメーター(130)は、第1のNN層(114)の第1のニューロン(10)から第2のNN層(116)の第2のニューロン(10)へのニューロン間活性化フィードフォワード(12)を重み付けする重みパラメーターを表し、前記第4のNNパラメーター(130)は、バッチノルムパラメーターを表す、デバイス。
  68. 請求項67に記載のデバイス(400)であって、前記バッチノルムパラメーターは、前記第2のNN層に対して前記第1のニューロン(10)の活性化フィードフォワード増幅を調整するものである、デバイス。
  69. 請求項63~68のいずれか一項に記載のデバイス(400)であって、
    活性化について第5の量子化パラメーター(142)及び第5の量子化値(152)を決定することによって、前記活性化を量子化された値(130)に量子化することによって前記NN入力(440)を量子化し、前記第5の量子化パラメーター(142)から、前記第5の量子化パラメーター(142)によって導出された被除数と前記活性化に関連付けられた精度パラメーター(145)によって導出された除数との間の除算の剰余に基づく第5の乗数(144)と、前記除算の商の丸めに基づく第5のビットシフト数(146)とを導出することにより、前記第5の量子化値(152)と前記第5の乗数(144)に依存する因数(148)との間の積であって、前記第5のビットシフト数(146)に依存する第5のビット数だけビットシフトされた積に対応する前記量子化された値(130)が得られるように更に構成されている、デバイス。
  70. 請求項69に記載のデバイス(400)であって、
    前記NNパラメトライザー(410)は、
    前記装置(300)を介して、第6のNNパラメーター(130)を導出することであって、それにより、前記第6のNNパラメーター(130)は、第6の量子化値(152)と第6の因数(148)との積であって、第6のビット数(146)だけビットシフトされた積に対応することと、
    前記第6のNNパラメーター(130)及び前記活性化に乗算を施して、前記第6のNNパラメーター(130)の第6の量子化値(152)によって形成される第1の因数と、前記第6の乗数(144)によって形成される第2の因数と、前記第5の量子化値(152)によって形成される第3の因数と、前記第5の乗数(144)によって形成される第4の因数との積であって、前記第6のビット数によって形成される第1の加数と前記第4のビット数(146)によって形成される第2の加数と、を含む和に対応するビット数だけビットシフトされた積を形成することによって積を生成することと、
    を行うように構成されている、デバイス。
  71. NN(20)を使用して推論を実行するデバイス(500)であって、前記デバイス(500)は、前記NN(20)を使用してNN入力(440)に基づいて推論出力(430)を計算するように構成され、前記NN(20)は、一対のNN層と、前記一対のNN層のうちの第1のNN層から前記一対のNN層のうちの第2のNN層へのニューロン間活性化フィードフォワード(12)とを含み、前記デバイス(500)は、
    前記第1のNN層の前記ニューラルネットワークニューロン(10)の前記活性化から行列X(532)を形成(530)することと、
    s・W’*Xを計算(540)することであって、式中、*は、行列乗算を表し、W’は、n及びm∈Nである次元n×mの重み行列(544)であり、sは、長さnの転置ベクトル(546)であり、・は、・の一方の側の行列と・の他方の側の転置ベクトルとの間の列に関するアダマール乗算を示すことと、
    によって、前記第1のNN層の前記ニューラルネットワークニューロン(10)の前記活性化に基づいて、前記第2のNN層の前記ニューラルネットワークニューロン(10)の活性化を計算するように構成されている、デバイス。
  72. 請求項71に記載のデバイス(500)であって、nビット固定小数点演算を使用して前記行列乗算を計算(540)して、内積を生成し、m>nであるmビット固定小数点演算を使用して前記内積をs(546)と乗算するように構成されている、デバイス。
  73. 請求項71又は72に記載のデバイス(500)であって、s(546)は、W’(544)を符号化するためのより高い圧縮及び/又はより高い推論忠実度に関するW’(544)の最適化の結果である、デバイス。
  74. 請求項71~73のいずれか一項に記載のデバイス(500)であって、NN表現(110)からW’(544)を導出するように構成されたNNパラメトライザー(410)を備え、前記NNパラメトライザー(410)は、請求項43~62のいずれか一項に記載のNN表現(110)からNNパラメーター(130)を導出する装置(300)を備える、デバイス。
  75. 請求項71~74のいずれか一項に記載のデバイス(500)であって、前記NNパラメトライザー(410)は、W’(544)に関連するNNパラメーター(130)と比較して異なる量子化パラメーター(142)を使用して、前記NN表現(110)からs(546)を導出するように更に構成されている、デバイス。
  76. NN(20)のバッチノルム演算子(710)のNNパラメーターをNN表現(110)に符号化する装置(600)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000086
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(600)は、
    b、μ、σ又はσ、γ、及びβ(610)を受信することと、
    Figure 2023522886000087
    を計算(620)することと、
    β’及びγ’を前記バッチノルム演算子(710)のNNパラメーターとして前記NN表現(110)に符号化することであって、前記バッチノルム演算子(710)を
    Figure 2023522886000088
    として定義し、
    3)σ’:=θ
    4)μ’:=0
    5)b’:=0であり、ここで、θは所定のパラメーターであることと、
    を行うように構成されている、装置。
  77. 請求項76に記載の装置(600)であって、前記所定のパラメーターは、1又は1-εである、装置。
  78. NNのバッチノルム演算子(710)のNNパラメーターをNN表現(110)に符号化する装置(600)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000089
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(600)は、
    b、μ、σ又はσ、γ、及びβ(610)を受信することと、
    Figure 2023522886000090
    を計算(620)することと、
    β’及びγ’を前記バッチノルム演算子(710)のNNパラメーターとして前記NN表現(110)に符号化することであって、前記バッチノルム演算子(710)を
    Figure 2023522886000091
    として定義し、
    3)σ’:=1
    4)μ’:=0
    5)b’:=0であることと、
    を行うように構成されている、装置。
  79. NNのバッチノルム演算子(710)のNNパラメーターをNN表現(110)に符号化する装置(600)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000092
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(600)は、
    μ、σ又はσ、γ、及びβ(610)を受信することと、
    Figure 2023522886000093
    を計算(620)することと、
    β’及びγ’を前記バッチノルム演算子(710)のNNパラメーターとして前記NN表現(110)に符号化することであって、前記バッチノルム演算子(710)を
    Figure 2023522886000094
    として定義し、
    3)σ’:=θ
    4)μ’:=0であり、ここで、θは所定のパラメーターであることと、
    を行うように構成されている、装置。
  80. 請求項79に記載の装置(600)であって、前記所定のパラメーターは、1又は1-εである、装置。
  81. NNのバッチノルム演算子(710)のNNパラメーターをNN表現(110)に符号化する装置(600)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000095
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(600)は、
    μ、σ又はσ、γ、及びβ(610)を受信することと、
    Figure 2023522886000096
    を計算(620)することと、
    β’及びγ’を前記バッチノルム演算子(710)のNNパラメーターとして前記NN表現(110)に符号化することであって、前記バッチノルム演算子(710)を
    Figure 2023522886000097
    として定義し、
    3)σ’:=1
    4)μ’:=0であることと、
    を行うように構成されている、装置。
  82. 請求項76~81のいずれか一項に記載の装置(600)であって、
    前記表現において、σ’の全ての成分が互いに等しいこと、及びその値を示し、及び/又は
    前記表現において、μ’の全ての成分が互いに等しいこと、及びその値を示し、及び/又は
    前記表現において、存在する場合、b’の全ての成分が互いに等しいこと、及びその値を示すように更に構成されている、装置。
  83. 請求項76~82のいずれか一項に記載の装置(600)であって、2つのバッチノルム符号化モードの間で切り替え可能であるように更に構成され、第1のバッチノルム符号化モードでは、前記装置(600)は、β’及びγ’の前記計算及び前記符号化を実行するように構成され、第2のバッチノルム符号化モードでは、前記装置(600)は、前記受信されたμ、σ又はσ、γ、及びβ、並びに存在する場合、bを符号化するように構成されている、装置。
  84. 請求項76~83のいずれか一項に記載の装置(600)であって、β’及びγ’を量子化して前記NN表現(110)に符号化する、請求項1~22のいずれか一項に記載の装置(100)を更に備える、装置。
  85. NN表現(110)からNNのバッチノルム演算子(710)のNNパラメーターを復号化する装置(700)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000098
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(700)は、
    前記NN表現(110)からγ(722)及びβ(724)を導出(720)することと、
    その全ての成分に適用される1つのシグナリング(734)によって、
    1)σ’:=θ
    2)μ’:=0
    3)b’:=0であり、ここで、θは所定のパラメーターであることを推論又は導出(730)することと、
    を行うように構成されている、装置。
  86. 請求項85に記載の装置(700)であって、前記所定のパラメーターは、1又は1-εである、装置。
  87. NN表現(110)からNNのバッチノルム演算子(710)のNNパラメーターを復号化する装置(700)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000099
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(700)は、
    前記NN表現(110)からγ(722)及びβ(724)を導出(720)することと、
    その全ての成分に適用される1つのシグナリング(734)によって、
    1)σ:=1
    2)μ:=0
    3)b:=0であることを推論又は導出(730)することと、
    を行うように構成されている、装置。
  88. NN表現(110)からNNのバッチノルム演算子(710)のNNパラメーターを復号化する装置(700)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000100
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(700)は、
    前記NN表現(110)からγ(722)及びβ(724)を導出(720)することと、
    その全ての成分に適用される1つのシグナリング(734)によって、
    1)σ:=θ
    2)μ:=0であり、ここで、θは所定のパラメーターであることを推論又は導出(730)することと、
    を行うように構成されている、装置。
  89. 請求項88に記載の装置(700)であって、前記所定のパラメーターは、1又は1-εである、装置。
  90. NN表現(110)からNNのバッチノルム演算子(710)のNNパラメーターを復号化する装置(700)であって、前記バッチノルム演算子(710)は、
    Figure 2023522886000101
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記装置(700)は、
    前記NN表現(110)からγ(722)及びβ(724)を導出(720)することと、
    その全ての成分に適用される1つのシグナリング(734)によって、
    1)σ:=1
    2)μ:=0であることを推論又は導出(730)することと、
    を行うように構成されている、装置。
  91. 請求項85~90のいずれか一項に記載の装置(700)であって、
    前記表現から、σ’の全ての成分が互いに等しいこと、及びその値を導出し、及び/又は
    前記表現から、μ’の全ての成分が互いに等しいこと、及びその値を導出し、及び/又は
    存在する場合、前記表現から、b’の全ての成分が互いに等しいこと、及びその値を導出するように更に構成されている、装置。
  92. 請求項85~91のいずれか一項に記載の装置(700)であって、2つのバッチノルム符号化モード間で切り替え可能であるように更に構成され、第1のバッチノルム符号化モードでは、前記装置(700)は、前記導出することと、前記推論又は導出することと、を実行するように構成され、第2の第1のバッチノルム符号化モードでは、前記装置(700)は、μ、σ又はσ、γ、及びβ、並びに存在する場合、bを前記表現から復号化するように構成されている、装置。
  93. 請求項85~92のいずれか一項に記載の装置(700)であって、前記NN表現(110)からβ及びγを導出する、請求項43~62のいずれか一項に記載の装置(700)を更に備える、装置。
  94. NN表現を生成する方法であって、
    量子化パラメーターから、
    前記量子化パラメーターによって導出された被除数と精度パラメーターによって導出された除数との間の除算の剰余に基づく乗数と、
    前記除算の商の丸めに基づくビットシフト数と、
    が導出可能であるように、NNパラメーターの前記量子化パラメーター及び量子化値を決定することによって、前記NNパラメーターを量子化された値に量子化することであって、
    それにより、前記NNパラメーターの前記量子化された値は、前記量子化値と前記乗数に依存する因数との積であって、前記ビットシフト数に依存するビット数だけビットシフトされた積に対応することを含む、方法。
  95. NN表現からNNパラメーターを導出する方法であって、
    前記NN表現から量子化パラメーターを導出することと、
    前記NN表現から量子化値を導出することと、
    前記量子化パラメーターから、
    前記量子化パラメーターによって導出された被除数と精度パラメーターによって導出された除数との間の除算の剰余に基づく乗数と、
    前記除算の商の丸めに基づくビットシフト数と、
    を導出することと、
    を含み、
    前記NNパラメーターは、前記量子化値と前記乗数に依存する因数との積であって、前記ビットシフト数に依存するビット数だけビットシフトされた積に対応する、方法。
  96. NNを使用して推論を実行する方法であって、
    NN表現からNNパラメーターを導出するために請求項95に記載の方法を使用して、前記NNをパラメーター化することと、
    前記NNを使用して、NN入力に基づいて推論出力を計算することと、
    を含む、方法。
  97. NNを使用して推論を実行する方法であって、前記NNを使用してNN入力に基づいて推論出力を計算することを含み、前記NNは、一対のNN層と、前記一対のNN層のうちの第1のNN層から前記一対のNN層のうちの第2のNN層へのニューロン間活性化フィードフォワードとを含み、前記方法は、
    前記第1のNN層の前記ニューラルネットワークニューロンの前記活性化から行列Xを形成することと、
    s・W’*Xを計算することであって、式中、*は、行列乗算を表し、W’は、n及びm∈Nである次元n×mの重み行列であり、sは、長さnの転置ベクトルであり、・は、・の一方の側の行列と・の他方の側の転置ベクトルとの間の列に関するアダマール乗算を示すことと、
    によって、前記第1のNN層の前記ニューラルネットワークニューロンの活性化に基づいて、前記第2のNN層の前記ニューラルネットワークニューロンの活性化を計算することを含む、方法。
  98. NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000102
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    b、μ、σ又はσ、γ、及びβを受信することと、
    Figure 2023522886000103
    を計算することと、
    β’及びγ’を前記バッチノルム演算子のNNパラメーターとして前記NN表現に符号化することであって、前記バッチノルム演算子を
    Figure 2023522886000104
    として定義し、
    3)σ’:=θ
    4)μ’:=0
    5)b’:=0であり、ここで、θは所定のパラメーターであることと、
    を含む、方法。
  99. NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000105
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    b、μ、σ又はσ、γ、及びβを受信することと、
    Figure 2023522886000106
    を計算することと、
    β’及びγ’を前記バッチノルム演算子のNNパラメーターとして前記NN表現に符号化することであって、前記バッチノルム演算子を
    Figure 2023522886000107
    として定義し、
    3)σ’:=1
    4)μ’:=0
    5)b’:=0であることと、
    を含む、方法。
  100. NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000108
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    μ、σ又はσ、γ、及びβを受信することと、
    Figure 2023522886000109
    を計算することと、
    β’及びγ’を前記バッチノルム演算子のNNパラメーターとして前記NN表現に符号化することであって、前記バッチノルム演算子を
    Figure 2023522886000110
    として定義し、
    3)σ’:=θ
    4)μ’:=0であり、ここで、θは所定のパラメーターであることと、
    を含む、方法。
  101. NNのバッチノルム演算子のNNパラメーターをNN表現に符号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000111
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    μ、σ又はσ、γ、及びβを受信することと、
    Figure 2023522886000112
    sを計算することと、
    β’及びγ’を前記バッチノルム演算子のNNパラメーターとして前記NN表現に符号化することであって、前記バッチノルム演算子を
    Figure 2023522886000113
    として定義し、
    3)σ’:=1
    4)μ’:=0であることと、
    を含む、方法。
  102. NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000114
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    前記NN表現からγ及びβを導出することと、
    その全ての成分に適用される1つのシグナリングによって、
    1)σ’:=θ
    2)μ’:=0
    3)b’:=0であり、ここで、θは所定のパラメーターであることを推論又は導出することと、
    を含む、方法。
  103. NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000115
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    bは、バイアスを形成する転置ベクトルであり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    前記NN表現からγ及びβを導出することと、
    その全ての成分に適用される1つのシグナリングによって、
    1)σ:=1
    2)μ:=0
    3)b:=0であることを推論又は導出することと、
    を含む、方法。
  104. NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000116
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    εは、ゼロ除算回避のための定数であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    前記NN表現からγ及びβを導出することと、
    その全ての成分に適用される1つのシグナリングによって、
    1)σ:=θ
    2)μ:=0であり、ここで、θは所定のパラメーターであることを推論又は導出することと、
    を含む、方法。
  105. NN表現からNNのバッチノルム演算子のNNパラメーターを復号化する方法であって、前記バッチノルム演算子は、
    Figure 2023522886000117
    として定義され、式中、
    μ、σ、γ、及びβは、バッチノルムパラメーターであり、
    Wは、重み行列であり、
    Xは、NN層の活性化から導出される入力行列であり、
    ・は、・の一方の側の行列と他方の側の転置ベクトルとの間の列に関するアダマール乗算を示し、
    *は、行列乗算を示し、
    前記方法は、
    前記NN表現からγ及びβを導出することと、
    その全ての成分に適用される1つのシグナリングによって、
    1)σ:=1
    2)μ:=0であることを推論又は導出することと、
    を含む、方法。
  106. 請求項23~42のいずれか一項に記載のデジタルデータを含むデジタル記憶媒体。
  107. 請求項94~105のいずれか一項に記載の方法を実行するコンピュータープログラム。
  108. 請求項1~22及び76~84のいずれか一項に記載の装置によって生成されたデータストリーム。
JP2022562943A 2020-04-14 2021-04-13 ニューラルネットワークパラメーターの表現の改良された概念 Pending JP2023522886A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20169502 2020-04-14
EP20169502.0 2020-04-14
PCT/EP2021/059592 WO2021209469A1 (en) 2020-04-14 2021-04-13 Improved concept for a representation of neural network parameters

Publications (1)

Publication Number Publication Date
JP2023522886A true JP2023522886A (ja) 2023-06-01

Family

ID=70456712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022562943A Pending JP2023522886A (ja) 2020-04-14 2021-04-13 ニューラルネットワークパラメーターの表現の改良された概念

Country Status (6)

Country Link
US (1) US20230075514A1 (ja)
EP (1) EP4136582A1 (ja)
JP (1) JP2023522886A (ja)
KR (1) KR20230010854A (ja)
CN (1) CN115917556A (ja)
WO (1) WO2021209469A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116432715B (zh) * 2023-06-14 2023-11-10 深圳比特微电子科技有限公司 一种模型压缩方法、装置和可读存储介质

Also Published As

Publication number Publication date
US20230075514A1 (en) 2023-03-09
KR20230010854A (ko) 2023-01-19
CN115917556A (zh) 2023-04-04
EP4136582A1 (en) 2023-02-22
WO2021209469A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
CN102007489B (zh) 逆向离散余弦变换的计算期间的误差减少
CN101399988B (zh) 减少位深的量子化方法
Kuroki et al. Lossless image compression by two-dimensional linear prediction with variable coefficients
JP2023507502A (ja) ニューラルネットワークのパラメータを符号化するための概念
US20160049157A1 (en) Method for coding pulse vectors using statistical properties
US20230075514A1 (en) Concept for a representation of neural network parameters
WO2001050769A9 (en) Method and apparatus for video compression using multi-state dynamical predictive systems
Khataei et al. Optimizing hybrid binary-unary hardware accelerators using self-similarity measures
CN113068033B (zh) 一种多媒体的反量化处理方法、装置、设备及存储介质
JP7479471B2 (ja) モード-グローバル設定によるマトリックスベースのイントラ予測
US20230289588A1 (en) Deep Neural Network Processing Device with Decompressing Module, Decompressing Method and Compressing Method
US20240048703A1 (en) Encoding device, decoding device, encoding method, decoding method, and program
JP3052274B2 (ja) Lsp量子化方法
US20240046100A1 (en) 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
Shyam et al. Image quality compression based on non-zeroing bit truncation using discrete cosine transform
TWI228918B (en) Video predictive decoding method and apparatus
WO2005078600A1 (en) Method and apparatus for transforming a digital audio signal and for inversely transforming a transformed digital audio signal
Kekre et al. Halftone Image Data Compression using KFCG Vector Quantization Algorithm for Video Conferencing
JP6102707B2 (ja) デジタル符号化装置
Östman Video Coding Based on the Kantorovich Distance
KFCG Journal of Signal and Image Processing
Sanikomm Hardware Implementation of a Novel Image Compression Algorithm
CN116888961A (zh) 使用ai的用于图像编码和解码的设备及其用于图像编码和解码的方法
KR100799904B1 (ko) 역 양자화기, 역 양자화 방법 및 그 방법을 기록한 기록 매체
Mosa COLOR IMAGE COMPRESSION BASED ON ABSOLUTE MOMENT BLOCK TRUNCATION CODING USING DELTA ENCODING AND HUFFMAN CODING

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240318