Skip to main content
QUICK REVIEW

[논문 리뷰] A Reconfigurable Winograd CNN Accelerator with Nesting Decomposition Algorithm for Computing Convolution with Large Filters.

Jingbo Jiang, Xizi Chen|arXiv (Cornell University)|2021. 02. 26.
Advanced Image Processing Techniques참고 문헌 18인용 수 6
한 줄 요약

이 논문은 큰 컨볼루션 필터(5x5에서 9x9)를 3x3 타일의 시퀀스로 분해하는 네스팅 분해 알고리즘을 사용하여 재구성 가능한 윈오드 CNN 가속기 아키텍처를 제안한다. 이는 3x3 윈오드 변환을 통해 효율적인 계산을 가능하게 한다. 기존의 최고 수준의 OLA-Winograd 알고리즘과 비교해 곱셈 수를 1.41배에서 3.29배까지 감소시켜, CNN에서 큰 필터 컨볼루션의 계산 효율성을 크게 향상시킨다.

ABSTRACT

Recent literature found that convolutional neural networks (CNN) with large filters perform well in some applications such as image semantic segmentation. Winograd transformation helps to reduce the number of multiplications in a convolution but suffers from numerical instability when the convolution filter size gets large. This work proposes a nested Winograd algorithm to iteratively decompose a large filter into a sequence of 3x3 tiles which can then be accelerated with a 3x3 Winograd algorithm. Compared with the state-of-art OLA-Winograd algorithm, the proposed algorithm reduces the multiplications by 1.41 to 3.29 times for computing 5x5 to 9x9 convolutions.

연구 동기 및 목표

  • CNN에서 큰 컨볼루션 필터에 윈오드 변환를 적용할 때 발생하는 수치적 불안정성을 해결한다.
  • 특히 이미지 세그멘테이션과 같은 응용 분야에서 큰 필터 컨볼루션의 계산 효율을 향상시킨다.
  • 다양한 필터 크기와 계산 모드를 동적으로 전환할 수 있는 확장성 있고 재구성 가능한 하드웨어 가속기 아키텍처를 개발한다.
  • 기존의 OLA-Winograd 방법을 초월하여 컨볼루션 연산에서 곱셈 수를 줄인다.
  • 알고리즘적 혁신을 통해 큰 필터 CNN의 실용적 구현을 가능하게 하여 계산 비용을 완화한다.

제안 방법

  • 큰 필터(예: 5x5, 7x7, 9x9)를 반복적으로 3x3 필터 타일의 시퀀스로 분해하는 네스팅 윈오드 알고리즘을 제안한다.
  • 각 타일에 대해 3x3 윈오드 변환를 적용하여 컨볼루션 연산의 곱셈 수를 줄인다.
  • 직접 큰 필터에 윈오드 변환를 적용하는 것을 피함으로써 수치적 안정성을 유지하기 위해 타일 기반의 분해 전략을 사용한다.
  • 다양한 필터 크기와 계산 모드를 동적으로 전환할 수 있도록 재구성 가능한 가속기 아키텍처를 설계한다.
  • 기존의 윈오드 기반 가속화 기법과 네스팅 분해를 통합하여 정확도를 유지하면서 효율성을 향상시킨다.
  • 3x3 타일의 순차적 처리를 지원하기 위해 가속기 내의 데이터 플로우와 메모리 액세스 패턴을 최적화한다.

실험 결과

연구 질문

  • RQ1큰 컨볼루션 필터는 윈오드 기반 컨볼루션에서 수치적 불안정성을 완화하기 위해 더 작은 안정적인 구성 요소로 분해될 수 있는가?
  • RQ2OLA-Winograd 대비 네스팅 분해 알고리즘이 5x5에서 9x9 컨볼루션에서 곱셈 수를 얼마나 줄일 수 있는가?
  • RQ3매우 높은 계산 절감을 달성하면서도, 제안된 알고리즘은 수치적 정확성을 어떻게 유지하는가?
  • RQ4네스팅 분해 방법을 사용한 재구성 가능한 가속기에서 하드웨어 효율성은 얼마나 향상되는가?
  • RQ5제안된 방법은 실용적인 CNN 추론 워크로드에서 다양한 큰 필터 크기를 효과적으로 확장할 수 있는가?

주요 결과

  • 제안된 네스팅 분해 알고리즘은 OLA-Winograd 방법 대비 5x5 컨볼루션에서 곱셈 수를 1.41배 감소시킨다.
  • 7x7 컨볼루션의 경우, 최고 수준의 OLA-Winograd 접근 방식 대비 곱셈 수를 2.34배 감소시킨다.
  • 9x9 컨볼루션의 경우 곱셈 수를 최대 3.29배까지 감소시켜 계산 효율성을 크게 향상시킨다.
  • 직접 큰 필터에 윈오드 변환를 적용하지 않음으로써 분해 전략이 수치적 안정성을 유지한다.
  • 재구성 가능한 가속기 아키텍처 설계로 네스팅 분해의 효율적인 하드웨어 매핑이 가능해져 실시간 CNN 추론을 지원한다.
  • 성능을 희생시키지 않고 자원 제약 환경에서도 큰 필터 CNN의 실용적 구현을 위한 길을 열어준다.

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

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

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

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