activation function quantization에 대하여

1. introduction

 

weight뿐만 아니라 activation에도 quantization을 적용할 수 있다

 

심지어 activation과 weight에 서로 다른 quantization을 적용할 수 있다

 

activation끼리도 서로 다른 quantization 적용이 가능하고 weight끼리도 서로 다른 quantization 적용이 가능하다

 

activation과 weight에 quantization 예시

 

 

위 그림을 보면 weight에 모두 8bit로 quantization을 하고 activation 3개에는 모두 다른 16bit, 8bit, 3bit quantization을 하고 있다

 

 

2. problem

 

activation function을 quantization하면 문제점은 계단함수가 되어 모든 구간에서 미분이 안된다는 문제점이 있다

 

forward pass는 상관없는데 backpropagation이 문제가 생긴다

 

quantization의 문제점

 

 

그림에서 보면 loss function을 x로 미분해서 backpropagation하려고 하는데 $\frac{\partial y}{\partial x}$가 구할 수 없다는게 문제다

 

그래서 y를 quantization하기 전으로 되돌린 다음에 x로 미분하자는 것이 하나의 해법

 

위의 경우 원래는 y=x라서 quantization하기 전에 함수로 미분하면 1이 되는 것 같아

 

또 한가지 방법은 sigmoid function에 smoothing 요소를 추가하는 것이다

 

sigmoid function의 smoothing

 

 

training단계에서 T를 점진적으로 증가시키면서 sigmoid function을 사용하고

 

최종 training단계에서 완전히 이상적인 quantization function에 접근하도록 만든다

 

Thus, during the training stage, we start with a small T to ensure a stable and effective learning, and gradually increase T w.r.t. the training epochs to finally approach the ideal quantization functions,

 

network의 train이 완료되면 inference단계에서는 완전히 quantization된 (e)의 step function을 사용하여 forward pass를 계산하여 inference를 수행함

 

논문에서 설명한 inference단계

TAGS.

Comments