• 제목/요약/키워드: Convolution Neural Network Accelerator

검색결과 9건 처리시간 0.023초

Deep Learning을 위한 GPGPU 기반 Convolution 가속기 구현 (An Implementation of a Convolutional Accelerator based on a GPGPU for a Deep Learning)

  • 전희경;이광엽;김치용
    • 전기전자학회논문지
    • /
    • 제20권3호
    • /
    • pp.303-306
    • /
    • 2016
  • 본 논문에서는 GPGPU를 활용하여 Convolutional neural network의 가속화 방법을 제안한다. Convolutional neural network는 이미지의 특징 값을 학습하여 분류하는 neural network의 일종으로 대량의 데이터를 학습해야하는 영상 처리에 적합하다. 기존의 Convolutional neural network의 convolution layer는 다수의 곱셈 연산을 필요로 하여 임베디드 환경에서 실시간으로 동작하기에 어려움이 있다. 본 논문에서는 이러한 단점을 해결하기 위하여 winograd convolution 연산을 통하여 곱셈 연산을 줄이고 GPGPU의 SIMT 구조를 활용하여 convolution 연산을 병렬 처리한다. 실험은 ModelSim, TestDrive를 사용하여 진행하였고 실험 결과 기존의 convolution 연산보다 처리 시간이 약 17% 개선되었다.

인공 신경망 가속기 온칩 메모리 크기에 따른 주메모리 접근 횟수 추정에 대한 연구 (Research on the Main Memory Access Count According to the On-Chip Memory Size of an Artificial Neural Network)

  • 조석재;박성경;박성정
    • 전기전자학회논문지
    • /
    • 제25권1호
    • /
    • pp.180-192
    • /
    • 2021
  • 이미지 인식 및 패턴 감지를 위해 널리 사용되는 알고리즘 중 하나는 convolution neural network(CNN)이다. CNN에서 대부분의 연산량을 차지하는 convolution 연산을 효율적으로 처리하기 위해 외부 하드웨어 가속기를 사용하여 CNN 어플리케이션의 성능을 향상 시킬 수 있다. 이러한 하드웨어 가속기를 사용함에 있어서 CNN은 막대한 연산량을 처리하기 위해 오프칩 DRAM에서 가속기 내부의 메모리로 데이터를 갖고 와야 한다. 즉 오프칩 DRAM과 가속기 내부의 온칩 메모리 혹은 글로벌 버퍼 사이의 데이터 통신이 CNN 어플리케이션의 성능에 큰 영향을 끼친다. 본 논문에서는 CNN 가속기 내의 온칩 메모리 혹은 글로벌 버퍼의 크기에 따른 주메모리 혹은 DRAM으로의 접근 횟수를 추산할 수 있는 시뮬레이터를 개발하였다. CNN 아키텍처 중 하나인 AlexNet에서, CNN 가속기 내부의 글로벌 버퍼의 크기를 증가시키면서 시뮬레이션 했을 때, 글로벌 버퍼 크기가 100kB 이상인 경우가 100kB 미만인 경우보다 가속기 내부와 오프칩 DRAM 간의 접근 횟수가 0.8배 낮은 것을 확인 했다.

혼성신호 컨볼루션 뉴럴 네트워크 가속기를 위한 저전력 ADC설계 (Low Power ADC Design for Mixed Signal Convolutional Neural Network Accelerator)

  • 이중연;말릭 수메르;사아드 아슬란;김형원
    • 한국정보통신학회논문지
    • /
    • 제25권11호
    • /
    • pp.1627-1634
    • /
    • 2021
  • 본 논문은 저전력 뉴럴 네트워크 가속기 SOC를 위한 아날로그 Convolution Filter용 저전력 초소형 ADC 회로 및 칩 설계 기술을 소개한다. 대부분의 딥러닝의 학습과 추론을 할 수 있는 Convolution neural network accelerator는 디지털회로로 구현되고 있다. 이들은 수많은 곱셈기 및 덧셈기를 병렬 구조로 구현하며, 기존의 복잡한 곱셉기와 덧셈기의 디지털 구현 방식은 높은 전력소모와 큰 면적을 요구하는 문제점을 가지고 있다. 이 한계점을 극복하고자 본 연구는 디지털 Convolution filter circuit을 Analog multiplier와 Accumulator, ADC로 구성된 Analog Convolution Filter로 대체한다. 본 논문에서는 최소의 칩면적와 전력소모로 Analog Accumulator의 아날로그 결과 신호를 디지털 Feature 데이터로 변환하는 8-bit SAR ADC를 제안한다. 제안하는 ADC는 Capacitor Array의 모든 Capacitor branch에 Split capacitor를 삽입하여 모든 branch의 Capacitor 크기가 균등하게 Unit capacitor가 되도록 설계하여 칩면적을 최소화 한다. 또한 초소형 unit capacitor의 Voltage-dependent capacitance variation 문제점을 제거하기 Flipped Dual-Capacitor 회로를 제안한다. 제안하는 ADC를 TSMC CMOS 65nm 공정을 이용하여 설계하였으며, 전체 chip size는 1355.7㎛2, Power consumption은 2.6㎼, SNDR은 44.19dB, ENOB는 7.04bit의 성능을 달성하였다.

모바일 디바이스를 위한 소형 CNN 가속기의 마이크로코드 기반 컨트롤러 (Microcode based Controller for Compact CNN Accelerators Aimed at Mobile Devices)

  • 나용석;손현욱;김형원
    • 한국정보통신학회논문지
    • /
    • 제26권3호
    • /
    • pp.355-366
    • /
    • 2022
  • 본 논문은 프로그램 가능한 구조를 사용하여 재구성이 가능하고 저 전력 초소형의 장점을 모두 제공하는 인공지능 가속기를 위한 마이크로코드 기반 뉴럴 네트워크 가속기 컨트롤러를 제안한다. 대상 가속기가 다양한 뉴럴 네트워크 모델을 지원하도록 마이크로코드 컴파일러를 통해 뉴럴 네트워크 모델을 마이크로코드로 변환하여 가속기의 메모리 접근과 모든 연산기를 제어할 수 있다. 200MHz의 System Clock을 기준으로 설계하였으며, YOLOv2-Tiny CNN model을 구동하도록 컨트롤러를 구현하였다. 객체 감지를 위한 VOC 2012 dataset 추론용 컨트롤러를 구현할 경우 137.9ms/image, mask 착용 여부 감지를 위한 mask detection dataset 추론용으로 구현할 경우 99.5ms/image의 detection speed를 달성하였다. 제안된 컨트롤러를 탑재한 가속기를 실리콘칩으로 구현할 때 게이트 카운트는 618,388이며, 이는 CPU core로서 RISC-V (U5-MC2)를 탑재할 경우 대비 약 65.5% 감소한 칩 면적을 제공한다.

FMCW 레이다 센서 기반 사람과 사물 분류 시스템 설계 및 구현 (Design and Implementation of Human and Object Classification System Using FMCW Radar Sensor)

  • 심윤성;송승준;장선영;정윤호
    • 전기전자학회논문지
    • /
    • 제26권3호
    • /
    • pp.364-372
    • /
    • 2022
  • 본 논문에서는 FMCW(frequency modulated continuous wave) 레이다 센서를 활용한 사람과 사물을 분류하는 시스템 설계 및 구현 결과를 제시한다. 해당 시스템은 다중 객체 탐지를 위한 레이다 센서 신호처리 과정과 객체를 사람 및 사물로 분류하는 딥러닝 과정을 수행한다. 딥러닝의 경우 높은 연산량과 많은 양의 메모리를 요구하기 때문에 경량화가 필수적이다. 따라서 CNN (convolution neural network) 연산을 이진화하여 동작하는 BNN (binary neural network) 구조를 적용하였으며, 실시간 동작을 위해 하드웨어 가속기를 설계하고 FPGA 보드 상에서 구현 및 검증하였다. 성능 평가 및 검증 결과 90.5%의 다중 객체 구분 정확도, CNN 대비 96.87% 감소된 메모리 구현이 가능하며, 총 수행 시간은 5ms로 실시간 동작이 가능함을 확인하였다.

FPGA기반 뉴럴네트워크 가속기에서 2차 타일링 기반 행렬 곱셈 최적화 (Optimizing 2-stage Tiling-based Matrix Multiplication in FPGA-based Neural Network Accelerator)

  • 권진세;이제민;권용인;박제만;유미선;김태호;김형신
    • 대한임베디드공학회논문지
    • /
    • 제17권6호
    • /
    • pp.367-374
    • /
    • 2022
  • The acceleration of neural networks has become an important topic in the field of computer vision. An accelerator is absolutely necessary for accelerating the lightweight model. Most accelerator-supported operators focused on direct convolution operations. If the accelerator does not provide GEMM operation, it is mostly replaced by CPU operation. In this paper, we proposed an optimization technique for 2-stage tiling-based GEMM routines on VTA. We improved performance of the matrix multiplication routine by maximizing the reusability of the input matrix and optimizing the operation pipelining. In addition, we applied the proposed technique to the DarkNet framework to check the performance improvement of the matrix multiplication routine. The proposed GEMM method showed a performance improvement of more than 2.4 times compared to the non-optimized GEMM method. The inference performance of our DarkNet framework has also improved by at least 2.3 times.

차량 검출용 CNN 분류기의 실시간 처리를 위한 하드웨어 설계 (A Real-Time Hardware Design of CNN for Vehicle Detection)

  • 방지원;정용진
    • 전기전자학회논문지
    • /
    • 제20권4호
    • /
    • pp.351-360
    • /
    • 2016
  • 최근 딥 러닝을 중심으로 빠르게 발전하고 있는 기계학습 분류 알고리즘은 기존의 방법들보다 뛰어난 성능으로 인하여 주목받고 있다. 딥 러닝 중에서도 Convolutional Neural Network(CNN)는 영상처리에 뛰어나 첨단 운전자 보조 시스템(Advanced Driver Assistance System : ADAS)에서 많이 사용되고 있는 추세이다. 하지만 차량용 임베디드 환경에서 CNN을 소프트웨어로 동작시켰을 때는 각 Layer마다 연산이 반복되는 알고리즘의 특성으로 인해 수행시간이 길어져 실시간 처리가 어렵다. 본 논문에서는 임베디드 환경에서 CNN의 실시간 처리를 위하여 Convolution 연산 및 기타 연산들을 병렬로 처리하여 CNN의 속도를 향상시키는 하드웨어 구조를 제안한다. 제안하는 하드웨어의 성능을 검증하기 위하여 Xilinx ZC706 FPGA 보드를 이용하였다. 입력 영상은 $36{\times}36$ 크기이며, 동작주파수 100MHz에서 하드웨어 수행시간은 약 2.812ms로 실시간 처리가 가능함을 확인했다.

효율적인 DCNN 연산을 위한 FPGA 기반 TDC 가속기 (An Efficient FPGA Based TDC Accelerator for Deconvolutional Neural Networks)

  • 장혜림;문병인
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 춘계학술발표대회
    • /
    • pp.457-458
    • /
    • 2021
  • 딥러닝 알고리즘 중 DCNN(DeConvolutional Neural Network)은 이미지 업스케일링과 생성·복원 등 다양한 분야에서 뛰어난 성능을 보여주고 있다. DCNN은 많은 양의 데이터를 병렬로 처리할 수 있기 때문에 하드웨어로 설계하는 것이 유용하다. 최근 DCNN의 하드웨어 구조 연구에서는 overlapping sum 문제를 해결하기 위해 deconvolution 필터를 convolution 필터로 변환하는 TDC(Transforming the Deconvolutional layer into the Convolutional layer) 알고리즘이 제안되었다. 하지만 TDC를 CPU(Central Processing Unit)로 수행하기 때문에 연산의 최적화가 어려우며, 외부 메모리를 사용하기에 추가적인 전력이 소모된다. 이에 본 논문에서는 저전력으로 구동할 수 있는 FPGA 기반 TDC 하드웨어 구조를 제안한다. 제안하는 하드웨어 구조는 자원 사용량이 적어 저전력으로 구동 가능할 뿐만 아니라, 병렬 처리 구조로 설계되어 빠른 연산 처리 속도를 보인다.

실시간 얼굴 검출을 위한 Cascade CNN의 CPU-FPGA 구조 연구 (Cascade CNN with CPU-FPGA Architecture for Real-time Face Detection)

  • 남광민;정용진
    • 전기전자학회논문지
    • /
    • 제21권4호
    • /
    • pp.388-396
    • /
    • 2017
  • 얼굴 검출에는 다양한 포즈, 빛의 세기, 얼굴이 가려지는 현상 등의 많은 변수가 존재하므로, 높은 성능의 검출 시스템이 요구된다. 이에 영상 분류에 뛰어난 Convolutional Neural Network (CNN)이 적절하나, CNN의 많은 연산은 고성능 하드웨어 자원을 필요로한다. 그러나 얼굴 검출을 위한 소형, 모바일 시스템의 개발에는 저가의 저전력 환경이 필수적이고, 이를 위해 본 논문에서는 소형의 FPGA를 타겟으로, 얼굴 검출에 적절한 3-Stage Cascade CNN 구조를 기반으로하는 CPU-FPGA 통합 시스템을 설계 구현한다. 가속을 위해 알고리즘 단계에서 Adaptive Region of Interest (ROI)를 적용했으며, Adaptive ROI는 이전 프레임에 검출된 얼굴 영역 정보를 활용하여 CNN이 동작해야 할 횟수를 줄인다. CNN 연산 자체를 가속하기 위해서는 FPGA Accelerator를 이용한다. 가속기는 Bottleneck에 해당하는 Convolution 연산의 가속을 위해 FPGA 상에 다수의 FeatureMap을 한번에 읽어오고, Multiply-Accumulate (MAC) 연산을 병렬로 수행한다. 본 시스템은 Terasic사의 DE1-SoC 보드에서 ARM Cortex A-9와 Cyclone V FPGA를 이용하여 구현되었으며, HD ($1280{\times}720$)급 입력영상에 대해 30FPS로 실시간 동작하였다. CPU-FPGA 통합 시스템은 CPU만을 이용한 시스템 대비 8.5배의 전력 효율성을 보였다.