Image processing/Deep-learning

딥러닝 모델 경량화 기술

유니디니 2020. 1. 30. 14:55
728x90
반응형

참고자료 


[1] 경량 딥러닝 기술 동향, ETRI 2019, 이용주, 문용혁, 박준용, 민옥기, DOI: 10.22648/ETRI.2019.J.340205




최근 GPU기반의 컴퓨팅 기술을 활용하여 다양한 딥러닝 모델이 만들어지고 있다. 하지만, 실제 디바이스나 IoT 센서에서 활용하기에는 모델이 무겁고 연산량이 많다. 경량 딥러닝 연구는 기존의 학습된 모델의 정확도를 유지하면서 크기가 작고 연산을 간소화하는 기술로 알고리즘 자체를 효율적으로 설계하거나 만들어진 모델의 파라미터를 줄이는 방법으로 나뉜다.



경량 알고리즘 : 컨볼루션 신경망의 경우, 주로 합성곱 연산량을 줄이기 위한 방법을 사용한다.

 

  • Resnet, Densenet : 기존 신경망 모델 구조에서 단일 층별 정보만을 사용하는 것이 아닌 다양한 계층의 정보를 취득하는 형태
  • Squeezenet : 3x3 합성곱 필터를 1x1 필터로 대체함으로써, 채널수를 줄였다가 늘리는 Fire module기법을 제안 



  • Mobilenet : 기존의 합성곱 필터를 채널 단위로 먼저 연산하고(Depth-wise convolution), 그 결과를 픽셀단위에 대하여 진행하여 연산량을 감소시킨다. 


  • ShuffleNet : 모바일 넷이나 액셉션과 같이 개별 합성곱은 성능이 그리 높지 않지만, 연산량을 줄여주기 때문에 주로 사용되었다. 셔플넷에서는 픽셀단위 합성곱을 할때 특정 영역의 채널에 대해서만 연산을 하도록 설계하여 연산량을 크게 줄이고자 하였다. 여기서 입력의 각 그룹이 잘 섞일수 있도록 개선하는 것이 핵심이다. 


딥러닝 모델 압축 기술


  • 가중치 가지치기 : 기존 신경망이 가지고 있는 가중치 중 비교적 작은 값들은 영향력이 적기 때문에 모두 0으로 하여 모델의 크기를 줄이는 기술이다. 이후의 연구는 재학습 과정을 통해 정확도를 높이는 방식, 세밀하게 조율하는 방식으로 진행된다. 또한, 채널을 선별하여 중복되는 채널에 대해 가지치기를 하여 모델을 압축시키는 연구도 진행되고 있다.  


  • 양자화 및 이진화 : 양자화는 특정 비트 수 만큼으로 줄여서 계산하는 방식을 말하며, 예를들어 32비트 소수점을 8비트로 줄여서 연산을 수행한다. 이진화는 신경망이 가지는 가중치와 계층 사이의 입력을 부호에 따라 -1과 1의 값으로 변환하여 크기와 연산량을 대폭 압축시키는 기술이다. 


  • 가중치 공유 : 가중치 공유는 낮은 정밀도에 대한 높은 내성을 가진 신경망의 특징을 활용해 가중치를 근사하는 방법이다. 근사화하는 방식은 가중치들의 유사도에 기반하며, k-means 또는 Gaussian Mixture Model 등이 활용된다. 
  • 지식 증류 기술 : 앙상블 기법을 통해 학습된 다수의 큰 네트워크들로부터 작은 하나의 네트워크에 지식을 전달할 수 있는 방법론 중의 하나이다. 
  • 하드웨어 가속화 기술 : 벡터 /행렬 연산을 병렬 처리 하기 위한 전용 하드웨어 TPU(Tensor Processing Unit), On-Device AI 응용추론을 위한 전용 VPU(Visual Processing Unit) 프로세스 및 GPU Cluster 기반 가속기 등의 연구 개발이 주도되고 있다. 대표적으로 인텍에서는 모비디우스, 엔비디아에서는 젝슨 TX2,  구글에서는 엣지 TPU가 개발중이다. 모바일 환경에서 활용하기 위해 퀄컴의 스냅드래곤, 화웨이의 기린, 애플의 A12칩, 삼성의 액시노스가 대표적이다. 
  • 이외에도 AutoMC(모델 압축 자동 탐색)와 같은  강화학습 기반의 경량모델 자동탐색기술을 통해 특정 데이터에 맞는 최적화된 모델을 얻는다.  


반응형