1 |
1
ROC(Rank Order Coding) 기반의 SCNN(Spiking Convolutional Neural Network) 연산 처리기의 동작방법에 있어서,SCNN 내에 구현되는 합성곱 레이어(Convolution layer)가 스파이크 변환된 데이터를 가공하여 제1 가공 데이터를 생성하는 단계;SCNN 내에 구현되는 풀링 레이어(Pooling layer)가 상기 제1 가공 데이터를 수신하고, 풀링 연산 처리하여 제2 가공 데이터를 생성하는 단계;SCNN 내에 구현되는 제1 FC 레이어(Fully connected layer 1)가 상기 제2 가공 데이터를 수신하고, 상기 제2 가공 데이터에 기반하여 막 전위값을 결정하는 단계; 및SCNN 내에 구현되는 ROC(Rank Order Coding) 모듈이 상기 막 전위값 및 ROC(Rank Order Coding)에 기반하여 스파이크 데이터를 생성하고, 제2 FC 레이어(Fully connected layer 2)에 전송하는 단계;를 포함하는 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
2 |
2
제1항에 있어서,상기 ROC 모듈은 수학식 1 및 수학식 2을 를 이용하여 상기 스파이크 데이터를 생성하는 단계를 포함하고,[수학식 1]TimeSlot은 시간슬롯이고, Max(x)는 상기 막 전위값의 최댓값이고, Min(x)는 상기 막 전위값의 최솟값이고, TimeStep은 시간 단위이며,[수학식 2]Spike Timei은 i번째의 스파이크 시간이고, TimeSlot은 상기 시간슬롯이고, Max(x)는 상기 막 전위값의 최댓값이고, xi는 i번째로 입력되는 막 전위값인 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
3 |
3
제2항에 있어서,상기 ROC 모듈 내에 구현된 최고값 도출부가 상기 막 전위값의 최고값을 도출하는 단계; 및상기 ROC 모듈 내에 구현된 출력 스파이크 생성부가 가장 큰 막 전위값을 기준으로 현재 막 전위값의 출력 스파이크가 출력되는 시간단위(TimeStep)를 결정하는 단계;를 포함하는 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
4 |
4
제3항에 있어서,상기 막 전위값의 최고값을 도출하는 단계는,멀티플렉서(MUX)와 최고값 도출 유닛을 통해 최고값을 도출하는 단계를 포함하고,상기 출력 스파이크를 생성하는 단계는,뺄셈기, 비교기, 멀티플렉서(MUX), 및 시프트앤에더(Shift0026#Adder)를 통해 상기 스파이크 데이터를 생성하는 단계를 포함하는 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
5 |
5
제1항에 있어서,상기 합성곱 레이어, 제1 FC레이어, 제2 FC레이어는 각각의 메모리에 저장된 막 전위값과 가중치를 이용하여 연산을 수행하는 단계를 포함하는 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
6 |
6
제1항에 있어서,상기 제2 FC 레이어는 상기 ROC 모듈의 스파이크 데이터를 수신받아 최종 스파이크 데이터를 생성하고,상기 최종 스파이크 데이터를 출력 버퍼에 전달하는 단계를 포함하는 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
7 |
7
제1항에 있어서,상기 스파이크 변환된 데이터가 입력되면, 막 전위 업데이트 상태가 해당 시냅스 가중치에 기반하여 상기 막 전위값을 업데이트하는 단계;억제 상태가 뉴럴 맵 중에서 가장 큰 막 전위값을 가진 뉴런이 상기 스파이크 데이터를 생성하도록 다른 뉴런을 억제하는 단계; 및가중치 업데이트 상태가 가중치 결정부에 기초하여 가중치 업데이트를 수행하는 단계를 포함하는 ROC 기반의 SCNN 연산 처리기의 동작 방법
|
8 |
8
SCNN 내에 구현되고, 스파이크 변환된 데이터를 가공하여 제1 가공 데이터를 생성하는 합성곱 레이어(Convolution layer);SCNN 내에 구현되고, 상기 제1 가공 데이터를 수신하고, 풀링 연산 처리하여 제2 가공 데이터를 생성하는 풀링 레이어(Pooling layer);SCNN 내에 구현되고, 상기 제2 가공 데이터를 수신하고, 상기 제2 가공 데이터에 기반하여 막 전위값을 결정하는 제1 FC 레이어(Fully connected layer 1); 및SCNN 내에 구현되고, 상기 막 전위값 및 ROC(Rank Order Coding)에 기반하여 스파이크 데이터를 생성하며, 제2 FC 레이어에 전송하는 ROC(Rank Order Coding) 모듈;을 포함하는 ROC 기반의 SCNN 연산 처리기
|
9 |
9
제8항에 있어서,상기 ROC 모듈은 수학식 1 및 수학식 2을 이용하여 상기 스파이크 데이터를 생성하고,[수학식 1]TimeSlot은 시간슬롯이고, Max(x)는 상기 막 전위값의 최댓값이고, Min(x)는 상기 막 전위값의 최솟값이고, TimeStep은 시간 단위이며,[수학식 2]Spike Timei은 i번째의 스파이크 시간이고, TimeSlot은 상기 시간슬롯이고, Max(x)는 상기 막 전위값의 최댓값이고, xi는 i번째로 입력되는 막 전위값인 ROC 기반의 SCNN 연산 처리기
|
10 |
10
제9항에 있어서,상기 ROC 모듈 내에 구현되고, 상기 막 전위값의 최고값을 도출하는 최고값 도출부; 및상기 ROC 모듈 내에 구현되고, 가장 큰 막 전위값을 기준으로 현재 막 전위값의 상기 스파이크 데이터가 출력되는 시간단위(TimeStep)를 정하는 출력 스파이크 생성부;를 포함하는 ROC 기반의 SCNN 연산 처리기
|
11 |
11
제10항에 있어서,상기 최고값 도출부는 멀티플렉서(MUX)와 최고값 도출 유닛을 포함하고,상기 출력 스파이크 생성부는 뺄셈기, 비교기, 멀티플렉서(MUX), 및 시프트앤에더hift0026#Adder)를 포함하는 ROC 기반의 SCNN 연산 처리기
|
12 |
12
제8항에 있어서,상기 합성곱 레이어, 제1 FC레이어, 제2 FC레이어는 각각의 메모리에 저장된 막 전위값과 가중치를 이용하여 연산을 수행하는 ROC 기반의 SCNN 연산 처리기
|
13 |
13
제8항에 있어서,상기 제2 FC 레이어는 상기 ROC 모듈의 스파이크 데이터를 수신받아 스파이크 데이터를 생성하고,상기 최종 스파이크 데이터를 출력 버퍼에 전달하는 ROC 기반의 SCNN 연산 처리기
|
14 |
14
제8항에 있어서,상기 ROC 기반의 SCNN 연산 처리기는 막 전위 업데이트 상태, 억제 상태, 및 가중치 업데이트 상태를 갖고,상기 막 전위 업데이트 상태는 상기 스파이크 변환된 데이터가 입력되면, 해당 시냅스 가중치에 기반하여 상기 막 전위값을 업데이트하고,상기 억제 상태는 뉴럴 맵 중에서 가장 큰 막 전위값을 가진 뉴런이 상기 스파이크 데이터를 생성하도록 다른 뉴런을 억제하며,상기 가중치 업데이트 상태는 가중치 결정부에 기초하여 가중치 업데이트를 수행하는 ROC 기반의 SCNN 연산 처리기
|