1 |
1
다중 모드 활성화 함수를 위한 가속기 장치로서,복수의 활성화 함수 각각에 대응하는 연산을 수행하는 모드에 따라 복수의 선택 신호를 생성하도록 구성된 선택 신호 생성부;상기 복수의 선택 신호 중 적어도 하나의 선택 신호에 따라 입력 데이터를 그대로 출력하거나, 또는 입력 데이터에서 입력 데이터 중 최대값을 감산한 값의 부호를 반전시켜 출력하도록 구성된 입력 처리부;상기 복수의 선택 신호 중 적어도 하나의 선택 신호에 따라 상기 입력 처리부로부터의 출력에 지수 함수 연산을 수행하도록 구성된 지수 함수 연산부;상기 복수의 선택 신호 중 적어도 하나의 선택 신호에 따라, 상기 지수 함수 연산 결과에 기반한 분자값 및 분모값을 이용한 분수 연산을 수행하여 출력하도록 구성된 분수 연산부; 상기 복수의 선택 신호 중 적어도 하나의 선택 신호에 따라, 상기 분수 연산부의 출력 또는 상기 입력 처리부의 출력에 대해 선택적으로 설정값을 곱하는 연산을 수행하도록 구성된 설정값 연산부; 및상기 복수의 선택 신호 중 적어도 하나의 선택 신호에 따라, 상기 설정값 연산부의 출력 또는 상기 입력 처리부의 출력을 해당 활성화 함수에 따른 출력 데이터로서 출력하도록 구성된 출력 처리부를 포함하는 가속기 장치
|
2 |
2
제1항에 있어서,상기 복수의 활성화 함수는 시그모이드(Sigmoid) 함수, 하이퍼볼릭 탄젠트(Hyperbolic Tangent) 함수, ReLU (Rectified Linear Unit) 함수, Leaky ReLU 함수, ELU(Exponential LU) 함수 및 소프트맥스(SoftMax) 함수를 포함하는, 가속기 장치
|
3 |
3
제1항에 있어서,상기 입력 처리부는 연산을 수행하고자 하는 활성화 함수가 소프트맥스 함수인 경우에만 입력 데이터에서 입력 데이터 중 최대값을 감산한 값의 부호를 반전시켜 출력하고, 나머지 활성화 함수에 대해서는 입력 데이터를 그대로 출력하는, 가속기 장치
|
4 |
4
제3항에 있어서,상기 입력 처리부는,하나의 선택 신호에 따라 0 또는 최대값을 출력하도록 구성된 멀티플렉서; 상기 입력 데이터에서 상기 멀티플렉서로부터의 출력을 감산하도록 구성된 뺄셈기; 상기 뺄셈기의 출력의 부호를 반전시키도록 구성된 부호 반전기; 및상기 선택 신호에 따라 상기 뺄셈기의 출력 또는 상기 부호 반전기의 출력을 출력하도록 구성된 멀티플렉서를 포함하는, 가속기 장치
|
5 |
5
제1항에 있어서,상기 지수 함수 연산부와 상기 분수 연산부는 ReLU 함수, Leaky ReLU 함수에 대한 연산 수행시에는 동작하지 않는, 가속기 장치
|
6 |
6
제1항에 있어서,상기 지수 함수 연산부는 상기 입력 처리부로부터의 출력에 상수 를 곱하고 지수 연산을 수행하여 지수 연산 함수 값으로 출력하거나 상기 가 곱해진 값을 2배 처리한 다음에 지수 연산을 수행하여 지수 연산 함수 값으로 출력하는, 가속기 장치
|
7 |
7
제6항에 있어서,상기 지수 함수 연산부는 하이퍼볼릭 탄젠트 함수의 경우에만, 상기 가 곱해진 값을 2배 처리한 다음에 지수 연산을 수행하여 지수 연산 함수 값으로 출력하는, 가속기 장치
|
8 |
8
제6항에 있어서,상기 지수 함수 연산부는 상기 입력 처리부의 결과에 상수 를 곱하도록 구성된 곱셈기; 상기 곱셈기의 출력을 2배 처리하도록 구성된 2배 모듈;하나의 선택 신호에 따라 상기 곱셈기의 출력 또는 상기 2배 모듈의 출력을 출력하도록 구성된 멀티플렉서; 및상기 멀티플렉서로부터 출력되는 결과에 지수 연산을 수행하여 지수 연산 함수 값으로 출력하도록 구성된 지수 함수 연산기를 포함하는, 가속기 장치
|
9 |
9
제1항에 있어서,상기 분수 연산부는 연산을 수행하고자 하는 활성화 함수에 따라 선택적으로, 상기 지수 함수 연산부의 지수 함수 결과에 대해 1을 감산하는 뺄셈 또는 1을 더하는 덧셈을 선택적으로 수행하여 분자값 및 분모값을 획득하고, 상기 분자값 및 분모값에 기반한 나눗셈을 수행하여 이용한 분수 연산을 수행하여 출력하는, 가속기 장치
|
10 |
10
제9항에 있어서,연산을 수행하고자 하는 활성화 함수가 시그모이드 함수 또는 하이퍼볼릭 탄젠트 함수일 때, 상기 분수 연산부가 상기 분자값 및 분모값에 기반한 나눗셈을 수행하여 이용한 분수 연산을 수행하여 출력하며,상기 활성화 함수가 ReLU 함수 또는 Leaky ReLU 함수일 때, 상기 분수 연산부가 동작하지 않으며,상기 활성화 함수가 ELU 함수일 때, 상기 분수 연산부가 상기 지수 함수 결과에서 1을 감산한 값을 그대로 출력하며, 그리고,상기 활성화 함수가 소프트맥스 함수일 때, 상기 분수 연산부는 분자값을 1로 하고 상기 지수 함수 결과를 분모값으로 사용하여 분수 연산을 수행하는, 가속기 장치
|
11 |
11
제10항에 있어서,상기 분수 연산부는제1 선택 신호에 따라 0 또는 1을 출력하도록 구성된 제1 멀티플렉서; 제2 선택 신호에 따라 0 또는 1을 출력하도록 구성된 제2 멀티플렉서; 상기 지수 함수 연산부의 지수 함수 결과에서 상기 제1 멀티플렉서의 출력을 감산하도록 구성된 뺄셈기;상기 지수 함수 연산부의 지수 함수 결과에서 상기 제2 멀티플렉서의 출력을 더하도록 구성된 덧셈기;상기 제2 선택 신호에 따라 상기 뺄셈기의 출력 또는 1을 출력하도록 구성된 제3 멀티플렉서;상기 제3 선택 신호에 따라 상기 덧셈기의 출력 또는 1을 출력하도록 구성된 제4 멀티플렉서; 및상기 제3 멀티플렉서의 출력을 분자값으로 사용하고 상기 제4 멀티플렉서의 출력을 분모값으로 사용해서 나눗셈을 수행하도록 구성된 나눗셈기를 포함하는, 가속기 장치
|
12 |
12
제1항에 있어서,연산을 수행하고자 하는 활성화 함수가 Leaky ReLU 함수 또는 ELU 함수일 때, 상기 설정값 연산부가 상기 분수 연산부의 출력 또는 상기 입력 처리부의 출력에 대해 상기 설정값을 곱하여 출력하는, 가속기 장치
|
13 |
13
제1항에 있어서,상기 출력 처리부는,상기 입력 처리부의 결과의 MSB(Most Significant Bit)를 취하여 선택 신호로 출력하도록 구성된 선택기를 포함하는, 가속기 장치
|
14 |
14
제13항에 있어서,상기 출력 처리부는,연산을 수행하고자 하는 활성화 함수가 ReLU 함수일 때, 상기 선택기의 선택 신호에 따라 0 또는 상기 입력 처리부의 결과를 출력하며,연산을 수행하고자 하는 활성화 함수가 Leaky ReLU 함수 또는 ELU 함수일 때, 상기 선택기의 선택 신호에 따라 상기 입력 처리부의 결과 또는 상기 설정값 연산부의 결과를 출력하고,연산을 수행하고자 하는 활성화 함수가 다른 함수일 때, 상기 선택 신호 생성부로부터의 선택 신호에 따라 상기 입력 처리부의 결과를 출력하는, 가속기 장치
|
15 |
15
제14항에 있어서,상기 출력 처리부는,제1 선택 신호에 따라 0 또는 상기 설정값 연산부의 결과를 출력하도록 구성된 제1 멀티플렉서; 상기 선택기의 선택 신호에 따라 상기 입력 처리부의 결과 또는 상기 제1 멀티플렉서의 출력을 출력하도록 구성된 제2 멀티플렉서; 및제2 선택 신호에 따라 상기 설정값 연산부의 결과 또는 상기 제2 멀티플렉서의 출력을 출력 데이터로서 출력하도록 구성된 제3 멀티플렉서를 포함하는, 가속기 장치
|
16 |
16
제1항에 있어서,상기 지수 함수 연산부는 입력 데이터에 상수 를 곱하도록 구성된 곱셈기;상기 곱셈기의 결과 중 소수부를 입력으로 하여 연산을 수행하도록 구성된 소수부 룩업 테이블; 및상기 소수부 룩업 테이블의 결과를 상기 곱셈기의 결과 중 정수부의 지수만큼 시프트하여 지수 함수 연산 결과로 출력하도록 구성된 시프터를 포함하는, 가속기 장치
|
17 |
17
제16항에 있어서,상기 시프터에 의해 실제 시프트되는 값의 최대값은 이며, 상기 는 상기 정수부의 지수인, 가속기 장치
|
18 |
18
제16항에 있어서,상기 소수부 룩업 테이블은 상기 소수부의 입력 비트의 자릿수에 따른 지수 함수 결과를 각각 출력하도록 구성된 복수의 룩업 테이블;상기 소수부의 하나의 입력 비트를 선택 신호로 사용하여, 복수의 룩업 테이블 중 상기 입력 비트의 자릿수에 대응하는 룩업 테이블의 지수 함수 결과 또는 1을 출력하도록 구성된 복수의 멀티플렉서; 및상기 복수의 멀티플렉서의 출력을 곱하여 출력하도록 구성된 곱셈기를 포함하는, 가속기 장치
|
19 |
19
제18항에 있어서,상기 복수의 룩업 테이블 각각은, 상기 소수부의 입력 비트의 자릿수에 대한 2의 지수승 값을 연산하여 곱하여 지수 함수 결과로서 출력하는, 가속기 장치
|
20 |
20
제1항에 있어서,상기 가속기 장치는 신경망 학습을 수행하는 신경망 장치의 가속기 장치로 사용되는, 가속기 장치
|