KR20200097103A - 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치 - Google Patents

딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치 Download PDF

Info

Publication number
KR20200097103A
KR20200097103A KR1020190014432A KR20190014432A KR20200097103A KR 20200097103 A KR20200097103 A KR 20200097103A KR 1020190014432 A KR1020190014432 A KR 1020190014432A KR 20190014432 A KR20190014432 A KR 20190014432A KR 20200097103 A KR20200097103 A KR 20200097103A
Authority
KR
South Korea
Prior art keywords
activation function
value
function
executing
deep learning
Prior art date
Application number
KR1020190014432A
Other languages
English (en)
Inventor
채승엽
김소원
박민수
Original Assignee
주식회사 마크애니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마크애니 filed Critical 주식회사 마크애니
Priority to KR1020190014432A priority Critical patent/KR20200097103A/ko
Priority to US16/358,701 priority patent/US20200257981A1/en
Publication of KR20200097103A publication Critical patent/KR20200097103A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

본 발명의 일 양태는 딥러닝(deep learning) 알고리즘을 위한 활성화 함수를 실행하는 방법을 개시하고 있다. 상기 방법은, 딥러닝 알고리즘과 연관된 인공신경망의 제 1 노드(node)로의 입력 값이 양수인지 음수인지에 판별하는 단계, 상기 입력 값이 양수임에 대응하여 제 1 활성화 함수를 실행시키고, 상기 입렵 값이 음수임에 대응하여 제 2 활성화 함수를 실행시키는 단계 및 상기 제 1 활성화 함수 또는 제 2 활성화 함수를 실행시켜 생성된 결과 값을 상기 인공신경망의 제 2 노드로 제공하는 단계를 포함하되, 상기 제 1 활성화 함수는 ReLU(Rectified Linear Unit) 함수이고, 상기 제 2 활성화 함수는 음수 영역의 제 1 구간에서 제 1 기울기를 갖고, 음수 영역의 제 2 구간에서 제 2 기울기를 갖는 선형 함수(linear function)이며, 상기 제 1 기울기와 상기 제 2 기울기는 서로 다른 기울기이다.

Description

딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치{METHOD FOR EXECUTING ACTIVATION FUNCTION FOR DEEP LEARNING ALGORITHM, AND APPARATUS FOR EXECUTING SAID METHOD}
본 발명은 딥러닝 알고리즘에 관한 것으로, 보다 상세하게는, 딥러닝 알고리즘에 영향을 끼치는 활성화 함수를 실행하는 방법에 관한 것이다.
최근 이미지 인식을 비롯한 다양한 분야에서 인공지능이 주목받고 있다. 특히, 과적합 문제를 해결하고, 하드웨어의 발전과 빅데이터의 확보가 가능해지면서 방대한 양의 데이터를 기반으로 스스로 학습하고 패턴을 찾는 딥러닝(Deep Learning) 알고리즘이 주목받고 있고, 이에 대한 많은 연구가 진행되고 있다.
딥러닝은 인공신경망(Neural Network)을 학습시켜 최적화하는 과정으로, 이러한 인공신경망은 사람의 뇌를 구성하는 뉴런의 동작원리에 기초한다. 뉴런은 입력신호를 받고 연결된 다음 뉴런으로 신호를 전달하는 과정에서, 신호의 강도가 약해져서 신호가 다음 뉴런으로 전달되지 않거나 또는 의도와 다르게 신호가 강하게 전달되기도 한다. 이러한 강도는 입력값에 가중치의 곱과 편향의 합이 활성화 함수를 통과함에 의해 결정된다. 즉, 이러한 활성화 함수는 뉴런간의 연결강도를 결정하는 매우 중요한 역할을 함에도, 최근까지 진행된 활성화 함수에 대한 연구는 미분값을 이용한 역전파(Back Propagation) 학습이 불가능한 문제, 및 누적되는 미분 곱이 결국 0으로 수렴하여 학습이 불가능한 Vanishing Gradient 문제 및 음수 영역에서의 역전파 학습이 불가능한 문제 등 다양한 문제를 안고 있어 이를 해결할 수 있는 활성화 함수가 필요한 실정이다.
상술한 문제점을 해결하기 위한 본 발명의 일 실시예에 따른 목적은 양수 영역에서는 제 1 활성화함수를 사용하고 음수영역에 대해서는 제 2 활성화 함수를 사용하되, 제 2 활성화 함수는 구간을 나누어 서로 다른 기울기의 선형함수를 포함하는 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법 및 상기 방법을 실행하는 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 딥러닝(deep learning) 알고리즘을 위한 활성화 함수를 실행하는 방법은, 딥러닝 알고리즘과 연관된 인공신경망의 제 1 노드(node)로의 입력 값이 양수인지 음수인지에 판별하는 단계, 상기 입력 값이 양수임에 대응하여 제 1 활성화 함수를 실행시키고, 상기 입렵 값이 음수임에 대응하여 제 2 활성화 함수를 실행시키는 단계 및 상기 제 1 활성화 함수 또는 제 2 활성화 함수를 실행시켜 생성된 결과 값을 상기 인공신경망의 제 2 노드로 제공하는 단계를 포함하되, 상기 제 1 활성화 함수는 ReLU(Rectified Linear Unit) 함수이고, 상기 제 2 활성화 함수는 음수 영역의 제 1 구간에서 제 1 기울기를 갖고, 음수 영역의 제 2 구간에서 제 2 기울기를 갖는 선형 함수(linear function)이며, 상기 제 1 기울기와 상기 제 2 기울기는 서로 다른 기울기일 수 있다.
상기 제 2 활성화 함수는 시그모이드 함수(Sigmoid Function)를 기반으로 하는 함수일 수 있다.
상기 제 2 활성화 함수의 제 1 구간과 제 2 구간은 동일한 길이의 구간 범위를 가질 수 있다.
상기 제 1 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 1 기울기 값이 결정되고, 상기 제 2 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 2 기울기 값이 결정될 수 있다.
상기 시그모이드 함수를 일정 배수 스케일링한 결과값과 연관된 값은, 상기 시그모이드 함수의 일정 배수로 스케일링한 결과값에서 일정 값을 뺀 값일 수 있다.
상기 시그모이드 함수의 스케일링을 위한 상기 일정 배수는 2의 값을 가지며, 상기 스케일링한 결과값에서의 뺄셈 연산을 위한 일정 값은 1의 값을 가질 수 있다.
상기 제 2 활성화 함수는 다음의 수학식으로 표현되되,
Figure pat00001
,
여기서, M(x)는 제 2 활성화 함수를 나타내고, An은 특정 구간의 종단점의 x 값을, n 및 i는 구간 인덱스를, m은 구간의 길이를, K는 일정 길이를 갖는 구간의 갯수를 나타낼 수 있다.
구간의 길이를 나타내는 m 값이 2의 값을 갖고, 구간의 갯수를 나타내는 K 값이 2의 값을 가질 수 있다.
상기 m 값 및 K 값 중 적어도 하나는 상기 인공신경망의 노드의 수에 비례하여 결정될 수 있다.
상기 제 2 활성화 함수는 적어도 3개의 일정한 길이를 갖는 구간으로 분할되되, 상기 분할된 적어도 3개의 구간은 서로 다른 기울기 값을 갖는 선형함수로 실행되는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
상기 제 1 노드 및 상기 제 2 노드 중 적어도 하나는 상기 인공신경망의 입력층, 은닉층 및 출력층 중 적어도 하나에 위치한 노드일 수 있다.
상기 활성화 함수는 CNN(Convolution Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), LSTM(Long Short Term Memory Network), GRUs(Gated Recurrent Units) 중 적어도 하나에 적용될 수 있다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 딥러닝(deep learning) 알고리즘을 위한 활성화 함수를 실행하는 장치는, 딥러닝 알고리즘과 연관된 인공신경망의 제 1 노드(node)로의 입력 값이 양수인지 음수인지에 판별하고, 상기 입력 값이 양수임에 대응하여 제 1 활성화 함수를 실행시키고, 상기 입렵 값이 음수임에 대응하여 제 2 활성화 함수를 실행시키며, 상기 제 1 활성화 함수 또는 제 2 활성화 함수를 실행시켜 생성된 결과 값을 상기 인공신경망의 제 2 노드로 제공하는 프로세서 및 상기 제 1 활성화 함수와 상기 제 2 활성화 함수와 연관된 프로그램을 저장하는 메모리를 포함하되, 상기 제 1 활성화 함수는 ReLU(Rectified Linear Unit) 함수이고, 상기 제 2 활성화 함수는 음수 영역의 제 1 구간에서 제 1 기울기를 갖고, 음수 영역의 제 2 구간에서 제 2 기울기를 갖는 선형 함수(linear function)이며, 상기 제 1 기울기와 상기 제 2 기울기는 서로 다른 기울기일 수 있다.
상기 제 2 활성화 함수는 시그모이드 함수(Sigmoid Function)를 기반으로 하는 함수일 수 있다.
상기 제 2 활성화 함수의 제 1 구간과 제 2 구간은 동일한 길이의 구간 범위를 가질 수 있다.
상기 제 1 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 1 기울기 값이 결정되고, 상기 제 2 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 2 기울기 값이 결정될 수 있다.
상기 시그모이드 함수를 일정 배수 스케일링한 결과값과 연관된 값은, 상기 시그모이드 함수의 일정 배수로 스케일링한 결과값에서 일정 값을 뺀 값일 수 있다.
상기 시그모이드 함수의 스케일링을 위한 상기 일정 배수는 2의 값을 가지며, 상기 스케일링한 결과값에서의 뺄셈 연산을 위한 일정 값은 1의 값을 가질 수 있다.
상기 제 2 활성화 함수는 다음의 수학식으로 표현되되,
Figure pat00002
, 여기서, M(x)는 제 2 활성화 함수를 나타내고, An은 특정 구간의 종단점의 x 값을, n 및 i는 구간 인덱스를, m은 구간의 길이를, K는 일정 길이를 갖는 구간의 갯수를 나타낼 수 있다.
본 발명의 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법 및 상기 방법을 실행하는 장치에 따르면, 종래 활성화 함수가 갖는 문제를 개선하여 학습 속도를 충분히 제고시키는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 활성화 함수가 실행되는 인공신경망의 구성을 나타낸 개념도,
도 2a는 스텝 함수(Step Function)를 나타낸 그래프,
도 2b는 시그모이드 함수(Sigmoid Function)를 나타낸 그래프,
도 2c는 ReLU 함수(Rectified Linear Unit Function)를 나타낸 그래프,
도 3은 본 발명의 일 실시예에 따른 활성화 함수를 실행하는 방법을 개략적으로 나타낸 흐름도,
도 4는 본 발명의 일 실시예에 따른 활성화 함수를 도식화한 그래프,
도 5는 본 발명의 일 실시예에 따른 활성화 함수의 음수영역에서 실행되는 제 2 활성화 함수를 생성하는 과정을 나타낸 흐름도,
도 6은 본 발명의 일 실시예에 따른 활성화 함수를 실행하는 장치를 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 활성화 함수가 실행되는 인공신경망의 구성을 나타낸 개념도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 활성화 함수가 실행되는 인공신경망은 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)을 포함한다. 기본적으로 은닉층은 매우 많은 개수의 노드로 구성될 수 있다. 도 1의 실시예에서는 대표적인 인공신경망 구조인 심층 신경망을 예로 설명하고 있으나, 반드시 이에 한정될 필요는 없다.
심층신경망을 학습시키는 방법으로는, 실선으로 표시된 피드 포워드(feed-forward)와 점선으로 표시된 역전파(back propagation) 방법이 사용될 수 있는데, 피드 포워드 과정에서는 입력층에서 은닉층, 그리고 출력층 순으로 순차적으로 학습이 진행된다. 각 층의 노드 값은 이전 층의 노드 값과 연결된 가중치의 곱을 모두 더한 뒤, 활성화 함수에 대응하여 나온 값이 될 수 있다. 그리고, 출력층에서 은닉층, 그리고 입력층 순서로 활성화 함수의 미분을 통해 오류를 역전파함으로써 가중치를 최적화할 수 있다. 활성화 함수는 피드 포워드와 역전파 과정에 직접적으로 관여함으로써 학습속도 및 성능에 큰 영향을 미친다.
도 2a는 스텝 함수(Step Function)를 나타낸 그래프이다.
도 2a를 참조하면, 스텝 함수는, 가장 기본이 되는 활성화 함수로, 이는 다음의 수학식과 같이 표현된다.
Figure pat00003
입력값이 양수일 때는 1의 값을, 음수일 때는 0의 값을 갖는 함수로 활성화 또는 비활성화를 표현할 수 있다. 이때, 입력되는 값의 크기에 따른 정도를 표현할 수 없다. 또한, 미분값을 이용한 역전파 학습이 불가능한 측면도 있다.
도 2b는 시그모이드 함수(Sigmoid Function)을 나타낸 그래프이다.
도 2b를 참조하면, 시그모이드 함수는 다음의 수학식으로 표현된다.
Figure pat00004
이는 0과 1 사이의 값을 갖는 비선형 함수로, 미분 값을 통해 역전파 학습이 가능한 특성을 갖는다. 역전파 학습 과정에서 활성화 함수를 미분하게 되는데, 시그모이드 함수의 미분값은 항상 1보다 작다. 이에, 심층신경망의 매우 많은 은닉층의 노드들을 통과하면서 누적되는 미분 곱은 결국 0으로 수렴하게 되어 학습이 불가능한 Vanishing Gradient 문제가 발생될 수 있다. 이에, 계층의 수가 많은 심층신경망에서는 사용하기 적합하지 않다.
도 2c는 ReLU 함수(Rectified Linear Unit Function)을 나타낸 그래프이다.
도 2c를 참조하면, ReLU 함수는 다음의 수학식으로 표현된다.
Figure pat00005
ReLU 함수는 도 2b의 시그모이드 함수의 Vanishing Gradient 문제를 해결한 함수이다. ReLU 함수의 미분값은 1 또는 0만 존재하여 Vanishing Gradient 문제를 해결하면서도 시그모이드 함수보다 미분 속도가 6배나 빠르다.
다만, ReLU 함수는 대부분의 입력 값이 음수일 경우, 미분 값이 0으로, 기울기에 의한 역전파 학습을 진행할 수 없는 Dying ReLU 문제가 발생한다.
도 3은 본 발명의 일 실시예에 따른 활성화 함수를 실행하는 방법을 개략적으로 나타낸 흐름도이다.
도 2a 내지 도 2c에서 발생되는 Vanishing Gradient 문제 및/또는 Dying ReLU 문제를 동시에 해결하기 위해, 본 발명의 일 실시예에 따른 장치는 양수 영역에서는 ReLU 함수(제 1 활성화 함수)를 따르지만 음수 영역에서는, 시그모이드 함수를 기반으로 구간 별로 일정한 기울기를 갖는 함수(제 2 활성화 함수)를 따르도록 제어한다. 본 발명의 실시예에 따르면, 상기 장치는 추론 및/또는 연산이 가능한 컴퓨팅 장치로써, 스마트 폰, PC, 태블릿 PC, 데스크 톱 등을 포함할 수 있다.
도 3을 참조하면, 장치는 특정 층(예컨대, 입력층, 은닉층 및 출력층 중 하나)의 노드로부터 입력값을 입력받는다(S310). 장치는 입력값이 양수인지 음수인지 판별한다(S320). 양수라고 판단되면, 장치는 제 1 활성화 함수인 ReLU 함수를 적용한다(S330). 따라서, y = x의 1차 선형 함수의 그래프를 따르게 된다. 본 발명의 실시예에 따르면, 상기 제 1 활성화 함수는, y = ax의 선형함수를 따를 수 있고, 여기서, a는 실수의 값을 가질 수 있다.
만약, 입력값이 음수인 경우, 제 2 활성화 함수를 적용한다(S340). 앞서 설명한 바와 같이, 제 2 활성화 함수는 음수 영역의 입력값에 대해서만 적용되는 함수로써, 구간별로 서로 다른 기울기를 갖는 선형함수이다. 이는 도 4 및 도 5를 통해 보다 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 활성화 함수를 도식화한 그래프이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 활성화 함수는 양수의 입력값에 대응하여 ReLU 함수를 따르고, 음수의 입력값에 대응하여 시그모이드 함수를 기반으로 구간별 서로 다른 기울기의 제 2 활성화 함수를 따른다.
도 4의 실시예에서, 제 2 활성화 함수는 제 1 구간 및 제 2 구간을 가지고, 제 1 구간에서는 약 0.4의 기울기를 갖고, 제 2 구간에서는, 약 0.1의 기울기를 갖도록 설정된다. 제 2 활성화 함수를 수학식으로 표현하면 다음과 같다.
Figure pat00006
여기서, M(x)는 제 2 활성화 함수를 나타내고, An은 특정 구간의 종단점의 x 값을, n 및 i는 구간 인덱스를, m은 구간의 길이를, K는 일정 길이를 갖는 구간의 갯수를 나타낸다.
즉, 본 발명의 일 실시예에 따른 활성화 함수는 m과 K의 값에 따라 다양한 형태로 변화가 가능하며, 사용하는 학습 방향에 따라 그 값을 조절할 수 있다. m과 K 값은 사용자가 디폴트(default) 값으로 기설정 가능한 값이고, 임의로 변경도 가능한 값이다. 다만, m 값이 너무 작을 경우, 시그모이드 함수와 동일해질 수 있고, K 값이 너무 클 경우, Vanishing Gradient 문제가 발생할 수 있다. 따라서, 이를 적절히 설정하기 위한 다양한 방법을 다음과 같이, 고려할 수 있다.
본 발명의 실시예에 따르면, m 값과 K 값에 대한 임계값을 기설정해 놓아 임계값 이하의 길이로 구간이 분할되지 않고, 또한, 임계값 이하의 갯수로 구간이 분할되지 않도록 설정할 수 있다.
특히, 입력층, 은닉층 및 출력층의 노드의 갯수에 비례하여 m 값과 K 값 중 적어도 하나의 값이 대응되는 값을 갖도록 할 수 있다. 즉, 너무 많은 노드가 존재하는 경우, m 값을 작게 하고, 그리고 K 값을 크게 하여 구간을 세분화할 때, 역전파 학습의 미분계산시 0에 수렴하는 문제가 있을 수 있다. 이때는, m 값이 상대적으로 큰 값을 갖도록 하고, 그리고 K 값이 상대적으로 작은 값을 갖도록 하는 것이 바람직하다. 반대의 경우, 적은 노드가 존재할 때는 m 값을 작은 값으로 하고, 그리고/또는 K 값을 큰 값으로 설정하여 구간을 세분화하는 것이 학습에 유리하다. 장치는, 노드의 많고 적음을 특정 기준값을 설정하여 판단할 수 있다.
본 발명의 다른 실시예에 따르면, 모드 구간에 m 값이 일정하게 적용되어 구간별 길이가 동일한 것으로 표현되는데, 반드시 그래야만 하는 것은 아니다. 제 1 구간은 2의 길이를, 제 2 구간은 1의 길이를 갖도록 설정하여, 구간별로 서로 다른 길이를 갖도록 설정해도 무방하다. 이때, 0에 가까운 음수 영역에 빠른 구간 인덱스가 붙는다고 가정할 때, 앞선 인덱스를 갖는 구간의 길이가 후속하는 인덱스를 갖는 구간의 길이보다 긴 길이를 갖는 것이 바람직하다. 또는, 장치는 그 반대의 경우도 고려할 수 있다.
도 4의 실시예에 있어서, 장치는 제 2 활성화 함수의 y축 값, 즉, 결과값이 0 내지 -1 사이에서 변하도록 설정하고 있는데, 반드시 이에 한정될 필요는 없다. 본 발명의 또 다른 실시예에 따르면, 결과 값이 0 내지 -2, 0 내지 -3, 등 보다 큰 범주에서 변화할 수 있다. 즉, 시그모이드 함수의 2배 스케일의 영역에서만 동작해야 하는 것은 아니고, 그의 3배, 4배, 5배, 및 더 큰 스케일의 영역에서 동작하도록 설정할 수 있다.
도 5는 본 발명의 일 실시예에 따른 활성화 함수의 음수영역에서 실행되는 제 2 활성화 함수를 생성하는 과정을 나타낸 흐름도이다.
도 5를 참조하면, 장치는 음수영역에서 적용되는 제 2 활성화 함수를 시그모이드 함수로부터 유도하여 생성할 수 있다. 장치는 먼저, m 값과 K 값을 결정한다(S510). 이는 기설정된 값일 수 있고, 학습 대상 인공신경망의 종류 및/또는 인공신경망 내의 노드의 수에 대응하여 결정되는 값일 수 있다.
장치는, 시그모이드 함수를 로딩한다(S520). 그리고는, 시그모이드 함수를 2배 스케일링한다(S530). 이때, 반드시 스케일링 계수를 2배로 해야만 하는 것은 아니다. 스케일링 계수 또한, 사용자의 선택, 인공신경망의 종류 및/또는, 노드의 수에 따라 가변될 수 있다.
시그모이드 함수를 스케일링하고 나면, 장치는 스케일링된 결과 값, 즉, y축으로 -1 만큼 쉬프트하여, 음수 영역의 x 값에 대응하는 결과 값(y축 값)의 영역이 0 내지 -1의 영역에서 동작하도록 한다(S540). 그리고는, x 값이 음수인 영역만 추출한다(S550). 이는 양수 영역은 제 2 활성화 함수가 아닌, 제 1 활성화 함수(ReLU 함수)로 동작하기 때문이다.
그리고는, 추출된 시그모이드 변형 함수에서 m과 K 값을 기반으로 m의 길이를 갖는 K개의 구간으로 구간을 분할한다(S560). 그렇게 하면, 각 구간의 종단 값은 시그모이드 변형 함수의 결과 값을 갖게 된다.
그리고는, 각 구간의 곡선부분을 직선으로 변경하여 제 2 활성화 함수를 유도할 수 있다(S570). 장치는 각 구간의 종단 값이 시그모이드 변형 함수의 결과값을 갖기 때문에, 종단 값을 직선으로 이어줌으로써 곡선 영역을 직선으로 변형시킨다. 그리고, 직선으로 변형된 부분이 일정한 기울기 값을 갖도록 하여 각 구간마다 서로 다른 기울기를 갖는 선형함수가 되도록 한다.
도 6은 본 발명의 일 실시예에 따른 활성화 함수를 실행하는 장치를 나타낸 블록도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 장치는, 통신부(610), 메모리(620), 프로세서(630), 디스플레이부(640), 입력부(650), 및 출력부(660)를 포함한다.
도 6을 참조하면, 메모리(620)는 신호라인을 통해 상기 프로세서(630)와 연결된다. 상기 메모리(620)는 모바일 프로그램 상에서 실행되는 본 발명의 일 실시예에 따른 활성화 함수의 공식을 저장하며, 이외에도 프로세서(630)의 연산동작에 관련된 프로그램과 모바일 기기의 모바일 프로그램을 저장할 수 있다.
입력부(650)는 다른 신호라인을 통해 상기 프로세서(630)와 연결되며, 상기 활성화 함수와 연관된 변수 값(예컨대, m 또는 K 값)을 입력받는다. 또는, 디폴트로 설정된 m 또는 K 값을 사용할 것인지, 인공신경망의 종류 및/또는 인공신경망 내의 노드의 수에 따라 가변하는 m 또는 K 값을 사용할 것인지에 대한 선택값을 입력받을 수 있다. 입력부(650)는 키보드, 마우스, 터치 패드 등으로 구현될 수 있다.
프로세서(630)는 통신부(610), 디스플레이부(640) 및 출력부(660)와 연결된다. 프로세서(630)는 마이크로프로세서 또는 CPU로 구현될 수 있다. 프로세서(630)는 상기 활성화 함수의 공식에 대입하여 상기 활성화 함수를 구한다. 그리고는, 생성된 활성화 함수에 기반하여 입력값에 대응하는 출력값을 산출한다. 산출된 값을 다음 노드로 제공된다. 프로세서(630)는 복수 개의 노드마다 이러한 연산을 수행하여 인공지능 학습이 원활하게 이루어질 수 있도록 제어한다.
또한, 상기 프로세서(630)는 미리 설정된 프로그램에 따라 스마트 폰과 같은 휴대용 통신 단말기의 통신 및 멀티미디어 운영을 위한 제반 동작을 제어한다.
프로세서(630)의 인공지능 모델을 이용한 학습과 관련된 연산의 결과는 디스플레이부(640)에 표시되거나, 출력부(660)를 통해 출력될 수 있다.
이와 같이, 본 발명의 실시예에서는 안정성을 보장하는 활성화 함수의 설계 및 실행 방법의 연산 복잡도를 줄임으로써 모바일 프로그램으로 구현할 수 있게 된다.
본 발명의 일 실시예에 따른 장치는, 복잡한 연산을 단순화함으로써 모바일 프로그램에서도 인공지능 학습을 가능케 하여 다양한 인공지능 기술이 언제 어디서나 제약사항에 구애받지 않고 사용자에 의해 쉽게 구현될 수 있도록 한다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
610: 통신부
620: 메모리
630: 프로세서
640: 디스플레이부
650: 입력부
660: 출력부

Claims (19)

  1. 딥러닝(deep learning) 알고리즘을 위한 활성화 함수를 실행하는 방법에 있어서,
    딥러닝 알고리즘과 연관된 인공신경망의 제 1 노드(node)로의 입력 값이 양수인지 음수인지에 판별하는 단계;
    상기 입력 값이 양수임에 대응하여 제 1 활성화 함수를 실행시키고, 상기 입렵 값이 음수임에 대응하여 제 2 활성화 함수를 실행시키는 단계; 및
    상기 제 1 활성화 함수 또는 제 2 활성화 함수를 실행시켜 생성된 결과 값을 상기 인공신경망의 제 2 노드로 제공하는 단계를 포함하되,
    상기 제 1 활성화 함수는 ReLU(Rectified Linear Unit) 함수이고,
    상기 제 2 활성화 함수는 음수 영역의 제 1 구간에서 제 1 기울기를 갖고, 음수 영역의 제 2 구간에서 제 2 기울기를 갖는 선형 함수(linear function)이며,
    상기 제 1 기울기와 상기 제 2 기울기는 서로 다른 기울기인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  2. 제 1 항에 있어서,
    상기 제 2 활성화 함수는 시그모이드 함수(Sigmoid Function)를 기반으로 하는 함수인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  3. 제 2 항에 있어서,
    상기 제 2 활성화 함수의 제 1 구간과 제 2 구간은 동일한 길이의 구간 범위를 갖는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  4. 제 3 항에 있어서,
    상기 제 1 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 1 기울기 값이 결정되고,
    상기 제 2 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 2 기울기 값이 결정되는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  5. 제 4 항에 있어서,
    상기 시그모이드 함수를 일정 배수 스케일링한 결과값과 연관된 값은, 상기 시그모이드 함수의 일정 배수로 스케일링한 결과값에서 일정 값을 뺀 값인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  6. 제 5 항에 있어서,
    상기 시그모이드 함수의 스케일링을 위한 상기 일정 배수는 2의 값을 가지며,
    상기 스케일링한 결과값에서의 뺄셈 연산을 위한 일정 값은 1의 값을 갖는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  7. 제 6 항에 있어서,
    상기 제 2 활성화 함수는 다음의 수학식으로 표현되되,
    Figure pat00007

    여기서, M(x)는 제 2 활성화 함수를 나타내고, An은 특정 구간의 종단점의 x 값을, n 및 i는 구간 인덱스를, m은 구간의 길이를, K는 일정 길이를 갖는 구간의 갯수를 나타내는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  8. 제 7 항에 있어서,
    구간의 길이를 나타내는 m 값이 2의 값을 갖고,
    구간의 갯수를 나타내는 K 값이 2의 값을 갖는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  9. 제 7 항에 있어서,
    상기 m 값 및 K 값 중 적어도 하나는 상기 인공신경망의 노드의 수에 비례하여 결정되는 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  10. 제 1 항에 있어서,
    상기 제 2 활성화 함수는 적어도 3개의 일정한 길이를 갖는 구간으로 분할되되,
    상기 분할된 적어도 3개의 구간은 서로 다른 기울기 값을 갖는 선형함수로 실행되는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  11. 제 1 항에 있어서,
    상기 제 1 노드 및 상기 제 2 노드 중 적어도 하나는 상기 인공신경망의 입력층, 은닉층 및 출력층 중 적어도 하나에 위치한 노드인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  12. 제 1 항에 있어서,
    상기 활성화 함수는 CNN(Convolution Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), LSTM(Long Short Term Memory Network), GRUs(Gated Recurrent Units) 중 적어도 하나에 적용되는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법.
  13. 딥러닝(deep learning) 알고리즘을 위한 활성화 함수를 실행하는 장치에 있어서,
    딥러닝 알고리즘과 연관된 인공신경망의 제 1 노드(node)로의 입력 값이 양수인지 음수인지에 판별하고, 상기 입력 값이 양수임에 대응하여 제 1 활성화 함수를 실행시키고, 상기 입렵 값이 음수임에 대응하여 제 2 활성화 함수를 실행시키며, 상기 제 1 활성화 함수 또는 제 2 활성화 함수를 실행시켜 생성된 결과 값을 상기 인공신경망의 제 2 노드로 제공하는 프로세서; 및
    상기 제 1 활성화 함수와 상기 제 2 활성화 함수와 연관된 프로그램을 저장하는 메모리를 포함하되,
    상기 제 1 활성화 함수는 ReLU(Rectified Linear Unit) 함수이고,
    상기 제 2 활성화 함수는 음수 영역의 제 1 구간에서 제 1 기울기를 갖고, 음수 영역의 제 2 구간에서 제 2 기울기를 갖는 선형 함수(linear function)이며,
    상기 제 1 기울기와 상기 제 2 기울기는 서로 다른 기울기인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.
  14. 제 13 항에 있어서,
    상기 제 2 활성화 함수는 시그모이드 함수(Sigmoid Function)를 기반으로 하는 함수인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.
  15. 제 14 항에 있어서,
    상기 제 2 활성화 함수의 제 1 구간과 제 2 구간은 동일한 길이의 구간 범위를 갖는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.
  16. 제 15 항에 있어서,
    상기 제 1 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 1 기울기 값이 결정되고,
    상기 제 2 구간의 양 종단에 대한 상기 제 2 활성화 함수의 결과값은 시그모이드 함수를 일정 배수로 스케일링한 결과값과 연관된 값을 갖도록 상기 제 2 기울기 값이 결정되는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.
  17. 제 16 항에 있어서,
    상기 시그모이드 함수를 일정 배수 스케일링한 결과값과 연관된 값은, 상기 시그모이드 함수의 일정 배수로 스케일링한 결과값에서 일정 값을 뺀 값인, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.
  18. 제 17 항에 있어서,
    상기 시그모이드 함수의 스케일링을 위한 상기 일정 배수는 2의 값을 가지며,
    상기 스케일링한 결과값에서의 뺄셈 연산을 위한 일정 값은 1의 값을 갖는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.
  19. 제 18 항에 있어서,
    상기 제 2 활성화 함수는 다음의 수학식으로 표현되되,
    Figure pat00008

    여기서, M(x)는 제 2 활성화 함수를 나타내고, An은 특정 구간의 종단점의 x 값을, n 및 i는 구간 인덱스를, m은 구간의 길이를, K는 일정 길이를 갖는 구간의 갯수를 나타내는, 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 장치.


KR1020190014432A 2019-02-07 2019-02-07 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치 KR20200097103A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190014432A KR20200097103A (ko) 2019-02-07 2019-02-07 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치
US16/358,701 US20200257981A1 (en) 2019-02-07 2019-03-20 Method for executing activation function for deep learning algorithm, and apparatus for executing said method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190014432A KR20200097103A (ko) 2019-02-07 2019-02-07 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200100972A Division KR20200101880A (ko) 2020-08-12 2020-08-12 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치

Publications (1)

Publication Number Publication Date
KR20200097103A true KR20200097103A (ko) 2020-08-18

Family

ID=71945286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190014432A KR20200097103A (ko) 2019-02-07 2019-02-07 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치

Country Status (2)

Country Link
US (1) US20200257981A1 (ko)
KR (1) KR20200097103A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836604B2 (en) 2021-12-01 2023-12-05 Deepx Co., Ltd. Method for generating programmable activation function and apparatus using the same

Also Published As

Publication number Publication date
US20200257981A1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
KR102152615B1 (ko) 활성화 함수를 사용하는 딥러닝 모델의 안정적인 학습을 위한 가중치 초기화 방법 및 장치
Szandała Review and comparison of commonly used activation functions for deep neural networks
KR102483639B1 (ko) 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치
Castillo et al. Functional networks with applications: a neural-based paradigm
US11551280B2 (en) Method, manufacture, and system for recommending items to users
Goodfellow et al. Deep feedforward networks
Schmidhuber On learning to think: Algorithmic information theory for novel combinations of reinforcement learning controllers and recurrent neural world models
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
Huang et al. An efficient sequential learning algorithm for growing and pruning RBF (GAP-RBF) networks
KR20210029785A (ko) 활성화 희소화를 포함하는 신경 네트워크 가속 및 임베딩 압축 시스템 및 방법
Chow et al. Neural networks and computing: learning algorithms and applications
CN110622178A (zh) 学习神经网络结构
KR20200101880A (ko) 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치
Du et al. Multilayer perceptrons: Architecture and error backpropagation
Wang et al. A boosting-based deep neural networks algorithm for reinforcement learning
Chien et al. Hierarchical and self-attended sequence autoencoder
Yan et al. Novel methods to global Mittag-Leffler stability of delayed fractional-order quaternion-valued neural networks
Walker et al. Recommendation via collaborative diffusion generative model
Hu et al. A dynamic rectified linear activation units
Scardapane et al. Kafnets: kernel-based non-parametric activation functions for neural networks
Deng et al. Convergence of two-layer regression with nonlinear units
KR20200097103A (ko) 딥러닝 알고리즘을 위한 활성화 함수를 실행하는 방법, 및 상기 방법을 실행하는 장치
US20210232930A1 (en) Temporal Coding in Leaky Spiking Neural Networks
CN113454648A (zh) 循环神经网络中的勒让德存储器单元
Galatolo et al. Using stigmergy to incorporate the time into artificial neural networks

Legal Events

Date Code Title Description
E601 Decision to refuse application
E801 Decision on dismissal of amendment