1 |
1
고속 딥러닝을 위한 컨볼루션 시스템에 의한 컨볼루션 방법에 있어서, (a) 상기 컨볼루션 시스템의 피쳐 맵 수신부가 N개의 채널로 구성된 피쳐 맵을 수신하는 단계;(b) 상기 컨볼루션 시스템의 주제어부가 N개의 채널로 구성된 피쳐 맵에서 `0`번째 채널을 선택하는 단계;(c) 상기 주제어부가 `0`번째 채널의 피쳐 맵에서 x, y 좌표가 `0`인 좌표를 확인하는 단계;(d) 상기 컨볼루션 시스템의 컨볼루션 계산부가 상기 피쳐 맵에 대해 가로방향 및 세로방향으로 2만큼 이동해가며 컨볼루션 연산과 ReLU(Rectified Liner Unit)연산을 수행하는 코스(coarse)단계; (e) x, y 출력 좌표에 기초하여, 상기 주제어부가 상기 코스(coarse) 단계에서 상기 컨볼루션 연산이 수행되지 않은 x, y 좌표에서 상기 컨볼루션 연산을 수행하는 파인(fine) 단계;(f) 상기 컨볼루션 시스템의 채널 변경부가 파인(fine)단계가 완료되면 다음 채널로 채널을 변경하는 단계;(g) 상기 주제어부가 변경된 채널이 N보다 큰지 작은지 판단하는 단계; 및(h) 상기 주제어부가 상기 (g)단계에서 변경된 채널이 N보다 큰 경우 모든 채널에 대한 컨볼루션 연산이 완료된 것으로 판단하고 피쳐 맵 출력부를 통해 피쳐맵을 출력하는 단계;를 포함하는 고속 딥러닝을 위한 컨볼루션 방법
|
2 |
2
제 1항에 있어서, 상기 (d)단계는 (d-1) 상기 컨볼루션 계산부가 상기 피쳐 맵의 임의의 지점(x, y)에서 컨볼루션 연산과 ReLU(Rectified Liner Unit)연산을 수행하는 단계;(d-2) 상기 컨볼루션 계산부가 연산한 임의의 지점(x, y)에서의 컨볼루션 연산 값이 `0`보다 큰지 판단하는 단계;(d-3) 상기 주제어부가 지점(x, y)에서의 컨볼루션 연산 값이 `0`보다 큰 경우, 상기 컨볼루션 계산부는 연산지점과 인접한 지점들을 연산하는 단계;(d-4) 상기 주제어부가 지점(x, y)에서의 컨볼루션 연산 값이 `0`보다 크지 않은 경우, x좌표의 연산지점을 이전 연산지점과 2씩 차이가 나는 지점으로 이동시키는 단계;(d-5) 상기 주제어부가 이동한 연산지점의 x좌표와 피쳐 맵의 너비(W)와의 크기를 비교하는 단계;(d-6) 상기 주제어부가 이전 연산지점에서 2만큼 이동한 지점의 x좌표 값이 너비(W)보다 크면, y 좌표를 2만큼 이동 즉, 행을 아래로 2만큼 이동하는 단계; 및(d-7) 상기 주제어부가 이동한 연산지점의 y좌표와 피쳐 맵의 높이(H)와의 크기를 비교하여 단계;를 포함하는 고속 딥러닝을 위한 컨볼루션 방법
|
3 |
3
제 2항에 있어서,상기 (d-5)단계에서상기 주제어부가 비교단계 후, 상기 x좌표 값이 너비(W)보다 작으면, 2만큼 이동한 지점의 x좌표 지점(x, y)에서 컨볼루션 연산을 수행하는 상기 (d-1)단계 이후의 단계를 반복 수행하는 고속 딥러닝을 위한 컨볼루션 방법
|
4 |
4
제 2항에 있어서,상기 (d-7)단계에서상기 주제어부가 비교단계 후, 상기 y좌표 값이 높이(H)보다 작으면, 2만큼 이동한 지점의 x좌표 지점(x, y)에서 컨볼루션 연산을 수행하는 상기 (d-1)단계 이후의 단계를 반복 수행하는 고속 딥러닝을 위한 컨볼루션 방법
|
5 |
5
제 2항에 있어서,상기 (d-7)단계에서상기 주제어부가 이전 연산지점에서 2만큼 이동한 지점의 y좌표 값이 높이(H)보다 크면 파인(fine) 단계를 수행하는 고속 딥러닝을 위한 컨볼루션 방법
|
6 |
6
제 1항에 있어서,상기 (e)단계는(e-1) 상기 주제어부가 상기 피쳐 맵의 x, y 출력 좌표가 1인지 판단하는 단계;(e-2) 상기 주제어부가 상기 x, y 출력 좌표가 1이면 인접한 지점들간 컨볼루션을 계산하는 단계;(e-3) 상기 주제어부가 상기 x, y 출력 좌표가 1이 아니면 계산지점에서 1만큼 이동하는 단계;(e-4) 상기 주제어부가 1만큼 이동한 x좌표와 피쳐 맵의 너비(W)와의 크기를 비교하여 단계; 및(e-5) 상기 주제어부가 상기 너비(W)보다 x좌표가 작으면 상기 (e-1) 단계를 반복 수행하고 너비(W)보다 x좌표가 크면 행을 변경하여 y 좌표를 1만큼 이동 단계;를 포함하는 고속 딥러닝을 위한 컨볼루션 방법
|
7 |
7
제 6항에 있어서, 상기 (e-5)단계 이후, 상기 채널 변경부가 1만큼 이동한 지점의 y좌표 값이 높이(H)보다 크면 채널을 변경하는 상기 (f)단계를 수행하는 고속 딥러닝을 위한 컨볼루션 방법
|
8 |
8
제 1항 내지 제 7항 중 어느 한 항에 있어서,상기 (f)단계 이후,(g`) 변경된 채널이 누적된 N번째 채널보다 작으면, 상기 주제어부가 변경된 채널의 피쳐 맵에서 x, y 좌표가 `0`인 좌표를 확인하는 상기 (c)단계 이후의 단계를 반복수행 단계;를 포함하는 고속 딥러닝을 위한 컨볼루션 방법
|
9 |
9
제 1항 내지 제 7항 중 어느 한 항에 있어서,상기 (d)단계에서 상기 컨볼루션 계산부는in_idx : i번째 채널의 입력 피쳐 맵, x, y : 피쳐 맵의 x, y 좌표, n, m : 가중치를 주는 가중필터(weight filter)의 x, y 좌표로 컨볼루션 연산과 ReLU(Rectified Liner Unit)연산을 수행하는 고속 딥러닝을 위한 컨볼루션 방법
|