1 |
1
컨볼루션 신경망의 이진화 연산 장치에 의해 수행되는 컨볼루션 신경망의 이진화 연산 방법에 있어서,(a) 상기 컨볼루션 신경망에 포함되는 복수의 레이어 중 어느 하나의 레이어에 대하여, 컨볼루션 연산을 위한 필터에 포함된 파라미터의 부호를 추출하여 상기 파라미터를 이진화하여 이진화 파라미터를 생성하는 단계; (b) 상기 어느 하나의 레이어에 대하여, 상기 컨볼루션 연산의 입력데이터를 이진화하여 이진화 입력데이터를 생성하고, 이진화 이전의 파라미터의 크기를 고려하여 상기 이진화 파라미터의 크기를 조정하고, 상기 이진화 파라미터 및 상기 이진화 입력데이터를 패킹하는 단계; 및(c) 상기 이진화 입력데이터 및 상기 이진화 파라미터에 기초하여 상기 어느 하나의 레이어에 대한 컨볼루션 연산 결과를 출력하는 단계를 포함하고,상기 (b) 단계 및 상기 (c) 단계는, 하기 수학식 1 내지 3에 기초하여 상기 이진화 파라미터의 크기 조정 과정, 집단 정규화 과정 및 컨볼루션 연산 과정을 하나의 임계화 과정으로 병합하여 수행되는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
2 |
2
제1항에 있어서,상기 이진화 파라미터 및 상기 이진화 입력데이터는 k개이고,상기 (b) 단계에서, k개의 상기 이진화 파라미터 및 k개의 상기 이진화 입력데이터는 단일한 워드인 k-비트 워드로 각각 패킹되는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
3 |
3
제2항에 있어서,상기 (c) 단계는 Bitwise XNOR-Bitcount 기반의 컨볼루션 연산에 의해 수행되는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
4 |
4
제3항에 있어서,상기 (c) 단계는 수학식 4에 기초하여 컨볼루션 연산되는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
5 |
5
삭제
|
6 |
6
제1항에 있어서,상기 (a) 내지 (c) 단계는, 상기 복수의 레이어 각각에 대해 순차적으로 반복 수행되는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
7 |
7
제1항에 있어서,상기 이진화 파라미터를 생성하는 단계는,수학식 5에 기초하여 상기 파라미터를 이진화하는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
8 |
8
제1항에 있어서,상기 이진화 파라미터 및 상기 이진화 입력데이터를 패킹하는 단계는,수학식 6에 기초하여 상기 입력데이터를 이진화하는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
9 |
9
제1항에 있어서,상기 이진화 파라미터 및 상기 이진화 입력데이터를 패킹하는 단계는,수학식 7에 기초하여 크기 조정 계수를 산출하는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
10 |
10
제9항에 있어서,상기 이진화 파라미터 및 상기 이진화 입력데이터를 패킹하는 단계는,수학식 8에 기초하여 상기 이진화 파라미터의 크기가 보정되는 것인, 컨볼루션 신경망의 이진화 연산 방법
|
11 |
11
컨볼루션 신경망의 이진화 연산 장치에 있어서,상기 컨볼루션 신경망에 포함되는 복수의 레이어 중 어느 하나의 레이어에 대하여, 컨볼루션 연산을 위한 필터에 포함된 파라미터의 부호를 추출하여 상기 파라미터를 이진화하여 이진화 파라미터를 생성하는 이진화 파라미터 생성부;상기 어느 하나의 레이어에 대하여, 상기 컨볼루션 연산의 입력데이터를 이진화하여 이진화 입력데이터를 생성하는 이진화 입력데이터 생성부; 이진화 이전의 파라미터의 크기를 고려하여 상기 이진화 파라미터의 크기를 조정하고, 상기 이진화 파라미터 및 상기 이진화 입력데이터를 패킹하는 데이터 패킹부;상기 이진화 입력데이터 및 상기 이진화 파라미터에 기초하여 상기 어느 하나의 레이어에 대한 컨볼루션 연산 결과를 출력하는 컨볼루션 연산부 및;하기 수학식 9 내지 11에 기초하여 상기 이진화 입력데이터의 생성, 상기 이진화 파라미터의 크기 조정, 집단 정규화 과정 및 컨볼루션 연산을 하나의 임계화로 병합하여 수행하는 임계화부를 포함하는 컨볼루션 신경망의 이진화 연산 장치
|
12 |
12
제11항에 있어서,상기 이진화 파라미터 및 상기 이진화 입력데이터는 k개이고,상기 데이터 패킹부는, k개의 상기 이진화 파라미터 및 k개의 상기 이진화 입력데이터를 단일한 워드인 k-비트 워드로 각각 패킹하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
13 |
13
제12항에 있어서,상기 컨볼루션 연산부는,Bitwise XNOR-Bitcount 기반의 컨볼루션 연산을 수행하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
14 |
14
제13항에 있어서,상기 컨볼루션 연산부는,수학식 12에 기초하여 컨볼루션 연산을 수행하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
15 |
15
삭제
|
16 |
16
제11항에 있어서,상기 이진화 파라미터 생성부, 상기 이진화 입력데이터 생성부, 상기 데이터 패킹부 및 상기 컨볼루션 연산부 각각은 상기 복수의 레이어 각각에 대해 상기 이진화 파라미터의 생성, 상기 이진화 입력데이터의 생성, 상기 이진화 입력데이터의 크기 조정, 상기 이진화 입력데이터 패킹 및 컨볼루션 연산 결과 출력을 순차적으로 반복 수행하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
17 |
17
제11항에 있어서,상기 이진화 파라미터 생성부는,수학식 13에 기초하여 파라미터를 이진화하는 것인, 컨볼루션 신경망의 이진화 연산 장치[수학식 13]여기서, 은 상기 컨볼루션 레이어의 번호이고, 은 상기 이진화 파라미터이고, 은 이진화 이전의 파라미터이고, 에서의 (x, y, z)는 이진화된 m번째 필터W의 각 성분의 위치이고, +1 및 -1은 이진화 파라미터이다
|
18 |
18
제11항에 있어서,상기 데이터 패킹부는,수학식 14에 기초하여 상기 입력데이터를 이진화하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
19 |
19
제11항에 있어서,상기 데이터 패킹부는,수학식 15에 기초하여 크기 조정 계수를 산출하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
20 |
20
제19항에 있어서,상기 데이터 패킹부는,수학식 16에 기초하여 상기 이진화 파라미터의 크기를 보정하는 것인, 컨볼루션 신경망의 이진화 연산 장치
|
21 |
21
제1항 내지 제4항 및 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체
|