223 0

Efficient Hardware Accelerator Design of Binarized and Ternarized Segmentation Network for Image Segmentation Inferences

Title
Efficient Hardware Accelerator Design of Binarized and Ternarized Segmentation Network for Image Segmentation Inferences
Author
김현우
Alternative Author(s)
김현우
Advisor(s)
최정욱, 송용호
Issue Date
2021. 8
Publisher
한양대학교
Degree
Doctor
Abstract
Recently, semantic segmentation based on deep neural network (DNN) is attracting attention due to the high accuracy of the network. Consequently, plenty of researches have been conducted on DNN-based semantic segmentation. These researches have significantly increased the computational demand and memory footprint of networks by focusing on improving the accuracy. Accordingly, a lot of hardware resources and power are required to operate a segmentation network, making it difficult to apply the networks to an environment where resources and power are limited, such as an embedded system. compact network design (CND) researches have emerged to decrease the computational demand and memory footprint of the network. CND researches have changed the network architecture to considerably reduce the number of parameters and operations, enabling the segmentation networks to be processed on a mobile graphic processing unit (GPU). Nevertheless, since these researches used high bit-precision of 16-bit or more (16-bit fixed-point or 32-bit floating-point) to represent networks and perform operations, performance enhancement and reduction of power consumption of the network implementation are often constrained. To overcome this limitation, researches that apply quantization to the weights and activations of the networks have appeared. Quantization researches have extremely lowered the computational requirement and memory overhead by reducing the bit-width of the weights and activations while minimizing loss of accuracy. Among them, the binary neural network (BNN) and the ternary neural network (TNN), the highest-level quantized networks, showed the highest performance efficiency. If the networks expressed low bit-precision is implemented in hardware, utilization of computing logic and memory are very high. Moreover, hardware implementation has high internal bandwidth. Accordingly, performance improvement due to quantization can be maximized. However, researches on hardware acceleration of segmentation network were only conducted down to 8-bit, and researches on the lower bits have not been established yet. Therefore, in this thesis, segmentation engines that accelerate binarized and ternarized segmentation networks are proposed to realize low-power and real-time semantic segmentation. The deconvolution used for upsampling in the segmentation network involves zero-padding, but the binarized segmentation network (BSN) cannot represent zero. Thus, a binarized deconvolution engine (BiDE) that accelerates BSN, while skipping the operation and storage of padded zeros in the deconvolution layer is proposed and designed. The ternarized segmentation network (TSN) can be thought of as adding 0 to the data representation of the BSN that expresses and computes data as +1 and –1. Different from BSNs, TSNs involve numerable zero activations and zero weights besides padded zeros of the deconvolution layer. Since these zero values ​​do not affect the segmentation results, if zero values ​​are treated effectively, the resource utilization of implementation of TSNs can be lowered and performance of that can be enhanced. Except for the operation of zero values, the multiplication operations of ternary values are identical to that of binary values. Accordingly, the resource usage of implementation of TSN can be reduced by adopting the multiplication method applied to the BNN. Therefore, a zero-aware ternarized segmentation engine (ZATSE) that processes TSN, while enhancing the performance by skipping operations and storage of zero values ​​and reducing the resource utilization by implementing multiplications as XNORs is proposed and designed. The proposed segmentation engines are designed to be implemented on a Xilinx ZU7EV FPGA operating at 187.5 MHz. BiDE accelerated the BSN to infer of 480 × 360 sized CamVid11 images, achieving performance of 25.89 FPS, 1.682 TOPS, and 824 GOPS/W. ZATSE operated the TSN while accomplishing the performance of 6.76 FPS, 440.36 GOPS, and 279.59 GOPS/W for 480 x 360 sized images, using only 1/4 of the computation logic of BiDE. Moreover, the performance efficiencies of the designed engines are enhanced as the number of computing logic increases. The number of computation logic cannot be accommodated further due to the resource constraint of the FPGA used for implementation, but higher performance is expected to achieve cosidering performance scalability.|최근 높은 정확도로 인해 Deep Neural Network(DNN)을 기반으로 하는 Semantic Segmentation이 주목받고 있다. 따라서 DNN 기반 Semantic Segmentation에 대한 많은 연구들이 진행되어 왔다. 이러한 연구들은 정확도 향상에 집중하여 Network의 연산 요구량 및 Memory Footprint를 크게 증가시켰다. 따라서 Segmentation Network를 동작시키기 위해서는 많은 Hardware 자원과 전력이 필요하며, 이는 Embedded System과 같은 전력과 Hardware 자원이 제한된 환경에 Network를 적용하기 어렵게 한다. Network의 연산 요구량과 Memory Footprint를 줄이기 위해 Compact Network Design(CND) 연구들이 등장하였다. CND 연구들은 Network 구조를 변경하여 Parameter 수와 연산 수를 크게 줄였으며, Segmentation Network를 Mobile Graphic Processing Unit(GPU) 상에서 동작 가능하게 하였다. 그럼에도 불구하고 해당 연구들은 16-bit 이상(16-bit Fixed-point 또는 32-bit Floating-point)의 높은 Bit-precision으로 Network를 표현하고 연산을 수행함으로 인해, Network 구현의 성능 향상 및 전력 소모 감소 효과가 제한되었다. 이러한 한계점을 극복하기 위해 Network의 Weight들과 Activation들에 양자화를 적용하는 연구들이 등장하였다. 양자화 연구들은 정확도 손실을 최소화하면서도 Weight들과 Activaiton들의 Bit-width를 줄여 연산 요구량과 Memory Overhead를 크게 줄였다. 그중에서도 최고 양자화 수준인 Binarized Neural Network(BNN)과 Ternarized Neural Network(TNN)은 가장 높은 성능 효율을 나타내었다. Low Bit-precision으로 표현되는 Network는 Hardware로 가속하는 경우, 연산 로직과 Memory의 사용율이 매우 높으며 높은 내부 Bandwith를 갖고 있어 양자화로 인한 성능 향상을 최대화할 수 있다. 하지만 Segmentation Network의 Hardware 가속에 관한 연구는 8-bit까지만 수행되었으며, 더 낮은 Bit-precision을 사용하는 Network에 대한 연구는 아직 수행되지 않았다. 그러므로 본 논문에서는 저전력, 실시간 Semantic Segmentation을 실현하기 위해, Binarized 및 Ternarized Segmentation Network를 가속하는 Segmentation Engine들을 제안한다. Segmentation Network에서 Upsampling에 사용되는 Deconvolution은 Zero-padding을 포함하지만, Binarized Segmentation Network(BSN)은 Zero를 표현할 수 없다. 따라서 Deconvolution Layer에서 Padding된 Zero들의 연산과 저장을 Skip하고 BSN을 가속하는 Binarized Deconvolution Engine(BiDE)이 제안되고 설계되었다. Ternarized Segmentation Network(TSN)은 데이터를 +1과 –1로 표현하는 BSN의 데이터 표현 방식에 0을 추가한 것으로 생각될 수 있다. 하지만 TSN은 BSN과 달리 Deconvolution Layer의 Padding된 Zero들 외에도 수많은 Zero Activation들과 Zero Weight들을 포함한다. 이러한 Zero 값들은 Segmentation 결과에 영향을 미치지 않으므로, Zero 값들을 효과적으로 처리한다면 TSN 구현의 Hardware 자원 사용량을 낮추고 성능을 증가시킬 수 있다. 또한 Zero 값들의 연산을 제외하면 Teranry 값들의 곱셈 연산은 Binary 값들의 곱셈 연산과 동일하다. 따라서 BNN 구현에 적용된 곱셈 방법을 TSN 구현에서도 채택함으로써 TSN 구현의 Hardware 자원 사용량을 줄일 수 있다. 그러므로 Zero 값들의 연산과 저장을 Skip하여 성능을 향상시키고 XNOR로 곱셈을 구현함으로써 Hardware 자원 사용량을 줄이면서 TSN을 가속하는 Zero-aware Ternarized Segmentation Engine(ZATSE)가 제안되고 설계되었다. 제안된 Segmentation Engine들은 Xilinx ZU7EV FPGA 상에서 187.5 MHz로 동작하도록 구현되었다. BiDE는 BSN을 가속하여 480×360 크기의 CamVid Image들을 25.89 FPS 속도로 추론하였고, 1.682 TOPS 및 824 GOPS/W의 성능을 달성하였다. ZATSE는 BiDE의 연산 로직의 1/4만을 사용하여 TSN을 연산하였고, 480×360 크기의 Image들에 대해 6.76 FPS, 440.36 GOPS 및 279.59 GOPS/W의 성능을 달성하였다. 또한 연산 로직의 수가 증가할수록 설계된 Engine들의 성능 효율성 또한 증가하였다. 구현에 사용된 FPGA의 자원 제한으로 인해 연산 로직의 수를 더욱 증가시키지는 못하였지만, 설계된 Engine들의 성능 확장성을 고려하면 더 큰 FPGA에서는 더 높은 성능을 달성할 것으로 기대된다.
URI
http://hanyang.dcollection.net/common/orgView/200000500148https://repository.hanyang.ac.kr/handle/20.500.11754/186803
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE