[논문 리뷰] Hardware-Efficient Structure of the Accelerating Module for Implementation of Convolutional Neural Network Basic Operation
이 논문은 수정된 Winograd 최소 필터링 방법과 계산 벡터화를 활용하여 컨volutional 신경망(CNN) 연산을 가속화하는 하드웨어 효율적인 모듈을 제안한다. 다가역적 곱셈기 수를 6개에서 4개로, 덧셈기 수를 4개에서 8개로 줄임으로써 설계가 상당히 단순화되며, 수십 개 또는 수백 개의 이러한 모듈을 사용하는 대규모 CNN에 있어서는 효율성 향상에 상당한 기여를 한다.
This paper presents a structural design of the hardware-efficient module for implementation of convolution neural network (CNN) basic operation with reduced implementation complexity. For this purpose we utilize some modification of the Winograd minimal filtering method as well as computation vectorization principles. This module calculate inner products of two consecutive segments of the original data sequence, formed by a sliding window of length 3, with the elements of a filter impulse response. The fully parallel structure of the module for calculating these two inner products, based on the implementation of a naive method of calculation, requires 6 binary multipliers and 4 binary adders. The use of the Winograd minimal filtering method allows to construct a module structure that requires only 4 binary multipliers and 8 binary adders. Since a high-performance convolutional neural network can contain tens or even hundreds of such modules, such a reduction can have a significant effect.
연구 동기 및 목표
- 더 나은 에너지 및 면적 효율성을 위해 CNN 가속화 모듈의 하드웨어 복잡도를 감소시키기.
- 컨볼루션 연산에서 내적을 계산하기 위해 필요한 이진 곱셈기와 덧셈기 수를 최소화하기.
- Winograd 최소 필터링 방법을 적용하여 CNN의 컨볼루션 연산을 최적화하기.
- 기본 연산당 자원 요구량을 줄여 CNN의 확장 가능한 배포를 가능하게 하기.
- 구조적 최적화를 통해 CNN 하드웨어 가속기의 성능-와트(Performance-per-watt)를 향상시키기.
제안 방법
- CNN 컨볼루션의 내적 계산을 재구조화하기 위해 수정된 Winograd 최소 필터링 방법을 채택하기.
- 연산 벡터화 원리를 적용하여 두 개의 연속된 데이터 세그먼트를 동시에 처리하기.
- 두 개의 내적을 동시에 계산하는 완전한 평행 아키텍처를 설계하여 최적화된 산술 구성 요소를 사용하기.
- 기본적인 방법이 사용하는 6개의 곱셈기와 4개의 덧셈기를 더 효율적인 구조로 대체하여 곱셈기는 4개, 덧셈기는 8개로 줄이기.
- 컨볼루션 연산의 수학적 재구성으로 재현되는 계산과 하드웨어 사용을 최소화하기.
- CNN 추론 파이프라인에서 고처리량, 저지연 동작을 지원할 수 있도록 모듈을 구조화하기.
실험 결과
연구 질문
- RQ1계산 정확도를 희생시키지 않고 CNN 컨볼루션 모듈의 하드웨어 복잡도를 어떻게 줄일 수 있는가?
- RQ2슬라이딩 윈도우 컨볼루션에서 두 개의 연속된 내적을 계산하기 위해 필요한 최소 곱셈기와 덧셈기 수는 얼마인가?
- RQ3Winograd 최소 필터링 방법을 CNN 하드웨어 가속기에서 곱셈기 수를 줄이기 위해 적응시킬 수 있는가?
- RQ4데이터 세그먼트의 벡터화가 컨볼루션 연산의 하드웨어 효율성 향상에 얼마나 기여하는가?
- RQ5제안된 구조는 대규모 CNN 아키텍처에서 자원 절감 측면에서 어떻게 스케일링되는가?
주요 결과
- 제안된 모듈은 이진 곱셈기 수를 6개에서 4개로 줄여 33%의 곱셈기 수 감소를 달성한다.
- 이진 덧셈기 수는 4개에서 8개로 증가하지만, 이는 총 하드웨어 복잡도의 순수 감소를 가능하게 하는 트레이드오프이다.
- 수정된 Winograd 방법을 통해 최소한의 산술 자원으로 두 개의 내적을 동시에 효율적으로 계산할 수 있다.
- 최적화된 구조는 수십 개 또는 수백 개의 모듈이 사용되는 대규모 CNN에 특히 유리하다.
- 이 설계는 상당한 하드웨어 효율성 향상을 달성하여 고성능, 저전력 CNN 가속기용으로 적합하다.
- 알고리즘 최적화가 CNN 하드웨어의 핵심 산술 구성 요소에 실질적인 감소를 이끌 수 있음을 보여준다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.