1 |
1
적어도 하나의 은닉층을 포함하는 인공신경망을 연산하는 방법으로서, 은닉층의 노드의 입력 데이터 및 가중치 데이터에 기반하여 상기 노드의 연산값을 연산하는 단계;상기 연산값에 기반하여 활성화 함수를 선택하는 단계; 및상기 연산값에 대하여 선택된 상기 활성화 함수의 함수값을 다음 은닉층에 대한 출력값으로 출력하는 단계를 포함하고,상기 활성화 함수를 선택하는 단계는,상기 연산값의 포지티브(positive) 영역은 선형 함수에 기반한 제1 활성화 함수를 선택하고, 상기 연산값의 네거티브(negative) 영역은 비선형 함수에 기반한 제2 활성화 함수를 선택하는 단계를 포함하는,인공신경망 연산 방법
|
2 |
2
제1항에 있어서, 상기 연산하는 단계는,상기 입력 데이터 및 상기 가중치 데이터에 기반한 가중합을 연산하는 단계; 및상기 노드의 바이어스 값과 상기 가중합에 기반하여 상기 연산값을 결정하는 단계를 포함하는,인공신경망 연산 방법
|
3 |
3
제1항에 있어서, 상기 포지티브 영역은 상기 연산값이 0 이상인 영역이고, 상기 네거티브 영역은 상기 연산값이 0보다 작은 영역인,인공신경망 연산 방법
|
4 |
4
제1항에 있어서, 상기 활성화 함수는, (여기서, 으로 정의함)이고,상기 제1 활성화 함수는 이고,상기 제2 활성화 함수는 인,인공신경망 연산 방법
|
5 |
5
제4항에 있어서, 상기 제1 활성화 함수의 제1 도함수는 이고, 상기 제2 활성화 함수의 제2 도함수는 인, 인공신경망 연산 방법
|
6 |
6
제4항에 있어서, 상기 활성화 함수에서 는 0
|
7 |
7
제4항에 있어서, 상기 활성화 함수에서 는 상기 인공신경망의 훈련 단계에서 최적 값으로 선택되는 하이퍼 파라미터인,인공신경망 연산 방법
|
8 |
8
제4항에 있어서, 상기 연산하는 단계 이전에,미리 수집된 훈련 데이터를 이용하여 상기 인공신경망을 훈련하는 단계를 포함하고,상기 훈련하는 단계는, 훈련 시작 시점에 상기 훈련 데이터의 타입 및 크기에 따라 상기 활성화 함수에서 의 최초 설정값을 결정하는,인공신경망 연산 방법
|
9 |
9
제4항에 있어서, 상기 연산하는 단계 이전에,미리 수집된 훈련 데이터를 이용하여 상기 인공신경망을 훈련하는 단계를 포함하고,상기 훈련하는 단계는, 값을 최소 설정값으로 설정하는 단계;상기 미리 수집된 훈련 데이터 내 제1 그룹의 데이터를 이용하여 상기 인공신경망을 훈련시키고, 훈련된 인공신경망에 대해 상기 미리 수집된 훈련 데이터 중 상기 제1 그룹의 데이터 이외의 데이터를 이용하여 훈련된 인공신경망의 정확도를 측정하고 기록하는 단계;상기 값을 제1 크기만큼 증가시키면서 상기 인공신경망의 정확도를 측정하고 기록하는 단계를 상기 값이 1 이상이 될 때까지 반복하는 단계; 및상기 반복하는 단계를 통해 획득되는 정확도 중 정확도가 가장 높게 측정된 경우의 값을 상기 활성화 함수의 최적 값으로 결정하고, 상기 미리 수집된 훈련 데이터를 이용하여 상기 인공신경망을 훈련시키는 단계를 포함하는,인공신경망 연산 방법
|
10 |
10
제9항에 있어서, 상기 제1 크기는 직전 단계에서 훈련된 인공신경망의 정확도에 따라 결정되고, 직전 단계에서 훈련된 인공신경망의 정확도가 작을수록 상기 제1 크기는 크게 결정되는,인공신경망 연산 방법
|
11 |
11
적어도 하나의 은닉층을 포함하는 인공신경망 연산 장치로서,적어도 하나의 프로세서; 및상기 프로세서와 동작 가능하게 연결되고, 상기 프로세서에서 수행되는 적어도 하나의 코드를 저장하는 메모리를 포함하고,상기 메모리는 상기 프로세서를 통해 실행될 때, 상기 프로세서로 하여금,은닉층의 노드의 입력 데이터 및 가중치 데이터에 기반하여 상기 노드의 연산값을 연산하고, 상기 연산값에 기반하여 활성화 함수를 선택하고, 상기 연산값에 대하여 선택된 상기 활성화 함수의 함수값을 다음 은닉층에 대한 출력값으로 출력하며, 상기 활성화 함수 선택 시, 상기 연산값의 포지티브(positive) 영역은 선형 함수에 기반한 제1 활성화 함수를 선택하고, 상기 연산값의 네거티브(negative) 영역은 비선형 함수에 기반한 제2 활성화 함수를 선택하기 위한 코드를 저장하는, 인공신경망 연산 장치
|
12 |
12
제11항에 있어서, 상기 메모리는 상기 프로세서를 통해 실행될 때, 상기 프로세서로 하여금,상기 입력 데이터 및 상기 가중치 데이터에 기반한 가중합을 연산하고, 상기 노드의 바이어스값과 상기 가중합에 기반하여 상기 연산값을 결정하도록 하는 코드를 저장하는, 인공신경망 연산 장치
|
13 |
13
제11항에 있어서, 상기 포지티브 영역은 상기 연산값이 0 이상인 영역이고, 상기 네거티브 영역은 상기 연산값이 0보다 작은 영역인, 인공신경망 연산 장치
|
14 |
14
제11항에 있어서, 상기 활성화 함수는(여기서, 으로 정의함)이고,상기 제1 활성화 함수는 이고,상기 제2 활성화 함수는 인 코드를 저장하는, 인공신경망 연산 장치
|
15 |
15
제14항에 있어서, 상기 제1 활성화 함수의 제1 도함수는 이고, 상기 제2 활성화 함수의 제2 도함수는 인, 인공신경망 연산 장치
|
16 |
16
제14항에 있어서, 상기 활성화 함수에서 는 0
|
17 |
17
제14항에 있어서, 상기 활성화 함수에서 는 상기 인공신경망의 훈련 단계에서 최적 값으로 선택되는 하이퍼 파라미터인,인공신경망 연산 장치
|
18 |
18
제14항에 있어서, 상기 메모리는 상기 프로세서를 통해 실행될 때, 상기 프로세서로 하여금,미리 수집된 훈련 데이터를 이용하여 상기 인공신경망을 훈련 단계를 수행시키되,훈련 시작 시점에 상기 훈련 데이터의 타입 및 크기에 따라 상기 활성화 함수에서 의 최초 설정값을 결정하도록 하는 코드를 저장하는,인공신경망 연산 장치
|
19 |
19
제14항에 있어서, 상기 메모리는 상기 프로세서를 통해 실행될 때, 상기 프로세서로 하여금,미리 수집된 훈련 데이터를 이용하여 상기 인공신경망에 대한 훈련 단계를 수행시키되,상기 훈련 단계에서, 값을 최소 설정값으로 설정하고, 상기 미리 수집된 훈련 데이터 내 제1 그룹의 데이터를 이용하여 상기 인공신경망을 훈련시키고, 훈련된 인공신경망에 대해 상기 미리 수집된 훈련 데이터 중 상기 제1 그룹의 데이터 이외의 데이터를 이용하여 훈련된 인공신경망의 정확도를 측정하고 기록하고, 상기 값을 제1 크기만큼 증가시키면서 상기 인공신경망의 정확도를 측정하고 기록하는 단계를 상기 값이 1 이상이 될 때까지 반복하고, 상기 반복하는 단계를 통해 획득되는 정확도 중 정확도가 가장 높게 측정된 경우의 값을 상기 활성화 함수의 최적 값으로 결정하고, 상기 미리 수집된 훈련 데이터를 이용하여 상기 최적 값의 활성화 함수를 가지는 인공신경망을 훈련시키도록 하는 코드를 포함하는,인공신경망 연산 장치
|
20 |
20
제19항에 있어서, 상기 제1 크기는 직전 단계에서 훈련된 인공신경망의 정확도에 따라 결정되고, 직전 단계에서 훈련된 인공신경망의 정확도가 작을수록 상기 제1 크기는 크게 결정되는,인공신경망 연산 장치
|