Skip to main content
QUICK REVIEW

[논문 리뷰] Training deep neural networks with low precision multiplications

Matthieu Courbariaux, Yoshua Bengio|PolyPublie (École Polytechnique de Montréal)|2014. 12. 22.
Numerical Methods and Algorithms참고 문헌 18인용 수 302
한 줄 요약

이 논문은 깊이 있는 신경망이 극도로 낮은 정밀도의 승수를 사용하여도 높은 정확도를 유지하면서 성공적으로 훈련될 수 있음을 보여준다. 9비트 고정소수점 또는 10비트 동적 고정소수점 산술을 사용함으로써, 고정밀도 누적기와 더 높은 정밀도의 가중치 갱신을 통해 최소한의 산술 정밀도로도 MNIST, CIFAR-10, SVHN에서 최신 기술 수준에 가까운 성능을 달성할 수 있으며, 이는 효율적인 하드웨어 구현을 가능하게 한다.

ABSTRACT

Multipliers are the most space and power-hungry arithmetic operators of the digital implementation of deep neural networks. We train a set of state-of-the-art neural networks (Maxout networks) on three benchmark datasets: MNIST, CIFAR-10 and SVHN. They are trained with three distinct formats: floating point, fixed point and dynamic fixed point. For each of those datasets and for each of those formats, we assess the impact of the precision of the multiplications on the final error after training. We find that very low precision is sufficient not just for running trained networks but also for training them. For example, it is possible to train Maxout networks with 10 bits multiplications.

연구 동기 및 목표

  • 극도로 낮은 정밀도의 승수를 추론뿐만 아니라 딥 네트워크의 종단 간 훈련에도 사용할 수 있는지 조사하기 위해.
  • 부동소수점, 고정소수점, 동적 고정소수점 형식에서 정밀도 감소가 훈련 안정성과 최종 테스트 오차에 미치는 영향을 평가하기 위해.
  • 모델 정확도를 유지하기 위해 필요한 활성화 및 가중치 갱신의 최소 비트 폭을 규명하기 위해.
  • 각 레이어별 스케일링 인자를 적응적으로 조정하는 동적 고정소수점 형식을 제안하고 검증하기 위해.
  • 정확도를 손상시키지 않고도 에너지 및 면적 효율적인 하드웨어 설계를 가능하게 하기 위해 승수 정밀도를 최소화하기 위해.

제안 방법

  • 부동소수점, 고정소수점, 동적 고정소수점 세 가지 산술 형식을 사용하여 MNIST, CIFAR-10, SVHN에서 Maxout 네트워크를 훈련시키기 위해.
  • 낮은 정밀도의 승수에도 불구하고 정확도 유지에 기여하는 고정밀도 누적기(32비트)를 사용하여 순방향 및 역방향 전파 중 수치적 안정성을 확보하기 위해.
  • 활성화 및 전파에 대해 낮은 정밀도(9–11비트)를 사용하는 반면, 가중치 갱신에는 더 높은 정밀도의 산술(19–20비트)을 적용하기 위해.
  • 초기 훈련 중에 학습된 적응형 스케일링 인자를 사용하는 동적 고정소수점 형식을 적용하고, 매 10,000개의 예제마다 업데이트하기 위해.
  • 저정밀도 환경에서의 양자화 오차를 줄이기 위해 확률적 반올림 및 정규화 기법을 적용하기 위해.
  • 다양한 데이터셋과 정밀도 수준에서 일반화 오차를 평가하여 정밀도 한계를 규명하기 위해.

실험 결과

연구 질문

  • RQ110비트 이하의 정밀도로 승수를 사용하여 딥 네트워크를 훈련시키는 데 있어 정확도 저하가 심각하게 발생하는가?
  • RQ2정밀도 효율성과 훈련 안정성 측면에서 동적 고정소수점은 고정소수점 및 부동소수점에 비해 어떻게 비교되는가?
  • RQ3활성화 및 가중치 갱신에 대해 정확도를 유지하기 위해 필요한 최소 비트 폭은 얼마인가?
  • RQ4저정밀도 환경에서 가중치 갱신 시 더 높은 정밀도 산술을 사용하는 것이 훈련 수렴에 크게 기여하는가?
  • RQ5저정밀도 훈련이 최신 딥 러닝 모델인 Maxout 네트워크에 표준 벤치마크에서 효과적으로 적용될 수 있는가?

주요 결과

  • 10비트 고정소수점 승수를 사용한 훈련은 MNIST, CIFAR-10, SVHN에서 전부 전체 정밀도 훈련과 유사한 테스트 오차율을 유지하며, 정확도 저하가 최소한이다.
  • 고정소수점에서 전파에 대한 최소 비트 폭은 19비트(부호 포함 20비트)이며, 이를 밑돌 경우 테스트 오차가 급격히 증가한다.
  • 동적 고정소수점의 경우 9비트 전파와 11비트 가중치 갱신이 거의 최적의 성능을 달성하며, SVHN에서는 오차가 약간 증가할 뿐이다.
  • 고정밀도 누적기와 더 높은 정밀도의 가중치 갱신을 사용하면 저정밀도 환경에서 훈련 안정성과 최종 정확도가 크게 향상된다.
  • 동적 고정소수점은 각 레이어별 스케일링 인자를 적응적으로 조정함으로써 양자화 오차를 줄이고 더 낮은 비트 폭을 가능하게 하여 표준 고정소수점보다 뛰어난 성능을 보인다.
  • 반정밀도 부동소수점(16비트)은 훈련에 거의 영향을 주지 않으며, 이는 16비트 부동소수점조차도 훈련에 충분하다는 것을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.