[논문 리뷰] A Unified Hardware Architecture for Convolutions and Deconvolutions in CNN
이 논문은 컨volution과 deconvolution 연산을 동일한 프로세스 엘리먼트 어레이를 공유하는 통합된 FPGA 기반 하드웨어 가속기를 제안한다. 이로써 별도의 하드웨어가 필요 없어지며, 片上 메모리 재사용과 데이터 플로우 최적화를 통해 Xilinx ZC706 FPGA에서 컨볼루션 연산에 대해 151.5 GOPS, 디컨볼루션 연산에 대해 94.3 GOPS의 성능을 달성한다. 이는 기존 설계를 능가하면서도 두 연산에 대해 균형 잡힌 자원 효율성을 유지한다.
In this paper, a scalable neural network hardware architecture for image segmentation is proposed. By sharing the same computing resources, both convolution and deconvolution operations are handled by the same process element array. In addition, access to on-chip and off-chip memories is optimized to alleviate the burden introduced by partial sum. As an example, SegNet-Basic has been implemented using the proposed unified architecture by targeting on Xilinx ZC706 FPGA, which achieves the performance of 151.5 GOPS and 94.3 GOPS for convolution and deconvolution respectively. This unified convolution/deconvolution design is applicable to other CNNs with deconvolution.
연구 동기 및 목표
- 특히 세그먼테이션 작업에서 빠르지 않은 디컨볼루션으로 인한 성능 저하 문제를 해결한다.
- 단일 아키텍처로 컨볼루션과 디컨볼루션 연산을 모두 처리함으로써 하드웨어 중복을 줄인다.
- 외부 메모리 대역폭과 중간 저장소 오버헤드를 최소화하기 위해 메모리 액세스 패턴을 최적화한다.
- 자원 효율성을 유지하면서도 FPGA에서 고성능과 확장성을 확보한다.
- Xilinx ZC706 FPGA에 SegNet-Basic를 구현하여 설계의 효과성을 입증한다.
제안 방법
- 구성 가능한 데이터 플로우와 계산 스케줄링을 통해 컨볼루션과 디컨볼루션을 모두 지원하는 통합된 프로세스 엘리먼트 어레이를 제안한다.
- 데이터 재사용을 극대화하고 메모리 대역폭을 줄이기 위해 루프 편향, 루프 타일링, 루프 교환 기법을 적용한다.
- 라인 버퍼와 시프트 레지스터를 조합한 하이브리드 메모리 액세스 전략을 구현하여 특징 맵 스트리밍을 관리하고 외부 메모리 액세스를 줄인다.
- 시스템 컨트롤러를 유 end 상태 기계(FSM)로 구현하여 데이터 플로우, 팯딩 모드, 활성화/풀링 모듈의 비스패시를 제어한다.
- 데이터 전송 지연을 숨기고 계산 및 메모리 액세스를 균형 있게 유지하기 위해 더블 버퍼링을 구현한다.
- 배치 정규화와 활성화 함수(ReLU/LeakyReLU)를 프로세스 엘리먼트 내부에 직접 구현하여 외부 데이터 이동을 줄인다.

실험 결과
연구 질문
- RQ1전용 하드웨어 없이도 단일 하드웨어 아키텍처가 CNN의 컨볼루션과 디컨볼루션 연산을 효율적으로 지원할 수 있는가?
- RQ2디컨볼루션에서 외부 메모리 대역폭과 중간 저장소 오버헤드를 줄이기 위해 메모리 액세스 패턴을 어떻게 최적화할 수 있는가?
- RQ3컨볼루션과 디컨볼루션 간에 片상 자원을 공유함으로써 달성할 수 있는 성능 및 자원 효율성 향상은 어느 정도인가?
- RQ4디컨볼루션 중심 네트워크에서 기존 FPGA 가속기와 비교해 통합 설계의 처리량과 지연 시간은 어떻게 되는가?
- RQ5더 많은 프로세스 엘리먼트 어레이를 추가함으로써 성능을 향상시키기 위해 아키텍처를 어느 정도 확장할 수 있는가?
주요 결과
- 제안된 통합 아키텍처는 Xilinx ZC706 FPGA에서 컨볼루션 연산에 대해 151.5 GOPS, 디컨볼루션 연산에 대해 94.3 GOPS의 성능을 달성하여 대부분의 기존 FPGA 기반 CNN 가속기보다 뛰어나다.
- 디컨볼루션 연산이 중간 부분 합을 저장하지 않고 단일 스텝 내에서 완료되어 메모리 압박과 지연 시간이 감소한다.
- ZC706 FPGA에서 LUT의 8%, 레지스터의 6%, BRAM의 99%, DSP의 64%만을 사용하여 높은 자원 효율성을 보여준다.
- 시스템 컨트롤러 FSM을 통해 데이터 플로우 및 처리 모드를 동적으로 구성할 수 있어 런타임 재구성 기능을 지원한다.
- 최적화된 버퍼링과 데이터 플로우 덕분에 디컨볼루션 처리 시간이 컨볼루션 + 최대 풀링 + ReLU 처리 대비 약 3.2% 감소한다.
- 아키텍처는 확장 가능성을 보이며, 더 많은 프로세스 엘리먼트 어레이를 추가함으로써 더 높은 데이터 대역폭을 처리할 수 있다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.