KR102061615B1 - 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법 - Google Patents

인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법 Download PDF

Info

Publication number
KR102061615B1
KR102061615B1 KR1020170125452A KR20170125452A KR102061615B1 KR 102061615 B1 KR102061615 B1 KR 102061615B1 KR 1020170125452 A KR1020170125452 A KR 1020170125452A KR 20170125452 A KR20170125452 A KR 20170125452A KR 102061615 B1 KR102061615 B1 KR 102061615B1
Authority
KR
South Korea
Prior art keywords
matrix
neural network
network model
artificial neural
dropout
Prior art date
Application number
KR1020170125452A
Other languages
English (en)
Other versions
KR20180075368A (ko
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 한국과학기술원
Publication of KR20180075368A publication Critical patent/KR20180075368A/ko
Application granted granted Critical
Publication of KR102061615B1 publication Critical patent/KR102061615B1/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
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Error Detection And Correction (AREA)

Abstract

인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 제어된 드롭아웃(controlled dropout) 방법은 레이어를 포함하는 인공 신경망 모델에서 수행될 수 있다. 제어된 드롭아웃 방법은 드롭아웃 비율(dropout rate)에 따라 열 단위 또는 행 단위로 레이어의 행렬에서 활성화될 행렬 요소들을 선택할 수 있다. 제어된 드롭아웃 방법은 행렬에서 비활성화된 행렬 요소들을 열 단위 또는 행 단위로 탈락시켜, 행렬을 선택된 열 또는 행의 활성화될 행렬 요소들로만 구성되는 축소된 크기의 행렬로 변환하여 축소된 인공 신경망 모델을 구성할 수 있다. 제어된 드롭아웃 방법은 이전 단계에서 형성한 축소된 신경망 모델을 이용하여 전방 전파(forward propagation)를 진행하여 신경망 모델 학습을 수행할 수 있다. 또한, 이전 단계에서 형성한 축소된 신경망 모델을 이용하여 역 전파(back propagation)를 통해 신경망 모델 학습을 수행할 수 있다. 축소된 인공 신경망 모델의 역전파 진행 과정에서 산출된 가중치 행렬과 바이어스 벡터 값을 원래의 인공 신경망 모델의 가중치 행렬과 바이어스 벡터에서의 원래의 자리에 갱신할 수 있다.

Description

인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법{DROPOUT METHOD FOR IMPROVING TRAINING SPEED AND MEMORY EFFICIENCY ON ARTIFICIAL NEURAL NETWORK AND LEARNING METHOD BASED ON THE SAME}
본 발명은 인공 신경망 기술 분야에 관한 것으로, 보다 상세하게는 인공 신경망 모델에서 과적합 문제(overfitting problem)를 해결하기 위한 개선된 드롭아웃 방법과 이를 이용한 인공신경망 모델 학습방법에 관한 것이다.
인공 신경망(artificial neural network) 모델은 생물학의 신경망에서 영감을 받아 개발된 통계학적 학습 모델로서, 여러 개의 레이어(layer)들과 각 레이어를 구성하는 뉴런(neuron)들이 형성하는 네트워크가 학습을 통하여 문제 해결 능력을 가지는 모델을 말한다. 인공신경망의 간단한 모델은 잘 알려진 것처럼 모든 레이어가 다중 뉴런을 가질 때, 입력 레이어, 출력 레이어, 그리고 하나 또는 여러 개의 히든 레이어를 포함한다. 도 1의 (a)는 히든 레이어가 2 레이어로 이루어진 경우를 예시한다. 뉴런(즉, 노드)간의 각 연결 즉, 신경망에서 정보는 가중치와 바이어스의 형태로 바뀌어 저장된다.
순방향 전파(forward propagation)단계에서, 주어진 레이어의 활성화들(activations)을 가지고 다음 레이어의 활성화들을 계산할 수 있다. 즉, 외부에서 노드로 인가되는 신호는 해당 가중치가 곱해져 노드에 전달되고, 노드에서는 이 값들을 모두 합한다. 이 합계를 가중합(weighted sum)이라 한다. 이런 계산을 통해 얻은 가중합을 활성함수에 입력하여 얻은 값이 외부로 출력되는 출력값이다. 활성함수에 의해 노드의 동작 특성이 결정된다. 또한, 이 결과를 이용하여 역전파(backpropagation) 과정을 통해 레이어들 사이의 가중치(weight)와 바이어스(bias)를 갱신할 수 있다.
최근, 인공 신경망을 기반으로 하는 딥 러닝(deep learning) 기술은 복수의 히든 레이어(hidden layer)들과 비선형 변환(non-linear activation)을 이용한 높은 수준의 추상화를 통해 복잡한 구조의 문제나 데이터에 대해서 학습을 시도하고 있다. 이런 심층 신경망(deep neural network)을 기반으로 하는 딥 러닝 기술은 매우 강력한 기계 학습 기법이다. 하지만 여러 개의 히든 레이어들을 사용함에 따라, 학습해야 하는 파라미터(parameter)의 수가 많아져서 그만큼 학습시간을 많이 필요로 한다. 또한, 인공 신경망이 입력된 훈련 데이터에 과도하게 편중되어 학습 결과가 일반성을 잃는 과적합 문제가 발생하기도 한다.
과적합 문제는 구문 분석을 위반하는 모델이나 절차를 사용하는 것과 관련이 있다. 이것은 모델이 필요 이상으로 더 많은 용어를 포함하거나 필요 이상으로 더 복잡한 접근법을 사용할 때 발생한다. 특히 제한된 데이터의 경우, 훈련 데이터 간의 이러한 복잡한 관계의 대부분은 샘플링 노이즈의 결과일 가능성이 높으며 실제 테스트 데이터보다는 학습 세트에 존재할 수 있다. 이것은 신경망 모델에서 심각한 문제이며 매우 정확한 학습 세트이지만 정확도가 낮은 테스트 세트로 이어진다.
이러한 과적합 문제를 해결하기 위해 학습과정 동안 노드(뉴런)들을 임의로 비활성화 시키는 드롭아웃(dropout. 탈락) 기술이 개발되어 사용되고 있다. 노드들을 비활성화 시키는 드롭아웃은 훈련(training)(또는, 학습)에 사용되는 행렬(matrix)의 일부 값들을 0으로 변경시키는 것이다. 이러한 드롭아웃 기술이 적용된 행렬에서 다수의 행렬 요소(matrix element)들이 0으로 변환된다. 도 1의 (b)는 도 1의 (a)에 도시된 신경망에 드롭아웃을 적용하여 신경망이 엷어진 상태를 예시한다. 종래의 드롭아웃 기법은 노드(유닛)를 무작위로 선택하여 해당 레이어에서 일시적으로 제거한다.
드롭아웃을 적용하면 각 히든 레이어에 제로(0) 요소가 많이 생성된다. n개의 히든 레이어가 있고 각 레이어는 m 개의 노드를 가지며 드롭아웃 비율이 0.5인 경우(거의 절반의 요소들이 존재함을 의미함), 드롭아웃 후 제로(0) 요소의 수의 기대값은 (1/2)mn개 이다. 예를 들어, 10개의 히든 레이어와 각 레이어에 대해 500 개의 노드가 있는 경우, 2,500 개의 제로 요소가 생성된다. 그런데 이러한 제로(0) 요소들은 행렬 곱셈에 대한 불필요한 계산을 초래한다. 즉, 이와 같이 드롭아웃을 적용하여 행렬 요소를 변환하면 제로(0) 요소들이 많이 발생하고, 신경망을 훈련시키기 위한 행렬 사이의 내적 연산 과정에서 제로(0) 요소들은 행렬의 다른 어떤 실수와 곱셈을 하게 되는데, 이러한 계산은 0이라는 성질 상 불필요한 계산이고, 결과적으로 자원의 낭비를 초래한다.
비특허문헌 1: "Dropout: a simple way to prevent neural networks from overfitting.", Journal of Machine Learning Research, vol. 15, no. 1, pp. 1929-1958, 2014
신경망을 훈련시키는 것은 큰 크기의 행렬을 저장하고 그들 간에 계산을 수행하는 작업을 포함한다. 이런 작업은 상당한 양의 메모리 공간과 계산 능력을 필요로 한다. 드롭아웃을 적용한 후에는 행렬에 많은 제로 요소가 발생하고 0과의 곱셈은 0이 되므로 불필요한 계산이 발생할 수 있다. 이런 점을 감안하여, 본 발명의 일 목적은 인공 신경망 모델에서 학습에 필요한 행렬 계산 시 탈락시킬 0의 행렬 요소를 조직화된 형식으로 배열하여 제거함으로써 중복 행렬 계산을 줄일 수 있는 제어된 드롭아웃(controlled dropout) 방법을 제공하기 위한 것이다.
본 발명의 다른 목적은 과적합 문제를 위한 드롭아웃 방법을 사용하면서 동시에 인공 신경망 모델의 메모리 사용률을 줄여 메모리 효율성을 높이고, 인공 신경망 모델의 학습 속도를 향상시킬 수 있는 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법을 제공하기 위한 것이다.
본 발명의 일 목적을 달성하기 위한 본 발명의 실시예들에 따른 제어된 드롭아웃 방법은 레이어(layer)를 포함하는 인공 신경망 모델에서 수행될 수 있다. 상기 제어된 드롭아웃 방법은, 드롭아웃 비율(dropout rate)에 따라 열 단위 또는 행 단위로 상기 레이어의 행렬에서 활성화될 행렬 요소들을 선택하는 단계; 및 상기 행렬에서 비활성화된 행렬 요소들을 열 단위 또는 행 단위로 탈락시켜, 상기 행렬을 선택된 열 또는 행의 활성화될 행렬 요소들로만 구성되는 축소된 크기의 행렬로 변환하여 축소된 인공 신경망 모델을 구성하는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 선택하는 단계는, 상기 인공 신경망 모델이 복수의 레이어들을 포함하는 경우, 상기 복수의 레이어들 각각의 행렬에서 상기 활성화될 행렬 요소들을 상기 드롭아웃 비율(dropout rate)에 따라 열 단위 또는 행 단위로 선택하는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 복수의 레이어들은 상기 인공 신경망 모델의 입력 레이어와 출력 레이어 사이의 복수의 히든 레이어를 포함할 수 있다.
일 실시예에 의하면, 상기 제어된 드롭아웃 방법은 상기 복수의 레이어들과 연관된 매개변수들을 상기 축소된 크기의 행렬에 기초하여 축소시키는 매개변수 축소 단계를 더 포함할 수 있다.
일 실시예에 의하면, 상기 매개변수 축소 단계는, 인접하는 제1 및 제2 레이어 사이의 가중치 행렬에서, 상기 제1 레이어의 행렬의 활성화될 열 또는 행과 곱해지는 상기 가중치 행렬의 행 또는 열만 남기고 나머지 행 또는 열은 제거하여 상기 가중치 행렬의 크기를 축소하는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 매개변수 축소 단계는, 인접하는 제1 및 제2 레이어 사이의 바이어스 벡터에서, 상기 제2 레이어의 행렬의 활성화될 열 또는 행에 대응하는 상기 바이어스 벡터의 열 또는 행만 남기고 나머지 행 또는 열은 제거하여 상기 바이어스 벡터의 크기를 축소하는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 선택하는 단계에서, 상기 활성화될 행렬 요소들의 열 또는 행은 상기 드롭아웃 비율에 기초하여 확률적으로 결정될 수 있다.
일 실시예에 의하면, 상기 인공 신경망 모델에 제공되는 각 데이터의 구성단위가 행렬의 열인 경우에는 상기 활성화될 행렬 요소들의 단위는 행이며, 상기 각 데이터의 구성단위가 행렬의 행인 경우에는 상기 활성화될 행렬 요소들의 단위는 열일 수 있다.
본 발명의 다른 목적을 달성하기 위한 본 발명의 실시예들에 따른 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법은 레이어를 포함하는 인공 신경망 모델에서 수행될 수 있다. 상기 인공 신경망 모델 학습 방법은 드롭아웃 비율(dropout rate)에 따라 열 단위 또는 행 단위로 상기 레이어의 행렬에서 활성화될 행렬 요소들을 선택하는 단계; 상기 행렬에서 비활성화된 행렬 요소들을 열 단위 또는 행 단위로 탈락시켜, 상기 행렬을 선택된 열 또는 행의 활성화될 행렬 요소들로만 구성되는 축소된 크기의 행렬로 변환하여 축소된 인공 신경망 모델을 구성하는 단계; 그리고 상기 축소된 인공 신경망 모델로 상기 인공 신경망 모델을 학습하는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 학습하는 단계는, 이전 단계에서 형성한 축소된 신경망 모델을 이용하여 전방 전파(forward propagation)를 진행하여 신경망 모델 학습을 수행하는 전방 전파 수행 단계; 그리고 이전 단계에서 형성한 축소된 신경망 모델을 이용하여 역 전파(back propagation)를 통해 신경망 모델 학습을 수행하는 역 전파 수행 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 선택하는 단계는, 상기 인공 신경망 모델이 복수의 레이어들을 포함하는 경우, 상기 복수의 레이어들 각각의 행렬에서 상기 활성화될 행렬 요소들을 상기 드롭아웃 비율(dropout rate)에 따라 열 단위 또는 행 단위로 선택하는 단계를 포함하며, 상기 복수의 레이어들은 상기 인공 신경망 모델의 입력 레이어와 복수의 히든 레이어 중 적어도 어느 한 가지를 포함할 수 있다.
일 실시예에 의하면, 상기 인공신경망 모델 학습 방법은, 상기 학습하는 단계 이전에, 상기 복수의 레이어들과 연관된 매개변수들을 상기 축소된 크기의 행렬에 대응하도록 축소시키는 매개변수 축소 단계를 더 포함할 수 있고, 상기 매개변수들은 가중치 행렬과 바이어스 행렬을 포함할 수 있다.
일 실시예에 의하면, 상기 인공신경망 모델 학습 방법은, 상기 역 전파 수행 단계에서 산출된 값을 이용하여 상기 복수의 레이어들과 연관된 상기 매개변수들을 상기 축소된 인공 신경망 모델의 원래의 자리에 갱신하는 단계를 더 포함할 수 있다.
일 실시예에 의하면, 상기 매개 변수를 갱신하는 단계는, 상기 축소된 인공 신경망 모델을 이용하여 역전파를 진행하여 계산된 가중치 행렬과 바이어스 벡터값을 원래의 상기 인공 신경망 모델의 가중치 행렬과 바이어스 벡터에서의 원래의 자리에 갱신하는 단계를 포함할 수 있다.
본 발명은 복수의 레이어들을 포함하는 인공 신경망 모델에서 제어된 드롭아웃 기술을 적용하여 행렬의 불필요한 계산을 수행하지 않게 하여 과적합 문제를 해결할 수 있다. 종래의 드롭아웃 방법은 인공 신경망 모델의 레이어의 행렬의 각 행렬요소 단위로 활성화 여부를 결정하여 드롭아웃하였다. 드롭아웃 되는 행렬 요소들이 행렬 연산에 참여하게 되어 비효율이 컸었다. 이에 비해, 상기 목적을 달성하기 위한 본 발명의 실시예들에 따른 드롭아웃 방법은 드롭아웃을 적용함에 있어서 행렬의 요소들에 대하여 활성화시킬 행렬요소를 드롭아웃 비율(dropout rate)에 따라 열 또는 행 단위로 결정하여 드롭아웃한다. 이에 의해, 상기 행렬의 비활성화 될 요소들을 제거함으로써 행렬의 차원을 줄일 수 있다. 그 행렬 요소들과 계산될 가중치(weight) 행렬 요소와 바이어스(bias) 벡터 요소들 또한 제거함으로써 행렬의 크기를 줄인다. 이처럼 과적합 문제 해결을 위한 드롭아웃을 수행하면서, 계산 대상인 행렬의 크기를 줄일 수 있고, 그러한 행렬 축소를 통해 메모리 사용률을 줄일 수 있고, 인공 신경망 모델의 학습 속도를 개선시킬 수 있다.
또한, 본 발명의 실시예들에 따른 제어된 드롭아웃 방법은, 드롭아웃 기술이 적용된 레이어의 개수가 많을수록, 그 레이어를 구성하는 뉴런의 수가 많을수록, 메모리 효율성 및 학습 속도를 향상시킬 수 있다.
이러한 새로운 드롭아웃 방법을 전체 인공 신경망 모델에서 효과적으로 적용할 수 있다.
본 발명의 실시예들에 따른 제어된 드롭아웃 방법을 적용하여 얻어지는 축소된 인공 신경망 모델을 이용하여 학습을 수행하면 학습의 효율성도 높일 수 있다.
다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1의 (a)와 (b)는 2개의 히든 레이어를 갖는 일반적인 인공 신경망과 이것에 대하여 드롭아웃이 적용된 후 엷어진 인공 신경망을 각각 예시한다.
도 2는 본 발명의 실시예들에 따른 드롭아웃 방법을 적용한 행렬 형태의 비교예를 나타내는 도면이다.
도 3은 본 발명의 실시예들에 따른 드롭아웃 방법에 의해 감소된 행렬의 일 예를 나타내는 도면이다.
도 4는 드롭아웃 적용 전의 모델(a), 기존의 일반적인 드롭아웃 방법을 적용한 모델(b)과 본 발명의 실시예들에 따른 제어된 드롭아웃 방법적용 모델(c)을 피드-포워드(feed-forward) 인공 신경망을 사용하여 예시한다.
도 5는 본 발명의 예시적인 실시예들에 따른 드롭아웃 방법을 적용한 인공 신경망 모델 학습 방법을 나타내는 순서도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성 요소에 대해서는 동일하거나 유사한 참조 부호를 사용한다.
이하에서는 본 발명의 실시예들에 따른 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법을 완전 접속망(fully connected network)에 대해 적용하여 예시적으로 설명하며, 인공 신경망 모델의 종류나 레이어(layer)의 개수, 각 레이어를 구성하는 뉴런의 개수는 달리 적용 될 수 있음이 자명할 것이다. 또한, 본 명세서에서 사용되는 용어인 뉴런, 행렬 요소, 노드는 등가적인 의미를 갖는다.
도 2는 본 발명의 실시예들에 따른 드롭아웃 방법을 적용한 행렬 형태의 비교예를 나타내는 도면이다.
도 2를 참조하면, 제1 비교 행렬(Y1)은 드롭아웃 기술을 이용하지 않는 인공 신경망 모델에서 사용되는 행렬을 나타낸다. 제1 비교 행렬(Y1)은 특정 레이어에 적용되거나, 특정 레이어에서 출력될 수 있는 행렬이다. 도면에는 제1 비교 행렬이 예컨대 6x6 행렬로 도시되어 있는데, 제1 비교 행렬의 크기에는 별다른 제한이 없다. 여기서, 레이어는 히든 레이어(hidden layer) 및/또는 입력 레이어(input layer)일 수 있다. 제2 비교 행렬(Y2)은 제1 비교 행렬(Y1)에 일반적인 드롭아웃 방법을 적용한 행렬을 예시적으로 나타낸다. 제3 행렬(Y3)은 본 발명의 예시적인 실시예들에 따른 제어된 드롭아웃 방법을 적용한 행렬을 나타낸다. 여기서, 각각의 사각형이 행렬 요소를 나타내는데, 전체가 검은색으로 표시된 사각형은 일반적인 행렬 요소(또는, 활성화되는 행렬 요소)를 나타내고, 가운데 부분이 비어 있는(흰색으로 표시된) 사각형은 드롭아웃에 의해 생기는 제로(0)의 값을 갖는 행렬 요소를 나타낸다.
기존의 드롭아웃 기법과 본 발명의 예시적인 실시형태에 따른 제어된 드롭아웃(controlled drop-out) 기법이 비교가능하게 예시되어 있다. 서로 다른 방식으로 행렬 요소들을 떨어뜨린다. 기존의 드롭아웃 방법은 각 행렬 요소를 기준으로 드롭아웃 비율(dropout rate)에 따라 활성화시킬 행렬 요소를 확률적으로 결정한다. 이에 비해, 본 발명의 예시적인 실시예에 따른 제어된 드롭아웃 방법은 행렬의 각 열 및/또는 각 행을 기준으로 드롭아웃 비율(dropout rate)에 따라 활성화시킬 열 및/또는 행을 확률적으로 결정한다.
이를 구체적으로 설명한다. 제2 비교 행렬(Y2)로 예시된 것처럼, 기존의 일반적인 드롭아웃 기법은 유닛을 드롭아웃 비율에 따라 행렬 요소를 무작위로(randomly) 탈락시키기 때문에 어떤 행렬 요소가 탈락될 지 예측할 수 없다. 드롭아웃 후의 행렬이 어떤 모양을 가질 지 예측할 수 없다. 본 발명에 있어서, 드롭아웃 비율은 레이어를 구성하는 각 행 또는 각 열이 활성화될 확률을 나타낸다. 그 드롭아웃 비율은 미리 설정될 수 있다. 예를 들어, 드롭아웃 비율이 0.5인 경우, 36개의 행렬요소들 중에서 임의의 18개의 행렬 요소들이 드롭아웃될 수 있다. 예를 들어, 드롭아웃된 행렬 요소(예를 들어, 흰색으로 채워진 행렬 요소)는 0의 값을 가지고, 드롭아웃된 행렬 요소에 대응하는 뉴런은 비활성화 될 수 있다. 도 2에 도시된 것처럼, 제2 비교 행렬(Y2)에서, 행렬 요소들 각각의 드롭아웃 여부는 드롭아웃 비율(dropout rate)에 기초하여 확률적으로 랜덤하게 결정되므로, 드롭아웃되는 행렬 요소들의 위치는 어떠한 규칙성도 없이 랜덤하게 정해짐을 알 수 있다.
이에 비해, 본 발명의 예시적인 실시예들에 따르면, 행렬 요소들에 대하여 제어된 드롭아웃(controlled drop-out)을 적용할 수 있다. 행렬 요소들의 드롭아웃 여부는 인공 신경망 모델에 제공되는 데이터 각각이 '열(column)' 단위로 구성되는 경우, 행렬 요소들의 '행(row)'을 기준으로 드롭아웃 비율에 기초하여 결정될 수 있다. 어떤 행이 드롭아웃될 것인지는 드롭아웃 비율에 기초하여 확률적으로 선택될 수 있다. 예를 들어 드롭아웃 비율이 0.5인 경우, 6개의 행들 중에서 3개의 행이 드롭아웃될 수 있다. 예를 들어, {2, 4, 6}행이 드롭아웃될 행으로 정해질 수 있고, 이 행들에 포함된 행렬 요소들이 드롭아웃될 수 있다.
행렬 요소들의 드롭아웃 여부가 행 단위로 결정되는 것으로 설명하였으나, 이는 예시적인 것에 불과하고, 본 발명이 이에 한정되는 것은 아니다. 예시적인 다른 실시예에 따르면, 제어된 드롭아웃 방법은 행렬 요소들의 드롭 여부를 행렬 요소들의 '열'을 기준으로 수행할 수도 있다. 예를 들어, 인공 신경망 모델에 제공되는 데이터 각각이 열 단위가 아닌 '행' 단위로 구성되는 경우, 행렬 요소들의 드롭아웃 여부는 '열' 단위로 결정될 수도 있다. 도 2의 제3 행렬(Y3)의 경우, 열 단위로 드롭아웃을 결정한 예로 볼 수 있다. 즉, 드롭아웃 비율이 0.5인 경우로서, {2, 4, 5}열이 드롭아웃될 열로 결정되어, 이들 3열의 행렬 요소 전부가 제3 행렬(Y3)에서 드롭아웃되는 요소로 결정된 경우이다.
예시적인 실시예에 따르면, 인공 신경망 모델에 제공되는 각 데이터의 구성단위가 행렬의 '열'인 경우에는, 활성화될 행렬 요소들의 단위 (즉, 드롭아웃될 행렬 요소의 단위)는 '행'일 수 있다. 마찬가지로, 상기 각 데이터의 구성단위가 행렬의 '행'인 경우에는, 활성화될 행렬 요소들의 단위 (즉, 드롭아웃될 행렬 요소의 단위)는 '열'일 수 있다.
또한, 도 2에서 행렬들(Y1, Y2, Y3)은 2차원 행렬인 것으로 설명하였으나, 이는 예시적인 것으로, 본 발명이 이에 한정되는 것은 아니다. 본 발명의 실시예들에 따른 제어된 드롭아웃 방법은 모든 행렬 차원에 적용될 수 있다.
도 3은 인공 신경망에서 본 발명의 예시적인 실시예에 따른 제어된 드롭아웃 방법을 적용하여 행렬의 크기를 줄이는 방법을 예시한다. 도 3은 인공 신경망 모델의 하나의 레이어를 기준으로 드롭아웃 비율(drop-out rate)이 0.5인 경우의 간단한 예를 보여준다. 제어된 드롭아웃 방법을 적용함에 있어서, 드롭아웃 비율은 0.5가 아닌 다른 값을 가질 수 있다.
도 3에서, 검은색 박스는 일반적인 행렬 요소이고, 흰색 박스는 드롭아웃에 의해 생성되는 0 요소를 나타낸다. 제1 행렬(X1)은 제1 레이어에서 본 발명에 따른 제어된 드롭아웃 적용 이후의 출력 행렬(output matrix)이고, 제2 행렬(X2)은 제2 레이어에서 본 발명에 따른 제어된 드롭아웃 적용 이후의 출력 행렬(output matrix)을 나타낸다. 예를 들어 제1 레이어는 제1 히든 레이어일 수 있고, 제2 레이어는 제2 히든 레이어일 수 있다. 제1 가중치 행렬(W1)은 제1 레이어와 제2 레이어 사이의 가중치 행렬이고, 제1 바이어스 벡터(B1)는 제1 레이어와 제2 레이어 사이의 바이어스 벡터이다. 제1 축소 행렬(X1')은 제1 레이어에서 본 발명에 따른 제어된 드롭아웃 적용 이후의 축소된 출력 행렬이고, 제2 축소 행렬(X2')은 제2 레이어에서 본 발명에 따른 제어된 드롭아웃 적용 이후의 축소된 출력 행렬이다. 제1 축소 가중치 행렬(W1')은 제1 레이어와 제2 레이어 사이의 축소된 가중치 행렬이고, 제1 축소 바이어스 벡터(B1')는 제1 레이어와 제2 레이어 사이의 축소된 바이어스 벡터이다.
예시적인 실시예에 따르면, 인공 신경망 모델의 학습 단계에서는 인공 신경망 모델이 전방향 전파(forward propagation), 역전파(backpropagation, 또는 back propagation) 및 매개변수(parameter) 갱신으로 이루어진 하나의 반복(iteration)을 수행할 수 있다. 본 발명의 예시적인 실시예에 따른 제어된 드롭아웃 방법은 그와 같은 반복 수행을 통한 학습을 수행하기 전에, 레이어에서 드롭아웃 될 열 또는 행을 미리 결정할 수 있다. 예시적인 실시예에 따르면, 도 3에 도시된 바와 같이, 제어된 드롭아웃 방법은 예를 들어 제1 레이어의 제1 행렬(X1)에서는 {2, 3, 6}열이 드롭되는 것으로 결정되고, 제2 레이어의 제2 행렬(X2)에서는 {1, 3, 5}열이 드롭된다는 정보를 미리 결정할 수 있다.
이 경우, 제어된 드롭아웃 방법(또는, 인공 신경망 모델)은 드롭 정보에 기초하여 제1 및 제2 행렬들(X1, X2)에서 드롭될 열들을 제거함으로써, 제1 및 제2 행렬들(X1, X2)의 크기를 줄일 수 있다. 예를 들어, 드롭아웃 비율이 0.5인 경우, 도시된 것과 같이 제1 행렬(X1) 및 제2 행렬(X2) 각각은 6x6 행렬에서 6x3 행렬로 축소될 수 있다.
유사하게, 제어된 드롭아웃 방법은 미리 설정된 드롭아웃될 대상에 관한 정보에 기초하여 가중치(weight)와 바이어스(bias)와 같은 매개변수(parameter)에 대한 행렬도 축소시킬 수 있다.
제1 가중치 행렬(W1)과 제1 행렬(X1)을 내적(dot product) 연산을 할 수 있다. 그 경우, 제1 행렬(X1)의 드롭되는 대상은 제1 가중치 행렬(W1)의 대응되는 행렬 요소와 곱해진다. 도 3을 참조하면, 예컨대 제1 행렬(X1)의 드롭되는 대상인 {2, 3, 6}열은 제1 가중치 행렬(W1)의 {2, 3, 6}행들과 각각 곱해질 것이다. 따라서 제1 행렬(X1)의 드롭되는 {2, 3, 6}열들에 대응되는 제1 가중치 행렬(W1)의 {2, 3, 6}행들은 의미가 없으므로 제거할 수 있다. 유사하게, 제2 행렬(X2)에서는 예컨대 {1, 3, 5}열들이 드롭되는 대상이므로, 제1 가중치 행렬(W1)의 {1, 3, 5}열들 또한 무의미하며, 따라서 이들 세 개의 열도 제거될 수 있다.
또한, 제1 바이어스 벡터(bias vector)(B1)의 {1, 3, 5} 행렬 요소(일반적으로는, 제1 바이어스 행렬의 {1, 3, 5}열들)는 제2 행렬(X2)의 드롭대상인 {1, 3, 5}열에 대응하므로, 제1 바이어스 벡터(B1)의 {1, 3, 5} 요소들도 제거될 수 있다.
결국, 제1 가중치 벡터(W1)는 6x6 행렬에서 3x3 행렬로 축소되고, 제1 바이어스 벡터(B1)는 1x6의 크기에서 1x3의 크기로 축소될 수 있다.
이처럼, 본 발명에의 예시적인 실시예에 따른 제어된 드롭아웃 방법은, 반복 학습의 수행 전에, 인공 신경망의 각 레이어의 행렬에 대하여 드롭아웃 비율에 따라 행 및/또는 열을 기준으로 드롭아웃 대상을 미리 결정함으로써, 각 레이어의 행렬을 크기가 감소된 잘 조직화된 행렬로 축소시켜주고, 그와 연관된 가중치 행렬과 바이어스 행렬의 크기까지 축소시켜줄 수 있다. 그와 같은 잘 조직화된 행렬 크기의 축소를 통해, 불필요한 행렬 계산을 수행하지 않아도 되고 축소된 크기의 행렬 간의 계산만 수행하면 된다. 도 3은 이해를 돕기 위한 간단한 예를 설명하였으나, 본 발명의 제어된 드롭아웃 방법은 이에 한정되지 않고 모든 레이어들에 적용될 수 있다.
다음으로, 도 4는 본 발명의 실시예들에 따른 드롭아웃 방법을 이용하는 인공 신경망 모델의 일예를 나타내는 도면이다.
도 4는 드롭아웃 적용 전의 모델(a), 기존의 일반적인 드롭아웃 방법을 적용한 모델(b)과 본 발명의 실시예들에 따른 제어된 드롭아웃 방법적용 모델(c)을 피드-포워드(feed-forward) 인공 신경망을 사용하여 예시한다.
도 4를 참조하면, 제1 모델(310)은 드롭아웃 적용 전의 인공 신경망 모델을 나타내고, 예를 들어, 도 2를 참조하여 설명한 제1 비교 행렬(Y1)이 그 예가 될 수 있다. 제2 모델(320)은 제1 모델(310)에 기존의 일반적인 드롭아웃 방법을 적용한 인공 신경망 모델을 나타내고, 예를 들어, 도 2를 참조하여 설명한 제2 비교 행렬(Y2)이 그 예가 될 수 있다. 제3 모델(330)은 제1 모델(310)에 본 발명의 실시예들에 따른 제어된 드롭아웃 방법을 적용한 인공 신경망 모델을 나타내고, 도 2를 참조하여 설명한 제3 행렬(Y3)을 이용할 수 있다.
드롭아웃을 적용하기 전의 모델이 제1 모델(310)과 같다면, 기존의 일반적인 드롭아웃 방법을 적용하면 제2 모델(320)처럼 각 레이어마다 비활성화되는 뉴런들이 그대로 남아있을 수 있다. 예를 들어, 드롭아웃을 히든 레이어인 제1 내지 제3 레이어들(L1, L2, L3)에 대해서 적용하는 경우, 그 제1 내지 제3 레이어들(L1, L2, L3)에서 4개의 뉴런들 중 2개의 뉴런들이 비활성화된 상태로 유지될 수 있다.
이와 달리, 본 발명에 따른 제어된 드롭아웃 방법을 히든 레이어들(L1', L2', L3')에 적용하여 각 히든 레이어마다 행렬을 축소시키면, 제3 모델(330)에서와 같이 각 히든 레이어(L1', L2', L3')마다 비활성화되는 뉴런들은 탈락시켜 축소된 모델을 얻을 수 있다. 도 4를 참조하여 설명한 바와 같이, 제어된 드롭아웃 방법은 열 단위로 비활성화시킬 행렬 요소들(또는, 활성화시킬 행렬 요소들)을 결정함으로써 행렬들을 축소시킬 수 있기 때문이다.
도 3 및 도 4에 도시된 바와 같이, 각 레이어를 구성하는 행렬들, 가중치 행렬, 바이어스 벡터의 크기는 드롭아웃 비율에 따라 축소될 수 있다. 예를 들어, 행렬들의 크기는 "1 ­ 드롭아웃비율" 수준으로 축소될 수 있다. 제어된 드롭아웃 방법이 모든 레이어들에 적용되는 경우, 그 제어된 드롭아웃 방법을 적용한 인공 신경망 모델은 일반적인 인공 신경망 모델에 비해 그 크기가 현저하게 축소될 수 있다. 그에 따라, 축소된 인공 신경망 모델이 사용하는 메모리 사용률이 현저히 낮아질 수 있고, 행렬 크기의 축소에 따라 행렬 계산에 소요되는 시간 또한 크게 감소될 수 있다.
도 4에서 인공 신경망 모델은 피드-포워드(feed-forward) 인공 신경망인 것으로 도시되어 있으나, 이는 예시적인 것으로, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 본 발명의 실시예들에 따른 드롭아웃 방법은 피드-포워드 인공 신경망 이외의 다른 신경망 모델들에 적용될 수 있다.
도 5는 위에서 설명한 본 발명의 예시적인 실시예들에 따른 드롭아웃 방법을 적용한 인공 신경망 모델 학습 방법을 나타내는 순서도이다.
도 5의 인공 신경망 모델 학습 방법은 인공 신경망 모델에서 수행될 수 있다. 인공 신경망 모델은 도 5의 방법을 이용하여 학습을 수행할 수 있다. 여기서, 인공 신경망 모델은 복수의 레이어들(또는, 히든 레이어들)을 포함할 수 있다.
도 4 및 5를 참조하면, 도 5의 학습 방법은 인공 신경망 모델(예를 들어, 일반적인 인공 신경망 모델)의 각 레이어의 행렬에서 활성화될 열을 드롭아웃 비율에 기초하여 확률적으로 선택할 수 있다(S410). 예를 들어, 인공 신경망 모델이 2개의 히든 레이어를 포함하는 경우, 도 5의 방법은 제1 히든 레이어의 행렬에서 활성화될 열을 선택하고, 제2 히든 레이어의 행렬에서 활성화될 열을 선택할 수 있다. 이처럼, 도 5의 방법은 인공 신경망 모델의 레이어들 각각의 행렬에서 활성화되는 열을 선택할 수 있다.
S410 단계에서, 활성화 된 대상을 열 단위가 아니라 행 단위로 선택할 수 있음은 물론이다. 또한, 도 5의 학습방법에 있어서, 인공 신경망 모델의 레이어의 행렬에서 비활성화될 열을 드롭아웃 비율에 기초하여 확률적으로 선택할 수도 있다.
도 5의 학습 방법은 S410 단계에서 선택된 활성화될 열만을 이용하여 축소된 인공 신경망 모델을 구성할 수 있다(S420).
도 3을 참조하여 설명한 바와 같이, 도 5의 방법은 각 레이어의 행렬에서 드롭아웃될 대상으로 결정된 열(즉, 비활성화되는 열)을 제외한 나머지 열(즉, 활성화되는 열)로써 축소된 행렬을 구성할 수 있다. 이 축소된 행렬에 대응하는 신경망 모델의 예로는 예컨대 도 4의 제3 신경망 모델(330)을 들 수 있다.
유사하게, 도 5의 학습 방법은 도 3을 참조하여 설명한 매개변수(예를 들어, 해당 레이어에 대응하는 가중치 행렬과 바이어스 벡터)를 축소된 행렬에 기초하여 축소시킬 수 있다.
결과적으로, 도 4를 참조하여 설명한 제3 모델(330)과 같은 축소된 인공 신경망 모델을 구성할 수 있다.
이후, 도 5의 방법은 축소된 인공 신경망 모델에서 전방 전파(forward propagation) 및 역전파(back propagation)를 진행할 수 있다(S430, S440). 예를 들어, 도 5의 방법은 축소된 인공 신경망 모델에서 전방 전파(forward propagation)를 진행하고, 역전파(back propagation)를 진행할 수 있다. 여기서, 역전파는 역방향으로 에러를 전파하는 것일 수 있다. 이를 통해, 축소된 인공 신경망 모델(또는, 인공 신경망 모델)은 최적의 학습 결과를 도출할 수 있다.
도 5의 방법은 역전파 진행 과정에서 산출된 값(예를 들어, 에러)을 이용하여 레이어들에 대한 매개 변수를 갱신할 수 있다(S450). 예를 들어, 도 5의 방법은 인공 신경망 모델의 레이어들과 연관된 매개변수들인 가중치와 바이어스를 축소된 인공 신경망 모델의 원래의 자리에 갱신할 수 있다. 즉, 축소된 인공 신경망 모델을 이용하여 역전파를 진행하여 계산된 가중치 행렬과 바이어스 벡터값을 원래의 인공 신경망 모델의 가중치 행렬과 바이어스 벡터에서의 원래의 자리에 갱신할 수 있다. 예를 들어, 도 5의 방법은 일반적인 인공 신경망 모델(즉, 축소되지 않는 인공 신경망 모델)의 가중치와 바이어스를 갱신할 수 있다.
도 5의 방법은 인공 신경망 모델의 학습이 더 필요한지 여부를 판단하고(S460), 학습이 종료될 때까지 S410 내지 S450의 단계들을 반복적으로 수행할 수 있다.
상술한 바와 같이, 도 5의 방법은 축소된 인공 신경망 모델을 구성하므로, 메모리 사용률을 감소시키고, 학습 속도를 향상시킬 수 있다. 예를 들어, 도 5의 방법은 축소된 인공 신경망 모델을 이용함에 따라, 역전파 진행시 각 레이어에서 여러 값들(예를 들어, 편미분 값들)을 비교적 적은 메모리를 이용하여 빠른 속도로 계산할 수 있다. 즉, 인공 신경망 모델의 메모리 사용률이 감소되고, 학습 속도가 향상될 수 있다.
위에서 설명한 제어된 드롭아웃 방법과 그 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법은, 위의 설명에서 충분히 예견될 수 있듯이, 컴퓨터 장치에서 수행될 수 있다. 즉, 상기 방법들은 컴퓨터 프로그램으로 구현될 수 있다. 그 컴퓨터 프로그램은 실행파일로 만들어져서 컴퓨터 장치의 프로세서에 의해 실행될 수 있다. 즉, 프로세서가 그 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 상기 방법들의 각 단계가 수행될 수 있다.
이상, 본 발명의 실시예들에 따른 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다.
본 발명의 실시예들에 따른 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 인공 신경망 학습 방법은 다양한 신경망 모델에 적용될 수 있다. 최근 주목받고 있는 딥 러닝 등에도 다양하게 이용될 수 있다.
310: 제1 모델 320: 제2 모델
330: 제3 모델

Claims (14)

  1. 컴퓨터 장치에서, 상기 컴퓨터 장치의 프로세서가 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 복수의 단계가 수행되도록 하는 방법으로서,
    상기 복수의 단계는,
    복수의 레이어를 포함하는 인공 신경망 모델에서, 상기 복수의 레이어의 행렬들 각각의 전체 행렬요소들 중에서 활성화될 행렬 요소들을 선택하되, 드롭아웃 비율(dropout rate)에 따라 열 단위 및/또는 행 단위로 선택하는 단계; 및
    상기 복수의 레이어의 행렬들 각각의 전체 행렬요소들 중에서 선택된 비활성화 열 및/또는 비활성화 행의 전체 행렬 요소들을 탈락시키는 단계;
    상기 복수의 레이어의 행렬들 각각을 탈락되지 않고 남은 열 및/또는 행의 활성화될 행렬 요소들로만 구성되어 축소된 크기를 갖는 축소 행렬로 변환하여 축소된 인공 신경망 모델을 구성하는 단계; 및
    상기 복수의 레이어들과 연관된 매개변수들을 상기 축소 행렬에 기초하여 축소시키는 매개변수 축소 단계를 포함하고,
    상기 선택하는 단계에서, 상기 활성화될 행렬 요소들의 열 및/또는 행은 상기 드롭아웃 비율에 기초하여 확률적으로 결정되고,
    상기 복수의 레이어들은 상기 인공 신경망 모델의 입력 레이어와 출력 레이어 사이의 히든 레이어이거나 또는 상기 히든 레이어와 상기 입력 레이어이고,
    상기 매개변수들은 가중치 행렬과 바이어스 행렬을 포함하는 것을 특징으로 하는 제어된 드롭아웃 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 매개변수 축소 단계는, 인접하는 제1 및 제2 레이어 사이의 가중치 행렬에서, 상기 제1 레이어의 행렬의 활성화될 열 또는 행과 곱해지는 상기 가중치 행렬의 행 또는 열만 남기고 나머지 행 또는 열은 제거하여 상기 가중치 행렬의 크기를 축소하는 단계를 포함하고, 상기 가중치 행렬의 크기를 축소하는 단계는 상기 컴퓨터 장치의 프로세서가 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 수행되는 것을 특징으로 하는 제어된 드롭아웃 방법.
  6. 제1항에 있어서, 상기 매개변수 축소 단계는, 인접하는 제1 및 제2 레이어 사이의 바이어스 벡터에서, 상기 제2 레이어의 행렬의 활성화될 열 또는 행에 대응하는 상기 바이어스 벡터의 열 또는 행만 남기고 나머지 행 또는 열은 제거하여 상기 바이어스 벡터의 크기를 축소하는 단계를 포함하고, 상기 바이어스 벡터의 크기를 축소하는 단계는 상기 컴퓨터 장치의 프로세서가 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 수행되는 것을 특징으로 하는 제어된 드롭아웃 방법.
  7. 삭제
  8. 제1항에 있어서, 상기 인공 신경망 모델에 제공되는 각 데이터의 구성단위가 행렬의 열인 경우에는 상기 활성화될 행렬 요소들의 단위는 행이며, 상기 각 데이터의 구성단위가 행렬의 행인 경우에는 상기 활성화될 행렬 요소들의 단위는 열인 것을 특징으로 하는 제어된 드롭아웃 방법.
  9. 컴퓨터 장치에서, 상기 컴퓨터 장치의 프로세서가 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 복수의 단계가 수행되도록 하는 방법으로서,
    상기 복수의 단계는,
    복수의 레이어를 포함하는 인공 신경망 모델에서, 상기 복수의 레이어의 행렬들 각각의 전체 행렬요소들 중에서 활성화될 행렬 요소들을 선택하되, 드롭아웃 비율(dropout rate)에 따라 열 단위 및/또는 행 단위로 선택하는 단계;
    상기 복수의 레이어의 행렬들 각각의 전체 행렬요소들 중에서 선택된 비활성화 열 및/또는 비활성화 행의 전체 행렬 요소들을 탈락시키는 단계;
    상기 복수의 레이어의 행렬들 각각을 탈락되지 않고 남은 열 및/또는 행의 활성화될 행렬 요소들로만 구성되어 축소된 크기를 갖는 축소 행렬로 변환하는 단계;
    상기 복수의 레이어들과 연관된 매개변수들을 상기 축소된 크기의 행렬에 대응하도록 축소시키는 매개변수 축소 단계;
    상기 축소 행렬과 축소된 매개변수들을 이용하여 축소된 인공 신경망 모델을 구성하는 단계; 그리고
    상기 축소된 인공 신경망 모델에 대하여 학습을 수행하는 단계를 포함하고,
    상기 선택하는 단계에서, 상기 활성화될 행렬 요소들의 열 및/또는 행은 상기 드롭아웃 비율에 기초하여 확률적으로 결정되고,
    상기 복수의 레이어들은 상기 인공 신경망 모델의 입력 레이어와 출력 레이어 사이의 히든 레이어이거나 또는 상기 히든 레이어와 상기 입력 레이어이고,
    상기 매개변수들은 가중치 행렬과 바이어스 행렬을 포함하는 것을 특징으로 하는 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법.
  10. 제9항에 있어서, 상기 학습을 수행하는 단계는, 이전 단계에서 형성한 상기 축소된 인공 신경망 모델을 이용하여 전방 전파(forward propagation)를 진행하여 인공 신경망 모델 학습을 수행하는 전방 전파 수행 단계; 그리고 이전 단계에서 형성한 상기 축소된 인공 신경망 모델을 이용하여 역 전파(back propagation)를 진행하여 신경망 모델 학습을 수행하는 역 전파 수행 단계를 포함하고,
    상기 전방 전파 수행 단계와 상기 역 전파 수행 단계는 상기 컴퓨터 장치의 프로세서가 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 수행되는 것을 특징으로 하는 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법.
  11. 삭제
  12. 삭제
  13. 제10항에 있어서, 상기 복수의 단계는, 상기 역 전파 수행 단계에서 산출된 값을 이용하여 상기 복수의 레이어들과 연관된 상기 매개변수들을 축소 전 인공 신경망 모델에 존재하던 매개변수들의 원래의 자리에 갱신하는 단계를 더 포함하고, 상기 갱신하는 단계는 상기 컴퓨터 장치의 프로세서가 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 수행되는 것을 특징으로 하는 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법.
  14. 제13항에 있어서, 상기 갱신하는 단계에서, 상기 축소된 인공 신경망 모델을 이용하여 역전파를 진행하여 계산된 가중치 행렬과 바이어스 벡터값은 축소 전의 원래의 상기 인공 신경망 모델의 가중치 행렬과 바이어스 벡터에서의 원래의 자리에 갱신되는 것을 특징으로 하는 제어된 드롭아웃 방법을 이용한 인공 신경망 모델 학습 방법.
KR1020170125452A 2016-12-26 2017-09-27 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법 KR102061615B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160179259 2016-12-26
KR20160179259 2016-12-26

Publications (2)

Publication Number Publication Date
KR20180075368A KR20180075368A (ko) 2018-07-04
KR102061615B1 true KR102061615B1 (ko) 2020-01-02

Family

ID=62912907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170125452A KR102061615B1 (ko) 2016-12-26 2017-09-27 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법

Country Status (1)

Country Link
KR (1) KR102061615B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101940029B1 (ko) 2018-07-11 2019-01-18 주식회사 마키나락스 어노말리 디텍션
KR102134339B1 (ko) * 2018-10-11 2020-07-15 연세대학교 산학협력단 드롭아웃이 적용된 다층 퍼셉트론 구조에서 연산코어의 오류 검출 방법 및 장치
KR102263371B1 (ko) * 2018-10-30 2021-06-11 한국전자통신연구원 신경망 모델 변환 방법 및 이를 위한 장치
US11449268B2 (en) * 2018-11-20 2022-09-20 Samsung Electronics Co., Ltd. Deep solid state device (deep-SSD): a neural network based persistent data storage
CN111291882A (zh) * 2018-12-06 2020-06-16 北京百度网讯科技有限公司 一种模型转换的方法、装置、设备和计算机存储介质
KR102163498B1 (ko) * 2018-12-24 2020-10-08 아주대학교산학협력단 신경망의 프루닝-재훈련 장치 및 방법
WO2020149511A1 (ko) * 2019-01-17 2020-07-23 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN110163370B (zh) * 2019-05-24 2021-09-17 上海肇观电子科技有限公司 深度神经网络的压缩方法、芯片、电子设备及介质
KR102491202B1 (ko) * 2019-09-10 2023-01-25 주식회사 모빌린트 인공 신경망 연산을 수행하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR20210047518A (ko) * 2019-10-22 2021-04-30 삼성전자주식회사 스케일러블 딥 러닝 네트워크를 구동하는 전자 장치, 사용자 단말 및 방법
KR102613367B1 (ko) * 2020-12-29 2023-12-13 국민대학교산학협력단 딥러닝 모델 서빙 최적화를 위한 모델 자동 경량화 방법 및 장치, 이를 이용한 클라우드 추론 서비스 제공 방법
KR102351433B1 (ko) 2021-06-28 2022-01-17 주식회사 스누아이랩 동영상 과적합 정규화 장치 및 그 장치의 구동방법
CN117426758B (zh) * 2023-12-20 2024-04-05 武汉纺织大学 一种基于多传感信息融合的智慧服装系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160307098A1 (en) 2015-04-19 2016-10-20 International Business Machines Corporation Annealed dropout training of neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160307098A1 (en) 2015-04-19 2016-10-20 International Business Machines Corporation Annealed dropout training of neural networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Frazao, Xavier, and Luís A. Alexandre. Dropall: Generalization of two convolutional neural network regularization methods. International Conference Image Analysis and Recognition. Springer, Cham, 2014*
Molchanov, Pavlo, et al. Pruning convolutional neural networks for resource efficient transfer learning. arXiv preprint arXiv:1611.06440v1. 2016.11.*

Also Published As

Publication number Publication date
KR20180075368A (ko) 2018-07-04

Similar Documents

Publication Publication Date Title
KR102061615B1 (ko) 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법
JP7186797B2 (ja) 量子計算のための方法及びシステム
KR102344473B1 (ko) 콘볼루셔널 뉴럴 네트워크들에 대한 슈퍼픽셀 방법들
JP6605259B2 (ja) ニューラルネットワーク構造拡張方法、次元縮小方法、及びその方法を用いた装置
KR102302609B1 (ko) 신경망 아키텍처 최적화
CN109190756B (zh) 基于Winograd卷积的运算装置及包含该装置的神经网络处理器
Gotmare et al. Nonlinear system identification using a cuckoo search optimized adaptive Hammerstein model
Lin et al. A hybrid backtracking search algorithm for permutation flow-shop scheduling problem
US20170193368A1 (en) Conditional parallel processing in fully-connected neural networks
CN108665070A (zh) 基于极限学习机的极限ts模糊推理方法及系统
CA3131688A1 (en) Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
WO2022245502A1 (en) Low-rank adaptation of neural network models
Elsayed et al. A surrogate-assisted differential evolution algorithm with dynamic parameters selection for solving expensive optimization problems
CN108009635A (zh) 一种支持增量更新的深度卷积计算模型
WO2019106132A1 (en) Gated linear networks
TW202338668A (zh) 用於神經網路訓練的稀疏性掩蔽方法
JP2023139287A (ja) 情報処理装置、情報処理方法およびプログラム
Moocarme et al. The Deep Learning with Keras Workshop: Learn how to define and train neural network models with just a few lines of code
Lin et al. An efficient hybrid Taguchi-genetic algorithm for protein folding simulation
CN113128015A (zh) 预估单振幅模拟量子计算所需资源的方法和系统
Elomda et al. Fuzzy cognitive map with linguistic values
Misra et al. Spherical search algorithm: A metaheuristic for bound-constrained optimization
JP7438544B2 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
Altmann et al. Challenges for reinforcement learning in quantum computing
KR102090109B1 (ko) 학습 및 추론 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant