1 |
1
뉴럴 네트워크의 레이어에서 처리될, 입력 피처맵 및 바이너리-웨이트를 갖는 커널들의 데이터를 메모리로부터 획득하는 단계;상기 커널들 각각을, 동일 부호의 웨이트들로 재구성된 제1타입 서브커널 및 상기 커널과 상기 제1타입 서브커널 간의 차이를 보정하기 위한 제2타입 서브커널로 분해하는 단계;상기 입력 피처맵과 상기 커널들 각각으로부터 분해된 상기 제1타입 서브커널 및 상기 제2타입 서브커널을 이용하여 컨볼루션 연산을 수행하는 단계; 및상기 컨볼루션 연산의 결과들을 합성함으로써 출력 피처맵을 구하는 단계를 포함하는, 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법
|
2 |
2
제 1 항에 있어서,상기 제1타입 서브 커널은상기 커널들 각각의 모든 엘리먼트들에서의 웨이트들을 동일한 값들로 치환함으로써 재구성된 서브커널인, 방법
|
3 |
3
제 2 항에 있어서,상기 제1타입 서브 커널은상기 입력 피처맵이 홀수 채널의 인덱스를 갖는 경우 상기 제1타입 서브커널의 모든 엘리먼트들에서의 웨이트들을 제1부호의 동일한 값들로 치환함으로써 재구성된 서브 커널이고,상기 입력 피처맵이 짝수 채널의 인덱스를 갖는 경우 상기 제1타입 서브커널의 모든 엘리먼트들에서의 웨이트들을 제2부호의 동일한 값들로 치환함으로써 재구성된 서브 커널인, 방법
|
4 |
4
제 1 항에 있어서,상기 입력 피처맵과 상기 컨볼루션 연산을 수행할 상기 커널들 각각으로부터 분해된 제1타입 서브커널들은 모두 동일한, 방법
|
5 |
5
제 1 항에 있어서,상기 제2타입 서브커널은상기 커널들 각각에서 상기 제1타입 서브커널과 서로 다른 웨이트를 갖는 엘리먼트에는 상기 커널들 각각의 원래 웨이트를 정의하고 나머지 엘리먼트에는 웨이트를 정의하지 않는 것으로 재구성된 서브커널인, 방법
|
6 |
6
제 1 항에 있어서,상기 컨볼루션 연산을 수행하는 단계는최초 커널로부터 분해된 제1타입 서브커널과 상기 입력 피처맵에서의 현재 윈도우 간의 제1컨볼루션 연산, 및 상기 커널들로부터 분해된 제2타입 서브커널들 각각과 상기 현재 윈도우 간의 제2컨볼루션 연산을 수행하는, 방법
|
7 |
7
제 6 항에 있어서,상기 컨볼루션 연산을 수행하는 단계는 상기 커널들 중 상기 최초 커널을 제외한 나머지 커널들로부터 분해된 제1타입 서브커널들 각각과 상기 현재 윈도우 간의 상기 제1컨볼루션 연산은 스킵되도록 클럭-게이팅하고,상기 최초 커널에 대해 수행된 상기 제1컨볼루션 연산의 결과는 상기 나머지 커널들에 대한 상기 제1컨볼루션 연산의 결과들인 것으로서 재사용되는, 방법
|
8 |
8
제 6 항에 있어서,상기 제2컨볼루션 연산은상기 제2타입 서브커널들 각각에서 웨이트가 정의된 엘리먼트와 상기 입력 피처맵의 대응 픽셀 간에 대해 수행되고, 웨이트가 정의되지 않은 행렬 엘리먼트에 대해서는 스킵되는, 방법
|
9 |
9
제 1 항에 있어서,상기 출력 피처맵을 구하는 단계는상기 출력 피처맵의 각 픽셀 값을, 상기 제1타입 서브커널과 상기 입력 피처맵의 윈도우 간의 제1컨볼루션 연산의 결과 값에 상기 제2타입 서브커널과 상기 윈도우 간의 제2컨볼루션 연산의 결과 값의 2배수를 합산한 값에 기초하여 결정함으로써, 상기 출력 피처맵을 구하는, 방법
|
10 |
10
제 1 항 내지 제 9 항 중 어느 한 항의 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
|
11 |
11
적어도 하나의 프로그램이 저장된 메모리; 및상기 적어도 하나의 프로그램을 실행함으로써 뉴럴 네트워크를 구동하는 프로세서를 포함하고,상기 프로세서는,뉴럴 네트워크의 레이어에서 처리될, 입력 피처맵 및 바이너리-웨이트를 갖는 커널들의 데이터를 메모리로부터 획득하고,상기 커널들 각각을, 동일 부호의 웨이트들로 재구성된 제1타입 서브커널 및 상기 커널과 상기 제1타입 서브커널 간의 차이를 보정하기 위한 제2타입 서브커널로 분해하고,상기 입력 피처맵과 상기 커널들 각각으로부터 분해된 상기 제1타입 서브커널 및 상기 제2타입 서브커널을 이용하여 컨볼루션 연산을 수행하고,상기 컨볼루션 연산의 결과들을 합성함으로써 출력 피처맵을 구하는, 뉴럴 네트워크 장치
|
12 |
12
제 11 항에 있어서,상기 제1타입 서브 커널은상기 커널들 각각의 모든 엘리먼트들에서의 웨이트들을 동일한 값들로 치환함으로써 재구성된 서브커널인, 뉴럴 네트워크 장치
|
13 |
13
제 12 항에 있어서,상기 제1타입 서브 커널은상기 입력 피처맵이 홀수 채널의 인덱스를 갖는 경우 상기 제1타입 서브커널의 모든 엘리먼트들에서의 웨이트들을 제1부호의 동일한 값들로 치환함으로써 재구성된 서브 커널이고,상기 입력 피처맵이 짝수 채널의 인덱스를 갖는 경우 상기 제1타입 서브커널의 모든 엘리먼트들에서의 웨이트들을 제2부호의 동일한 값들로 치환함으로써 재구성된 서브 커널인, 뉴럴 네트워크 장치
|
14 |
14
제 11 항에 있어서,상기 입력 피처맵과 상기 컨볼루션 연산을 수행할 상기 커널들 각각으로부터 분해된 제1타입 서브커널들은 모두 동일한, 뉴럴 네트워크 장치
|
15 |
15
제 11 항에 있어서,상기 제2타입 서브커널은상기 커널들 각각에서 상기 제1타입 서브커널과 서로 다른 웨이트를 갖는 엘리먼트에는 상기 커널들 각각의 원래 웨이트를 정의하고 나머지 엘리먼트에는 웨이트를 정의하지 않는 것으로 재구성된 서브커널인, 뉴럴 네트워크 장치
|
16 |
16
제 11 항에 있어서,상기 프로세서는최초 커널로부터 분해된 제1타입 서브커널과 상기 입력 피처맵에서의 현재 윈도우 간의 제1컨볼루션 연산, 및 상기 커널들로부터 분해된 제2타입 서브커널들 각각과 상기 현재 윈도우 간의 제2컨볼루션 연산을 수행하는, 뉴럴 네트워크 장치
|
17 |
17
제 16 항에 있어서,상기 프로세서는 상기 커널들 중 상기 최초 커널을 제외한 나머지 커널들로부터 분해된 제1타입 서브커널들 각각과 상기 현재 윈도우 간의 상기 제1컨볼루션 연산은 스킵되도록 클럭-게이팅하고,상기 최초 커널에 대해 수행된 상기 제1컨볼루션 연산의 결과는 상기 나머지 커널들에 대한 상기 제1컨볼루션 연산의 결과들인 것으로서 재사용되는, 뉴럴 네트워크 장치
|
18 |
18
제 16 항에 있어서,상기 제2컨볼루션 연산은상기 제2타입 서브커널들 각각에서 웨이트가 정의된 엘리먼트와 상기 입력 피처맵의 대응 픽셀 간에 대해 수행되고, 웨이트가 정의되지 않은 행렬 엘리먼트에 대해서는 스킵되는, 뉴럴 네트워크 장치
|
19 |
19
제 11 항에 있어서,상기 프로세서는상기 출력 피처맵의 각 픽셀 값을, 상기 제1타입 서브커널과 상기 입력 피처맵의 윈도우 간의 제1컨볼루션 연산의 결과 값에 상기 제2타입 서브커널과 상기 윈도우 간의 제2컨볼루션 연산의 결과 값의 2배수를 합산한 값에 기초하여 결정함으로써, 상기 출력 피처맵을 구하는, 뉴럴 네트워크 장치
|