KR20190118365A - 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법 - Google Patents

컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법 Download PDF

Info

Publication number
KR20190118365A
KR20190118365A KR1020180041588A KR20180041588A KR20190118365A KR 20190118365 A KR20190118365 A KR 20190118365A KR 1020180041588 A KR1020180041588 A KR 1020180041588A KR 20180041588 A KR20180041588 A KR 20180041588A KR 20190118365 A KR20190118365 A KR 20190118365A
Authority
KR
South Korea
Prior art keywords
binarization
layer
parameter
input data
convolution
Prior art date
Application number
KR1020180041588A
Other languages
English (en)
Other versions
KR102042446B1 (ko
Inventor
김태환
신지훈
Original Assignee
한국항공대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국항공대학교산학협력단 filed Critical 한국항공대학교산학협력단
Priority to KR1020180041588A priority Critical patent/KR102042446B1/ko
Publication of KR20190118365A publication Critical patent/KR20190118365A/ko
Application granted granted Critical
Publication of KR102042446B1 publication Critical patent/KR102042446B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법에 관한 것으로 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치는, 상기 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 상기 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성하는 이진화 파라미터 생성부, 상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성하고, 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 1차 연산 결과를 생성하는 컨벌루션 연산부 및 상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출하는 쇼트컷 연산부를 포함하되, 상기 쇼트컷은 이진화 이전의 상기 초기 입력데이터에 대응할 수 있다.

Description

컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법{IMPROVED BINARIZATION APPARATUS AND METHOD OF FIRST LAYER OF CONVOLUTION NEURAL NETWORK}
본원은 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법에 관한 것이다.
심층 신경망 (Deep Neural Network; DNN)은 컴퓨터 비전과 음성 인식을 포함하는 여러 분야에서 뛰어난 성과를 보였으며, 특히 컴퓨터 비전 분야에서 DNN의 일종인 컨벌루션 신경망 (Convolutional Neural Network; CNN)이 높은 영상 분석 성능을 보였다. CNN의 분석 성능을 향상시키기 위해서는, 수많은 인공 신경들이 모델에 포함 되어야 하며, 이를 구현하기 위해서는 매우 높은 연산량이 요구된다. 이와 더불어, 수많은 인공 신경들 간의 연결 관계를 구현하기 위해서는 매우 큰 메모리 용량이 요구된다.
그러나 CNN 특유의 높은 메모리 요구량과 연산 량으로 인해, 값비싼 고성능-고전력의 그래픽 프로세싱 유닛(GPU)을 갖춘 환경에서는 원활하게 동작하지만, 스마트폰, 스마트 웨어러블 기기 등의 임베디드 플랫폼에서의 빠른 동작은 어렵다. 이로 인해 CNN의 연산 량과 메모리 요구량을 감소시키기 위한 방법이 요구되고 있다
본원의 배경이 되는 기술은 한국공개특허공보 제2017-0023708호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 컨벌루션 입력데이터와 파라미터를 모두 이진화하면서도 입력데이터의 손실을 최소화할 수 있는 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법을 제공하는 것을 목적으로 한다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 종래의 컨벌루션 신경망의 연산에 비해 부동소수점 곱셈의 연산량을 감소시키고, 분석 성능의 저하를 저감할 수 있는 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법을 제공하는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들도 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법은, (a) 상기 첫번째 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 상기 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성하는 단계, (b) 상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성하고, 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 다음 상기 컨벌루션 연산에 대하여 상기 배수화 파라미터로 배수화 곱셈을 진행하여 1차 연산 결과를 생성하는 단계, 및 (c) 상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출하는 단계를 포함하되, 상기 쇼트컷은 이진화 이전의 상기 초기 입력데이터에 대응할 수 있다.
본원의 일 실시예에 따르면, 상기 (c) 단계에서의 상기 쇼트컷의 덧셈 연산에 의해, 상기 (a) 단계에서의 이진화 이전의 초기 입력데이터가 고려될 수 있다.
본원의 일 실시예에 따르면, 상기 (b) 단계에서, 상기 1차 연산 결과는 배치 정규화된 것이고, 상기 (c) 단계에서, 상기 쇼트컷은 배치 정규화된 것일 수 있다.
본원의 일 실시예에 따르면, 상기 2차 연산 결과는 식1에 의해 산출될 수 있다.
본원의 일 실시예에 따르면, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법은, (d) 상기 2차 연산 결과에 대하여 풀링 및 배치 정규화를 수행하는 단계를 더 포함할 수 있다.
본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치는 상기 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 상기 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성하는 이진화 파라미터 생성부, 상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성하고, 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 다음 상기 컨벌루션 연산에 대하여 상기 배수화 파라미터로 배수화 곱셈을 진행하여 1차 연산 결과를 생성하는 컨벌루션 연산부 및 상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출하는 쇼트컷 연산부를 포함하되, 상기 쇼트컷은 이진화 이전의 상기 초기 입력데이터에 대응할 수 있다.
본원의 일 실시예에 따르면, 상기 쇼트컷의 덧셈 연산에 의해, 이진화 이전의 상기 초기 입력데이터가 고려될 수 있다.
본원의 일 실시예에 따르면, 상기 컨벌루션 연산부는, 상기 1차 연산 결과를 배치 정규화하고, 상기 쇼트컷 연산부는, 상기 쇼트컷을 배치 정규화할 수 있다.
본원의 일 실시예에 따르면, 상기 쇼트컷 연산부는, 식 2를 통해 상기 2차 연산 결과를 산출할 수 있다.
본원의 일 실시예에 따르면, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치는 상기 2차 연산 결과에 대하여 풀링 및 배치 정규화를 수행하는 정규화 연산부를 더 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 컨벌루션 입력데이터와 파라미터를 모두 이진화하면서도 초기 입력데이터를 우회하는 쇼트컷 연산을 부가함으로써 입력데이터의 손실을 최소화할 수 있는 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법을 제공할 수 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 초기 입력데이터 및 첫번재 레이어의 파라미터를 이진화하여 종래의 컨벌루션 신경망의 연산에 비해 부동소수점 곱셈의 연산량을 감소시키고, 쇼트컷 연산을 통해 분석 성능의 저하를 저감할 수 있는 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법을 제공할 수 있다.
도 1은 종래의 일반적인 컨벌루션 신경망의 프로세스를 도시한 도면이다.
도 2는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치의 구성을 도시한 도면이다.
도 3은 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화의 흐름을 도시한 도면이다.
도 4는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치에 의한 분석 성능 감소를 도식화한 도면이다.
도 5는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 종래의 컨벌루션 신경망의 연산량을 비교한 도면이다.
도 6은 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치와 종래의 CNN의 분석 성능을 비교한 도면이다.
도 7은 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법의 흐름을 도시한 도면이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
도 1은 종래의 일반적인 컨벌루션 신경망의 프로세스를 도시한 도면이다.
종래의 일반적인 컨벌루션 신경망(Convolution Neural Network)(이하, 종래의 CNN이라 한다.)은 크게 입력의 지역적 특성(예를 들어 이미지의 특징(feature))을 추출하는 복수의 컨벌루션 레이어(Convolutional Layer, 이하, CL)와 추출된 특성들을 분석하는 복수의 완전 연결 레이어 (Fully-Connected Layer, 이하, FCL)로 구성된다. 종래의 CNN으로 입력된 정보는 다수의 CL과 FCL을 거쳐 분류될 수 있다. 예를 들어 입력된 정보가 이미지인 경우, 이미지의 특징점에 따라 이미지가 어떤 범주에 속하는지 분류될 수 있다. CNN의 파라미터와 컨벌루션 입력들의 정밀한 32 비트 부동소수점 값은, 높은 영상 분석 성능을 내는데 중요치 않다고 알려졌으며, 이에 따라 파라미터와 컨벌루션 입력들을 더 낮은 비트 수로 표현하는 연구가 수행된 바 있다. 도 1의 (a)를 참조하면, 종래의 CNN은 컨벌루션(Convolution)(S11, 풀링(Pooling)(S12), 배치 정규화(Batch Normalization)(S13) 및 활성화(Activation)(S40)의 프로세스를 포함할 수 있다. 컨벌루션(S11)은 입력데이터와 복수의 필터 간의 연산이며, 각 필터의 파라미터들은 학습을 통해 획득될 수 있다. w×h×d 크기의 입력 A와 (2n-1)×(2n-1)×d 크기의 M개 필터 W 간의 컨벌루션의 결과 O는 하기의 수학식 1로 나타낼 수 있다.
[수학식 1]
Figure pat00001
결과값인 O는 (i, j, m) 위치의 성분 값을 나타낸다. 또한,
Figure pat00002
는m 번째 필터
Figure pat00003
의 (x, y, z) 위치에서의 파라미터 값이고 A x,y,z 는 A의 (x, y, z) 위치에서의 성분 값이다 상기 수학식1에서와 같이 종래의 CNN에서 O의 성분 값을 계산하기 위해서는 (2n-1)·(2n-1)·d번의 곱셈-누산이 필요하며, O의 크기는 (w-2n+2) Х(h-2n+2)ХM이 된다. 이에 따라, 하나의 CL을 처리하기위해 총 (2n-1)·(2n-1)·d·(w-2n+2)·(h-2n+2)·M번의 연산이 요구되며, (2n-1)·(2n-1)·d·M개의 파라미터를 저장할 메모리가 필요하다. 또한, 컨벌루션 연산 후에는 채널별로 풀링을 수행하고(S20), O를 배치 정규화한다(S30). 풀링은 국부 영역 내의 값들에 대한 평균 또는 최대값을 선택하여 입력데이터의 크기를 줄이는 것을 의미한다. 이후 비선형 활성화 연산을 통과한 활성화 출력은 다음 레이어의 입력으로 사용된다. 여기서, 비선형 활성화 연산은 비선형 함수를 이용한 연산을 의미하며, 비선형 함수는, 예를 들어, 시그모이드(sigmoid) 함수나 정류 선형 함수(ReLU : Rectified Linear Unit)를 포함할 수 있다. 또한, 활성화 출력은 상기 비선형 함수를 이용한 연산의 결과를 의미한다.
상기 FCL은 완전 연결된 컨벌루션 연산, 집단 정규화 및 활성화를 포함하는 프로세스를 의미한다. 완전 연결된 컨벌루션은 상기 CL의 컨벌루션 연산과 동일한 연산을 하되, M개의 필터 크기가 입력의 크기와 같으며, 출력의 크기는 1×1ⅹM이 된다. 이에 따라, 하나의 FCL을 처리하기 위해서, w·h·d·M번의 곱셈-누산 연산이 필요하며, w·h·d·M개의 파라미터를 저장할 메모리가 필요하다. 상술한 바와 같이 종래의 CNN을 구현하기 위해서는 많은 연산량 및 큰 메모리 용량이 요구되는 문제점이 있다. 이러한 문제점에 의해, 임베디드 시스템과 같이 제한된 연상 성능과 메모리 용량을 갖춘 플랫폼에서 종래의 CNN을 구현하는 것이 어려운 실정이다.
또한, 종래에는 CNN에는 파라미터와 컨벌루션 입력을 모두 8비트 부동소수점으로 표현하는 방식이 제안된 바 있었고, 파라미터는 3개의 값, 컨벌루션 입력은 3비트로 표현하는 방법도 제안된 바 있다. 또한, 극단적인 단일 비트로 표현하는 이진화 (Binarization) 과정을 통해 CNN의 연산량과 메모리 요구량을 획기적으로 감소시키는 방식(BCNN)이 도 1의 (b)와 같이 제안된 바 있다. 도 1의 (b)를 참조하면, 종래의 이진화된 입력에 대한 CNN은 레이어의 입력을 이진화하여 이진화된 입력에 대한 컨벌루션을 수행하고(S21), 배수화(S22), 풀링(S23), 배치 정규화(S24) 및 이진화(S25)의 프로세스를 포함할 수 있다. 이진화된 컨벌루션(S21)은 입력과 다수의 필터 간의 연산이며 컨벌루션 입력은 이진화 이전의 컨벌루션 레이어의 활성화 결과 Ab로 수학식 2와 같이 단일 비트로 표현될 수 있다.
[수학식 2]
Figure pat00004
여기서, l은 레이어 번호 이고, clip(·)은 max(-1, min(·, 1)) 연산을 나타내고, sign(·)은 부호를 추출(반환)하는 연산을 나타낸다. (Al)b x,y,z는 이진화된 컨벌루션의 입력을 나타내고, (Al) x , y , z 는 이진화 이전의 컨벌루션의 입력을 나타낸다. 또한, 일반적인 CNN과 달리, 각 필터의 파라미터들은 부동소수점 형식인 W가 아닌 이진화된 형식 Wb로 표현될 수 있다. 각 필터의 파라미터들을 이진화하는 연산은 수학식 3과 같이 나타날 수 있다.
[수학식 3]
Figure pat00005
여기서, (Wl)b m,x,y,z는 이진화된 파라미터를 나타내고, (Wl)m,x,y,z는 이진화 이전의 파라미터를 나타낸다. -1 또는 1의 값만 갖는 이진화된 컨벌루션의 입력과 파라미터 간의 컨벌루션 연산은 후술하는 Bitwise XNOR와 누산으로 대체될 수 있다. 또한, wⅹhⅹd 크기의 입력 Ab와 (2n-1)ⅹ(2n-1)ⅹd 크기의 M개 필터 Wb 간의 이진화된 컨벌루션의 결과는 수학식 4와 같이 나타날 수 있다.
[수학식 4]
Figure pat00006
여기서 l은 레이어 번호이고, Wm,x,y,z, Wb m,x,y,z는 각각 m 번째 필터 Wm의 (x, y, z) 위치에서의 부동소수점 파라미터 값과 이진화된 파라미터 값을 의미한다. 또한, Wb와 Ab간의 곱셈 누산은 수학식 5와 같이 단일 비트로 매핑된 파라미터와 컨벌루션 입력간의 Bitwise XNOR와 누산으로 대체될 수 있다.
[수학식 5]
Figure pat00007
여기서 XNOR(·,·)는 단일 비트의 두 입력 간의 XNOR 연산으로, 두 입력의 값이 다르면 -1, 같으면 1의 출력을 가진다. 상기 수학식 5에서와 같이, O의 크기는 제로-패딩 (Zero-Padding)을 한 경우 채널 수만 바뀌어 wⅹhⅹM 이 된다. 이에 따라 CL의 이진화된 컨벌루션을 처리하기 위해 총 (2n-1)·(2n-1)·d·w·h·M번의 비트 연산이 요구된다.
이진화된 컨벌루션(S21) 이후, 파라미터 배수화 계수 e 를 곱하는 배수화가 수행될 수 있다(S22). 배수화는 파라미터의 이진화로 인한 분석 성능의 감소를 줄이기 위해 수행될 수 있다. 따라서, 배수화 계수 e를 도입하여 이진화된 파라미터를 이진화 이전의 파라미터로 근사시킬 수 있다. 배수화 계수는 수학식 6과 같이 각 채널마다 해당 채널 파라미터의 절대값 평균으로 정의될 수 있다. 배수화 계수는 해당 레이어의 채널 수만큼 생성될 수 있다. 또한, 수학식 7과 같이 배수화를 수행함에 따라 이진화된 파라미터 값을 이진화 이전의 파라미터 값에 근사화 시킬 수 있다.
[수학식 6]
Figure pat00008
여기서, el,m은 배수화 계수를 나타낸다.
[수학식 7]
Figure pat00009
즉, 배수화(S22)는 이진화된 컨벌루션 결과 O의 각 성분에 e를 곱하는 연산으로, w·h·M 번의 부동소수점 곱셈 연산이 요구되며, 이후 진행되는 풀링(S23), 배치 정규화(S24), 활성화 모두 동일한 수의 부동소수점 연산을 소모한다. 풀링(S23)은 이진화 컨벌루션과 배수화(S22) 이후, 최대값 풀링을 통해 특성 지도(Feature Map)의 크기를 줄이는 과정이다. 수학식 8은 배치 정규화 연산을 나타내며, 학습 과정에서 입력을 채널 단위로 정규화 할 수 있다. 즉, 입력의 채널 단위로 평균
Figure pat00010
과 분산
Figure pat00011
을 기록하고, 스케일 (Scale) 파라미터 γm와 바이어스 파라미터 βm를 학습하여 입력을 정규화함으로써 공변량 이동 현상을 억제시킬 수 있다.
[수학식 8]
Figure pat00012
여기서 Xm,x,y,z는 배치 정규화 과정의 입력을 나타내고,
Figure pat00013
은 각각 m 번째 필터의 평균, 분산, 스케일링 파라미터, 바이어스 파라미터를 나타내며, 각각은 필터 수, 즉 입력의 채널 수 만큼의 개수를 가진다. 보편적으로 2ⅹ2, 혹은 3ⅹ3의 국부 영역 내의 값들의 평균값 또는 최댓값을 선택하여 입력의 크기를 (w/2)ⅹ(h/2)ⅹM 으로 줄인다. 이 후 전술한 수학식 2를 통한 이진화가 이루어지고(S25), 출력된 레이어는 다음 레이어의 입력으로 사용될 수 있다.
영상 데이터가 CL을 여러 번 통과함으로써 다수의 풀링 연산으로 인해 크기가 많이 줄어들면 FCL을 통해 최종 영상 분석을 진행한다. FCL의 연산 구조는 CL과 동일하되, 컨벌루션에 해당하는 연산이 입력과 파라미터 간의 일차결합 연산으로 대체된다. 이를 위해 3차원 형태의 CL 출력을 1차원 형태로 바꾸고, 다수의 1차원 필터들과 컨벌루션 한다. 수학식 9는 k 크기의 이진화된 입력 Ab와 동일한 k 크기의 이진화된 M개 필터 Wb 간의 연산 결과로 생성되는 출력 O의 m번째 성분 값을 나타낸다.
[수학식 9]
Figure pat00014
여기서, Wm,x는 m번째 필터와 입력을 나타내고, Ax는 입력의 x번째 성분 값을 나타낸다. 상기 수학식 9는 총 k·M 번의 비트 연산을 소모한다.
종래의 BCNN은 영상 데이터를 입력으로 받는 신경망의 입력 레이어는 이진화 시 데이터 손실로 인한 성능 감소를 이유로 이진화를 하지 않았다. 하지만 이진화되지 않은 CL의 컨벌루션 연산은 막대한 양의 부동소수점 연산을 요구하며, 이러한 연산량은 각 레이어의 배치 정규화, 풀링, 활성화 시 요구되는 부동소수점 연산량을 모두 합한 것을 상회하기 때문에, 연산량 관점에서 보다 효율적인 방안이 제시될 필요가 있다.
도 2는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치의 구성을 도시한 도면이고, 도 3는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화의 흐름을 도시한 도면이다.
도 2를 참조하면, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)는 이진화 파라미터 생성부(110), 컨벌루션 연산부(120), 쇼트컷 연산부(130) 및 정규화 연산부(140)를 포함할 수 있다. 도 5를 참조하면, 파라미터 생성부(110)는 첫번째 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성할 수 있다. 첫번째 레이어에는 이전 레이어가 없기 때문에 컨벌루션의 입력이 -1 또는 1의 값을 갖지 않는다. 따라서, 이진화 파라미터 생성부(110)는 수학식 10을 통해 초기 입력 데이터 즉, 컨벌루션 입력을 이진화할 수 있다.
[수학식 10]
Figure pat00015
여기서, (Al)b x,y,z 첫번째 레이어의 이진화된 컨벌루션 입력을 나타내고, (Al)x,y,z는이진화 이전의 컨벌루션 입력을 나타낸다. 첫번째 레이어를 이진화할 경우, 입력 영상 데이터 손실로 인한 분석 성능이 떨어지지만, 컨벌루션이 이진화된 컨벌루션으로 대체되어 파라미터 저장을 위한 메모리 요구량과 연산 복잡도를 낮출 수 있다.
또한, 이진화 파라미터 생성부(110)는 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성할 수 있다(S51). 예시적으로, 이진화 파라미터 생성부(110)는 수학식 11을 통해 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성할 수 있다.
[수학식 11]
Figure pat00016
여기서, (W1)b m,x,y,z는 첫번째 레이어의 이진화된 파라미터를 나타내고, (W1)m,x,y,z는 첫번째 레이어의 이진화 이전의 파라미터를 나타낸다.
컨벌루션 연산부(120)는 상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성할 수 있다(S52). 예시적으로, 컨벌루션 연산부(120)는 수학식 12를 통해 배수화 계수를 산출하고, 수학식 13을 통해 이진화 파라미터에 대한 배수화를 수행하여 배수화 파라미터를 생성할 수 있다.
[수학식 12]
Figure pat00017
여기서, e1은 배수화 계수를 나타낸다.
[수학식 13]
Figure pat00018
여기서, (W 1)b m,x,y,z는 이진화된 파라미터이고, (W 1)m,x,y,z는 배수화 계수를 통해 상기 이진화된 파라미터를 이진화 이전의 파라미터로 근사시킨 값을 나타낸다.
컨벌루션 연산부(120)는 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 1차 연산 결과를 생성할 수 있다. 컨벌루션 연산부(120)는 수학식 14를 통해 1차 연산 결과를 생성할 수 있다.
[수학식 14]
Figure pat00019
여기서, (O 1)I,j,m은 1차 연산 결과이고, (A 0)b는 이진화된 초기 입력데이터를 의미한다.
또한, 컨벌루션 연산부(120)는 1차 연산 결과를 배치 정규화 할 수 있다(S53). 예시적으로, 컨벌루션 연산부(120)는 상기 수학식 8을 이용하여 배치 정규화를 수행할 수 있다.
[수학식 8]
Figure pat00020
컨벌루션 연산부(120)에 의한 배치 정규화 과정에서 상기 Xm,x,y,z는 배치 정규화 과정의 입력 즉, 1차 연산 결과((O 1)I,j,m) 일 수 있다. 또한,
Figure pat00021
은 각각 m 번째 필터의 평균, 분산, 스케일링 파라미터, 바이어스 파라미터를 나타내며, 각각은 필터 수, 즉 입력의 채널 수 만큼의 개수를 가진다
상기 1차 연산 결과에 배치 정규화를 적용하면 수학식 15와 같이 표현될 수 있다.
[수학식 15]
Figure pat00022
쇼트컷 연산부(130)는 상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출할 수 있다. 전술한 바와 같이, 레이어의 입력 데이터를 이진화함으로써, 연산량을 감소시킬 수 있는 이점이 있으나, 입력 데이터의 이진화에 따라 데이터가 손실되는 문제가 상존한다. 따라서, 이진화 이전의 초기 입력 데이터를 우회하여 컨벌루션 연산 결과인, 1차 연산 결과에 더하는 쇼트컷 연산을 통해 입력을 이진화 하지 않은 컨벌루션에 근접한 결과를 도출할 수 있다. 즉, 쇼트컷은 이진화 이전의 초기 입력데이터에 대응할 수 있다. 또한, 쇼트컷의 덧셈 연산에 의해 이진화 이전의 상기 초기 입력데이터가 고려될 수 있다.
쇼트컷 연산부(130)는 수학식 16을 통해 2차 연산 결과를 산출할 수 있다.
[수학식 16]
Figure pat00023
여기서, e1,m은 첫번째 레이어에 대한 m번째 필터의 계수이고, A 0는 초기 입력데이터이고, I,j,m은 A 0의 위치 성분 값을 나타낸다.
상기 수학식 16은 배치 정규화 하지 않은 1차 연산 결과(수학식 14 참조)와 초기 입력데이터의 덧셈 연산을 나타내며, 이는 공변량 이동 현상을 억제하는 것에 대한 고려가 되어 있지 않다. 따라서, 쇼트컷 연산부(130)는 상기 수학식 15와 같이 1차 연산 결과를 배치 정규화하고, 초기 입력데이터를 정규화할 수 있으며(S54), 배치 정규화된 1차 연산 결과 및 배치 정규화된 쇼트컷을 덧셈 연산할 수 있다.
쇼트컷 연산부(130)는 수학식 17을 통해 2차 연산 결과를 산출할 수 있다. 수학식 17은 배치 정규화된 1차 연산 결과 및 배치 정규화된 쇼트컷의 덧셈 연산을 나타낸다.
[수학식 17]
Figure pat00024
수학식 17에 따르면, 배치 정규화된 1차 연산 결과 및 배치 정규화된 쇼트컷을 더하였으므로, 다시 배치 정규화를 수행할 필요가 있다. 정규화 연산부(140)는 2차 연산 결과에 대하여 풀링 및 배치 정규화를 수행할 수 있다. 정규화 연산부(140)는 상기 수학식 8을 이용하여 2차 연산 결과를 배치 정규화 할 수 있다(S55). 또한, 정규화 연산부(140)는 2차 연산 결과를 활성화하고(S56), 풀링할 수 있다(S57). 활성화는 예시적으로, 비선형 함수를 이용한 연산을 의미하며, 비선형 함수는, 예를 들어, 시그모이드(sigmoid) 함수나 정류 선형 함수(ReLU : Rectified Linear Unit)를 포함할 수 있다. 또한, 풀링은 풀링은 국부 영역 내의 값들에 대한 평균 또는 최대값을 선택하여 입력데이터의 크기를 줄이는 것을 의미한다. 상기 활성화 및 풀링은 공지된 개념이므로 구체적인 설명은 생략한다.
다양한 ImageNet 데이터 셋으로 학습을 수행하는 종래의 신경망들과 마찬가지로, ResNet-18은 영상 데이터를 224×224×3의 크기로 줄인 후, 전처리 과정을 통해 정규화한다. 첫 번째 레이어는 스트라이드 (stride)값 2의 7×7 컨벌루션으로, 64개의 7×7×3 파라미터 필터가 사용되며, 출력의 크기는 112×112×64 가 된다. 따라서, 기존 BCNN은 입력 레이어의 컨벌루션에서 7x7x3x112x112x64 번의 부동소수점 MAC 연산을, 배수화, 배치 정규화, 풀링, 활성화에서 각각 112x112x64 번의 부동소수점 곱셈 연산을 소모하게 된다.
반면, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)는 정규화된 영상 데이터를 sign 연산을 통해 1, -1로 이진화한 후 이진화된 컨벌루션을 수행하여 1차 연산 결과를 산출하고, sign 연산을 수행하지 않은 영상 데이터 즉, 쇼트컷을 1차 연산 결과에 더하여 2차 연산 결과를 산출할 수 있다. 예시적으로, 쇼트컷의 영상 데이터의 크기(224x 224x3)를 이진화된 컨벌루션 출력의 크기 112x112x64와 맞추기 위해 2x2크기로 부 표본을 생성하고 RGB 3개의 채널을 반복적으로 이어 붙여, 64개의 채널로 늘린 결과, 7x7x3x112x112x64 번의 부동소수점 MAC 연산은 XNOR 비트 연산과 누산 연산으로 전환됨으로써, 종래의 신경망 대비 연산량을 감소시킬 수 있다.
이하에서는, 종래의 이진화된 컨벌루션과 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)에 의한 컨벌루션의 분석 성능, 부동소수점 연산량 및 비트 연산량을 비교하는 실험을 통해 효용성을 검증하고자 한다. 분석 성능을 측정하기 위해서 평균 469×387의 큰 크기의 컬러 영상 데이터셋인 ImageNet 데이터셋 ILSVRC2012를 사용한다. 또한, 학습 데이터는 입력 영상의 너비와 높이 중 작은 쪽이 256크기를 갖도록 영상 비율을 유지하며 축소 후, 간단한 색채 변동을 하고 임의의 위치에서 224×224크기로 잘라내어 사용하기로 한다. 테스트 데이터에 대해서는 색채 변동 없이, 영상 축소와 정 중앙에서 224×224크기를 잘라내어 사용한다.
도 4는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치에 의한 분석 성능 감소를 도식화한 도면이다.
도 4를 참조하면, 첫번째 레이어를 이진화한 BCNN은 종래의 CNN에 비해 약 17.5%의 Top-1 분석 성능 감소가 있으나, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)에 의한 쇼트컷을 부가한 컨벌루션 연산의 경우, 동등한 연산 량으로 13.7% 억제된, 3.8%의 Top-1 분석 성능 감소를 보인다.
도 5는 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 종래의 컨벌루션 신경망의 연산량을 비교한 도면이다.
도 5는 레이어 당 컨벌루션, 배치 정규화, 활성화, 풀링의 부동소수점 곱셈 연산 량과 비트 연산 량의 총합을 나타낸다. 도 5를 참조하면, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)에 의하면, 종래의 BCNN의 부동소수점 곱셈 연산량의 94.53%가 비트 연산으로 전환되었음을 확인할 수 있다.
또한, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)의 분석 성능을 측정하기 위한 다른 실험에서, 데이터 셋으로CIFAR10을 사용하고, CNN 모델은 6개의 컨벌루션 레이어와 3개의 풀리 컨넥티드 레이어로 구성된 ConvNet을 사용했다. 상기 CIFAR10은 32x32의 작은 크기의 컬러 영상 데이터 셋으로, 10개의 물체 분류에 대한 5만 장의 트레이닝 셋과 1만 장의 테스트 셋으로 구성되어 있는 것으로 한다.
도 6은 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치와 종래의 CNN의 분석 성능을 비교한 도면이다.
도 6을 참조하면, 첫번째 레이어를 이진화한 BCNN에 비해 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치(100)에 의한 컨벌루션의 분석 성능 저하가 10% 억제되었음을 확인할 수 있다.
도 7은 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법의 흐름을 도시한 도면이다.
도 7에 도시된 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법은 앞선 도 2 내지 도 6을 통해 설명된 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치에 의하여 수행될 수 있다. 따라서 이하 생략된 내용이라고 하더라도 도 2 내지 도 6를 통해 본원의 일 실시예에 따른 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치에 대하여 설명된 내용은 도 7에도 동일하게 적용될 수 있다.
도 7을 참조하면, 단계 S1010에서 이진화 파라미터 생성부(110)는 컨벌루션 신경망의 첫번째 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 상기 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성할 수 있다. 예시적으로 이진화 파라미터 생성부(110)는 상기 수학식 10을 통해 초기 입력 데이터 즉, 컨벌루션 입력을 이진화할 수 있다.
[수학식 10]
Figure pat00025
여기서, (Al)b x,y,z 첫번째 레이어의 이진화된 컨벌루션 입력을 나타내고, (Al)x,y,z는이진화 이전의 컨벌루션 입력을 나타낸다.
또한, 이진화 파라미터 생성부(110)는 수학식 11을 통해 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성할 수 있다.
[수학식 11]
Figure pat00026
여기서, (W1)b m,x,y,z는 첫번째 레이어의 이진화된 파라미터를 나타내고, (W1)m,x,y,z는 첫번째 레이어의 이진화 이전의 파라미터를 나타낸다.
단계 S1020에서 컨벌루션 연산부(120)는 상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성하고, 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 1차 연산 결과를 생성할 수 있다. 예시적으로, 컨벌루션 연산부(120)는 수학식 12를 통해 배수화 계수를 산출하고, 수학식 13을 통해 이진화 파라미터에 대한 배수화를 수행하여 배수화 파라미터를 생성할 수 있다.
[수학식 12]
Figure pat00027
여기서, e1,m은 배수화 계수를 나타낸다.
[수학식 13]
Figure pat00028
여기서, (W 1)b m,x,y,z는 이진화된 파라미터이고, e1,m(W 1)b m,x,y,z는 배수화 계수를 통해 상기 이진화된 파라미터를 이진화 이전의 파라미터 (W 1)m,x,y,z로 근사시킨 값을 나타낸다.
컨벌루션 연산부(120)는 수학식 14를 통해 1차 연산 결과를 생성할 수 있다.
[수학식 14]
Figure pat00029
여기서, (O 1)I,j,m은 1차 연산 결과이고, (A 0)b는 이진화된 초기 입력데이터를 의미한다.
또한, 컨벌루션 연산부(120)는 1차 연산 결과를 배치 정규화 할 수 있다. 예시적으로, 컨벌루션 연산부(120)는 상기 수학식 8을 이용하여 배치 정규화를 수행할 수 있다.
[수학식 8]
Figure pat00030
단계 S1030에서 쇼트컷 연산부(130)는 상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출할 수 있다. 예시적으로, 상기 쇼트컷은 이진화 이전의 초기 입력데이터에 대응할 수 있다. 또한, 쇼트컷의 덧셈 연산에 의해 이진화 이전의 상기 초기 입력데이터가 고려될 수 있다.
쇼트컷 연산부(130)는 수학식 16을 통해 2차 연산 결과를 산출할 수 있다.
[수학식 16]
Figure pat00031
여기서, e1,m은 첫번째 레이어에 대한 m번째 필터의 계수이고, A 0는 초기 입력데이터이고, I,j,m은 A 0의 위치 성분 값을 나타낸다.
상기 수학식 16은 배치 정규화 하지 않은 1차 연산 결과(수학식 14 참조)와 초기 입력데이터의 덧셈 연산을 나타내며, 이는 공변량 이동 현상을 억제하는 것에 대한 고려가 되어 있지 않다. 따라서, 쇼트컷 연산부(130)는 상기 수학식 15와 같이 1차 연산 결과를 배치 정규화하고, 초기 입력데이터를 정규화할 수 있으며, 배치 정규화된 1차 연산 결과 및 배치 정규화된 쇼트컷을 덧셈 연산할 수 있다.
쇼트컷 연산부(130)는 수학식 17을 통해 2차 연산 결과를 산출할 수 있다. 수학식 17은 배치 정규화된 1차 연산 결과 및 배치 정규화된 쇼트컷의 덧셈 연산을 나타낸다.
[수학식 17]
Figure pat00032
수학식 17에 따르면, 배치 정규화된 1차 연산 결과 및 배치 정규화된 쇼트컷을 더하였으므로, 다시 배치 정규화를 수행할 필요가 있다. 정규화 연산부(140)는 2차 연산 결과에 대하여 풀링 및 배치 정규화를 수행할 수 있다. 정규화 연산부(140)는 상기 수학식 8을 이용하여 2차 연산 결과를 배치 정규화 할 수 있다. 또한, 정규화 연산부(140)는 2차 연산 결과를 활성화하고, 풀링할 수 있다.
본원의 일 실시 예에 따른, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
100: 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치
110: 이진화 파라미터 생성부
120: 컨벌루션 연산부
130: 쇼트컷 연산부
200: 정규화 연산부

Claims (11)

  1. 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법으로서,
    (a) 상기 첫번째 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 상기 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성하는 단계;
    (b) 상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성하고, 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 다음 상기 컨벌루션 연산에 대하여 상기 배수화 파라미터로 배수화 곱셈을 진행하여 1차 연산 결과를 생성하는 단계; 및
    (c) 상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출하는 단계를 포함하되,
    상기 쇼트컷은 이진화 이전의 상기 초기 입력데이터에 대응하는 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법.
  2. 제1항에 있어서,
    상기 (c) 단계에서의 상기 쇼트컷의 덧셈 연산에 의해, 상기 (a) 단계에서의 이진화 이전의 초기 입력데이터가 고려되는 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법.
  3. 제1항에 있어서,
    상기 (b) 단계에서, 상기 1차 연산 결과는 배치 정규화된 것이고,
    상기 (c) 단계에서, 상기 쇼트컷은 배치 정규화된 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법.
  4. 제3항에 있어서,
    상기 2차 연산 결과는 아래의 식 1에 의해 산출되고,
    [식 1]
    Figure pat00033

    여기서, e1,m은 m번째 필터의 계수이고,(W1)b m,x,y,z는상기 첫번째 레이어의 이진화 파라미터이고, A-0는 상기 초기 입력데이터인 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법.
  5. 제1항에 있어서,
    (d) 상기 2차 연산 결과에 대하여 풀링 및 배치 정규화를 수행하는 단계를 더 포함하는, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 방법.
  6. 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치로서,
    상기 레이어에 대한 초기 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 상기 첫번째 레이어의 파라미터를 이진화하여 이진화 파라미터를 생성하는 이진화 파라미터 생성부;
    상기 이진화 파라미터에 대하여 배수화를 수행하여 배수화 파라미터를 생성하고, 상기 이진화 입력데이터와 상기 배수화 파라미터 간의 컨벌루션 연산을 수행한 다음 상기 컨벌루션 연산에 대하여 상기 배수화 파라미터로 배수화 곱셈을 진행하여 1차 연산 결과를 생성하는 컨벌루션 연산부; 및
    상기 1차 연산 결과에 쇼트컷을 더하여 2차 연산 결과를 산출하는 쇼트컷 연산부를 포함하되,
    상기 쇼트컷은 이진화 이전의 상기 초기 입력데이터에 대응하는 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치.
  7. 제6항에 있어서,
    상기 쇼트컷의 덧셈 연산에 의해, 이진화 이전의 상기 초기 입력데이터가 고려되는 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치.
  8. 제6항에 있어서,
    상기 컨벌루션 연산부는,
    상기 1차 연산 결과를 배치 정규화하고,
    상기 쇼트컷 연산부는,
    상기 쇼트컷을 배치 정규화 하는 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치.
  9. 제8항에 있어서,
    상기 쇼트컷 연산부는,
    아래의 식 2를 통해 상기 2차 연산 결과를 산출하고,
    [식 2]
    Figure pat00034

    여기서, e1,m은 첫번째 레이어에 대한 m번째 필터의 계수이고, (W1)b m,x,y,z는상기 첫번째 레이어의 이진화 파라미터이고, A-0는 상기 초기 입력데이터인 것인, 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치.
  10. 제6항에 있어서,
    상기 2차 연산 결과에 대하여 풀링 및 배치 정규화를 수행하는 정규화 연산부를 더 포함하는 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치.
  11. 제 1항 내지 제 5항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.
KR1020180041588A 2018-04-10 2018-04-10 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법 KR102042446B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180041588A KR102042446B1 (ko) 2018-04-10 2018-04-10 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180041588A KR102042446B1 (ko) 2018-04-10 2018-04-10 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190118365A true KR20190118365A (ko) 2019-10-18
KR102042446B1 KR102042446B1 (ko) 2019-11-08

Family

ID=68462710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180041588A KR102042446B1 (ko) 2018-04-10 2018-04-10 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102042446B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042989A1 (ko) * 2021-09-16 2023-03-23 오픈엣지테크놀로지 주식회사 데이터 스케일을 고려한 덧셈 연산 방법 및 이를 위한 하드웨어 가속기, 이를 이용한 컴퓨팅 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083030A (ko) * 2017-01-11 2018-07-20 한국전자통신연구원 이진 파라미터를 갖는 컨볼루션 신경망 시스템 및 그것의 동작 방법
KR20190070044A (ko) * 2017-12-12 2019-06-20 한국항공대학교산학협력단 컨볼루션 신경망의 이진화 연산 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083030A (ko) * 2017-01-11 2018-07-20 한국전자통신연구원 이진 파라미터를 갖는 컨볼루션 신경망 시스템 및 그것의 동작 방법
KR20190070044A (ko) * 2017-12-12 2019-06-20 한국항공대학교산학협력단 컨볼루션 신경망의 이진화 연산 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Xiaofan Lin 외 2명. Towards Accurate Binary Convolutional Neural Netwok. 2017년 *
김성찬 외 3명. 이진화된 컨벌루션 신경망의 효율적인 SIMD 구현. 2018년 1월 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042989A1 (ko) * 2021-09-16 2023-03-23 오픈엣지테크놀로지 주식회사 데이터 스케일을 고려한 덧셈 연산 방법 및 이를 위한 하드웨어 가속기, 이를 이용한 컴퓨팅 장치

Also Published As

Publication number Publication date
KR102042446B1 (ko) 2019-11-08

Similar Documents

Publication Publication Date Title
US10282864B1 (en) Method and device for encoding image and testing method and testing device using the same
US20190236440A1 (en) Deep convolutional neural network architecture and system and method for building the deep convolutional neural network architecture
Thai et al. Image classification using support vector machine and artificial neural network
KR101970488B1 (ko) 실내 의미론적 분할을 위한 컬러-깊이 영상의 단계적 레지듀얼 특성 결합 네트워크 장치
Sharif et al. Illumination normalization preprocessing for face recognition
Lodhi et al. Multipath-DenseNet: A Supervised ensemble architecture of densely connected convolutional networks
CN116324811A (zh) 卷积神经网络的多带宽分离特征提取卷积层
KR102082293B1 (ko) 컨볼루션 신경망의 이진화 연산 장치 및 방법
KR102192211B1 (ko) 이미지 변환을 위한 깊이별 분리가능한 컨볼루션과 채널 어텐션을 이용한 효율적인 적대적 생성 신경망
KR20200092841A (ko) 위험 요소 검출에 사용될 학습용 이미지 데이터 세트 생성 방법 및 컴퓨팅 장치 그리고 이용한 학습 방법 및 학습 장치
CN107292458A (zh) 一种应用于神经网络芯片的预测方法和预测装置
CN113822209A (zh) 高光谱图像识别方法、装置、电子设备及可读存储介质
KR20200092847A (ko) 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN115131710A (zh) 基于多尺度特征融合注意力的实时动作检测方法
Chen et al. Convolutional neural network and convex optimization
KR102042446B1 (ko) 컨벌루션 신경망의 첫번째 레이어의 개선된 이진화 장치 및 방법
CN105354228A (zh) 相似图搜索方法及装置
Tang et al. Mkq-bert: Quantized bert with 4-bits weights and activations
US20200073911A1 (en) System, method and apparatus for computationally efficient data manipulation
Afzali et al. Genetic programming for feature selection and feature combination in salient object detection
KR102522296B1 (ko) 인공신경망 모델을 이용한 데이터 분석 방법 및 장치
KR102376110B1 (ko) 딥 네트워크 구조 및 딥 러닝 기반 영상 인식 시스템
Sun et al. Adversarial training for dual-stage image denoising enhanced with feature matching
US20200372280A1 (en) Apparatus and method for image processing for machine learning
CN113095473A (zh) 神经网络架构搜索系统和方法及计算机可读记录介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant