반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

테크매니아

논문 리뷰 : Same, Same But Different - Recovering Neural Network Quantization Error Through Weight Factorization 본문

카테고리 없음

논문 리뷰 : Same, Same But Different - Recovering Neural Network Quantization Error Through Weight Factorization

SciomageLAB 2024. 10. 20. 16:33
반응형

이스라엘 스타트업 Hailo 논문이다.

https://arxiv.org/abs/1902.01917

제목을 해석하면 가중치 분해를 통해 신경망 양자화 오류 복구 이다.

1. Introduction

반비례 분해 : 양자화 작업에 가중치 분해의 유용성을 보여줍니다. 향후 작업은 다른 설정에서 이러한 인수 분해를 활용하여 이점을 얻을 수 있습니다. 우리가 아는 한이 작업은 반비례 분해의 유용성을 강조하고 보여주는 첫 번째 작업입니다.

이퀄라이제이션 : 유사한 범위의 채널을 가진 레이어가 양자화의 영향을 덜 받고 네트워크를이 이상에 가깝게 변환하는 방법을 보여줍니다. 또한 광범위한 네트워크 아키텍처에 대해 양자화 잡음 및 양자화로 인한 저하에 대한 등화 효과에 대한 정량 분석을 수행합니다.

2. Previous Work

Equalization, Having channels with similar dynamic ranges motivated (Jacob et al., 2017)에서 Relu6를 활성함수로 사용했지만 실재로 많은 채널들이 고정되지 않았음. 또 각 채널별로 스케일을 갖는 양자화가 성능을 향상시킨다고 했는데, 가중치 양자화에서 성능저하가 생기는 경우에는 효과가 있지만, DenseNets같이 활성화 양자와로 저하되는 네트워크에선 성능향상이 없었음

Quantization Noise Analysis. The properties of noise induced by the quantization of both activations and weights were analyzed in Lin et al. (2015)에서는 네트워크 계층별 최적 비트 너비 할당에 중점을 둠. SQNR과 네트워크 정확도 간의 관계에 대한 상한선이 있음 (잘 모르겠지만.. 이전엔 노력 했지만 별로였다는게 아닐까)

3. Theoretical Foundation

주어진 네트워크 아키텍처에 대해 입력에서 출력으로 동일한 매핑을 실현하는 네트워크를 만드는 많은 가중치 할당이 있습니다. 따라서 우리는 당면한 작업에 대해 바람직한 속성을 가진 과제를 선택할 수 있는 중요한 자유도를 얻게됩니다. 우리는 네트워크 제품군의 경우 반비례 분해를 사용하여 등가 할당 사이를 점진적으로 전환 할 수 있음을 보여줍니다. 이러한 인수 분해를 통해 우리는 긍정적 인 요인에 의해 레이어 내의 개별 채널을 확장 할 수 있습니다. 그런 다음 양자화 노이즈의 원인을 분석하고 채널을 스케일링하여 레이어를 사용하여 SQNR을 개선 할 수 있음을 보여줍니다. 컨볼 루션 신경망 (CNN)에 대한 분석이 수행되지만 동일한 원칙이 다른 유형의 네트워크에도 적용될 수 있습니다. 훈련 된 네트워크에 초점을 맞추고 있기 때문에 배치 정규화 (Ioffe & Szegedy, 2015) 계층은 항상 이전 계층으로 다시 접혀지고 무시한다고 가정합니다.

3.1. Channel scaling through inversely-proportional factorization

커널 W, 바이어스 B, 입력 X, 출력 Y가있는 컨벌루션 계층에서... 명목상 단순화를 위해 컨볼 루션을 피하고 행렬 곱셈을 고려합니다.


커널이 X, Y 내의 공간 위치 i, j 중심에 있을 때 채널 벡터

커널 행렬은 아래처럼


바이어스는 아래처럼


다음 두 가지 인수 분해는 유지됨

두 경우 모두 Ci는 양의 항목이 있는 대각 행렬이고 C −1i는 역 대각 행렬입니다.

첫 번째 분해는 레이어 입력 채널의 크기를 조절하고 두 번째 분해는 레이어 출력 채널의 크기를 조절합니다.

(1)의 의미 : 원래는 Y = X W + B 인 거는 너무 당연한 사실.
근데, C와 C-1 곱은 1이니까... 위 수식에서 각각 C와 C-1을 곱해도 1을 곱한 것과 같이 똑같다.
이게 반비례 분해 라고 하는 것의 의미인 것 같다.
다항식에서 각 항에 2와 1/2를 곱하면 식이 같으니까.. 반비례 분해가 이 뜻인 것 같다.

(2)의 의미 : 이거는 더 던순하다. Y = X W + B 기본 식에서
C2라는 대각행렬을 모든 항에 곱한 것이다.

이제 L1과 L2가 네트워크에서 두 개의 연속적인 컨벌루션 레이어 인 간단한 설정을 고려합니다.

L1의 활성화 함수 A(·)는 양수에 대해 차수가 1 인 동차라고 가정합니다. 즉, 방정식 3을 만족합니다.

이 가정에서 Y1이 L1의 출력이고 X2가 L2에 대한 입력이면 Y1의 스케일링은 X2의 해당 스케일링이됩니다.

위의 모든 것을 결합하면 주요 결과에 도달합니다. L1의 활성화 후 출력 채널은 커널의 가중치와 L1 (1)의 바이어스를 조정하여 양의 요인으로 조정될 수 있으며 네트워크의 출력은 변경되지 않습니다. L2 (2)에서 해당 가중치를 역으로 조정하면 우리는이 endomorphism(자기사상, =정의역과 공역이 같은 사상)을 반비례 분해라고 부르며 그림 1에 개략적으로 표시되어 있습니다.

한 쌍의 컨벌루션 레이어에서 반비례 분해를 보여주는 도식. L1의 커널 인 K1의 출력 채널 i는 양의 계수 ci로 조정됩니다. 활성화 함수 A(·)가 동차함수라고 가정하면 활성화 후 채널도 ci로 확장됩니다. 채널 i와 상호 작용하는 L2의 커널 인 K2의 모든 가중치는 역으로 스케일링됩니다. Y2, L2의 출력은 변경되지 않습니다. 명확성을 위해 편향 용어는 생략되었습니다.

마지막 레이어를 제외하고는 레이어 쌍을 반복적으로 분해하여 전체 네트워크의 각 레이어로 개별 채널을 확장 할 수 있습니다. 마지막으로, 일반적으로 사용되는 ReLU (Nair & Hinton, 2010), PRelu (He et al., 2015a) 및 선형 활성화는 모두 방정식 (3)의 균질 특성을 충족합니다. 따라서 우리의 계획은 가장 일반적으로 사용되는 CNN에 적용됩니다.

3.2. Quantization Noise Analysis

네트워크를 통한 양자화 노이즈의 형성 및 전파를 이해하는 것은 더 나은 유사화 알고리즘을 설계하는 데 필수적인 단계입니다.

이 섹션에서는 그림 1에 묘사 된 동일한 2 층 설정을 사용하여 가중치 및 활성화 양자화의 효과를 분석합니다.

노이즈 항을 추가하여 제한된 정밀도의 효과를 모델링합니다.

잡음이있는 모델은 그림 2에 나와 있습니다. 단순화를 위해 모든 편향이 0이고 모든 활성화가 선형이라고 가정합니다.

그림2.
두 레이어 모델에 대한 양자화의 효과를 보여주는 간단한 모델.
∆W1, ∆W2 및 ∆Y1은 양자화 효과를 에뮬레이트합니다.이제 각 노이즈 항이 각 레이어의 출력에서 전체 노이즈에 어떻게 영향을 미치는지 보여줍니다. 주어진 텐서 T에 대해 우리는 T hat 그 텐서의 노이즈 버전을 나타냅니다. 또한, ∆N으로 인한 T에 대한 추가 노이즈 소스를 T hat∆N으로 표시합니다. 첫 번째 레이어의 출력을 계산하여 시작합니다.

첫 번째 레이어의 출력에는 Y hat 1∆W1은 입력 X1과 가중치 양자화 노이즈의 상호 작용에 기인하며 Y hat1∆Y1은 고유 양자화 노이즈입니다.

잡음이 독립적이라고 가정하면 그 분산은 다음과 같습니다.

균일 한 양자화의 경우 잡음 항 ∆W1, ∆Y1 분포는 균일 한 제로 중심 i.i.d 프로세스로 근사화 할 수 있습니다 (Lin et al., 2015; Marco & Neuhoff, 2005).

W1, Y1의 동적 범위는 Wr1 Yr1로 표시.

텐서의 동적 범위는 텐서 내의 모든 채널에 걸친 극한 값에 의해 결정되므로 소음 분포는 최대 2개의 채널에 의해 결정됩니다.

값이 가장 큰 채널과 값이 가장 작은 채널 우리는 이러한 채널을 지배적인 채널이라고 부르고 서로 다른 채널의 외부 값 사이에 상당한 차이가 있음을 주목한다. 다음으로, 우리는 두 번째 계층의 출력을 계산한다.

3.3. Effect of inversely-proportional factorization on SQNR

KerOutChMax(레이어)와 getActOutChMax(레이어)를 각각 가중치와 활성화에 대한 채널당 최대값을 반환합니다.
각각의 결과는 길이 Fout의 벡터로 나타난다.

4. Equalization Algorithm

섹션 3의 분석에 기초하여 우리는 노이즈의 분산을 변경하지 않고 채널의 에너지를 증가 시키는 pre quantization factorization(사전 양자화 인수화)를 적용하는 아이디어를 중심으로 설계된 두 가지 알고리듬을 제안한다. 이는 non-dominant(비지배적) 채널을 증폭하여 그 극값과 dominant(지배적) 채널의 극값이 일치하도록 함으로써 달성된다. 그림 3에서와 같이, 이러한 알고리즘은 채널의 에너지를 균등하게 하는 경향이 있으므로 채널 균등화라는 명칭을 얻게 됩니다.

채널 균등화가 두 계층 모델에 미치는 영향의 예. 각 막대는 채널의 최대값을 나타냅니다.
파란색 그래프는 가중치 데이터, 녹색은 활성화 데이터, 빨간색 그래프는 후속 레이어의 가중치를 보여줍니다.
그림 (a)는 1 단계 알고리즘을 보여줍니다. 왼쪽은 초기 상태이고 오른쪽은 균등화 후의 상태입니다.
그림 (b)는 두 단계 알고리즘을 보여줍니다. 왼쪽은 다음 레이어 가중치 균등화 이후의 상태이고 오른쪽은 최종 상태입니다.extremum values : 극값 : local maximum point

알고리즘 1은 간단한 1 단계 채널 이퀄라이제이션 방법을 설명합니다. 우리는 네트워크가 노드에 의해 표현되는 계층과 함께 직접 비순환 그래프로 표현될 수 있고 위상적으로 정렬되어 있다고 가정한다. 그런 다음 알고리듬은 첫 번째 계층(노드)에서 시작하여 반복적으로 적용되고 네트워크의 모든 출력 계층에 도달할 때까지 계속된다. 각 반복에서 계층의 채널은 후속 계층과 inversely-proportional factorization(역비례 인수화)를 채택하여 균등화된다. 계층은 이전의 모든 계층이 동등해졌을 때에만 동등해질 수 있다.

getNextLayer() 함수는 다음 계층을 반환합니다. KerOutChMax(레이어)와 getActOutChMax(레이어) 함수는 각각 가중치와 활성화에 대한 채널당 최대값을 반환합니다. 각각의 결과는 Fout 길이의 벡터가됩니다. 각 채널에 대해 활성화 및 가중치에 대한 레이어의 극값과 채널의 극값 사이의 비율을 계산합니다. 이러한 비율은 활성화 및 가중치 척도로 정의됩니다. 레이어의 크기가 조정되면 각 채널은 활성화와 가중치 사이의 최소 크기에 따라 조정됩니다. 또한 활성화 값이 작은 채널의 오버스케일링을 방지하기 위해 미리 정의된 최대치로 스케일을 제한한다. scaleLayer (layer, scale)은 (1), (2)에 따라 레이어 및 후속 레이어의 배율입니다. 가중치의 최대값과 활성화 후 균등화가 변하지 않으며 모든 척도가 >= 1이라는 것을 쉽게 알 수 있습니다.

반응형