인공 신경망 모델을 구동하기 위한 연산 방법 및 연산 장치
CALCULATION METHOD AND CALCULATION DEVICE FOR DRIVING AN ARTIFICIAL NEURAL NETWORK MODEL
특허 요약
인공 신경망 모델을 구동하기 위한 연산 방법 및 연산 장치가 개시된다. 일 실시예에 따른 하나 이상의 베이직 블록과 하나 이상의 트랜지션 블록의 조합으로 구성된 인공 신경망 모델을 구동하기 위한 연산 장치는 상기 베이직 블록의 구동을 위한 제1 연산과, 상기 트랜지션 블록의 구동을 위한 제2 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는 입력 데이터에 대하여, 제1 배치 정규화(batch normalization)를 수행하고, 상기 제1 배치 정규화된 입력 데이터를 이진화(binarize)양자화하고, 상기 이진양자화된 입력 데이터에 기초하여, 컨볼루션 연산을 수행하고, 상기 컨볼루션 연산 수행 결과 데이터에 대하여, 활성화 함수를 적용하여 출력 데이터를 결정하고, 상기 출력 데이터에 대하여, 제2 배치 정규화를 수행하여 상기 제1 연산을 수행한다.
청구항
번호청구항
4

제1항에 있어서,상기 활성화 함수는ReLU 함수를 포함하는, 연산 장치.

1

하나 이상의 베이직 블록과 하나 이상의 트랜지션 블록의 조합으로 구성된 인공 신경망 모델을 구동하기 위한 연산 장치에 있어서,상기 베이직 블록의 구동을 위한 제1 연산과, 상기 트랜지션 블록의 구동을 위한 제2 연산을 수행하는 프로세서를 포함하고,상기 프로세서는입력 데이터에 대하여, 제1 배치 정규화(batch normalization)를 수행하고,상기 제1 배치 정규화된 입력 데이터를 양자화하고,상기 양자화된 입력 데이터에 기초하여, 컨볼루션 연산을 수행하고,상기 컨볼루션 연산 수행 결과 데이터에 대하여, 활성화 함수를 적용하여 출력 데이터를 결정하고,상기 출력 데이터에 대하여, 제2 배치 정규화를 수행하여 상기 제1 연산을 수행하는, 연산 장치.

2

제1항에 있어서,상기 베이직 블록은제1 배치 정규화 레이어;양자화 레이어;컨볼루션 레이어;활성 레이어; 및제2 배치 정규화 레이어를 포함하는, 연산 장치.

3

제1항에 있어서,상기 트랜지션 블록은풀링 레이어;채널 업스캐일링(channel upscaling) 레이어; 및제3 배치 정규화 레이어를 포함하는, 연산 장치.

5

제1항에 있어서,상기 프로세서는상기 제1 배치 정규화된 입력 데이터에 대하여, 부호 함수(sign function)을 적용하여 상기 입력 데이터를 이진화하여 상기 제1 연산을 수행하는, 연산 장치.

6

제1항에 있어서,상기 프로세서는상기 제1 배치 정규화된 입력 데이터에 대하여, 스텝 함수(step function)을 적용하여 상기 입력 데이터를 양자화하여 상기 제1 연산을 수행하는, 연산 장치.

7

제1항에 있어서,상기 베이직 블록은상기 입력 데이터와 상기 제2 배치 정규화된 출력 데이터를 연결하는 레지듀얼 커넥션(residual connection)을 포함하는, 연산 장치.

8

제1항에 있어서,상기 프로세서는상기 베이직 블록의 출력 데이터에 대하여, 풀링(pooling)을 수행하고,상기 인공 신경망 모델의 채널을 복제하고,상기 채널이 복제된 인공 신경망 모델의 입력 데이터에 대하여, 제3 배치 정규화를 수행하여 상기 제2 연산을 수행하는, 연산 장치.

9

제8항에 있어서,상기 프로세서는상기 베이직 블록의 출력 데이터에 대하여, 평균 풀링(average pooling)을 수행하여 상기 제2 연산을 수행하는, 연산 장치.

10

하나 이상의 베이직 블록과 하나 이상의 트랜지션 블록의 조합으로 구성된 인공 신경망 모델을 구동하기 위한 연산 방법에 있어서,상기 베이직 블록의 구동을 위한 제1 연산 방법은프로세서가 입력 데이터에 대하여, 제1 배치 정규화(batch normalization)를 수행하는 단계;상기 프로세서가 상기 제1 배치 정규화된 입력 데이터를 양자화하는 단계;상기 프로세서가 상기 양자화된 입력 데이터에 기초하여, 컨볼루션 연산을 수행하는 단계;상기 프로세서가 상기 컨볼루션 연산 수행 결과 데이터에 대하여, 활성화 함수를 적용하여 출력 데이터를 결정하는 단계; 및상기 프로세서가 상기 출력 데이터에 대하여, 제2 배치 정규화를 수행하는 단계를 포함하는, 연산 방법.

11

제10항에 있어서,상기 베이직 블록은제1 배치 정규화 레이어;양자화 레이어;컨볼루션 레이어;활성 레이어; 및제2 배치 정규화 레이어를 포함하는, 연산 방법.

12

제10항에 있어서,상기 트랜지션 블록은풀링 레이어;채널 업스캐일링(channel upscaling) 레이어; 및제3 배치 정규화 레이어를 포함하는, 연산 방법.

13

제10항에 있어서,상기 활성화 함수는ReLU 함수를 포함하는, 연산 방법.

14

제10항에 있어서,상기 양자화하는 단계는상기 프로세서가 상기 제1 배치 정규화된 입력 데이터에 대하여, 부호 함수(sing function)을 적용하여 상기 입력 데이터를 이진화하여 상기 제1 연산을 수행하는 단계를 포함하는, 연산 방법.

15

제10항에 있어서,상기 양자화하는 단계는상기 프로세서가 상기 제1 배치 정규화된 입력 데이터에 대하여, 스텝 함수(step function)을 적용하여 상기 입력 데이터를 양자화하여 상기 제1 연산을 수행하는 단계를 포함하는, 연산 방법.

16

제10항에 있어서,상기 베이직 블록은상기 프로세서가 상기 입력 데이터와 상기 제2 배치 정규화된 출력 데이터를 연결하는 레지듀얼 커넥션(residual connection)을 포함하는, 연산 방법.

17

제10항에 있어서,상기 트랜지션 블록의 구동을 위한 제2 연산 방법은상기 프로세서가 상기 베이직 블록의 출력 데이터에 대하여, 풀링(pooling)을 수행하는 단계;상기 프로세서가 상기 인공 신경망 모델의 채널을 복제하는 단계; 및상기 프로세서가 상기 채널이 복제된 인공 신경망 모델의 입력 데이터에 대하여, 제3 배치 정규화를 수행하여 상기 제2 연산을 수행하는 단계를 포함하는, 연산 방법.

18

하드웨어와 결합되어 제10항 내지 제17항 중 어느 하나의 항의 방법을 실행시키기 위하여 저장 매체에 저장된 컴퓨터 프로그램.