KR20230010854A - 뉴럴 네트워크 파라미터들의 표현에 대한 향상된 개념 - Google Patents
뉴럴 네트워크 파라미터들의 표현에 대한 향상된 개념 Download PDFInfo
- Publication number
- KR20230010854A KR20230010854A KR1020227039626A KR20227039626A KR20230010854A KR 20230010854 A KR20230010854 A KR 20230010854A KR 1020227039626 A KR1020227039626 A KR 1020227039626A KR 20227039626 A KR20227039626 A KR 20227039626A KR 20230010854 A KR20230010854 A KR 20230010854A
- Authority
- KR
- South Korea
- Prior art keywords
- parameter
- representation
- quantization
- batch normalization
- bit
- Prior art date
Links
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward 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)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
NN 표현을 생성하기 위한 장치는 양자화 파라미터로부터 유도할 수 있는 승수 및 비트 천이 수가 있을 수 있도록, 양자화 파라미터 및 양자화 파라미터에 대한 양자화 값을 결정함으로써, NN 파라미터를 양자화된 값으로 양자화하도록 구성된다. 추가적으로, NN 파라미터에 대한 양자화 값 및 양자화 파라미터의 결정은, NN 파라미터의 양자화된 값이 비트 천이 수에 따른 비트 수만큼 비트-천이되는, 승수에 따른 인자 및 양자화 값 사이의 곱에 대응하도록, 수행된다.
Description
본 발명에 따른 실시예들은 뉴럴 네트워크 파라미터들의 표현에 대한 향상된 개념을 이용하여 뉴럴 네트워크 파라미터들을 인코딩 또는 디코딩하기 위한 장치들 및 방법들에 관한 것이다. 추론 및/또는 저장 비트 레이트 최적화 관점에서 향상을 가져올 수 있다.
뉴럴 네트워크의 가장 기본적인 형태에서, 뉴럴 네트워크는 성분-별(element-wise) 비선형 함수가 수반되는 아핀 변환의 체인을 형성한다. 그것들은 도1에 도시된 바와 같이, 지향된 비순환적인 그래프로서 표현될 수 있다. 각각의 노드는 특정 값을 수반하고, 이것은 엣지의 각각의 가중치 값과 곱하여져서 전향의 다음 노드로 전파된다. 모든 입력 값들은 단지 총합된다.
도1은 피드 포워드 뉴럴 네트워크의 그래프 표현에 대한 예시를 도시한다. 특히, 이 2-층의 뉴럴 네트워크는 4차원 입력 벡터를 실직선(real line)으로 매핑하는 비선형 함수이다.
수학적으로, 도1의 뉴럴 네트워크는 다음의 방식으로 출력을 산출한다:
여기에서,
·편향된 층들(Biased layers)
는 의 가중치 행렬이고, 는 차원의 입력 행렬이다. 편향 은 길이 의 전치 벡터이다. 연산자 는 행렬 곱을 표시한다. 편향 와의 합은 행렬의 열들에 대한 성분-별 연산이다. 더욱 정확하게는, 는 의 각각의 열에 가 가산되는 것을 의미한다.
"cuDNN: Efficient Primitives for Deep Learning" (Sharan Chetlur, et al.; arXiv: 1410.0759, 2014)에 기재된 바와 같은 행렬-행렬 곱으로서 그것들을 캐스팅함으로써, 이른바 합성곱 층들(convolutional layers)이 또한 이용될 수 있다.
이하, 주어진 입력으로부터 출력을 산출하는 절차를 추론(inference)이라고 할 것이다. 또한, 우리는 중간의 결과들을 은닉층들(hidden layers) 또는 은닉 활성화 값들(hidden activation values)로서 부를 것이며, 이것들은 예컨대, 제1 내적(dot product) + 비선형성의 계산과 같은, 선형 변환 + 성분-별 비선형성을 구성한다.
일반적으로, 뉴럴 네트워크는 수 백 만개의 파라미터를 포함하고, 따라서 그것들의 표현을 위해서는 수 백 개의 메가바이트(Mbyte)를 필요로 한다. 결과적으로, 그것들의 추론 절차는 대형의 행렬들 사이에 많은 내적 연산들의 계산들을 포함하기 때문에, 그것들이 실행되기 위해서는 많은 계산 자원들을 필요로 한다. 따라서, 이들 내적들의 수행의 복잡성을 줄이는 것은 매우 중요하다.
·배치-정규화 층들(Batch-norm layers)
뉴럴 네트워크 층들의 아핀 변환의 더욱 복잡한 이형(variant)은 다음과 같은 소위 바이어스- 및 배치-정규화 연산을 포함한다:
수학식 1:
여기에서, , , , 및 는 배치 정규화 파라미터들을 나타낸다. 층 색인 i는 여기에서 포함되지 않았음을 주의한다. 는 차원의 가중치 행렬이고, 는 차원의 입력 행렬이다. 편향 및 배치 정규화 파라미터들 , , , 및 은 길이 n의 전치 벡터들이다. 연산자 는 행렬 곱을 표시한다. 벡터와의 행렬에 대한 모든 다른 연산들(합, 곱셈, 나눗셈)은 행렬의 열들에 대해서 성분-별 연산들임을 주의한다. 예를 들어, 는 의 각각의 열이 와 성분-별로 곱해진다는 것을 의미한다. 는 0에 의한 나눗셈을 회피하기 위해 요구되는 작은 스칼라 수(예컨대, 0.001와 같은)이다. 그러나, 그것은 또한 0 일 수도 있다.
의 모든 벡터 원소들이 0인 경우에, [수학식 1]은 배치-정규화 층을 나타낸다. 대조적으로, 및 의 모든 벡터 원소들과 이 0으로 설정되고, 및 의 모든 원소들이 1로 설정된다면, (편향만 있는) 배치 정규화가 없는 층이라고 불린다.
·파라미터들의 효율적인 표현
파라미터들 , , , , , 및 은 공통으로 층의 파라미터들을 나타낸다. 그것들은 일반적으로 비트스트림 내에서 시그널링될 필요가 있다. 예를 들어, 그것들은 32비트 부동 소수점 숫자들로서 표현될 수 있고 또는 그것들은 정수 표현으로 양자화될 수 있다. 는 일반적으로 비트스트림 내에서 시그널링되지 않는다는 점에 주의한다.
이러한 파라미터들을 인코딩하는 특히 효율적인 방법은 각각의 값이 소위 양자화 스텝 크기 값의 정수배로서 표현될 수 있는, 균일한 재구성 양자화기를 이용하는 것이다. 대응하는 부동 소수점 숫자는 정수를 양자화 스텝 크기에 곱함으로써 재구성될 수 있는데, 이것은 일반적으로 단일의 부동 소수점 숫자이다. 그러나, (즉, 입력을 위해 뉴럴 네트워크의 출력을 산출하는) 뉴럴 네트워크 추론의 효율적인 구현들은 가능할 때마다 정수 연산자를 이용한다. 그러므로, 파라미터들이 정수 표현으로 재구성되는 것을 요구하는 것은 바람직하지 않을 수 있다.
그러므로, 이러한 파라미터들에 대한 효율적인 인코딩 및/또는 디코딩을 지원하기 위해서, 뉴럴 네트워크 파라미터들의 표현에 대한 개념을 향상시키는 것이 요구될 수 있다. 뉴럴 네트워크 파라미터들이 인코딩되는 비트스트림을 줄여 시그널링 비용을 감소시키는 것이 요구될 수 있다. 덧붙여, 또는 택일적으로, 뉴럴 네트워크 추론을 향상시키기 위하여 계산 자원들의 복잡도를 감소시키는 것이 요구될 수 있다. 예컨대, 뉴럴 네트워크 추론에 대한 효율적인 구현을 달성하는 것이 요구될 수 있다.
이것은 본 출원의 독립항들의 주제(subject matter)에 의해 달성된다.
또한 본 발명의 실시예들이 본 출원의 종속항들의 주제에 의해 정의된다.
본 발명의 제1 양태에 따르면, 본 출원의 발명자들은 뉴럴 네트워크(NN) 표현들에서 마주한 한가지 문제가 뉴럴 네트워크들이 수백만의 파라미터들을 포함하고 있고 따라서 그것들의 표현을 위해서 수백 Mbyte를 필요로 한다는 사실로부터 비롯된다는 것을 발견했다. 결과적으로, 그것들의 추론 프로시저는 크기가 큰 행렬들간 수많은 내적(dot product) 연산들의 계산을 포함하기 때문에, 그것들이 실행되기 위해서는 더 큰 계산 리소스들을 필요로 한다. 본 발명의 제1 양태에 따르면, 이 어려움은 소수의 또는 심지어 전혀 부동 소수점 연산을 사용하지 않고 추론을 가능하게 하는 NN 파라미터의 양자화를 이용함으로써 극복된다. 본 발명자들은 승수 및 비트 천이 수가 유도되는데 기초가 되는 양자화 파라미터를 결정하는 것이 유리하다는 것을 발견했다. 이것은 32비트 부동 소수점 값을 대신하여 양자화 값 및 양자화 파라미터만을 시그널링하는 것이 비트 레이트 관점에서 효율적일 것이라는 아이디어에 기초한 것이다. NN 파라미터의 양자화된 값은 승수, 비트 천이 수, 및 양자화 값을 이용하여 계산될 수 있고, 이 때문에 부동 소수점 영역을 대신 하여 정수 영역에서의 계산들 예컨대, NN 파라미터들의 합 및/또는 벡터와 NN 파라미터의 곱셈을 수행하는 것이 가능하다. 그러므로, 제시된 NN 표현으로 추론의 효율적인 계산이 달성될 수 있다.
따라서, 본 발명의 제1 양태에 따르면, NN 표현 예컨대 데이터 스트림을 생성하기 위한 장치는 양자화 파라미터로부터 승수 및 비트 천이 수를 유도할 수 있도록 양자화 파라미터 및 양자화 파라미터에 대한 양자화 값을 결정함으로써, NN 파라미터를 양자화된 값으로 양자화하도록 구성된다. 생성된 NN 표현은 NN 파라미터를 예컨대, NN 파라미터의 양자화된 값을 NN 표현으로부터 예컨대, 데이터 스트림으로부터 유도하기 위한 장치에 의해 판독/디코딩될 수 있다. NN 파라미터를 유도하기 위한 장치는 NN 표현으로부터 양자화 파라미터 및 양자화 값을 유도하고, 양자화 파라미터로부터 승수 및 비트 천이 수를 유도한다. 승수는 양자화 파라미터로부터, 양자화 파라미터에 의해 유도된 피제수 및 정확도 파라미터에 의해 유도된 제수 사이의 나눗셈의 나머지에 기초하여 유도될 수 있고, 예컨대 정확도 파라미터는 디폴트 값으로 설정될 수 있고, 또는 정확도 파라미터에 대해 자연수 또는 2의 거듭제곱과 같은 몇몇 서로 다른 정수들이, 장치에 의해 전체 NN에 대하여 또는 각각의 층과 같은 NN의 섹션 각각에 대해 테스트될 수 있고, 양자화 에러 및 비트 레이트 관점에서 예컨대, 이들의 랑그랑쥬 덧셈의 관점에서 최고의 것을 정확도 파라미터로서 이 선택을 NN 표현 내에서 시그널링한다. 비트 천이 수는 양자화 파라미터로부터 상기 나눗셈의 몫의 라운딩에 기초하여 유도될 수 있다. NN 파라미터는, NN 파라미터를 또는 NN 파라미터의 양자화된 값을 유도하는 장치의 경우, NN 표현을 생성하는 장치의 경우, 비트 천이 수에 따른 비트 수만큼 비트-천이되는, 승수에 따른 인자 및 양자화 값 사이의 곱에 (예컨대 적어도, 천이의 경우 부호가 분리 처리된 양자화된 값의 절대값의 관점에서 또는 2의 보수 표현(complement representation) 및 2의 보수 연산(complement arithmetic)을 각각 이용하는 경우와 같은 절대값과 부호 양자의 관점에서) 대응한다. 전술한 바와 같이, 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 양태에 따르면, 이 어려움은 가중치 행렬 의 각각의 열과 성분-별로 곱해진 전치 벡터 s 예컨대, 스케일링 인자(scaling factor)를 이용함으로써 극복된다. 본 발명자들은 가중치 행렬의 스케일링을 이용함으로써 산술 코딩 방법들(arithmetic coding methods)이 더 높은 코딩 이득을 주고, 가중치 행렬의 스케일링이 뉴럴 네트워크 성능 결과들을 증가시키는 예컨대 더 높은 정확도를 달성하는 것을 발견했다. 이것은 양자화 에러를 줄이고, 양자화된 뉴럴 네트워크의 예측 성능을 증가시키기 위하여, 전치 벡터 s가 예컨대, 가중치 행렬에 대해 예컨대 양자화된 가중치 행렬에 대해 의존적으로, 효율적으로 적응될 수 있다는 아이디어에 기반한다. 또한, 본 발명자들은 표현 효율이 전치 벡터 s 및 가중치 행렬 의 조합으로서 가중치 파라미터를 팩토링(factoring)함으로써 증가될 수 있다는 것을 발견하였는데, 그것은 둘 모두를 독립적으로 양자화할 수 있도록 해주기 때문에, 예컨대 서로 다른 양자화 파라미터들이 전치 벡터 s 및 가중치 행렬 의 양자화를 위해 이용될 수 있기 때문이다. 이것은 성능 관점에서 유리할 뿐만 아니라 하드웨어 효율성 관점에서도 유리하다.
따라서, 본 발명의 제2 양태에 따르면, NN을 이용하여 추론을 수행하는 디바이스는 NN을 이용하여 NN 입력에 기초해 추론 출력을 계산하도록 구성된다. NN은 한 쌍의 NN 층들을 포함하고, 한 쌍의 NN 층들 중 제1 NN 층으로부터 제2 NN 층으로의 뉴론간 활성화 피드-포워드들을 포함한다. 이 디바이스는 제1 NN 층의 뉴럴 네트워크의 뉴론들의 활성화들로부터 행렬 를 형성하고, 을 계산함으로써, 제1 NN 층의 뉴럴 네트워크 뉴론들의 활성화들에 기초하여, 제2 NN 층들의 뉴럴 네트워크 뉴론들의 활성화들을 계산하도록 구성된다. 연산자 는 행렬 곱셈을 나타내고, 는 및 인 의 가중치 행렬이고, s는 길이 의 전치 벡터이고, 연산자 는 의 일 측에는 행렬과 의 타 측에는 전치 벡터간 컬럼-별(column wise) Hadamard 곱셈을 나타낸다.
본 발명의 제3 양태에 따르면, 본 발명의 발명자들은 배치-정규화 층들을 이용할 때 마주하는 한가지 문제가, 배치-정규화 연산자의 배치-정규화 파라미터들/요소들이 주로 부동 소수점 표현이라는 사실로부터 기인한다는 것을 발견했다. 그러나, 뉴럴 네트워크 추론의 효율적 구현들(즉, 입력에 대한 뉴럴 네트워크의 출력을 산출)은 가능할 때마다 정수 연산들을 이용한다. 이 어려움은 미리 정의된 상수 값을 배치-정규화 파라미터들/요소들 예컨대, 및 및 또는 에게 할당함으로써 극복된다. 본 발명자들은 배치-정규화 파라미터들/요소들이 미리 정의된 상수 값을 갖는다면 더욱 효율적으로 압축될 수 있다는 것을 발견했다. 이것은 모든 요소들/파라미터들이 미리 정의된 상수 값을 갖는지를 나타내어, 그래서 그것들이 미리 정의된 상수 값으로 설정될 수 있도록 하는 단일 플래그의 이용을 가능하게 한다는 아이디어에 기반한다. 추가적으로, 배치-정규화 연산자의 결과는 미리 정의된 상수 값들을 이용하더라도 변화되지 않는다는 것이 밝혀졌다.
따라서, 본 발명의 제3 양태에 따라서, 제1 실시예는 NN의 배치 정규화 연산자의 NN 파라미터를 NN 표현 안으로 코딩하는 장치에 관한 것이다. 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서,
또한, 이 장치는 배치 정규화 연산자의 NN 파라미터들로서, 예컨대 각각의 출력 노드에 대해 하나의 컴포넌트를 포함하는 전치 벡터들이 같아지도록, 및 를 NN 표현 안에 코딩하도록 구성되어, 배치 정규화 연산자를 다음과 같이 정의할 수 있다:
NN 표현으로부터 NN의 배치 정규화 연산자의 NN 파라미터들을 디코딩하기 위한 평행한 장치는 NN 표현으로부터 및 를 유도하고, , , := 0, 는 미리 결정된 파라미터임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하도록 구성된다. 이 장치는 일 시그널링 예컨대 플래그를 판독하도록 구성되고, 및 , , := 0 임을 그로부터 추론 또는 유도하도록 구성된다. 배치-정규화 연산자는 제3 양태의 제1 실시예에 대해 전술한 바와 같이 정의된다.
따라서, 본 발명의 제3 양태에 따른 제2 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치에 관한 것이다. 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서,
NN 표현으로부터 NN의 배치 정규화 연산자의 NN 파라미터들을 디코딩하기 위한 평행한 장치는 NN 표현으로부터 및 를 유도하고, , , := 0임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하도록 구성된다. 이 장치는 일 시그널링 예컨대 플래그를 판독하도록 구성되고, 및 , , := 0 임을 그로부터 추론 또는 유도하도록 구성된다. 배치-정규화 연산자는 제3 양태의 제2 실시예에 대해 전술한 바와 같이 정의된다.
따라서, 본 발명의 제3 양태에 따른 제3 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치에 관한 것이다. 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서,
NN 표현으로부터 NN의 배치 정규화 연산자의 NN 파라미터들을 디코딩하기 위한 평행한 장치는 NN 표현으로부터 및 를 유도하고, , , 는 미리 결정된 파라미터임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하도록 구성된다. 이 장치는 일 시그널링 예컨대 플래그를 판독하도록 구성되고, 및 , 임을 그로부터 추론 또는 유도하도록 구성된다. 배치-정규화 연산자는 제3 양태의 제3 실시예에 대해 전술한 바와 같이 정의된다.
따라서, 본 발명의 제3 양태에 따른 제4 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치에 관한 것이다. 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서,
NN 표현으로부터 NN의 배치 정규화 연산자의 NN 파라미터들을 디코딩하기 위한 평행한 장치는 NN 표현으로부터 및 를 유도하고, , 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하도록 구성된다. 이 장치는 일 시그널링 예컨대 플래그를 판독하도록 구성되고, 및 , 임을 그로부터 추론 또는 유도하도록 구성된다. 배치-정규화 연산자는 제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 층으로부터 제2 NN 층으로의 뉴론간 활성화 피드-포워드들을 포함한다. 이 방법은 제1 NN 층의 뉴럴 네트워크의 뉴론들의 활성화들로부터 행렬 를 형성하고, 을 계산함으로써, 제1 NN 층의 뉴럴 네트워크 뉴론들의 활성화들에 기초하여, 제2 NN 층들의 뉴럴 네트워크 뉴론들의 활성화들을 계산하는 단계를 포함한다. 여기에서, 는 행렬 곱셈을 나타내고, 는 및 인 의 가중치 행렬이고, s는 길이 의 전치 벡터이고, 연산자 는 의 일 측에는 행렬과 의 타 측에는 전치 벡터간 컬럼-별(column wise) Hadamard 곱셈을 나타낸다.
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안에 코딩하는 방법에 관한 것이고, 배치 정규화 연산자는 로서 정의되고, 여기에서 , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 편향을 형성하는 전치 벡터이고, 는 0에 의한 나눗셈을 피하기 위한 상수이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은 , , 또는 , , 및 를 수신하는 단계 및 다음 수식을 계산하는 단계를 포함한다:
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안에 코딩하는 방법에 관한 것이고, 배치 정규화 연산자는 로서 정의되고, 여기에서 , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 편향을 형성하는 전치 벡터이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은 , , 또는 , , 및 를 수신하는 단계 및 다음 수식을 계산하는 단계를 포함한다:
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안에 코딩하는 방법에 관한 것이고, 배치 정규화 연산자는 로서 정의되고, 여기에서 , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 0에 의한 나눗셈을 피하기 위한 상수이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은 , , 또는 , , 및 를 수신하는 단계 및 다음 수식을 계산하는 단계를 포함한다:
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안에 코딩하는 방법에 관한 것이고, 배치 정규화 연산자는 로서 정의되고, 여기에서 , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은 , 또는 , , 및 를 수신하는 단계 및 다음 수식을 계산하는 단계를 포함한다:
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 관한 것이며, 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서, , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 편향을 형성하는 전치 벡터이고, 는 0에 의한 나눗셈을 피하기 위한 상수이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은, 및 를 NN 표현으로부터 유도하는 단계; 및 , , := 0 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하며, 여기에서 는 미리 결정된 파라미터이다.
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 관한 것이며, 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서, , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 편향을 형성하는 전치 벡터이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은, 및 를 NN 표현으로부터 유도하는 단계; 및 , , := 0 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하며, 여기에서 는 미리 결정된 파라미터이다.
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 관한 것이며, 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서, , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 편향을 형성하는 전치 벡터이고, 는 0에 의한 나눗셈을 피하기 위한 상수이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은, 및 를 NN 표현으로부터 유도하는 단계; 및 , 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하며, 여기에서 는 미리 결정된 파라미터이다.
일 실시예는 NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 관한 것이며, 배치 정규화 연산자는 다음과 같이 정의된다:
여기에서, , , , 및 는 배치 정규화 파라미터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, 는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고, 는 행렬 곱을 나타낸다. 이 방법은, 및 를 NN 표현으로부터 유도하는 단계; 및 , 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하며, 여기에서 는 미리 결정된 파라미터이다.
전술한 방법들은 전술한 장치들 또는 디바이스들과 같은 고려에 기반한다. 이 방법들은 상기 장치들 또는 디바이스들에 관해 설명된 모든 기능들 및 특징들로 완성될 수 있다.
일 실시예는 디지털 저장 매체에 관한 것이며, 이 매체는 전술한 바와 같은 NN 표현을 생성하는 장치 또는 방법에 의해 생성되는 NN 표현을 정의하는 디지털 데이터를 포함한다.
일 실시예는 전술한 방법들 중 하나를 구현하기 위한 컴퓨터 프로그램에 관한 것이다.
일 실시예는 전술한 바와 같이, NN 표현을 생성하기 위한 장치 또는 방법에 의해 생성되는 데이터 스트림에 관한 것이다.
본 발명은 뉴럴 네트워크 디바이스, 장치, 및 방법은 추론 및/또는 저장 비트 레이트를 최적화할 수 있어, 계산 성능을 향상시키고 리소스를 효율적으로 사용할 수 있다.
도면들은 반드시 스케일될 필요는 없으며, 대신 본 발명의 원리들을 설명하는데 일반적으로 강조가 되었다. 이하의 설명에서, 본 발명의 다양한 실시예들이 다음의 도면들을 참조하여 설명된다:
도1은 뉴럴 네트워크를 도시한다;
도2는 본 발명의 실시예에 따른 NN 표현을 생성하기 위한 장치를 도시하며, 디지털 데이터는 NN 표현을 정의하고, 장치는 NN 표현으로부터 NN 파라미터를 유도한다;
도3은 피드-포워드 뉴럴 네트워크를 도시한다;
도4는 본 발명의 실시예에 따른 NN 파라미터를 이용하여 추론을 수행하는 디바이스를 도시한다;
도5는 본 발명의 실시예에 따른 벡터 및 행렬의 구성으로서 가중치 파라미터를 팩토링(factoring)함으로써 추론을 수행하는 디바이스를 도시한다;
도6은 본 발명의 실시예에 따른 NN 파라미터들을 NN 표현으로 코딩하는 장치 및 NN 표현으로부터 NN 파라미터를 디코딩하는 장치를 도시한다; 및
도7은 행렬 X 및 W 사이의 가능한 관계들을 도시한다.
도1은 뉴럴 네트워크를 도시한다;
도2는 본 발명의 실시예에 따른 NN 표현을 생성하기 위한 장치를 도시하며, 디지털 데이터는 NN 표현을 정의하고, 장치는 NN 표현으로부터 NN 파라미터를 유도한다;
도3은 피드-포워드 뉴럴 네트워크를 도시한다;
도4는 본 발명의 실시예에 따른 NN 파라미터를 이용하여 추론을 수행하는 디바이스를 도시한다;
도5는 본 발명의 실시예에 따른 벡터 및 행렬의 구성으로서 가중치 파라미터를 팩토링(factoring)함으로써 추론을 수행하는 디바이스를 도시한다;
도6은 본 발명의 실시예에 따른 NN 파라미터들을 NN 표현으로 코딩하는 장치 및 NN 표현으로부터 NN 파라미터를 디코딩하는 장치를 도시한다; 및
도7은 행렬 X 및 W 사이의 가능한 관계들을 도시한다.
동일하거나 균등한 구성요소들은 또는 동일한 또는 동등한 기능성을 갖는 구성요소들은 이하의 설명에서 서로 다른 도면들이라도 동일한 또는 동등한 참조 번호로 표시된다.
이하의 설명에서, 본 발명의 실시예들의 설명 내내 더 많은 것을 제공하기 위하여 많은 세부 사항들이 설명된다. 그러나, 이러한 특정 상세들이 없더라도 본 발명의 실시예들이 수행될 수 있다는 것은 본 기술분야의 통상의 기술자에게 자명할 것이다. 다른 예들에서, 주지의 구조들 및 디바이스들은 본 발명의 실시예들을 모호하게 하는 것을 피하기 위하여 상세히 설명되기 보다는 블록 다이어그램으로 표시된다. 덧붙여, 특별히 달리 언급되지 않는 한, 이하 여기에서 설명되는 서로 다른 실시예들의 특징들은 서로 결합될 수 있다.
이하에서, 부동 소수점 연산을 적은 횟수로 하거나 또는 전혀 없이 추론을 할 수 있도록 하는, 층의 파라미터들의 양자화 스텝 크기들을 표현하고 시그널링하는 효율적인 방법이 제공된다. 즉, 그 표현은 비트 레이트 관점에서 효율적이고, 또한 추론의 효율적인 계산을 위해서 이용될 수 있다.
도2는 NN 표현(110)을 생성하는 장치(100)를 도시한다. 이 장치(100)는 양자화 파라미터(142)를 결정(140)하고 NN 파라미터(120)에 대한 양자화 값(152)을 결정(150) 함으로써, NN 파라미터(120)를 양자화된 값(130)으로 양자화하도록 구성된다. 양자화 값(152)은 양자화 파라미터(142)를 기초로 결정(150)될 수 있다. 양자화 파라미터(142)의 결정(140)은 양자화 파라미터 결정기에 의해 수행될 수 있다. 양자화 값(152)의 결정(150)은 양자화 값 결정기에 의해 수행될 수 있다.
양자화 파라미터(142)는 양자화 파라미터(142)로부터 승수(144) (multiplier) 및 비트 천이 수(145)가 유도될 수 있도록 결정(140)된다. 양자화 파라미터(142)의 결정(140)에서, 장치(100)는 예컨대, 승수(144) 및 비트 천이 수(146)가 결정된 양자화 파라미터(142)로부터 구해질 수 있는지를 이미 체크했을 수 있다.
선택적으로, 장치(100)는 예컨대, 장치(100)에 의해 양자화된 값(130)을 결정하도록 허용하는, 양자화 파라미터(142)로부터 비트 천이 수(146)를 유도하고 양자화 파라미터(142)로부터 승수(144)를 유도하도록 구성될 수 있다. 그러나, 이것은 필수적인 것은 아니다. 왜냐하면, 양자화된 값(130)은 양자화 파라미터(142) 및 양자화 값(152)에 의해 표현될 수 있기 때문이다. 장치(100)가 명백히 양자화된 값(130)을 결정하는 것이 필수적인 것은 아니다.
일 실시예에 따르면, 생성된 NN 표현(110)은 결정된 양자화 파라미터(142) 및 결정된 양자화 값(152)를 포함할 수 있고, 따라서 NN 파라미터(120)는 즉, NN 파라미터(120)의 양자화된 값(130)은 NN 표현(110)으로부터 유도될 수 있다. 예를 들어, 장치(100)는 양자화 파라미터(142)와 양자화 값(152)을 NN 표현(110) 안으로 인코딩하도록 구성될 수 있다.
승수(144)는 양자화 파라미터(142)에 의해 유도되는 피제수(dividend)와 정확도 파라미터(k)(145)로부터 유도되는 제수(divisor) 사이의 나눗셈의 나머지에 기초하여 양자화 파라미터(142)로부터 유도될 수 있다.
비트 천이 수(146)는 상기 나눗셈의 몫의 라운딩에 기초하여 즉, 양자화 파라미터(142)에 의해 유도되는 피제수(dividend)와 정확도 파라미터(k)(145)로부터 유도되는 제수(divisor) 사이의 나눗셈의 몫의 라운딩에 기초하여 양자화 파라미터(142)로부터 유도될 수 있다.
양자화 파라미터(142)의 결정(140)은 NN 파라미터(120)의 양자화된 값(130)이 비트 천이 수(146)에 따른 비트 수만큼 비트-천이된, 승수(144)에 따른 인자(148) 및 양자화 값(152)의 곱에 대응하도록 수행된다. NN 파라미터(120)의 양자화된 값(130)은 예컨대, 천이의 경우 부호가 분리 처리된 양자화된 값의 절대값의 관점에서 또는 2의 보수 표현(complement representation) 및 2의 보수 연산(complement arithmetic)을 각각 이용하는 경우와 같은 절대값과 부호 양자의 관점에서의 곱셈에 대응한다. 이것은 예시적으로 유닛(150)에서 도시된다.
일 실시예에 따르면, 장치(100)는 NN 파라미터에 대한 부동 소수점 표현을 이용하여 NN(20)을 트레이닝하고, 양자화 에러를 줄이기 위한 반복적인 최적화 방법에 의해 NN 파라미터에 대한 양자화 값(152) 및 양자화 변수(142)를 결정함으로써, NN 파라미터 예컨대, NN 파라미터(120)의 양자화된 값(130)을 제공하도록 구성된다.
장치(100)과는 달리, 도1은 NN 표현(110)으로부터 NN 파라미터 즉, NN 파라미터(120)의 양자화된 값(130)을 구하는 장치(300) 및 NN 표현(110)을 정의하는 디지털 데이터(200)를 도시한다. 디지털 데이터(200) 및 장치(300)는 NN 파라미터의 원래의 값을 보지 못했다는 사실 때문에, 양자화된 값(130)은 이 맥락에서 NN 파라미터의 값으로서 이해될 것이다. 이러한 이유로, NN 파라미터는 디지털 데이터(200) 및 장치(300)에 대한 이하의 설명에 대해서 130 번으로 표시될 것이다. 여기에서 논의된 NN 파라미터는 NN 파라미터에 할당된 원래의 값(120)에 의해서 또는 원래의 값(120)에 기초하여 결정된 양자화된 값(130)에 의해서 표현될 수 있다는 것은 자명하다. 그러므로, NN 파라미터가 원래의 값(120) 또는 양자화된 값(130)에 의해 표현되는지 상관없이 일반적으로 적용될 수 있는 특징들을 설명하는 경우, NN 파라미터는 NN 파라미터는 이하에서 120/130으로 표시될 것이다.
양자화 파라미터(142)에 의해 유도되는 피제수와 정확도 파라미터(k)(145)에 의해 유도되는 제수 사이의 나눗셈의 나머지에 기초하여 양자화 파라미터(142)로부터 유도 가능한 승수(144)가 있도록, 및 이 나눗셈의 몫의 라운딩에 기초하여 양자화 파라미터(142)로부터 유도 가능한 비트 천이 수(146)가 있도록, 디지털 데이터(200)는 NN 표현(110)을 정의하고, NN 표현(110)은 NN 파라미터를 제공하기 위한 양자화 파라미터(142) 및 양자화 값(152)을 포함한다. NN 표현(110)은, NN 파라미터(130)는 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 승수(144)에 따른 인자(148) 및 양자화 값(152) 사이의 곱셈에 대응하도록 양자화 파라미터(142) 및 양자화 값(152)를 포함한다.
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)는 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 승수(144)에 따른 인자(148) 및 양자화 값(152) 사이의 곱셈에 대응한다. 도2의 유닛(150) 및 장치(100)에 대한 전술한 대응하는 설명을 참조하도록 한다. NN 파라미터(130)는 예를 들어, NN 파라미터 유도 유닛(350)을 이용하여 유도될 수 있다. NN 파라미터 유도 유닛(350)은 장치(100)의 선택적 유닛(150)과 같은 동일한 기능성 및/또는 특징들을 포함할 수 있다.
이하, 장치(100) 및 장치(300) 모두에 적용될 수 있는 실시예들 및 예시들이 제공된다.
일 실시예에 따르면, NN 파라미터(120/130)는 가장치 파라미터, 배치 정규화 파라미터, 및 편향 중 하나이다. 가중치 파라미터 예컨대, , 의 성분은 한 쌍의 뉴론들 사이의 뉴론간 활성화 피드-포워드에 가중치를 부여하는데 유용할 수 있고, 또는 택일적으로 말하자면, 제1 뉴론 및 제2 뉴론을 연결하는 엣지에 관련되고, 제2 뉴론에 대한 인바운드 활성화들의 총합에서 제1 뉴론의 활성화의 포워딩에 가중치를 부여하는 가중치를 표현할 수 있다. 배치 정규화 파라미터 예컨대, , , , , 는 뉴럴 네트워크 층의 아핀 변환을 파라미터화 하는데 유용할 수 있고, 편향 예컨대 의 성분은 미리 결정된 뉴럴 네트워크 뉴론에 대한 인바운드 뉴론간 활성화 피드-포워드들의 합을 편향하는데 유용할 수 있다.
일 실시예에 따르면, NN 파라미터(120/130)는 예컨대, 도1에 도시된 바와 같은, NN의 복수의 뉴론간 활성화 피드-포워드들 중 단일 뉴론간 활성화 피드-포워드(12i) 예컨대, W의 성분 w의 관점에서 NN(20)을 파라미터화한다. 장치(100)/장치(300)는 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해서, 대응하는 NN 파라미터(120/130)를 NN 표현(110)으로 인코딩/ 그 역으로 유도하도록 구성된다. 대응하는 NN 파라미터(130)는 NN 표현(110) 안에 포함된다. 이 경우, 장치(100)는 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 양자화 파라미터(142) 및 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 양자화 값(152)을 결정(140)함으로써, 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대하여 대응하는 NN 파라미터(120)를 대응하는 양자화 값(130)으로 양자화하도록 구성될 수 있다. 관련 양자화 파라미터(142)의 결정(140)이 수행되어, 각각의 뉴론간 활성화 피드-포워드(12i )와 연관된 관련 양자화 파라미터(142)에 의해 유도되는 피제수 및 관련 정확도 파라미터(145)에 의해 유도되는 제수 사이의 나눗셈의 나머지에 기초하여 각각의 뉴론간 활성화 피드-포워드(12i )와 연관된 관련 승수(144)가 관련 양자화 파라미터(142)로부터 유도될 수 있고, 이 나눗셈의 몫의 라운딩에 기초하여 각각의 뉴론간 활성화 피드-포워드(12i )와 연관된 관련 비트 천이 수(146)가 관련 양자화 파라미터(142)로부터 유도될 수 있다. 이 경우, 대응하는 장치(300)는 복수의 뉴론간 활성화 피드-포워드들(122) 중 각각에 대해, NN 표현(110)으로부터 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 양자화 파라미터(142)를 유도(310)하고, NN 표현(110)으로부터 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 양자화 값(152)를 유도(320)하도록 구성된다. 이들 유도(310, 320)는 NN 표현(110)으로부터 디코딩함으로써 수행될 수 있는데, 즉, 엣지당 하나가 디코딩 될 수 있다. 덧붙여, 장치(300)는 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 각각의 뉴론간 활성화 피드-포워드(12i )와 연관된 관련 정확도 파라미터(145)에 의해 유도되는 제수 및 관련 양자화 파라미터(142)에 의해 유도되는 피제수 사이의 나눗셈의 나머지에 기초하여 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 승수(144)를 관련 양자화 파라미터(142)로부터 유도하고, 이 나눗셈의 몫의 라운딩에 기초하여 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 비트 천이 수(146)를 양자화 파라미터(142)로부터 유도하도록 구성된다. 330 및 340 참조. 이들 유도(330 및 340)는 예컨대, NN 표현(110)으로부터 디코딩함으로써 수행될 수 있고, 즉, 엣지당 하나가 디코딩될 수 있다.
다른 실시예에 따르면, 장치(100)/장치(300)는 NN(20)의 복수의 뉴론간 활성화 피드-포워드들(122)을 뉴론간 활성화 피드-포워드들의 서브 그룹들(122a, 122b)로 세분화하여, 각각의 서브 그룹이 NN 중 연관된 한 쌍의 NN 층들과 연관되고, 이 연관된 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들을 포함하고, 이 연관된 한 쌍의 층들 외의 다른 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들은 배제하도록 하고, 하나 이상의 서브 그룹이 미리 결정된 NN 층과 연관된다. 예컨대 도3을 참조. 서브 그룹(122a)는 예컨대, NN(20) 중 연관된 한 쌍의 NN 층들(114, 1161)과 연관되고, 연관된 한 쌍의 NN 층들(114, 1161) 사이의 뉴론간 활성화 피드-포워드들을 포함하고, 연관된 한 쌍의 NN 층들(114, 1161) 외의 다른 쌍들의 NN 층들 예컨대, 다른 한 쌍의 NN층들(1161 및 1162) 사이의 뉴론간 활성화 피드-포워드들을 포함하지 않는다. 서브 그룹들(122a, 122b)은 층(1161)과 연관된다. NN(20)의 복수의 뉴론간 활성화 피드-포워드들(122)의 세분화는 예컨대, NN(20) 내의 각각의 에지/가중치(12)에 대한 색인에 의해, 또는 각각의 층들 쌍(layer pair) 사이의 에지들(12)에 대한 세그멘팅에 의해 수행될 수 있다. NN 파라미터(120/130)는 NN(20)의 복수의 뉴론간 활성화 피드-포워드들(122) 중 단일 뉴론간 활성화 피드-포워드(12i) 관점에서 NN(20)을 파라미터화한다. 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(120/130)는 NN 표현(110)에 포함된다. 장치(300)는 예컨대, NN 표현으로부터 디코딩함으로써 즉, 에지 서브 그룹 당 하나가 디코딩됨으로써, 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(120/130)를 NN 표현(110)으로부터 유도하도록 구성된다. 장치(100)/장치(300)는 뉴론간 활성화 피드-포워드들의 각각의 서브 그룹(122a, 122b)에 대해 각각의 서브 그룹(122a 또는 122b)과 연관된 관련 양자화 파라미터(142)를 결정(140)/유도(310)하도록 구성된다. 양자화 파라미터(142)는 장치(100)에 의해 결정(140)되어, 각각의 서브 그룹(122a 또는 122b)과 연관된 관련 승수(144)는 각각의 서브 그룹과 연관된 관련 정확도 파라미터(145)에 의해 유도되는 제수 및 관련 양자화 파라미터(142)에 의해 유도되는 피제수 사이의 나눗셈의 나머지에 기초하여, 양자화 파라미터(142)로부터 유도될 수 있고, 양자화 파라미터(142)가 장치(100)에 의해 결정(140)되어 각각의 서브 그룹(122a 또는 122b)과 연관된 관련 비트 천이 수(146)가 이 나눗셈의 몫의 라운딩에 기초하여 양자화 파라미터(142)로부터 유도될 수 있다. 장치(300)는 NN 표현(110)으로부터 관련 승수(144) 및 관련 비트 천이 수(146)를 유도하도록 구성된다. 장치(100)/장치(300)는 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, NN 표현(110)으로부터 각각의 뉴론간 활성화 피드-포워드(12i)와 연관된 관련 양자화 값(152)을 결정(150)/유도(320) (NN 표현(110)으로부터 디코딩함으로써 즉, 엣지당 하나가 디코딩됨으로써, 유도함(320))하도록 구성된다. 각각의 뉴론간 활성화 피드-포워드(12i)에 대한 대응하는 NN 파라미터(120/130)는 각각의 뉴론간 활성화 피드-포워드(12i)가 포함된 서브 그룹(예컨대, 122a, 122b)의 관련 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 각각의 뉴론간 활성화 피드-포워드(12i)가 포함된 서브 그룹(예컨대, 122a, 122b)과 연관된 관련 승수(144)에 따른 인자(148) 및 관련 양자화 값(142) 사이의 곱셈에 대응한다.
관련 정확도 파라미터(145)는 예를 들어, NN(20)에 걸쳐 전역적으로 또는 각각의 NN 층(114, 1161, 1162) 내에서 동일한 값으로 된다. 선택적으로, 장치(100)/장치(300)는 NN 표현(110)으로/으로부터 관련 정확도 파라미터(145)를 인코딩/유도하도록 구성된다.
일 실시예에 따르면, 장치(100)/장치(300)는 산술 적응 부호화/복호화를 이용함으로써, 또는 양자화 파라미터(142)를 나타내는 비트들을 NN 표현(110)으로/으로부터 직접 쓰기/읽기 함으로써, 또는 장치(100)/장치(300)의 적응 산술 부호화기/복호화기(context-adaptive binary arithmetic encoder/decoder)의 등-확률(equi-probability) 바이패스 모드를 통해 NN 표현(110)으로/으로부터 양자화 파라미터(142)를 나타내는 비트들을 인코딩/유도함으로써, NN 표현(110)으로/으로부터 양자화 파라미터(142)를 인코딩/유도하도록 구성된다. 장치(100)/장치(300)는 이진화 기법을 이용하여 이진 스트링(bin string)을 이진화/역-이진화(debinarizing)함으로써 NN 표현(110)으로부터 양자화 파라미터(142)를 유도하도록 구성될 수 있다. 이진화 기법은 예컨대, Exponential-Golomb-Code 일 수 있다.
일 실시예에 따르면, 장치(100)는 양자화 파라미터(142)를 결정(140)하고 이것을 고정된 포인트 표현의 예컨대, 2의 보수 표현의 형태로 NN 표현(110) 안으로 인코딩하도록 구성된다. 장치(300)는 고정된 포인트 표현의 예컨대, 2의 보수 표현의 형태로 NN 표현(110)으로부터 양자화 파라미터(142)를 유도(310)하도록 구성될 수 있다. 선택적으로, 정확도 파라미터(145)는 2t 이고, 고정된 포인트 표현 예컨대, 2의 보수 표현의 비트 길이는 NN(20)에 대해 일정하게 설정되거나 NN(20) 대해 일정한 기본 비트 길이와 t의 합으로 설정된다.
일 실시예에 따르면, 장치(100)/장치(300)는 NN 표현(110)으로/으로부터 양자화 파라미터(142)를 정수 값의 구문 요소(integer valued syntax element)로서 인코딩/유도하도록 구성된다.
일 실시예에 따르면, 장치(100)는 양자화 값(152)을 결정하고, 이것을 고정된 포인트 표현 예컨대, 2의 보수 표현의 형태로 NN 표현(110) 안으로 인코딩하도록 구성된다. 장치(300)는 고정된 포인트 표현 예컨대, 2의 보수 표현의 형태로 NN 표현(110)으로부터 양자화 값(152)을 유도(320)하도록 구성될 수 있다.
일 실시예에 따르면, 장치(100)/장치(300)는 적응 산술 부호화/복호화를 이용하여 이진 스트링의 비트들을 인코딩/디코딩하는, 이진화 기법에 따라 이진 스트링으로/으로부터 양자화 값(152)을 이진화/역-이진화함으로써 NN 표현(110)으로/으로부터 양자화 값(152)을 인코딩/유도하도록 구성된다.
일 실시예에 따르면, 장치(100)/장치(300)는 적응 산술 부호화/복호화를 이용하여 이진 스트링의 제1 비트들을 인코딩/디코딩하고, 등-확률 바이패스 모드를 이용하여 이진 스트링의 제2 비트들을 인코딩/디코딩하는, 이진화 기법에 따라 이진 스트링으로/으로부터 양자화 값(152)을 이진화/역-이진화함으로써 NN 표현(110)으로/으로부터 양자화 값(152)을 인코딩/디코딩하도록 구성된다.
일 실시예에 따르면, 양자화 스텝 크기(, 149)는 다음의 수식에 따라서, 부호화 정수로 표시되는 양자화 파라미터(,142) 및 양의 정수 파라미터() 즉, 정확도 파라미터(145)로부터 장치(100)에 의해 및/또는 장치(300)에 의해 유도될 수 있다.
선택적으로, 장치(100) 및/또는 장치(300)는 정확도 파라미터(k, 145)를 디폴트 값으로 설정하도록 구성될 수 있다.
택일적으로, 선택적으로 장치(100)는 정확도 파라미터(k, 145)에 대해 자연수 또는 2의 거듭제곱과 같은 몇몇 서로 다른 정수들을 테스트할 수 있다. 서로 다른 정수 값들은 예를 들어, 전체 NN에 대해 또는 각각의 층과 같은 NN의 각 섹션에 대해 테스트되고, 양자화 에러 및 비트 레이트 관점에서 예컨대, 동일한 것의 랑그랑쥬(Langrange) 합의 관점에서 가장 우수한 정확도 파라미터(k, 145)가 선택된다. 장치(100)는 예를 들어, 결정(140) 과정에서, 승수(144) 및 비트 천이 수(146)가 양자화 파라미터(142)로부터 유도될 수 있는지를 체크하기 위하여 정확도 파라미터(k, 145)를 결정하도록 구성될 수 있다. 선택적으로, 장치(100)에 의해 선택된 정확도 파라미터(k, 145)는 NN 표현(110) 내에서 시그널링 되는데, 예컨대, NN 표현(110) 안으로 인코딩된다. 장치(300)는 예를 들어, NN 표현(110)으로부터 정확도 파라미터(k, 145)를 유도하도록 구성된다.
일 실시예에 따르면 정확도 파라미터(145)는 2의 제곱이다.
일 실시예에 따르면, 장치(100)/장치(300)는 정확도 파라미터(145)를 나타내는 비트들을 NN 표현(110)으로/으로부터 직접 쓰기/읽기 함으로써 또는 장치(100)/장치(300)의 적응 산술 부호화기/복호화기의 등-확률 바이패스 모드를 통해 NN 표현(110)으로/으로부터 정확도 파라미터(145)를 나타내는 비트들을 인코딩/유도함으로써, NN 표현(110)으로/으로부터 정확도 파라미터(145)를 인코딩/유도하도록 구성된다.
비트스트림 예컨대, 디지털 데이터(200)에 32비트 부동 소수점 값을 시그널링하는 대신, 오직 파라미터들 (142) 및 (145) 만이 시그널링되면 족하다. 몇몇 응용에서는, 비트스트림 내에 (142) 만을 시그널링하고, (145)를 어떤 고정 값으로 설정하는 것으로 충분할 수 있다.
바람직한 실시예에서, 파라미터 는 (142)를 대신하여 비트스트림 내에 시그널링되고, 여기에서, 파라미터 는 미리 정의된 상수이다. 즉, 일 실시예에 따르면, 장치(100)/장치(300)는 참조 양자화 파라미터 와의 차의 형태로 NN 표현(110)으로/으로부터 관련 양자화 파라미터 QP(142)를 인코딩/유도하도록 구성된다.
이것은 이하에서 예시되는 바와 같은 부동 소수점 영역 대신 정수 영역에서 몇몇 계산들이 수행될 수 있도록 해준다.
도4는 NN(20)을 이용하여 추론을 수행하는 디바이스(400)를 도시한다. 디바이스(400)는 NN(20)을 파라미터화하도록 구성되는 NN 파라미터라이저(410)를 포함한다. NN 파라미터라이저(410)는 NN 표현(110)으로부터 NN 파라미터(130)를 유도하는 장치(300)를 포함한다. NN 파라미터(130)를 유도하는 장치(300)는 도2의 장치(300)에 관해 설명된 바와 동일한 또는 유사한 특징들을 포함할 수 있다. 장치(300)는 NN 파라미터 유도 유닛으로 이해될 수 있다. 덧붙여, 디바이스(400)는 NN(20)을 이용하여 예컨대, NN 파라미터라이저(410)에 의해 결정되는 NN(20)의 파라미터화(450)를 이용하여, NN 입력(440)에 기초해 추론 출력(430)을 계산하도록 구성된다.
예시 1:
일 실시예에 따르면, NN 파라미터라이저(410)는 장치(300)를 통해 제1 NN 파라미터 및 제2 NN 파라미터 중 적어도 하나를 유도하도록 구성되어, 제1 NN 파라미터는 제1 비트 수만큼 비트-천이되는 제1 양자화 값 및 제1 인자 사이의 곱셈에 대응하도록 하고, 제2 NN 파라미터는 제2 비트 수만큼 비트-천이되는 제2 양자화 값 및 제 2 인자 사이의 곱셈에 대응하도록 한다.
제1 양자화 값 및 제2 양자화 값은 도2에서 152로 표시된 양자화 값을 나타낸다. 제1 인자 및 제2 인자는 도2에서 148로 표시된 인자를 나타낸다.
예를 들어, 및 라 하고, 제1 , 즉 로 표시되는 제1 양자화 파라미터(142), 관련 , 즉 제1 비트 천이 수(146), 즉, 제1 승수 (144), 및 , 즉, 제1 양자화 스텝 크기(149)를 정의한다.
또한, 제2 , 즉 로 표시되는 제2 양자화 파라미터(142), 관련 , 즉 제2 비트 천이 수(146), 즉, 제2 승수(144), 및 , 즉, 제2 양자화 스텝 크기(149)를 정의한다.
'제1' 파라미터들 및 '제2' 파라미터들이 이 맥락에서 동일한 참조 번호로 표시되었지만, 그것들은 서로 다른 값들을 가질 수 있다는 것은 자명하다. 그것들이 속한 도2에 도시된 어떤 특징들을 명확하게 하기 위하여 그것들은 동일한 참조 번호들로 표시되었다.
두 행렬은 동일한 차원을 가질 수 있다. 도2에서 논의된 양자화 값(152)은 의 일 컴포넌트 또는 의 일 컴포넌트를 나타낼 수 있다. 예를 들어, 는 복수의 제1 양자화 값들(152)을 포함할 수 있고,는 복수의 제2 양자화 값들(152)을 포함할 수 있다.
디바이스(400)는 제1 가수 예컨대, 제1 NN 파라미터(C)에 대한 제1 양자화 값() 에 제1 승수()가 가중되어 형성된 및 제2 가수 예컨대, 제2 NN 파라미터(D)에 대한 제2 양자화 값() 에 제2 승수()가 가중되어 형성되고 제1 및 제2 비트 수의 차 만큼 비트 천이( 참조)된 의 합을 형성하고, 제1 가수 및 제2 가수의 덧셈을 제1 및 제2 비트 수 중 하나에 따른, 예컨대 제1 비트 천이 수() 또는 제2 비트 천이 수(에 따른, 비트의 수만큼 비트 천이()함으로써, NN(20)의 최종 NN 파라미터를 생성하기 위하여 제1 NN 파라미터(C) 및 제2 NN 파라미터(D)를 합산하도록 구성된다.
선택적으로, 이 산출/계산은 계산 유닛(420)에 의해 수행될 수 있다. 이 경우, 계산 유닛(420)은 계산 수행시, 앞서 설명한 바와 같이, NN(20)의 최종 NN 파라미터를 생성하기 위하여 제1 NN 파라미터(C) 및 제2 NN 파라미터(D)를 합산하도록 구성된다.
수식에서 알 수 있는 바와 같이, 부동 소수점 연산을 필요로 할 수 있는 C 및 D를 유도할 필요가 없다. 대신, 의 원소들 즉, 제1 양자화 값들(152)이 단지 즉, 제1 승수(144)와 곱하여 지고, 의 원소들 즉, 제2 양자화 값들(152)이 즉, 제2 승수(144)와 곱하여 지고, 인자 는 단지 비트 천이 연산으로서 구현되는데, 이는 의 제1 양자화 값들(152) 즉, 의 컴포넌트들과 연관된 제1 비트 천이 수 (, 146)와 의 제2 양자화 값들(152) 즉, 의 컴포넌트들과 연관된 제2 비트 천이 수 (, 146)에 의존한다. 이기 때문에, 정수 변수 및 는 모두 4, 5, 6, 및 7 중 하나임에 주의한다. 이러한 작은 수와의 정수 곱셈은 하드웨어 또는 소프트웨어 구현시 매우 효율적으로 구현될 수 있다.
일 실시예에 따르면, 제1 NN 파라미터는 NN(20)의 베이스 층 표현을 나타내고, 제2 NN 파라미터는 NN(20)의 향상 층(enhancement layer) 표현을 나타낸다. 택일적으로, 제1 NN 파라미터는 예컨대, NN(20)의 현재 표현을 나타내고, 제2 NN 파라미터는 현재 NN 표현의 업데이트 즉, NN(20)의 현재 표현의 업데이트를 나타낸다. 택일적으로, 예를 들어, 제1 NN 파라미터는 미리 결정된 뉴럴 네트워크 뉴론(10)에 대한 인바운드 뉴론간 활성화 피드-포워드들의 합을 편향하기 위한 편향 즉, 의 컴포넌트를 나타내고, 제2 NN 파라미터는 예컨대 와 같이 뉴럴 네트워크 층(114, 1161 또는 1162)의 아핀 변환을 파라미터화하기 위한 배치 정규화 파라미터 즉. , , 또는 를 나타낸다.
예시 2:
일 실시예에 따르면, NN 파라미터라이저(410)는 장치(300)를 통해 제3 NN 파라미터 및 제4 NN 파라미터 중 적어도 하나를 유도하도록 구성되어, 제3 NN 파라미터는 제3 비트 수만큼 비트-천이되는 제3 양자화 값 및 제3 인자 사이의 곱셈에 대응하도록 하고, 제4 NN 파라미터는 제4 비트 수만큼 비트-천이되는 제4 양자화 값 및 제4 인자 사이의 곱셈에 대응하도록 한다.
제3 양자화 값 및 제4 양자화 값은 도2에서 152로 표시된 양자화 값을 나타낸다. 제3 인자 및 제4 인자는 도2에서 148로 표시된 인자를 나타낸다.
예를 들어, 및 라 하고, 제1 , 즉 로 표시되는 제3 양자화 파라미터(142), 관련 , 즉 제3 비트 천이 수(146), 즉, 제3 승수 (144), 및 , 즉, 제3 양자화 스텝 크기(149)를 정의한다.
또한, 제2 , 즉 로 표시되는 제4 양자화 파라미터(142), 관련 , 즉 제4 비트 천이 수(146), 즉, 제4 승수 (144), 및 즉, 제4 양자화 스텝 크기(149)를 정의한다.
'제3' 파라미터들 및 '제4' 파라미터들이 이 맥락에서 동일한 참조 번호로 표시되었지만, 그것들은 서로 다른 값들을 가질 수 있다는 것은 자명하다. 그것들이 속한 도2에 도시된 어떤 특징들을 명확하게 하기 위하여 그것들은 동일한 참조 번호들로 표시되었다. 디바이스(400)는 제3 및/또는 제4 파라미터만을 유도하도록 또는 추가적으로 예시 1에서 앞서 설명된 바와 같은 제1 및/또는 제2 파라미터를 유도하도록 구성될 수 있다.
도2에서 논의된 양자화 값(152)은 의 일 컴포넌트 또는 의 일 컴포넌트를 나타낼 수 있다. 예를 들어, 는 복수의 양자화 값들(152)을 포함할 수 있고, 는 복수의 양자화 값들(152)을 포함할 수 있다.
제3 비트 수에 의해 형성되는 제1 가수()와 제4 비트 수에 형성되는 제2 가수()를 포함하는 합에 대응하는 비트 수만큼 예컨대 비트 천이 되는, 제3 NN 파라미터(W)에 대한 제3 양자화 값에 의해 형성되는 제1 인자, 제3 승수()에 의해 형성되는 제2 인자, 제4 NN 파라미터()에 대한 제4 양자화 값()에 의해 형성되는 제3 인자, 및 제4 승수()에 의해 형성되는 제4 인자의 곱을 형성함으로써 곱셈을 제공하는, 제3 NN 파라미터(W) 및 제4 NN 파라미터()의 곱셈에 의해 이 산출/계산은 계산 유닛(420)에 의해 수행될 수 있다.
수식에서 알 수 있는 바와 같이, 부동 소수점 연산을 필요로 할 수 있는 및 를 유도할 필요가 없다. 대신 의 계산은 단지 정수 곱셈들을 포함하고, 이어지는 와의 곱셈은 비트-천이로서 구현될 수 있다. 이기 때문에, 정수 변수 및 는 모두 4, 5, 6, 및 7 중 하나임에 주의한다. 이러한 작은 수와의 정수 곱셈은 하드웨어 또는 소프트웨어 구현시 매우 효율적으로 구현될 수 있다.
일 실시예에 따르면, 제3 NN 파라미터는 제1 NN 층(114)의 제1 뉴론(101)으로부터 제2 NN 층(1162)의 제2 뉴론(102)으로의 뉴론간 활성화 피드-포워드에 가중치를 부여하기 위한 가중치 파라미터 예컨대, , 의 컴포넌트를 나타내고 또는 택일적으로 말하자면, 제3 NN 파라미터는 제1 뉴론(101) 및 제2 뉴론(102)을 연결하는 엣지(12i )와 연관되고, 제2 뉴론(102)에 대한 인바운드 활성화들의 합에서 제1 뉴론(101)의 활성화의 포워딩에 가중치를 부여하는 가중치를 나타낸다.
제4 NN 파라미터는 예컨대, 배치 정규화 파라미터를 예컨대, , , 또는 를 나타낸다. 이 배치 정규화 파라미터는 예컨대, 와 같이, 예컨대 제2 NN 층(1161)에 대한 제1 뉴론(101)의 활성화 피드-포워드 증폭을 조정하기 위한 것이다.
일 실시예에 따르면, 디바이스(400)는 예컨대, 장치(300)를 이용하여, 활성화에 대한 제5 양자화 파라미터 즉, 양자화 파라미터(142) 및 제5 양자화 값 예컨대 즉, 양자화 값(152)을 결정하여, 이 활성화(activation)를 양자화된 값 예컨대, 으로 양자화함으로써, NN 입력 (440)을 양자화하도록 구성된다. 이에, 상기 활성화에 연관된 정확도 파라미터 즉, 정확도 파라미터(145)에 의해 유도되는 제수 및 제5 양자화 파라미터에 의해 유도되는 피제수 사이의 나눗셈의 나머지에 기초한 제5 양자화 파라미터 로부터의 제5 승수 즉, 승수(144)의 유도와, 이 나눗셈의 몫의 라운딩에 기초한 제5 비트 천이 수 즉, 비트 천이 수(146)의 유도는, 제5 비트 천이 수에 따른 제5 비트 수만큼 비트-천이되는, 제5 승수에 따른 인자 즉, 인자(148)와 제5 양자화 값 사이의 곱셈에 대응하는 양자화된 값의 결과를 낳는다.
바람직한 실시예에 따르면, 편향된 층(biased layer) 또는 배치 정규화 층(batch norm layer)의 입력 (440)는 본 발명의 양자화 방법을 이용하여 또한 양자화된다. 도2의 장치(100)에 대한 설명을 참조. 즉, 양자화 파라미터 및 관련 변수들 즉, 관련 , , 및 ( 및 )이 선택되고, 이 유지되도록 가 '로 양자화된다. 그리고, 편향 층 또는 배치 정규화 층을 실행하기 위하여 를 사용하는 대신, 입력으로서 가 이용된다. 는 또한 보다 훨씬 더 적은 요소당 비트로 표현될 수 있고, 이는 효율적인 하드웨어 또는 소프트웨어 구현을 위한 또다른 장점이라는 점에 주의한다.
일 실시예에 따르면, NN 파라미터라이저(410)는 제6 NN 파라미터가 제6 비트 수만큼 비트-천이되는, 제6 양자화 값과 제6 인자 사이의 곱셈에 대응하도록, 장치(300)를 통해 제6 NN 파라미터를 유도하도록 구성된다. 제6 비트 수에 의해 형성되는 제1 가수 및 제4 비트 수에 의해 형성되는 제2 가수를 포함하는 덧셈에 대응하는 비트 수만큼 비트-천이되는, 제6 NN 파라미터에 대한 제6 양자화 값에 의해 형성되는 제1 인자, 제6 승수에 의해 형성되는 제2 인자, 제5 양자화 값에 의해 형성되는 제3 인자, 및 제5 승수에 의해 형성되는 제4 인자의 곱셈을 형성함으로써, 디바이스(400)는 제6 NN 파라미터 및 상기 활성화(activation)의 곱셈을 제공하도록 구성된다.
도2를 다시 참조하여, 장치(100) 및/또는 장치(300)의 추가적인 선택적인 특징들이 이하에서 설명된다.
바람직한 실시예에서, 파라미터 즉, 양자화 파라미터(142)는 이하의 정의에 따른 K 차수의 부호화 (signed) Exponential-Golomb-Code를 이용하여 비트스트림(200)으로/으로부터 장치(100)/장치(300)에 의해 인코딩/디코딩된다.
다른 바람직한 실시예는 0으로 설정된 K 차수를 갖는 앞선 바람직한 실시예와 같다.
·무부호(unsigned) 정수들에 대한
Exponential-Golomb-Code
무부호 정수의 무부호 Exponential-Golomb-Code는 HEVC(High Efficiency Video Coding) 표준에서 정의된 구문 요소 ue(v)의 디코딩 규격을 따를 수 있다.
이 규격에 대해 간략히 이하에서 살펴본다:
K 차수의 무부호 Exponential-Golomb-Code로 인코딩된 이진 표현으로부터 무부호 정수 변수 'decNum'의 디코딩은 다음의 의사-코드(pseudo-code)에 따라 정의된다:
leadingZeroBits = -1
for( b = 0; !b; leadingZeroBits++ )
b = read_bits( 1 )
변수 decNum는 다음과 같이 할당된다:
decNum = ( 2leadingZeroBits - 1 ) * 2K + read_bits( leadingZeroBits + K )
함수 read_bits( x )는 비트스트림으로부터 x 비트들을 읽고, 무부호 정수로서 그것들을 반환한다. 읽혀진 비트들은 최상위 비트(MSB)로부터 최하위 비트(LSB)까지 배열된다.
·부호화(signed) 정수들에 대한
Exponential-Golomb-Code
부호화 정수의 부호화 Exponential-Golomb-Code는 HEVC(High Efficiency Video Coding) 표준에서 정의된 구문 요소 se(v)의 디코딩 규격을 따를 수 있다.
이 규격에 대해 간략히 이하에서 살펴본다:
부호화 Exponential-Golomb-Code로 인코딩된 이진 표현으로부터 부호화 정수 'signedDecNum'의 디코딩은 다음과 같다. 첫째, 무부호 정수는 앞서 설명한 HEVC의 ue(v) 구문 요소 디코딩 프로세스에 따라 디코딩된다. 두 번째, 무부호 정수는 다음의 수식에 의해 부호화 정수로 변환된다:
·추가적인 바람직한 실시예들
바람직한 일 실시예에서, 파라미터 즉, 정확도 파라미터(145)는 로 설정되고, 파라미터 t 는 bits_t 비트들(예컨대, bits_t=3 또는 bits_t=4) 에 의한 무부호 정수 표현을 이용하여 인코딩된다.
또다른 바람직한 실시예에서, 파라미터 즉, 정확도 파라미터(145)는 로 설정되고, 파라미터 t 는 무부호 정수에 대한 Exponential-Golomb-Code를 이용하여 인코딩된다.
또다른 바람직한 실시예에서, 파라미터 QP 즉, 양자화 파라미터(142)는 부호화 정수에 대한 Exponential-Golomb-Code를 이용하여 인코딩된다.
또다른 바람직한 실시예에서, 파라미터 즉, 정확도 파라미터(145)는 로 설정되고, 파라미터 QP는 bits_qp 비트들을 이용하는 2의 보수 표현(two's complement representation)에서 부호화 정수를 이용하여 인코딩된다. bits_qp는 예컨대, 12 또는 13과 같은 상수로 설정되고 또는 bits_qp0 + t 로 설정되며, 여기에서 bits_qp0는 0이 아닌 일정한 정수 값 (예컨대, bits_qp0 = 6) 이다.
CABAC-코딩된 비트스트림(200)의 경우, 파라미터들 t 및/또는 QP(142)를 나타내는 비트들은 (CABAC의 바이패스 모드를 이용하여) 바이패스 빈(bin)들로서 인코딩될 수 있고 또는 그것들은 직접 비트스트림(200) 내에 직접 쓰여질 수 있다.
또다른 바람직한 실시예에서, 제1 (142)는 비트스트림(200) 안으로 인코딩되고, 모델의 파라미터들의 서브셋과 연관된다. 이 서브셋의 파라미터 각각에 대해, 하나의 -오프셋, 가 파라미터마다 인코딩되고, 파라미터 즉, NN 파라미터(120)를 역-양자화하기 위해 이용되는 유효한 (142)가 로서 주어진다. 의 이진 표현은 의 이진 표현보다 더 적은 비트를 이용한다. 예를 들어, 는 부호화 정수들을 위한 Exponential-Golomb code 또는 (2의 보수 표현에서)고정된 비트 수를 이용하여 인코딩된다.
·가중치 파라미터들의 코딩에 관한 또다른 실시예
도5에 도시된 또다른 바람직한 실시예는 가중치 파라미터들 (545)의 표현에 관한 것이다. 즉, 그것은 그것들을 벡터(546) 및 행렬(544)의 조합: -> s 으로서 고려하고, 및 즉, 가중치 행렬(544)은 행렬들이고, 는 길이 의 전치 벡터(546)이다. 벡터 (546)의 각각의 요소는 가중치 행렬 (544)의 행-방향(row-wise) 스케일링 인자로서 이용된다. 즉, (546)는 성분-별 (544)의 각각의 열과 곱하여 진다. (546)는 로컬 스케일링 인자 또는 로컬 스케일 적용(LSA, local scale adaptation)이라고 부른다.
도5는 NN(20)을 이용하여 추론을 수행하는 디바이스(500)를 도시한다. 디바이스(500)는 NN(20)을 이용하여 NN 입력(440)에 기초하여 추론 출력(430)을 계산하도록 구성된다. NN(20)은 한 쌍의 NN 층들(114, 116)과, 이 한 쌍의 NN 층들 중 제1 층(114)으로부터 NN 층들 중 제2 층(116)으로의 뉴론간 활성화 피드-포워드들(122)을 포함한다. 디바이스(500)는 예컨대, 디바이스(500)의 행렬 형성 유닛(530)을 이용하여, 제1 NN 층(114)의 뉴럴 네트워크 뉴론들(101)의 활성화들(520)로부터 행렬 (532)을 형성함으로써, 제1 NN 층(114)의 뉴럴 네트워크 뉴론들(101)의 활성화들(520)에 기초하여 제2 NN 층(116)의 뉴럴 네트워크 뉴론들(102)의 활성화들(510)을 계산하도록 구성된다. 덧붙여, 디바이스(500)는 (542)를 계산함으로써 제1 NN 층(114)의 뉴럴 네트워크 뉴론들(101)의 활성화들에 기초하여 제2 NN 층(116)의 뉴럴 네트워크 뉴론들(102)의 활성화들(510)을 산출하도록 구성된다. 여기에서, 는 행렬 곱셈을 나타내고, 는 및 인 의 가중치 행렬(544)이고, s는 길이 의 전치 벡터(546)이고, 는 의 일 측에는 행렬과 의 타 측에는 전치 벡터간 컬럼-별 Hadamard 곱셈을 나타낸다. 디바이스(500)는 계산(542)을 수행하도록 구성되는 계산 유닛(540)을 포함할 수 있다. 일 실시예에 따르면, 전치 벡터 s(546)는 (544) 코딩을 위한 더 높은 압축 및/또는 더 높은 추론 정확도의 관점에서 (544)의 최적화의 결과이다.
이유는 산술 부호화(arithmetic coding) 기법들은 더 큰 코딩 이득을 주고 및/또는 뉴럴 네트워크 성능 결과들을 증가시킬 수 있도록 예컨대, 더 높은 정확도를 달성할 수 있도록, LSA가 가중치 행렬(544)을 스케일링하기 때문이다. 예를 들어, 의 양자화 이후에, (546)은 양자화 에러를 줄이기 위하여 조정될 수 있고, 입력 데이터(440) 예컨대, (532)를 이용하거나 이용하지 않거나 양자화된 뉴럴 네트워크의 예측 성능을 증가시킬 수 있다.
(546) 및 (544)는 서로 다른 양자화 파라미터들 즉, 서로 다른 QP들을 가질 수 있다. 이것은 성능 관점에서도 유익할 뿐만 아니라, 하드웨어 효율 관점에서도 유익한 것일 수 있다. 예를 들어, (544)는 입력 532)와의 내적이 8-비트 표현으로 수행될 수 되고 그러나 후속하는 스케일링 인자 (546)과의 곱셈은 16-비트로 수행될 수 있도록 양자화될 수 있다. 디바이스(500)는 예컨대, n-비트 고정 포인트 연산을 이용하여 행렬 곱셈 을 계산하여 내적을 제공하고, m-비트 고정 포인트 연산을 이용하여 이 내적과 (546)을 곱하도록 구성된다(m>n).
그러나, (544) 및 (546) 모두 n-비트 표현으로 양자화된다고 하더라고, 동일한 추론 정확도를 제공하기 위해서는, (545)를 양자화하는데 필요한 것보다 더 작은 n이면 충분할 것이다. 유사하게, (546)가 (544) 보다 더 작은 비트들의 표현으로 양자화된다면, 표현 효율성의 관점에서의 장점들이 달성될 수 있다.
일 실시예에 따르면, 디바이스(500)는 NN 표현(110)으로부터 (544)를 유도하도록 구성되는 NN 파라미터라이저 예컨대, 도4에 도시된 NN 파라미터라이저(410)를 포함한다. NN 파라미터라이저는 NN 표현(110)으로부터 NN 파라미터를 유도하기 위한 장치 예컨대, 도2 또는 도4에 도시된 장치(300)를 포함한다. 가중치 행렬 (544)은 장치(300)에 의해 유도된 NN 파라미터일 수 있다. 선택적으로, NN 파라미터라이저(410)는 (544)와 관련된 NN 파라미터와는 다른 양자화 파라미터(142)를 이용하여 NN 표현(110)으로부터 (546)을 유도하도록 구성된다.
바람직한 실시예에서, 가중치 행렬 W(544)의 인코딩은 다음과 같다. 먼저, LSA가 이용되었는지를 나타내는 플래그(flag)가 인코딩된다. 플래그가 1이면, 파라미터들 s(546) 및 W'(544)은 DeepCABAC와 같은 최신의 파라미터 인코딩 기법을 이용하여 인코딩된다. 플래그가 0이면, W(545)가 대신 인코딩된다.
또다른 바람직한 실시예에서, 전술한 바람직한 실시예에 따라, 상이한 QP 값들이 W'(544) 및 s(546)를 위해 이용된다.
·배치 정규화 압축
도6에서 도시된, 일 실시예는 배치 정규화 압축을 향상시키는 것에 관한 것이다. 도6은 NN의 NN 파라미터들(610) 예컨대, , , , 및 선택적으로 배치 정규화 연산자(710)의 b를 NN 표현(110)으로 코딩하기 위한 장치(600) 및 NN 표현(110)으로부터 NN의 NN 파라미터들(610) 예컨대, (722) 및 (724) 및 파라미터들(732) 즉, , 및 선택적으로 배치 정규화 연산자(710)의 b를 디코딩하기 위한 장치(700)를 보여준다.
일반적으로, 배치 정규화 연산자(7101)는 다음과 같이 정의될 수 있다:
여기에서,
도6에서, 배치 정규화 연산자들의 몇몇 파라미터는 아포스트로피가 없는 파라미터들에 의해 지시되는 원래의 파라미터들(610) 및 아포스트로피가 있는 파라미터들에 의해 지시되는 수정된 파라미터들(722, 724 및 732) 사이를 구별할 수 있도록 하기 위하여 아포스트로피를 갖는다. 수정된 파라미터들(722, 724 및 732) 또는 원래의 파라미터들(610)은 위에 정의된 배치 정규화 연산자(710) 중 하나의 파라미터로서 이용될 수 있다는 것은 자명하다.
계산된 파라미터들 및 은 배치 정규화 연산자(710)의 NN 파라미터들로서 NN 표현(110)으로 코딩되어, 예컨대 동일한 것( 및 )이 또한 각각의 출력 노드에 대한 하나의 컴포넌트를 포함하는 전치 벡터들이다.
따라서 제1 실시예에 대한 배치 정규화 연산자(7101)는 , , := 0인 로서 정의될 수 있고, 여기에서 는 미리 결정된 파라미터이다. 제2 실시예에 대한 배치 정규화 연산자(7102)는 , , := 0인 로서 정의될 수 있다. 제3 실시예에 대한 배치 정규화 연산자(7103)는 , 인 로 정의될 수 있고, 여기에서 는 미리 결정된 파라미터이다. 제4 실시예에 대한 배치 정규화 연산자(7104)는 및 인 로서 정의될 수 있다..
미리 결정된 파라미터는 1 또는 1- 이고, 예컨대 , , , 및 는 각각의 출력 노드에 대한 하나의 컴포넌트를 포함하는 전치 벡터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, '는 편향을 형성하는 전치 벡터, 예컨대 각각의 출력 노드에 대해 일 컴포넌트를 포함하는 전치 벡터이다.
제1 실시예에 따르면, 장치(700)는 , , := 0 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링(734)을 통해 추론 또는 유도하도록 구성되고, 여기에서 는 미리 결정된 파라미터이다.
제3 실시예에 따르면, 장치(700)는 , 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링(734)을 통해 추론 또는 유도하도록 구성되고, 여기에서 는 미리 결정된 파라미터이다.
미리 결정된 파라미터는 1 또는 1- 이고, 예컨대 , , , 및 는 각각의 출력 노드에 대한 하나의 컴포넌트를 포함하는 전치 벡터들이고, 는 가중치 행렬이고, 는 NN 층의 활성화들로부터 유도되는 입력 행렬이고, '는 편향을 형성하는 전치 벡터, 예컨대 각각의 출력 노드에 대해 일 컴포넌트를 포함하는 전치 벡터이다.
도6에서, 장치(700)에 의해 유도되는 또는 추론되는 파라미터들은 아포스트로피에 의해 표시되나 장치(700)는 원래의 파라미터들(610)을 본 적이 없다는 사실 때문에 장치(700)에 의해 유도되는 또는 추론되는 파라미터들은 또한 아포스트로피를 사용하지 않고 표시될 수도 있다. 장치(700)의 관점에서, 유도된 또는 추론된 파라미터들은 오직 기존 파라미터들이다.
선택적으로, 장치(700)는 예컨대 추론을 위해, 유도된 또는 추론된 파라미터들(722, 724, 732)과 함께 배치 정규화 연산자를 이용하도록 구성될 수 있다. 배치 정규화 연산자 계산 유닛은 배치 정규화 연산자를 이용하도록 구성될 수 있다. 택일적으로, 추론을 위한 디바이스 예컨대, 디바이스(400) 또는 디바이스(500)는 배치 정규화 연산자(710)의 파라미터들을 얻기 위하여 장치(700)를 포함할 수 있다.
일정한 스칼라 값 , 즉 예를 들어 1 또는 일 수 있는 미리 결정된 파라미터를 입력함으로써, 파라미터들 , , , , 및 은 즉, 배치 정규화 연산자(710)의 결과를 변경하지 않고 다음의 순차적인 단계들에 의해 수정될 수 있다:
이 연산들 각각은 전치 벡터들의 요소들에 대한 성분-별 연산들로서 해석될 수 있다. 제2 및 제3 실시예들에서 예시된 바와 같이 를 바꾸지 않는 추가적인 수정들이 또한 가능하다. 예를 들어, 편향 및 평균 이 안에 통합되어 및 는 그 이후 0으로 설정된다(제3 실시예 참조). 또는 다른 파라미터들이 따라서 조정될 때 의 분수의 분모를 1로 설정하기 위하여, 는 (i.e., )으로 설정될 수 있다.
바람직한 실시예에서, 파라미터의 모든 요소들이 미리 정의된 일정한 값을 갖는지를 가리키는 플래그(734)가 인코딩된다. 예를 들어, 파라미터는 , , , , 또는 일 수 있다. 미리 정의된 값은 예컨대 0, 1, 또는 일 수 있다. 플래그가 1이면, 파라미터의 모든 벡터 요소들은 미리 정의된 값으로 설정된다. 다른 경우에는, 파라미터는 예컨대, DeepCABAC와 같은 최신 인코딩 방법들 중 하나를 이용하여 인코딩된다.
또다른 바람직한 실시예에서, 모든 벡터 요소들이 동일한 값을 갖는지를 가리키는 플래그가 파라미터당 인코딩된다. 모든 벡터 요소들이 동일한 값을 갖는 경우, 플래그는 1이고, 값은 예컨대 DeepCABAC, Exponential-Golomb-Code, 또는 고정-길이 코드(fixed-length code)와 같은 최신 파라미터 인코딩 방법들을 이용하여 인코딩된다. 플래그가 0이면, 파라미터의 벡터 요소들이 예컨대, DeepCABAC와 같은 최신 파라미터 인코딩 방법들 중 하나를 이용하여 인코딩된다.
일 실시예에 따르면, 장치(600)/장치(700)는 의 모든 컴포넌트들이 서로 같다는 것과 그 값을 표현(110) 안에/으로부터 나타내도록(indicate)/유도하도록 구성되고, 예컨대 상기 컴포넌트 각각은 대응하는 출력 노드를 나타내는 W의 대응하는 행에 대한 것이다. 부가적으로 또는 택일적으로, 장치(600)/장치(700)는 의 모든 컴포넌트들이 서로 같다는 것과 그 값을 표현(110) 안에/으로부터 나타내도록/유도하도록 구성되고, 예컨대 상기 컴포넌트 각각은 대응하는 출력 노드를 나타내는 W의 대응하는 행에 대한 것이다. 부가적으로 또는 택일적으로, 장치(600)/장치(700)는 존재한다면 예컨대, 제1 및 제2 실시예의 경우 그러나 제3 및 제4 실시예의 경우는 해당하지 않는, 의 모든 컴포넌트들이 서로 같다는 것과 그 값을 표현(110) 안에/으로부터 나타내도록/유도하도록 구성되고, 예컨대 상기 컴포넌트 각각은 대응하는 출력 노드를 나타내는 W의 대응하는 행에 대한 것이다.
일 실시예에 따르면, 장치(600)는 2개의 배치 정규화 코딩 모드 사이에서 전환될 수 있는 것으로 구성되고, 제1 배치 정규화 코딩 모드에서 장치(600)는 및 의 계산 및 코딩을 수행하도록 구성되고, 제2 배치 정규화 코딩 모드에서 장치는 수신된 , 또는 , , 및 , 그리고 있다면 를 코딩하도록 구성된다. 즉, 수신된 파라미터들(610)은 제2 배치 정규화 모드에서 표현(110) 안으로 직접 인코딩된다. 평행하게, 장치(700)는 2개의 배치 정규화 코딩 모드 사이에서 전환될 수 있는 것으로 구성될 수 있고, 제1 배치 정규화 코딩 모드에서 장치(700)는 유도, 및 추론 또는 유도를 수행하도록 구성되고, 제2 배치 정규화 코딩 모드에서 장치(700)는 , 또는 , , 및 , 그리고 있다면 를 표현(110)으로부터 디코딩하도록 구성된다. 즉, 파라미터들(610)은 제2 배치 정규화 모드에서 표현(110)으로부터 직접 디코딩된다.
일 실시예에 따르면, 장치(600)는 장치(100)를 포함하여(도2 참조), 및 를 양자화하고 NN 표현(110) 안으로 코딩한다. 예를 들어, 장치(600)는 먼저 제1 계산(620)을 수행하고, 얻은 파라미터들 및 을 파라미터들의 양자화를 위해 장치(100)로 전달한다. 일 실시예에 따르면, 장치(700)는 장치(300)를 포함하여(도2 참조), NN 표현(110)으로부터 및 를 유도한다.
이해를 돕기 위하여, X 및 W 사이의 가능한 관계들 및 한 쌍의 층이 도7에 도시되어 있다: 좌측에는 완전히 연결된 층 i+1, 및 우측에는 컨벌루션 층 i+1. 층들의 뉴론들은 원들(10)에 의해 묘사된다. 각각의 층의 뉴론들은 배열 위치들(x,y)에 위치된다. 각각의 층 i 는 뉴론들(10)의 qi 열들 및 뉴론들(10)의 pi 행들을 갖는다. 완전히 연결된 경우, Xi는 컴포넌트들 의 벡터이고, Wi는 컴포넌트들 의 행렬이며, 여기에서 각각의 는 위치{;g%+1}에 있는 뉴론의 활성화가 덧붙여지고, 각각의 는 위치{;g%+1}에 있는 층 i+1의 뉴론(10) 및 위치{;h%+1}에 있는 층 i의 뉴론(10) 사이의 엣지(12)에 대한 가중치가 덧붙여진다. 상기 컨벌루션의 경우, Xi는 컴포넌트들 의 벡터이고, Wi는 컴포넌트들 의 행렬이며, 여기에서 각각의 는 위치{;%+1}에 있는 뉴론의 활성화가 덧붙여지고, 각각의 는 층 i 에 걸쳐 분포된 위치들 중 하나에 위치한, 층 i 내의 r x s 크기의 직각 필터 커널(rectangular filter kernel)내의 뉴론으로부터, 상기 커널 위치에 대응하는 층 i+1 내의 뉴론 위치로 향하는 엣지에 대한 가중치가 덧붙여진다.
몇몇 양태들은 장치의 맥락에서 설명되었지만, 이러한 양태들은 또한, 블록 또는 디바이스가 방법 단계의 특징 또는 방법 단계에 대응하는, 상응하는 방법의 설명을 나타낸다는 것은 자명하다. 유사하게, 방법 단계의 맥락으로 설명된 양태들은 또한 상응하는 장치의 특징 또는 아이템 또는 상응하는 블록의 설명을 나타낸다. 방법 단계들 전부 또는 일부는 예컨대, 마이크로프로세서, 프로그래머블 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 몇몇 실시예들에서, 가장 중요한 방법 단계들 중 하나 이상이 이러한 장치에 의해서 수행될 수 있다.
본 발명의 NN 표현을 포함하는 본 발명의 디지털 데이터, 데이터 스트림 또는 파일은 디지털 저장 매체에 저장될 수 있고, 또는 인터넷과 같은 유선 전송 매체 또는 무선 통신 매체와 같은 전송 매체를 통해 전송될 수 있다.
특정 구현 요건에 따라서, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 이 구현은 예컨대, 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM, 또는 플래시 메모리와 같이 전자적으로 판독 가능한 제어 신호가 저장된 디지털 저장 매체를 사용하여 수행될 수 있다. 디지털 저장 매체는 각각의 방법이 수행되도록 프로그램 작동 가능한 컴퓨터 시스템과 협력(또는 협력 가능한)한다. 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시예들은 전자적으로 판독가능한 제어 신호를 가지는 데이터 캐리어를 포함한다. 이 데이터 캐리어는 본 명세서에 설명된 방법 중 하나가 수행되도록 프로그램 작동 가능한 컴퓨터 시스템과 협력 할 수 있다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 가지는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 전술된 방법 중 하나를 수행하도록 동작한다. 프로그램 코드는 예컨대 기계 판독가능 캐리어에 저장될 수 있다.
다른 실시예들은 본 명세서에서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다. 컴퓨터 프로그램은 기계 판독 가능 캐리어에 저장된다. 즉, 결과적으로, 본 발명의 방법의 실시예는, 컴퓨터 프로그램이 컴퓨터상에서 실행될 때, 본 명세서에서 설명된 방법들 중 하나를 수행하기 위한 프로그램 코드를 가지는 컴퓨터 프로그램이다.
본 발명의 방법들의 추가 실시예는, 따라서, 본 명세서에서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)이다. 본 발명의 방법의 추가 실시예는, 따라서, 본 명세서에서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호의 시퀀스이다. 데이터 스트림 또는 신호의 시퀀스는 예컨대 데이터 통신 연결, 예를 들어 인터넷을 통하여 전송되도록 구성될 수 있다. 추가적인 실시예는, 본 명세서에 개시된 방법들 중 하나를 수행하도록 구성되거나 또는 개조된 프로세싱 수단, 예컨대, 컴퓨터, 또는 프로그램 작동 가능 로직 디바이스를 포함한다. 추가 실시예는 본 명세서에 개시된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 또다른 실시예는 여기에서 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 (예컨대, 전자적으로 또는 광학적으로) 수신기에 전송하도록 구성된 시스템 도는 장치를 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은 예를 들어, 컴퓨터 프로그램을 수신기에 전송하기 이한 파일 서버를 포함할 수 있다.
일부 실시예에서는, 프로그램 작동 가능 로직 디바이스(예컨대, 필드 프로그램 작동 가능 게이트 어레이)가 본 명세서에 설명된 방법들의 일부 또는 모든 기능들을 수행하기 위하여 사용될 수 있다. 일부 실시예에서는, 필드 프로그램 작동 가능 게이트 어레이는 본 명세서에 설명된 방법들 중 하나를 수행하기 위하여 마이크로프로세서와 협력할 수 있다. 일반적으로, 위 방법들은 바람직하게는 임의의 하드웨어 장치에 의하여 수행된다.
여기에서 설명된 장치는 하드웨어 장치를 이용하여 또는 컴퓨터를 이용하여 또는 하드웨어 장치 및 컴퓨터의 조합을 이용하여 구현될 수 있다.
여기에서 설명된 장치는 또는 여기에서 설명된 장치의 어느 컴포넌트들은 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
여기에서 설명된 방법들은 하드웨어 장치를 이용하여, 또는 컴퓨터를 이용하여 또는 하드웨어 장치 및 컴퓨터의 조합을 이용하여 구현될 수 있다.
여기에서 설명된 방법들 또는 여기에서 설명된 장치의 어느 컴포넌트들은 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
전술된 실시예들은 단지 본 발명의 원리에 대한 예시일 뿐이다. 본 명세서에서 설명된 방식 및 세부사항들의 수정 및 변경은 해당 기술분야의 당업자에게 자명한 것으로 이해된다. 따라서, 본 명세서의 실시예에 대한 개시 및 설명을 통하여 제시된 구체적인 세부 사항이 아닌, 특허청구범위의 범위에 의해서만 한정되어야 한다.
Claims (108)
- NN 표현(110)을 생성하기 위한 장치(100)에 있어서,
양자화 파라미터(142)에 의해 유도된 피제수(dividend)와 정확성 파라미터(145)에 의해 유도된 제수(divisor)간 나눗셈의 나머지에 기초하여, 상기 양자화 파라미터(142)로부터 유도 가능한 승수(multiplier)(144)가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 양자화 파라미터(142)로부터 유도 가능한 비트 천이 수(146)가 있도록,
상기 장치(100)는 NN 파라미터(120)에 대한 상기 양자화 파라미터(142) 및 양자화 값(152)을 결정함으로써 상기 NN 파라미터(120)를 양자화된 값(130)으로 양자화하도록 구성되어,
상기 NN 파라미터(120)의 상기 양자화된 값(130)은, 상기 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 승수(144)에 따른 인자(148)와 상기 양자화 값(152) 사이의 곱셈에 대응하도록 하는, 장치(100).
- 청구항 1에 있어서,
상기 정확성 파라미터(145)를 상기 NN 표현(110) 안으로 인코딩하도록 구성되는 장치(100).
- 청구항 1 또는 2에 있어서,
상기 NN 파라미터(120)는,
한 쌍의 뉴론(10) 사이의 뉴론간 활성화 피드-포워드(12)에 가중치를 주기 위한 가중치 파라미터;
뉴럴 네트워크 층(layer)의 아핀 변환을 파라미터화 하기 위한 배치 정규화(batch norm) 파라미터; 및
미리 결정된 뉴럴 네트워크 뉴론(10)에 대한 인바운드 뉴론간 활성화 피드-포워드들(12)의 합을 천이하기 위한 천이(bias) 중 하나인 장치(100).
- 앞선 청구항 중 어느 한 항에 있어서,
상기 NN 파라미터(120)는 NN(20)의 복수의 뉴론간 활성화 피드-포워드들(122) 중 단일의 뉴론간 활성화 피드-포워드(12) 면에서 상기 NN(20)을 파라미터화하고, 상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(120)가 상기 NN 표현(110) 안에 포함되고,
상기 연관 양자화 파라미터(142)에 의해 유도된 피제수(dividend)와 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 정확성 파라미터(145)에 의해 유도된 제수(divisor)간 나눗셈의 나머지에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한, 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 승수(144)가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한, 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 비트 천이 수(146)가 있도록,
상기 장치(100)는 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 파라미터(142) 및 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 값(152)을 결정함으로써, 상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 상기 대응하는 NN 파라미터(120)를 대응하는 양자화된 값(130)으로 양자화하도록 구성되어,
상기 각각의 뉴론간 활성화 피드-포워드(12)에 대한 상기 대응하는 NN 파라미터(120)의 상기 대응하는 양자화된 값(130)은, 상기 연관 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 연관 승수(144)에 따른 인자(148)와 상기 연관 양자화 값(152) 사이의 곱셈에 대응하도록 하는, 장치(100).
- 청구항 1 내지 3 중 어느 한 항에 있어서,
상기 장치(100)는 NN의 복수의 뉴론간 활성화 피드-포워드들(122)을 뉴론간 활성화 피드-포워드들의 서브-그룹들(122a,122b)로 세분화하여, 각각의 서브-그룹(122a,122b)은 상기 NN(20)의 연관된 한 쌍의 NN 층들과 연관되고, 상기 연관된 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들(12)을 포함하고, 상기 연관된 한 쌍의 층들 외의 다른 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들(12)은 배제하고, 하나 이상의 서브-그룹(122a,122b)은 미리 결정된 NN 층과 연관되며,
상기 NN 파라미터(120)는 상기 NN의 상기 복수의 뉴론간 활성화 피드-포워드들(122) 중 단일 뉴론간 활성화 피드-포워드(12) 면에서 상기 NN(20)을 파라미터화하고, 상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(120)는 상기 NN 표현(110) 내에 포함되고,
연관 양자화 파라미터(142)에 의해 유도된 피제수와 상기 각각의 서브-그룹(122a,122b)과 관련된 연관 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한 상기 각각의 서브-그룹(122a,122b)과 관련된 연관 승수(144)가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한, 상기 각각의 서브 그룹(122a,122b)과 관련된 연관 비트 천이 수(146)가 있도록,
상기 장치(100)는,
뉴론간 활성화 피드-포워드들의 서브-그룹(122a,122b) 각각에 대해, 상기 NN 표현(110)으로부터 상기 각각의 서브-그룹(122a,122b)과 연관된 상기 연관 양자화 파라미터(142)를 결정하도록 구성되고,
상기 NN 표현(110)으로부터 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 값(152)을 결정함으로써, 상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 상기 대응하는 NN 파라미터(120)를 대응하는 양자화된 값(130)으로 양자화하도록 구성되며,
상기 각각의 뉴론간 활성화 피드-포워드(12)에 대한 상기 대응하는 NN 파라미터(120)는, 상기 각각의 뉴론간 활성화 피드-포워드(12)가 포함되는 상기 서브-그룹(122a,122b)의 상기 연관 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 각각의 뉴론간 활성화 피드-포워드(12)가 포함되는 상기 서브-그룹(122a,122b)과 관련된 상기 연관 승수(144)에 따른 인자(148)와 상기 연관 양자화 값(152) 사이의 곱에 대응하는, 장치(100).
- 청구항 4 또는 5에 있어서,
상기 연관 정확도 파라미터(145)는 상기 NN(20)에 걸쳐 전역적으로 또는 각각의 NN 층(114,116) 내에서 동일하게 값이 주어지는, 장치(100).
- 청구항 4 내지 6 중 어느 한 항에 있어서,
상기 연관 정확도 파라미터(145)를 상기 NN 표현(110)으로 인코딩하도록 구성되는 장치(100).
- 청구항 4 내지 7 중 어느 한 항에 있어서,
상기 연관 양자화 파라미터(142)를 상기 NN 표현(110) 안으로 참조 양자화 파라미터와의 차(difference)의 형태로 인코딩하도록 구성되는 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 정확도 파라미터(145)는 2의 거듭제곱인, 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
적응 산술 부호화(CABAC, context-adaptive binary arithmetic encoding)을 이용함으로써; 또는
상기 양자화 파라미터(142)를 나타내는 비트들을 상기 NN 표현(110) 안에 직접 쓰기 함으로써; 또는
상기 양자화 파라미터(142)를 나타내는 비트들을 상기 장치(100)의 적응 산술 부호화기(context-adaptive binary encoder)의 등-확률(equi-probability) 바이패스 모드를 통해 상기 NN 표현(110) 안에 인코딩함으로써,
상기 양자화 파라미터(142)를 상기 NN 표현(110) 안에 인코딩하도록 구성되는 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
이진화 기법을 이용하여 상기 양자화 파라미터(142)를 이진 스트링(bin string) 안으로 이진화함으로써 상기 양자화 파라미터(142)를 상기 NN 표현(110) 안으로 인코딩하도록 구성되는, 장치(100).
- 청구항 12에 있어서,
상기 이진화 기법은 Exponential-Golomb-Code 인 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 양자화 파라미터(142)를 결정하고, 고정 소수점 표현 형태로 상기 NN 표현(110)으로 인코딩하도록 구성되는 장치(100)
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 양자화 파라미터(142)를 정수의 구문 요소(syntax element)로서 상기 NN 표현(110) 안으로 인코딩하도록 구성되는, 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 정확도 파라미터(145)를 나타내는 비트들을 상기 NN 표현(110) 안에 직접 쓰기 함으로써, 또는 상기 정확도 파라미터(145)를 나타내는 비트들을 상기 장치(100)의 적응 산술 부호화기의 등-확률 바이패스 모드를 통해 상기 NN 표현(110) 안에 인코딩함으로써 상기 정확도 파라미터(145)를 상기 NN 표현(110) 안에 인코딩하도록 구성되는, 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 양자화 값(152)과 상기 양자화 파라미터(142)를 상기 NN 표현(110) 안으로 인코딩하도록 구성되는 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 NN 파라미터(120)에 대한 부동 소수점 표현을 이용하여 NN을 트레이닝시킴으로써 상기 NN 파라미터(120)를 제공하고, 및
양자화 에러를 감소시키기 위한 반복적 최적화 기법의 방식으로 상기 NN 파라미터(120)에 대한 상기 양자화 값(152) 및 상기 양자화 파라미터(142)를 결정하도록 구성되는 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 양자화 값(152)을 결정하고, 부동 소수점 표현 형태로 상기 NN 표현(110) 안으로 인코딩하도록 구성되는 장치(100).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 양자화 값(152)을 이진화 기법에 따라 이진 스트링 안으로 이진화하고, 상기 이진 스트링의 비트들을 적응 산술 부호화(context-adaptive arithmetic encoding)을 이용하여 인코딩함으로써, 상기 양자화 값(152)을 상기 NN 표현(110) 안으로 인코딩하도록 구성되는 장치(110).
- 앞선 청구항들 중 어느 한 항에 있어서,
상기 양자화 값(152)을 이진화 기법에 따라 이진 스트링 안으로 이진화하고, 상기 이진 스트링의 제1 비트들을 적응 산술 부호화(context-adaptive arithmetic encoding)을 이용하여 인코딩하고, 등-확률 바이패스 모드를 이용하여 상기 이진 스트링의 제2 비트들을 인코딩함으로써, 상기 양자화 값(152)을 상기 NN 표현(110) 안으로 인코딩하도록 구성되는 장치(110).
- NN 표현(110)을 정의하는 디지털 데이터에 있어서,
양자화 파라미터(142)에 의해 유도된 피제수와 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여, 상기 양자화 파라미터(142)로부터 유도 가능한 승수(144)가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 양자화 파라미터(142)로부터 유도 가능한 비트 천이 수(146)가 있도록,
상기 NN 표현(110)은 NN 파라미터(130)를 나타내기 위하여 양자화 파라미터(142) 및 양자화 값(152)을 포함하여,
상기 NN 파라미터(130)는 상기 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 승수(144)에 따른 인자(148)와 상기 양자화 값(152) 사이의 곱셈에 대응하도록 하는, 디지털 데이터.
- 청구항 23에 있어서,
상기 정확성 파라미터(145)는 상기 NN 표현(110) 안으로 인코딩되는, 디지털 데이터.
- 청구항 23 또는 24에 있어서,
상기 NN 파라미터(130)는,
한 쌍의 뉴론(10) 사이의 뉴론간 활성화 피드-포워드(12)에 가중치를 주기 위한 가중치 파라미터;
뉴럴 네트워크 층(layer)의 아핀 변환을 파라미터화 하기 위한 배치 정규화 파라미터; 및
미리 결정된 뉴럴 네트워크 뉴론(10)에 대한 인바운드 뉴론간 활성화 피드-포워드들(12)의 합을 천이하기 위한 천이(bias) 중 하나인, 디지털 데이터.
- 청구항 23 내지 25 중 어느 한 항에 있어서,
상기 NN 파라미터(130)는 NN(20)의 복수의 뉴론간 활성화 피드-포워드들 중 단일의 뉴론간 활성화 피드-포워드(12) 면에서 상기 NN(20)을 파라미터화하고, 상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(120)가 상기 NN 표현(110) 안에 포함되고,
상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해,
상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 파라미터(142)가 상기 NN 표현(110) 내에 포함되고, 및
상기 연관 양자화 파라미터(142)에 의해 유도된 피제수와 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한, 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 승수(144)가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한, 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 비트 천이 수(146)가 있도록,
상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 값(152)이 상기 NN 표현(110) 내에 포함되어,
상기 각각의 뉴론간 활성화 피드-포워드(12)에 대한 상기 대응하는 NN 파라미터(130)의 상기 대응하는 양자화된 값(130)은, 상기 연관 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 연관 승수(144)에 따른 인자(148)와 상기 연관 양자화 값(152) 사이의 곱셈에 대응하도록 하는, 디지털 데이터.
- 청구항 23 내지 25 중 어느 한 항에 있어서,
NN의 복수의 뉴론간 활성화 피드-포워드들(122)이 뉴론간 활성화 피드-포워드들의 서브-그룹들(122a,122b)로 세분화되어, 각각의 서브-그룹(122a,122b)은 상기 NN의 연관된 한 쌍의 NN 층들과 연관되고, 상기 연관된 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들을 포함하고, 상기 연관된 한 쌍의 층들 외의 다른 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들은 배제하고, 하나 이상의 서브-그룹(122a,122b)은 미리 결정된 NN 층과 연관되며,
상기 NN 파라미터(130)는 상기 NN의 상기 복수의 뉴론간 활성화 피드-포워드들(122) 중 단일 뉴론간 활성화 피드-포워드(12) 면에서 상기 NN(20)을 파라미터화하고, 상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(130)는 상기 NN 표현(110) 내에 포함되고,
상기 연관 양자화 파라미터(142)에 의해 유도된 피제수와 상기 각각의 서브-그룹(122a,122b)과 관련된 연관 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한, 상기 각각의 서브-그룹(122a,122b)과 관련된 연관 승수(144)가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 연관 양자화 파라미터(142)로부터 유도 가능한 상기 각각의 서브 그룹(122a,122b)과 관련된 연관 비트 천이 수(146)가 있을 수 있도록,
뉴론간 활성화 피드-포워드들의 서브-그룹(122a,122b) 각각에 대해, 상기 각각의 서브-그룹(122a,122b)과 연관된 연관 양자화 파라미터(142)가 상기 NN 표현(110) 내에 포함되고,
상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 값(152)이 상기 NN 표현(110) 내에 포함되고,
상기 각각의 뉴론간 활성화 피드-포워드(12)에 대한 상기 대응하는 NN 파라미터(130)는, 상기 각각의 뉴론간 활성화 피드-포워드(12)가 포함된 상기 서브-그룹(122a,122b)의 상기 연관 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 각각의 뉴론간 활성화 피드-포워드(12)가 포함된 상기 서브-그룹(122a,122b)과 관련된 상기 연관 승수(144)에 따른 인자(148) 및 상기 연관 양자화 값(152) 사이의 곱에 대응하는, 디지털 데이터.
- 청구항 26 또는 27에 있어서,
상기 연관 정확도 파라미터(145)는 상기 NN에 걸쳐 전역적으로 또는 각각의 NN 층 내에서 동일하게 값이 주어지는, 디지털 데이터.
- 청구항 26 내지 28 중 어느 한 항에 있어서,
상기 연관 정확도 파라미터(145)는 상기 NN 표현(110) 안으로 인코딩되는, 디지털 데이터.
- 청구항 26 내지 29 중 어느 한 항에 있어서,
상기 연관 양자화 파라미터(142)는 상기 NN 표현(110) 안으로 참조 양자화 파라미터와의 차(difference)의 형태로 인코딩되는, 디지털 데이터.
- 청구항 23 내지 31 중 어느 한 항에 있어서,
상기 정확도 파라미터(145)는 2의 거듭제곱인, 디지털 데이터.
- 청구항 23 내지 31 중 어느 한 항에 있어서,
적응 산술 부호화(CABAC, context-adaptive binary arithmetic encoding)을 이용함으로써; 또는
상기 양자화 파라미터(142)를 나타내는 비트들을 상기 NN 표현(110) 안에 직접 쓰기 함으로써; 또는 상기 양자화 파라미터(142)를 나타내는 비트들을 상기 장치(100)의 적응 산술 부호화기(context-adaptive binary encoder)의 등-확률(equi-probability) 바이패스 모드를 통해 상기 NN 표현(110) 안에 인코딩함으로써, 상기 양자화 파라미터(142)는 상기 NN 표현(110) 안에 인코딩되는, 디지털 데이터.
- 청구항 23 내지 33 중 어느 한 항에 있어서,
이진화 기법을 이용하여 상기 양자화 파라미터(142)를 이진 스트링(bin string) 안으로 이진화하는 형태로, 상기 양자화 파라미터(142)는 상기 NN 표현(110) 안으로 인코딩되는, 디지털 데이터.
- 청구항 34에 있어서,
상기 이진화 기법은 Exponential-Golomb-Code 인, 디지털 데이터.
- 청구항 23 내지 35 중 어느 한 항에 있어서,
상기 양자화 파라미터(142)는 고정 소수점 표현 형태로 상기 NN 표현(110) 안으로 인코딩되는 디지털 데이터.
- 청구항 27 내지 37 중 어느 한 항에 있어서,
상기 양자화 파라미터(142)는 정수의 구문 요소(syntax element)로서 상기 NN 표현(110) 안으로 인코딩되는, 디지털 데이터.
- 청구항 23 내지 38 중 어느 한 항에 있어서,
상기 정확도 파라미터(145)를 나타내는 비트들을 상기 NN 표현(110) 안에 직접 쓰기 함으로써, 또는 상기 정확도 파라미터(145)를 나타내는 비트들을 상기 장치(100)의 적응 산술 부호화기의
등-확률 바이패스 모드를 통해 상기 NN 표현(110) 안에 인코딩함으로써 상기 정확도 파라미터(145)가 상기 NN 표현(110) 안에 인코딩되는, 디지털 데이터.
- 청구항 23 내지 39 중 어느 한 항에 있어서,
상기 양자화 값(152)은 고정 소수점 표현의 형태로 상기 NN 표현(110) 안으로 인코딩되는, 디지털 데이터.
- 청구항 23 내지 40 중 어느 한 항에 있어서,
상기 양자화 값(152)은 상기 이진 스트링의 형태로 상기 NN 표현(110) 안으로 인코딩되고, 상기 양자화 값(152)은 이진화 기법에 따라 상기 이진 스트링 안으로 이진화하고, 상기 이진 스트링의 비트들은 적응 산술 부호화(context-adaptive arithmetic encoding)을 이용하여 상기 비트스트림 안으로 인코딩되는, 디지털 데이터.
- 청구항 23 내지 41 중 어느 한 항에 있어서,
상기 양자화 값(152)은 상기 이진 스트링의 형태로 상기 NN 표현(110) 안으로 인코딩되고, 상기 양자화 값(152)은 이진화 기법에 따라 상기 이진 스트링 안으로 이진화하고, 상기 이진 스트링의 제1 비트들은 적응 산술 부호화(context-adaptive arithmetic encoding)을 이용하여 상기 비트스트림 안으로 인코딩되고, 상기 이진 스트링의 제2 비트들은 등-확률 바이패스 모드를 이용하여 상기 비트스트림 안으로 인코딩되는, 디지털 데이터.
- NN 표현(110)으로부터 NN 파라미터를 유도하기 위한 장치에 있어서,
상기 장치는,
상기 NN 표현(110)으로부터 양자화 파라미터(142)를 유도하고;
상기 NN 표현(110)으로부터 양자화 값(152)을 유도하고; 및
상기 양자화 파라미터(142)로부터, 상기 양자화 파라미터(142)에 의해 유도된 피제수와 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여 승수(144)를 및 상기 나눗셈의 몫의 라운딩에 기초하여 비트 천이 수(146)를 유도하도록 구성되고,
상기 NN 파라미터(130)는 상기 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 승수(144)에 따른 인자(148)와 상기 양자화 값(152) 사이의 곱셈에 대응하는, 장치.
- 청구항 43에 있어서,
상기 정확성 파라미터(145)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 43 또는 44에 있어서,
상기 NN 파라미터(130)는,
한 쌍의 뉴론(10) 사이의 뉴론간 활성화 피드-포워드(12)에 가중치를 주기 위한 가중치 파라미터;
뉴럴 네트워크 층(layer)의 아핀 변환을 파라미터화 하기 위한 배치 정규화 파라미터; 및
미리 결정된 뉴럴 네트워크 뉴론(10)에 대한 인바운드 뉴론간 활성화 피드-포워드들(12)의 합을 천이하기 위한 천이(bias) 중 하나인 장치.
- 청구항 43 내지 45 중 어느 한 항의 장치에 있어서,
상기 NN 파라미터(130)는 NN의 복수의 뉴론간 활성화 피드-포워드들 중 단일의 뉴론간 활성화 피드-포워드(12) 면에서 상기 NN을 파라미터화하고,
상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 파라미터(142)를 상기 NN 표현(110)으로부터 유도하고 및 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 값(152)을 상기 NN 표현(110)으로부터 유도함으로써, 상기 장치는 상기 복수의 뉴론간 활성화 피드-포워드들 각각에 대해, 대응하는 NN 파라미터(130)를 상기 NN 표현(110)으로부터 유도하도록 구성되고,
상기 장치는 상기 연관 양자화 파라미터(142)로부터, 상기 연관 양자화 파라미터(142)에 의해 유도된 피제수와 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 승수(144)를 유도하고, 상기 나눗셈의 몫의 라운딩에 기초하여 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 비트 천이 수(146)를 유도하도록 구성되고,
상기 각각의 뉴론간 활성화 피드-포워드(12)에 대한 상기 대응하는 NN 파라미터(130)는, 상기 연관 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 연관 승수(144)에 따른 인자(148)와 상기 연관 양자화 값(152) 사이의 곱셈에 대응하는, 장치.
- 청구항 43 내지 45 중 어느 한 항에 있어서,
상기 장치는 NN의 복수의 뉴론간 활성화 피드-포워드들(122)을 뉴론간 활성화 피드-포워드들의 서브-그룹들(122a,122b)로 세분화하여, 각각의 서브-그룹(122a,122b)은 상기 NN의 연관된 한 쌍의 NN 층들과 연관되고, 상기 연관된 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들을 포함하고, 상기 연관된 한 쌍의 층들 외의 다른 한 쌍의 NN 층들 사이의 뉴론간 활성화 피드-포워드들은 배제하고, 하나 이상의 서브-그룹(122a,122b)은 미리 결정된 NN 층과 연관되며,
상기 NN 파라미터(130)는 상기 NN의 상기 복수의 뉴론간 활성화 피드-포워드들(122) 중 단일 뉴론간 활성화 피드-포워드(12) 면에서 상기 NN(20)을 파라미터화하고,
상기 장치(100)는, 뉴론간 활성화 피드-포워드들의 서브-그룹(122a,122b) 각각에 대해,
상기 NN 표현(110)으로부터 상기 각각의 서브-그룹(122a,122b)과 연관된 연관 양자화 파라미터(142)를 유도하고;
상기 연관 양자화 파라미터(142)에 의해 유도된 피제수와 상기 각각의 서브-그룹(122a,122b)과 관련된 연관 정확성 파라미터(145)에 의해 유도된 제수간 나눗셈의 나머지에 기초하여 상기 연관 양자화 파라미터(142)로부터, 상기 각각의 서브-그룹(122a,122b)과 관련된 연관 승수(144)를 유도하고;
상기 나눗셈의 몫의 라운딩에 기초하여 상기 연관 양자화 파라미터(142)로부터, 상기 각각의 서브 그룹(122a,122b)과 관련된 연관 비트 천이 수(146)를 유도하고; 및
상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해 상기 NN 표현(110)으로부터 상기 각각의 뉴론간 활성화 피드-포워드(12)와 관련된 연관 양자화 값(152)을 유도함으로써,
상기 복수의 뉴론간 활성화 피드-포워드들(122) 각각에 대해, 대응하는 NN 파라미터(130)를 상기 NN 표현(110)으로부터 유도하도록 구성되고,
상기 각각의 뉴론간 활성화 피드-포워드(12)에 대한 상기 대응하는 NN 파라미터(130)는, 상기 각각의 뉴론간 활성화 피드-포워드(12)가 포함되는 상기 서브-그룹(122a,122b)의 상기 연관 비트 천이 수(146)에 따른 비트 수만큼 비트-천이되는, 상기 각각의 뉴론간 활성화 피드-포워드(12)가 포함되는 상기 서브-그룹(122a,122b)과 관련된 상기 연관 승수(144)에 따른 인자(148)와 상기 연관 양자화 값(152) 사이의 곱에 대응하는, 장치.
- 청구항 46 또는 47에 있어서,
상기 연관 정확도 파라미터(145)는 상기 NN에 걸쳐 전역적으로 또는 각각의 NN 층 내에서 동일하게 값이 주어지는, 장치.
- 청구항 46 내지 48 중 어느 한 항에 있어서,
상기 연관 정확도 파라미터(145)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 46 내지 49 중 어느 한 항에 있어서,
상기 연관 양자화 파라미터(142)를 상기 NN 표현(110)으로부터 참조 양자화 파라미터와의 차(difference)의 형태로 유도하도록 구성되는 장치.
- 청구항 43 내지 51 중 어느 한 항에 있어서,
상기 정확도 파라미터(145)는 2의 거듭제곱인, 장치.
- 청구항 43 내지 52 중 어느 한 항에 있어서,
적응 산술 부호화(CABAC, context-adaptive binary arithmetic encoding)을 이용함으로써; 또는
상기 양자화 파라미터(142)를 나타내는 비트들을 상기 NN 표현(110)으로부터 직접 읽음으로써; 또는
상기 양자화 파라미터(142)를 나타내는 비트들을 상기 장치(100)의 적응 산술 부호화기(context-adaptive binary encoder)의 등-확률(equi-probability) 바이패스 모드를 통해 상기 NN 표현(110)으로부터 유도함으로써,
상기 양자화 파라미터(142)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 43 내지 53 중 어느 한 항에 있어서,
이진화 기법을 이용하여 이진 스트링을 역-이진화함으로써, 상기 양자화 파라미터(142)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 54에 있어서,
상기 이진화 기법은 Exponential-Golomb-Code 인 장치.
- 청구항 43 내지 55 중 어느 한 항에 있어서,
상기 양자화 파라미터(142)를 고정 소수점 표현 형태로 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 43 내지 57 중 어느 한 항에 있어서,
상기 양자화 파라미터(142)를 정수의 구문 요소(syntax element)로서 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 43 내지 58 중 어느 한 항에 있어서,
상기 정확도 파라미터(145)를 나타내는 비트들을 상기 NN 표현(110)으로부터 직접 읽음으로써, 또는 상기 정확도 파라미터(145)를 나타내는 비트들을 상기 장치(100)의 적응 산술 부호화기의 등-확률 바이패스 모드를 통해 상기 NN 표현(110)으로부터 유도함으로써 상기 정확도 파라미터(145)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 43 내지 59 중 어느 한 항에 있어서,
상기 NN 표현(110)으로부터 상기 양자화 값(152)을 고정 소수점 표현 형태로 유도하도록 구성되는 장치.
- 청구항 43 내지 60 중 어느 한 항에 있어서,
이진화 기법에 따라 이진 스트링으로부터 상기 양자화 값(152)을 역-이진화하고, 적응 산술 복호화(context-adaptive arithmetic decoding)를 이용하여 상기 NN 표현(100)으로부터 상기 이진 스트링의 비트들을 디코딩함으로써, 상기 양자화 값(152)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- 청구항 43 내지 61 중 어느 한 항에 있어서,
이진화 기법에 따라 이진 스트링으로부터 상기 양자화 값(152)을 역-이진화하고, 적응 산술 복호화(context-adaptive arithmetic decoding)를 이용하여 상기 NN 표현(100)으로부터 상기 이진 스트링의 제1 비트들을 디코딩하고, 등-확률 바이패스 모드를 이용하여 상기 이진 스트링의 제2 비트들을 디코딩함으로써, 상기 양자화 값(152)를 상기 NN 표현(110)으로부터 유도하도록 구성되는 장치.
- NN(20)을 이용하여 추론을 수행하는 디바이스(400)에 있어서,
상기 NN(20)을 파라미터화하도록 구성되는 NN 파라미터라이저(410)로서, 앞선 청구항 43 내지 62 중 어느 한 항에 따른 NN 표현으로부터 NN 파라미터(130)를 유도하기 위한 장치(300)를 포함하는 상기 NN 파라미터라이저(410), 및
상기 NN(20)을 이용하여 NN 입력(440)에 기초하여 추론 출력(430)을 계산하도록 구성되는 계산 유닛(420)을 포함하는 디바이스(400).
- 청구항 63에 있어서,
상기 NN 파라미터라이저(410)는,
상기 장치(300)를 통해, 제1 NN 파라미터(130) 및 제2 NN 파라미터(130) 중 적어도 하나를 유도하도록 구성되어, 상기 제1 NN 파라미터(130)는 제1 비트 수(146)만큼 비트-천이되는, 제1 인자(148) 및 제1 양자화 값(152) 사이의 곱셈에 대응하고, 상기 제2 NN 파라미터(130)는 제2 비트 수(146)만큼 비트-천이되는, 제2 인자(148) 및 제2 양자화 값(152) 사이의 곱셈에 대응하도록 하고; 및
상기 제1 NN 파라미터(130)에 대한 제1 양자화 값(152)에 의해 형성되고, 상기 제1 승수(144)로 가중치가 곱해진 제1 가수와, 상기 제1 NN 파라미터에 대한 제2 양자화 값(152)에 의해 형성되고, 상기 제2 승수(144)로 가중치가 곱하여지고, 상기 제1 및 제2 비트 수들(146)의 차만큼 비트 천이되는 제2 가수 사이의 덧셈을 형성하고; 상기 제1 및 제2 비트 수들(146) 중 하나에 따른 비트 수만큼 상기 제1 및 제2 가수들의 합을 비트 천이함으로써, 상기 제1 NN 파라미터(130) 및 상기 제2 NN 파라미터(130)를 합하여 상기 NN(20)의 최종 NN 파라미터(130)를 생성하도록 구성되는, 디바이스(400).
- 청구항 64에 있어서,
상기 제1 NN 파라미터(130)는 상기 NN(20)의 베이스 층 표현(base layer representation)을 나타내고, 상기 제2 NN 파라미터(130)는 상기 NN의 향상 층 표현(enhancement layer representation)을 나타내고, 또는
상기 제1 NN 파라미터(130)는 상기 NN(20)의 현재의 표현을 나타내고, 상기 제2 NN 파라미터(130)는 상기 현재 NN 표현(110)의 업데이트를 나타내고, 또는
상기 제1 NN 파라미터(130)는 미리 결정된 뉴럴 네트워크 뉴론(10)에 대한 인바운드 뉴론간 활성화 피드-포워드들(12)의 합을 편향시키기 위한 편향(bias)을 나타내고, 상기 제2 NN 파라미터(130)는 뉴럴 네트워크 층의 아핀 변환을 파라미터화하기 위한 배치 정규화 파라미터를 나타내는, 디바이스(400).
- 청구항 63 내지 65 중 어느 한 항에 있어서,
상기 NN 파라미터라이저(410)는 상기 장치(300)를 통해, 제3 NN 파라미터(130) 및 제4 NN 파라미터(130) 중 적어도 하나를 유도하도록 구성되어, 상기 제3 NN 파라미터(130)는 제3 비트 수(146)만큼 비트-천이되는, 제3 인자(148) 및 제3 양자화 값(152) 사이의 곱셈에 대응하고, 상기 제4 NN 파라미터(130)는 제4 비트 수(146)만큼 비트-천이되는, 제4 인자(148) 및 제4 양자화 값(152) 사이의 곱셈에 대응하도록 하고; 및
상기 계산 유닛(420)은 상기 계산을 수행할 때, 상기 제3 비트 수에 의해 형성되는 제1 가수 및 상기 제4 비트 수에 의해 형성되는 제2 가수를 포함하는 덧셈에 대응하는 비트 수만큼 비트-천이되는, 상기 제3 NN 파라미터(130)에 대한 제3 양자화 값(152)에 의해 형성되는 제1 인자, 상기 제3 승수(144)에 의해 형성되는 제2 인자, 상기 제4 양자화 파라미터(130)에 대한 제4 양자화 값(152)에 의해 형성되는 제3 인자, 및 상기 제4 승수(144)에 의해 형성되는 제4 인자의 곱셈을 형성함으로써, 상기 제3 NN 파라미터(130) 및 상기 제4 NN 파라미터(130)의 곱셈의 결과를 제공하도록 구성되는, 디바이스(400).
- 청구항 66에 있어서,
상기 제3 NN 파라미터(130)는 제1 NN 층(114)의 제1 뉴론(101)로부터 제2 뉴론 층(116)의 제2 뉴론(102)으로의 뉴론간 활성화 피드-포워드(12)에 대한 가중치 곱셈을 위한 가중치 파라미터를 나타내고, 상기 제4 NN 파라미터(130)는 배치 정규화 파라미터를 나타내는, 디바이스(400).
- 청구항 67에 있어서,
상기 배치 정규화 파라미터는 상기 제2 NN 층에 대해 상기 제1 뉴론(101)의 활성화 피드-포워드 증폭을 조정하기 위한 것인, 디바이스(400)
- 청구항 63 내지 68 중 어느 한 항에 있어서,
활성화(an activation)를 위해 제5 양자화 파라미터(142) 및 제5 양자화 값(152)를 결정하여, 상기 제5 양자화 파라미터(142)로부터, 상기 제5 양자화 파라미터(142)에 의해 유도되는 피제수와 상기 활성화에 연관된 정확도 파라미터(145)에 의해 유도되는 제수 사이의 나눗셈의 나머지에 기초하여 상기 제5 승수(144)의 유도 및 상기 나눗셈의 몫의 라운딩에 기초하여 제5 비트 천이 수(146)의 유도하여, 상기 제5 비트 천이 수(146)에 따른 제5 비트 수만큼 비트-천이되는, 상기 제5 승수(144)에 따른 인자(148) 및 상기 제5 양자화 값(152) 사이의 곱셈에 대응하는 상기 양자화된 값(130)을 얻도록 함으로써, 상기 활성화를 양자화된 값(130)으로 양자화하여 상기 NN 입력(440)을 양자화하도록 구성되는 디바이스(400).
- 청구항 69에 있어서,
상기 NN 파라미터라이저(410)는,
상기 장치(300)를 통해, 제6 NN 파라미터(130)를 유도하도록 구성되어, 상기 제6 NN 파라미터(130)는 제6 비트 수(146)만큼 비트-천이되는, 제6 인자(148) 및 제6 양자화 값(152) 사이의 곱셈에 대응하도록 하고; 및
상기 계산 유닛(420)은 상기 계산을 수행할 때, 상기 제6 비트 수에 의해 형성되는 제1 가수 및 상기 제4 비트 수에 의해 형성되는 제2 가수를 포함하는 덧셈에 대응하는 비트 수만큼 비트-천이되는, 상기 제6 NN 파라미터(130)에 대한 제6 양자화 값(152)에 의해 형성되는 제1 인자, 상기 제6 승수(144)에 의해 형성되는 제2 인자, 상기 제6 양자화 파라미터(130)에 대한 제5 양자화 값(152)에 의해 형성되는 제3 인자, 및 상기 제5 승수(144)에 의해 형성되는 제4 인자의 곱셈을 형성함으로써, 상기 제6 NN 파라미터(130) 및 상기 활성화의 곱셈의 결과를 제공하도록 구성되는, 디바이스(400).
- NN(20)을 이용하여 추론을 수행하는 디바이스(500)에 있어서,
상기 디바이스(500)는 상기 NN(20)을 이용하여 NN 입력(440)에 기초해 추론 출력(430)을 계산하도록 구성되고,
상기 NN(20)은 한 쌍의 NN 층들을 포함하고, 상기 한 쌍의 NN 층들 중 제1 층으로부터 제2 층으로의 뉴론간 활성화 피드-포워드들(12)을 포함하고,
상기 디바이스(500)는 상기 제1 NN 층의 상기 뉴럴 네트워크의 뉴론들(10)의 상기 활성화들로부터 행렬 (532)를 형성(530)하고, 을 계산함으로써, 상기 제1 NN 층의 상기 뉴럴 네트워크 뉴론들(10)의 활성화들에 기초하여, 상기 제2 NN 층들의 상기 뉴럴 네트워크 뉴론들(10)의 활성화들을 계산하도록 구성되고,
여기에서, 는 행렬 곱셈을 나타내고, 는 및 인 의 가중치 행렬(544)이고, s는 길이 의 전치 벡터(546)이고, 는 의 일측의 행렬과 의 타 측의 전치 벡터간 컬럼-별(column wise) Hadamard 곱셈을 나타내는, 디바이스(500).
- 청구항 71에 있어서,
m>n 이고, n-비트 고정 소수점 연산을 이용하여 상기 행렬 곱셈을 계산해(540) 내적(dot product)을 제공하고, m-비트 고정 소수점 연산을 이용하여 s(546)와 상기 내적을 곱하도록 구성되는 디바이스(500).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치(600)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치는,
, , 또는 , , 및 (610)를 수신하고
다음 수식을 계산하고(620):
1) ,
2) ,
상기 NN 표현(100) 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하도록 구성되어,
상기 배치 정규화 연산자(710)를 다음과 같이 정의하도록 하며:
여기에서, , , := 0, 는 미리 결정된 파라미터인, 장치(600).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치(600)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치는,
, , 또는 , , 및 (610)를 수신하고
다음 수식을 계산하고(620):
1)
2)
상기 NN 표현(100) 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하도록 구성되어,
상기 배치 정규화 연산자(710)를 다음과 같이 정의하도록 하며:
여기에서, , , := 0인, 장치(600).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치(600)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치는,
, , 또는 , , 및 (610)를 수신하고
다음 수식을 계산하고(620):
1)
2)
상기 NN 표현(100) 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하도록 구성되어,
상기 배치 정규화 연산자(710)를 다음과 같이 정의하도록 하며:
여기에서, , , 는 미리 결정된 파라미터인, 장치(600).
- NN의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 장치(600)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치는,
, 또는 , , 및 (610)를 수신하고
다음 수식을 계산하고(620):
1)
2)
상기 NN 표현(100) 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하도록 구성되어,
상기 배치 정규화 연산자(710)를 다음과 같이 정의하도록 하며:
여기에서, , 인, 장치(600).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 장치(700)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치(700)는,
상기 NN 표현(110)으로부터 (722) 및 (724)를 유도(720)하도록, 및
, , := 0임을 그것의 모든 컴포넌트에 적용하는 일 시그널링(734)에 의해 추론 또는 유도(730)하도록 구성되고, 여기에서 는 미리 결정된 파라미터인, 장치(700).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 장치(700)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치(700)는,
상기 NN 표현(110)으로부터 (722) 및 (724)를 유도(720)하고, 및
, , := 0임을 그것의 모든 컴포넌트에 적용하는 일 시그널링(734)을 통해 추론 또는 유도(730)하도록 구성되는, 장치(700).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 장치(700)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치(700)는,
상기 NN 표현(110)으로부터 (722) 및 (724)를 유도(720)하도록, 및
, 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링(734)을 통해 추론 또는 유도(730)하도록 구성되고, 는 미리 결정된 파라미터인, 장치(700).
- NN(20)의 배치 정규화 연산자(710)의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 장치(700)에 있어서,
상기 배치 정규화 연산자(710)는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 장치(700)는,
상기 NN 표현(110)으로부터 (722) 및 (724)를 유도(720)하고, 및
, 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링(734)을 통해 추론 또는 유도(730)하도록 구성되는, 장치(700).
- NN 표현을 생성하는 방법에 있어서,
양자화 파라미터에 의해 유도되는 피제수 및 정확도 파라미터에 의해 유도되는 제수 사이의 나눗셈의 나머지에 기초하여 상기 양자화 파라미터로부터 유도 가능한 승수가 있도록, 및
상기 나눗셈의 몫의 라운딩에 기초하여 상기 양자화 파라미터로부터 유도 가능한 비트 천이 수가 있도록 상기 양자화 파라미터 및 양자화 값을 결정하여 NN 파라미터를 양자화된 값으로 양자화하는 단계를 포함하고,
이에 따라 상기 NN 파라미터의 상기 양자화된 값은 상기 비트 천이 수에 따른 비트 수만큼 비트-천이되는, 상기 승수에 따른 인자 및 상기 양자화 값 사이의 곱에 대응하는, 방법.
- NN 표현으로부터 NN 파라미터를 유도하는 방법에 있어서,
상기 NN 표현으로부터 양자화 파라미터를 유도하는 단계,
상기 NN 표현으로부터 양자화 값을 유도하는 단계, 및
상기 양자화 파라미터로부터, 상기 양자화 파라미터에 의해 유도되는 피제수 및 정확도 파라미터에 의해 유도되는 제수 사이의 나눗셈의 나머지에 기초하여 승수를; 및 상기 나눗셈의 몫의 라운딩에 기초하여 비트 천이 수를 유도하는 단계를 포함하고,
상기 NN 파라미터는 상기 비트 천이 수에 따른 비트 수만큼 비트-천이되는, 상기 승수에 따른 인자 및 상기 양자화 값 사이의 곱에 대응하는, 방법.
- NN을 이용하여 추론을 수행하는 방법에 있어서,
NN 표현으로부터 NN 파라미터를 유도하기 위하여 청구항 95에 따른 상기 방법을 이용하여 상기 NN을 파라미터화하는 단계, 및
상기 NN을 이용하여 NN 입력에 기초하여 추론 출력을 계산하는 단계를 포함하는 방법.
- NN을 이용하여 추론을 수행하는 방법에 있어서,
상기 방법은 상기 NN을 이용하여 NN 입력에 기초해 추론 출력을 계산하는 단계를 포함하고,
여기에서, 상기 NN은 한 쌍의 NN 층들을 포함하고, 상기 한 쌍의 NN 층들 중 제1 NN층으로부터 제2 NN층으로의 뉴론간 활성화 피드-포워드들을 포함하고,
상기 방법은 상기 제1 NN 층의 상기 뉴럴 네트워크의 뉴론들의 상기 활성화들로부터 행렬 를 형성하고, s 을 계산함으로써, 상기 제1 NN 층의 상기 뉴럴 네트워크 뉴론들의 활성화들에 기초하여, 상기 제2 NN 층들의 상기 뉴럴 네트워크 뉴론들의 활성화들을 계산하는 단계를 포함하고,
여기에서, 는 행렬 곱셈을 나타내고, 는 및 인 의 가중치 행렬이고, s는 길이 의 전치 벡터이고, 는 의 일 측에는 행렬과 의 타 측에는 전치 벡터간 컬럼-별(column wise) Hadamard 곱셈을 나타내는, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
, , 또는 , , 및 을 수신하는 단계;
다음 수식을 계산하는 단계: 및
1)
2)
상기 NN 표현 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하는 단계를 포함하여,
상기 배치 정규화 연산자를 다음과 같이 정의하도록 하며:
여기에서, , , := 0, 는 미리 결정된 파라미터인, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
, , 또는 , , 및 를 수신하는 단계
다음 수식을 계산하는 단계: 및
1)
2)
상기 NN 표현 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하는 단계를 포함하여,
상기 배치 정규화 연산자를 다음과 같이 정의하도록 하며:
여기에서, , , := 0 인, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
, 또는 , , 및 을 수신하는 단계;
다음 수식을 계산하는 단계: 및
1)
2)
상기 NN 표현 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하는 단계를 포함하여,
상기 배치 정규화 연산자를 다음과 같이 정의하도록 하며:
여기에서, , , 는 미리 결정된 파라미터인, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현 안으로 코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
, 또는 , , 및 을 수신하는 단계;
다음 수식을 계산하는 단계: 및
1)
2) ,
상기 NN 표현 안에 상기 배치 정규화 연산자의 NN 파라미터로서 및 를 코딩하는 단계를 포함하여,
상기 배치 정규화 연산자를 다음과 같이 정의하도록 하며:
여기에서, , 인, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
및 를 상기 NN 표현으로부터 유도하는 단계; 및
, , := 0 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하고, 는 미리 결정된 파라미터인, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 편향을 형성하는 전치 벡터이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
및 를 상기 NN 표현으로부터 유도하는 단계; 및
, , := 0임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하는, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 0에 의한 나눗셈을 피하기 위한 상수이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
및 를 상기 NN 표현으로부터 유도하는 단계; 및
, , 는 미리 결정된 파라미터임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하는, 방법.
- NN의 배치 정규화 연산자의 NN 파라미터들을 NN 표현으로부터 디코딩하기 위한 방법에 있어서,
상기 배치 정규화 연산자는 다음과 같이 정의되고:
여기에서,
, , , 및 는 배치 정규화 파라미터들이고,
는 가중치 행렬이고,
는 NN 층의 활성화들로부터 유도되는 입력 행렬이고,
는 일측의 행렬과 타측의 전치 벡터 사이의 컬럼-별(column wise) Hadamard 곱셈을 나타내고,
는 행렬 곱을 나타내며,
상기 방법은,
및 를 상기 NN 표현으로부터 유도하는 단계; 및
, 임을 그것의 모든 컴포넌트에 적용하는 일 시그널링을 통해 추론 또는 유도하는 단계를 포함하는, 방법.
- 청구항 23 내지 42 중 어느 한 항에 따른 디지털 데이터를 포함하는 디지털 저장 매체.
- 청구항 94 내지 105 중 어느 한 항에 따른 상기 방법을 구현하기 위한 컴퓨터 프로그램.
- 청구항 1 내지 22 및 청구항 76 내지 84 중 어느 한 항에 다른 장치에 의해 생성되는 데이터 스트림.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20169502.0 | 2020-04-14 | ||
EP20169502 | 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 |
---|---|
KR20230010854A true KR20230010854A (ko) | 2023-01-19 |
Family
ID=70456712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227039626A KR20230010854A (ko) | 2020-04-14 | 2021-04-13 | 뉴럴 네트워크 파라미터들의 표현에 대한 향상된 개념 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230075514A1 (ko) |
EP (1) | EP4136582A1 (ko) |
JP (1) | JP2023522886A (ko) |
KR (1) | KR20230010854A (ko) |
CN (1) | CN115917556A (ko) |
WO (1) | WO2021209469A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432715B (zh) * | 2023-06-14 | 2023-11-10 | 深圳比特微电子科技有限公司 | 一种模型压缩方法、装置和可读存储介质 |
-
2021
- 2021-04-13 WO PCT/EP2021/059592 patent/WO2021209469A1/en unknown
- 2021-04-13 CN CN202180042521.1A patent/CN115917556A/zh active Pending
- 2021-04-13 JP JP2022562943A patent/JP2023522886A/ja active Pending
- 2021-04-13 KR KR1020227039626A patent/KR20230010854A/ko active Search and Examination
- 2021-04-13 EP EP21717115.6A patent/EP4136582A1/en active Pending
-
2022
- 2022-10-13 US US18/046,406 patent/US20230075514A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021209469A1 (en) | 2021-10-21 |
JP2023522886A (ja) | 2023-06-01 |
US20230075514A1 (en) | 2023-03-09 |
CN115917556A (zh) | 2023-04-04 |
EP4136582A1 (en) | 2023-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lindstrom et al. | Fast and efficient compression of floating-point data | |
CN101399988B (zh) | 减少位深的量子化方法 | |
JP7356513B2 (ja) | ニューラルネットワークのパラメータを圧縮する方法および装置 | |
US10382789B2 (en) | Systems and methods for digital media compression and recompression | |
TWI827010B (zh) | 算術編碼器、算術解碼器、視訊編碼器、視訊解碼器、編碼方法、解碼方法及電腦程式 | |
EP0369682A2 (en) | Efficient coding method and its decoding method | |
Kuroki et al. | Lossless image compression by two-dimensional linear prediction with variable coefficients | |
Wu et al. | Improved decoder for transform coding with application to the JPEG baseline system | |
JP2023507502A (ja) | ニューラルネットワークのパラメータを符号化するための概念 | |
KR20230010854A (ko) | 뉴럴 네트워크 파라미터들의 표현에 대한 향상된 개념 | |
Sitaram et al. | Efficient codebooks for vector quantization image compression with an adaptive tree search algorithm | |
Sano et al. | Segment-parallel predictor for FPGA-based hardware compressor and decompressor of floating-point data streams to enhance memory I/O bandwidth | |
Imai et al. | A Floating Point Data Compression Using Inter-Extrapolative Predictor | |
Tomczak | Deep generative modeling for neural compression | |
CN112584144A (zh) | 一种图像信号处理方法及装置 | |
JPH07123276A (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 | |
Sugiura et al. | Shape Control of Discrete Generalized Gaussian Distributions for Frequency-Domain Audio Coding | |
He et al. | Post-training quantization is all you need to perform cross-platform learned image compression | |
TW202248905A (zh) | 用以解碼類神經網路參數之設備、方法及電腦程式與使用更新模型用以編碼類神經網路參數之設備、方法及電腦程式 | |
JP2023522887A (ja) | ニューラルネットワークの重みパラメーターを復号化するデコーダー、エンコーダー、方法、及び確率推定パラメーターを使用する符号化表現 | |
KR100799904B1 (ko) | 역 양자화기, 역 양자화 방법 및 그 방법을 기록한 기록 매체 | |
CN116018758A (zh) | 用于对整数值序列进行编码和解码的装置,用于对整数值序列进行编码和解码的方法以及用于实现这些方法的计算机程序 | |
Mehrotra et al. | Predictive hierarchical table-lookup vector quantization with quadtree encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |