hojeomi blog

Day 37. 모델 경량화 본문

AI/Course

Day 37. 모델 경량화

호저미 2021. 3. 16. 12:15

0. 경량 딥러닝 기술

  • 경량 딥러닝 알고리즘 연구: 알고리즘 자체를 적은 연산과 효율적인 구조로 설계 → 기존 모델 대비 효율을 극대화
  • 알고리즘 경량화: 만들어진 모델의 파라미터들을 줄이는 모델 압축과 같은 기법

 

 

1. 경량 딥러닝 알고리즘

  • 가장 일반화된 CNN을 통해 다양한 연구가 진행되고 있음
  • 모델 구조 변경: 단일 층별 연산에서 그치지 않고 잔여 블록, 병목구조, 밀집 블록 등과 같은 형태를 반복적으로 쌓아 신경망으로 구성하는 다양한 신규 계층 구조를 이용하여 파라미터 축소 및 모델 성능을 개선
    • ResNet, DenseNet, SqeezeNet
  • 합성곱 필터 변경: 합성곱 신경망의 가장 큰 계산량을 요구하는 합성곱 필터의 연산을 효율적으로 줄이는 연구 → 모델 구조를 변경하는 다양한 경량 딥러닝 기법은 점차 채널을 분리하여 학습시키면서 연산량과 변수의 개수를 줄일 수 있는 연구로 확장됨 → 일반적인 합성곱은 채널 방향으로 모두 연산을 수행하여 하나의 특징을 추출하는 데 반해, 채널별(Depthwise)로 합성곱을 수행하고, 다시 점별(Pointwise)로 연산을 나누어 전체 파라미터를 줄이는 것과 같이 다양한 합성곱 필터를 설계하기 시작
    • MobileNet, ShuffleNet
  • 자동 모델 탐색: 기존 신경망의 모델 구조를 인간에게 의존적으로 수행하지 않고 모델 구조를 자동 탐색하는 기술들에 대해 연구가 이루어지고 있음 → 특정 요소(지연시간, 에너지 소모 등)가 주어진 경우, 강화 학습을 통해 최적 모델을 자동 탐색하는 연구
    • NetAdapt, MnasNet

 

 

2. 알고리즘 경량화

  • 기존 알고리즘의 불필요한 파라미터를 제거하거나, 파라미터의 공통된 값을 가지고 공유하거나, 파라미터의 표현력을 잃지 않으면서 기존 모델의 크기를 줄이는 연구 분야
  • 모델 압축 기술
    • Pruning: 기존 신경망이 가지고 있는 가중치 중 작은 가중치값을 모두 0으로 하여 네트워크의 모델 크기를 줄이는 기술
    • Quantization/Binarization: Quantization은 특정 비트 수만큼으로 줄여서 계산하는 방식, 파라미터의 Precision을 적절히 줄여서 연산 효율성을 높임
    • Weight Sharing: 낮은 정밀도에 대한 높은 내성을 가진 신경망의 특징을 활용해 가중치를 근사하는 방법
  • 지식 증류 기술(Knowledge Distillation)
    • 앙상블 기법을 통해 학습된 다수의 큰 네트워크로부터 작은 하나의 네트워크에 지식을 전달할 수 있는 방법론 중 하나, Teacher 모델을 Student 모델 학습에 활용
  • 하드웨어 가속화 기술
    • 벡터/행렬 연산을 병렬 처리하기 위한 전용 하드웨어 (TPU), VPU, GPU Custer 기반 가속기 등의 연구개발이 주요 IT 기업에 의해 주도되고 있음
  • 모델 압축을 적용한 경량 모델 자동 탐색 기술

'AI > Course' 카테고리의 다른 글

Day 43. EDA 예시 코드 공부  (0) 2021.03.30
Day 42. EDA  (0) 2021.03.29
Day 33.  (0) 2021.03.11
Day 32. Image classification & Semantic segmentation  (0) 2021.03.10
Day 31. Computer Vision 기초  (0) 2021.03.09
Comments