KR20200040185A - 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치 - Google Patents

적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치 Download PDF

Info

Publication number
KR20200040185A
KR20200040185A KR1020190105488A KR20190105488A KR20200040185A KR 20200040185 A KR20200040185 A KR 20200040185A KR 1020190105488 A KR1020190105488 A KR 1020190105488A KR 20190105488 A KR20190105488 A KR 20190105488A KR 20200040185 A KR20200040185 A KR 20200040185A
Authority
KR
South Korea
Prior art keywords
learning
kth
gamma
neural network
loss
Prior art date
Application number
KR1020190105488A
Other languages
English (en)
Other versions
KR102349898B1 (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 KR20200040185A publication Critical patent/KR20200040185A/ko
Application granted granted Critical
Publication of KR102349898B1 publication Critical patent/KR102349898B1/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/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/045Combinations of networks
    • 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/047Probabilistic or stochastic networks
    • 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/088Non-supervised learning, e.g. competitive learning
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Feedback Control In General (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용하여 뉴럴 네트워크를 테스트하는 방법 및 장치에 관한 것이다. 구체적으로는, 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 방법에 있어서, (a) 학습 장치가, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 단계; (b) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (b1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (b2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (b3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 단계;를 포함하는 것을 특징으로 하는 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치에 관한 것이다.

Description

적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치{LEARNIUNG METHOD AND DEVICE FOR NEURAL NETWORK AT ADAPTIVE LEARNING RATE, AND TESTING METHOD AND DEVICE USING THE SAME}
본 발명은 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용하여 뉴럴 네트워크를 테스트하는 방법 및 장치에 관한 것이다. 구체적으로는, 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 방법에 있어서, (a) 학습 장치가, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 단계; (b) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (b1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (b2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (b3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 단계;를 포함하는 것을 특징으로 하는 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치에 관한 것이다.
최근, 머신러닝을 이용하여 물체의 식별 등을 수행하는 방법에 대한 연구가 이루어지고 있다. 이러한 머신러닝 중의 하나로 입력 레이어와 출력 레이어 사이에 여러 개의 히든 레이어를 가지는 신경망을 이용한 머신러닝인 딥 러닝은 높은 식별 성능을 가지고 있다.
그리고, 이러한 딥 러닝을 이용하는 뉴럴 네트워크는 일반적으로 하나 이상의 로스를 이용한 백프로파게이션을 통해 학습을 한다.
하지만, 백프로파게이션에 의한 뉴럴 네트워크의 학습에서는 학습률, 즉 하나 이상의 파라미터에 로스를 반영하는 비율을 작게 할수록 더욱 정교한 학습이 가능하나, 학습에 많은 시간이 소요되는 단점이 있다.
따라서, 종래에는 일정 횟수의 반복 학습을 수행한 이후 학습률을 일정량 감소시키는 방식으로 뉴럴 네트워크를 학습시킨다. 즉, 초기 학습에서는 학습률을 크게 하여 파라미터의 변동폭을 크게 함으로써 빠른 학습이 되도록 하며, 이후, 단계적으로 학습률을 감소하여 파라미터의 변동폭을 작게 함으로써 미세 조정이 이루어지도록 한다.
이와 같은 종래의 뉴럴 네트워크를 학습하는 방법을 도 1a와 도 1b를 참조하여 설명하면 다음과 같다.
먼저, 뉴럴 네트워크의 학습률에 대한 초기 상수값을 설정한다.
이때, 초기 상수값은 (i) 초기 학습률인 기본 학습률(lr), (ii) 학습률을 변경하기 위한 이터레이션(iteration) 단위인 스텝(step), 및 (iii) 학습률 변경 비율 조정을 위한 상수인 감마(gamma)를 포함할 수 있다. 여기서, 이터레이션은 하나의 배치 데이터를 이용한 학습의 반복 횟수일 수 있다.
그러면, 학습률은 다음의 수학식 1과 같이 나타내어질 수 있다.
[수학식 1]
Figure pat00001
도 1a에서는 예시적으로 기본 학습률(lr)을 0.01, 스텝을 100,000, 감마를 0.1로 설정한 상태에서의 학습률이 변경되는 상태를 도시한 것이며, 도 1b는 도 1a에서의 변경되는 학습률을 이용하여 뉴럴 네트워크를 학습하는 상태에서의 로스의 변경 상태를 도시한 것이다.
도 1a를 참조하면, 초기부터 100,000 이터레이션까지는 기본 학습률인 0.01의 학습률을 이용하여, 이터레이션마다 각각의 로스를 참조한 백프로파게이션을 통해 뉴럴 네트워크를 학습한다. 그리고, 이터레이션 누적 횟수가 100,000이되면, 수학식1에 의해 학습률을 0.001로 변경한 다음 200,000 이터레이션까지 학습한다. 또한, 이터레이션 누적 횟수가 200,000에 도달하면 수학식1에 의해 학습률을 0.0001로 변경하고, 다음의 스텝, 즉, 300,000 이터레이션까지 변경된 0.0001의 학습률을 이용하여 뉴럴 네트워크를 학습한다. 같은 방법에 의해 각각의 스텝마다 수학식1에 의해 학습률을 변경하며, 이후 스텝까지 변경된 학습률을 이용하여 뉴럴 네트워크를 학습하는 과정을 반복한다.
하지만, 이러한 종래의 학습 방법은 도 1b에서 알 수 있는 바와 같이, 로스와는 상관없이 학습률을 일정하게 감소시키는 것으로, 학습률을 결정하는 상수인 스텝이나 감마의 최적값을 여러 번의 실험을 통해 찾아야 하는 어려움이 있다.
또한, 스텝이나 감마의 최적값을 찾았을 경우에도, 학습을 위한 학습 데이터가 변경되거나 뉴럴 네트워크의 네트워크 구조가 변경되는 경우, 학습이 잘되는 스텝이나 감마의 최적값을 다시 찾아야 하는 문제점이 있다.
또한, 스텝이나 감마의 최적값을 찾기 위해서는 여러 번의 시행착오를 거쳐야 하므로 하나의 뉴럴 네트워크를 학습하여 최적의 결과를 찾는데 까지 많은 시간과 노력이 필요한 문제점이 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 학습 상황을 반영하여 학습률을 최적으로 조정할 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 학습 상황에서의 로스를 참조하여 학습률을 조정함으로써, 한번의 학습에 의해 학습률을 최적으로 조정할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 학습 상황에 따른 로스 그래디언트를 참조하여 학습률 변경 비율 조정을 위한 상수인 감마를 조정하며, 조정된 감마를 통해 학습률을 조정함으로써 한번의 학습에 의해 최적의 학습률을 조정할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 학습의 이터레이션(iteration) 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 방법에 있어서, (a) 학습 장치가, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경 하는 단계; (b) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (b1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (b2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (b3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 단계;를 포함하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 (b) 단계에서, 상기 학습 장치는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 학습 장치는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 학습 장치는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 미만일 경우, 상기 제(k+1) 감마가 상기 제k 감마로 결정되는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 학습 장치는, 상기 제(k-1) 로스들의 합에 대한 상기 제k 로스들의 합의 비를 상기 제k 로스 그래디언트로 결정하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 (b) 단계에서, 상기 학습 장치는, 상기 제k 학습률과 상기 제(k+1) 감마를 곱 연산하여 산출된 결과를 상기 제(k+1) 학습률로 결정하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이며, 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용된 상기 배치 데이터 수는, 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 상기 (k+1) 특정 값 이하를 만족하는 동안 사용된 배치 데이터의 수와 동일한 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고, 상기 학습 장치가, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 학습 장치는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 학습 방법이 제공된다.
본 발명의 다른 태양에 따르면, 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 테스트하는 방법에 있어서, (a) 학습 장치가, (I) 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스; (II) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (i) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (ii) (ii-1) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii-2) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (iii) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스;를 거쳐 상기 학습 장치의 파라미터를 획득한 상태에서, 상기 학습 장치의 파라미터를 이용한 테스트 장치가, 상기 뉴럴 네트워크에 테스트 데이터를 입력하는 단계; 및 (b) 상기 테스트 장치가, 상기 뉴럴 네트워크로 하여금, 제1 학습률 내지 제(k+1) 학습률에 따라 학습된 파라미터를 이용하여 테스트 데이터의 연산한 결과를 출력하는 단계;를 포함하는 것을 특징으로 하는 테스트 방법이 제공된다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 학습 장치는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 테스트 방법이 제공된다.
일 실시예에서, 상기 학습 장치는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 하는 테스트 방법이 제공된다.
일 실시예에서, 상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 테스트 방법이 제공된다.
일 실시예에서, (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 학습 장치는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 테스트 방법이 제공된다.
본 발명의 또 다른 태양에 따르면, 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 학습 장치에 있어서, 트레이닝 데이터를 획득하는 통신부; 및 (I) 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스, (II) k를 2부터 (n-1)까지 증가시켜가면서, (II-1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (II-2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (II-3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 미만일 경우, 상기 제(k+1) 감마가 상기 제k 감마로 결정되는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 제(k-1) 로스들의 합에 대한 상기 제k 로스들의 합의 비를 상기 제k 로스 그래디언트로 결정하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제k 학습률과 상기 제(k+1) 감마를 곱 연산하여 산출된 결과를 상기 제(k+1) 학습률로 결정하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이며, 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용된 상기 배치 데이터 수가, 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 상기 (k+1) 특정 값 이하를 만족하는 동안 사용된 배치 데이터의 수와 동일한 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고, 상기 프로세서가, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 프로세서는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 프로세서는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 학습 장치가 제공된다.
본 발명의 또 다른 태양에 따르면, 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 테스트 장치에 있어서, 트레이닝 데이터를 획득하는 통신부; 및 (I) 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스, (II) k를 2부터 (n-1)까지 증가시켜가면서, (i) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (ii) (ii-1) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii-2) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (iii) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 프로세스; 를 거쳐 상기 학습 장치의 파라미터를 획득한 상태에서, 상기 학습 장치의 파라미터를 이용하여, 상기 뉴럴 네트워크에 테스트 데이터를 입력하는 프로세스; 및 상기 뉴럴 네트워크로 하여금, 제1 학습률 내지 제(k+1) 학습률에 따라 학습된 파라미터를 이용하여 테스트 데이터의 연산한 결과를 출력하는 프로세스;를 수행하는 프로세서;를 포함하는 것을 특징으로 하는 테스트 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 테스트 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 테스트 장치가 제공된다.
일 실시예에서, 상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 테스트 장치가 제공된다.
일 실시예에서, (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 학습 장치는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 테스트 장치가 제공된다.
본 발명은 학습 상황을 반영하여 학습률을 최적으로 조정함으로써 뉴럴 네트워크의 학습에 소요되는 시간을 최소화할 수 있게 된다.
또한, 본 발명은 학습 상황에서의 로스를 참조하여 학습률을 조정함으로써, 한번의 학습 과정에 의해 학습률을 최적으로 조정할 수 있으므로, 뉴럴 네트워크를 학습하여 최적의 결과를 찾는데 까지 소요되는 시간과 노력을 최소화할 수 있게 된다.
또한, 본 발명은 학습 상황에 따른 로스 그래디언트를 참조하여 학습률 변경 비율 조정을 위한 상수인 감마를 조정하며, 조정된 감마를 통해 학습률을 조정함으로써 한번의 학습 과정에 의해 최적의 학습률을 조정할 수 있게 되며, 그에 따라 뉴럴 네트워크의 학습에 소요되는 시간과 노력을 최소화할 수 있게 된다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1a는 종래의 학습 방법에 따라 학습률을 변경시킨 상태를 개략적으로 도시한 도면이다.
도 1b는 종래의 학습 방법에 따라 변경된 학습률을 이용하여, 뉴럴 네트워크를 학습할 때 로스가 변경된 상태를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 뉴럴 네트워크를 학습하는 학습 장치를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 뉴럴 네트워크를 학습하는 상태를 개략적으로 도시한 도면이다.
도 4a는 본 발명의 일 실시예에 따른 학습률의 변동 상태를 개략적으로 도시한 도면이다.
도 4b는 본 발명의 일 실시예에 따른 로스의 변경 상태를 개략적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따라 객체 디텍션을 수행할 수 있는 뉴럴 네트워크를 학습하는 상태를 개략적으로 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따라 뉴럴 네트워크를 테스트하는 테스트 장치를 개략적으로 도시한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조 부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 객체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 객체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, “포함하다”라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 뉴럴 네트워크를 학습하는 학습 장치(100)를 개략적으로 도시한 것으로, 도 2를 참조하면, 학습 장치(100)는 통신부(110)와 프로세서(120)를 포함할 수 있다.
먼저, 통신부(110)는 트레이닝 데이터를 획득할 수 있다.
여기서, 트레이닝 데이터들은 데이터베이스(130)에 저장되어 있을 수 있으며, 트레이닝 데이터들 중 일부는 배치 데이터(batch data)로 저장될 수 있다. 이때, 배치 데이터의 개수는 반복 학습을 수행하기 위한 이터레이션에 대응하도록 생성되어 있을 수 있으며, 각각의 배치 데이터에 포함된 각각의 트레이닝 데이터들에 대응하는 GT(ground truth)가 저장되어 있을 수 있다.
다음으로, 프로세서(120)는, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경할 수 있다. 그리고, 프로세서(120)는 k를 2부터 (n-1)까지 증가시켜가면서, (I) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (II) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (III) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행할 수 있다.
이때, 프로세서(120)는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득될 수 있다. 또한, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 프로세서(120)는, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하고, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 미만일 경우, 상기 제(k+1) 감마가 상기 제k 감마로 결정될 수 있다.
이때, 본 발명의 일 실시예에 따른 학습 장치(100)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 장치라면 얼마든지 본 발명에 따른 학습 장치(100)로서 채택될 수 있다. 또한, 도 2에서는 하나의 학습 장치(100)만을 나타내었으나, 이에 한정되지 않으며, 학습 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(100)를 이용하여 뉴럴 네트워크를 학습하는 방법을 도 3을 참조하여 설명하면 다음과 같다.
먼저, 학습 장치(100)가 포워드 프로세싱에 의해, 트레이닝 데이터들 중 일부를 뉴럴 네트워크의 입력 레이어(I)에 입력하면, 입력 레이어(I)에 의해 연산된 값에 가중치(Wij)을 적용하여, 가중치가 적용된 제1 값을 히든 레이어(J)로 입력한다. 그리고, 히든 레이어(J)가 이를 입력받아 소정의 연산을 수행하면, 학습 장치(100)는 히든 레이어(J)에 의해 연산된 값에 가중치(Wjk)를 적용하여 출력 레이어(K)로 입력하도록 하며, 출력 레이어(K)가 이를 입력받아 소정의 연산을 수행하면, 학습 장치(100)는 출력 레이어(K)에 의해 연산된 값을 출력하도록 한다.
여기서, 히든 레이어(J)는 하나의 레이어를 도시하였으나, 이에 한정되지 않으며, 히든 레이어(J)는 복수의 레이어를 포함할 수 있다. 그리고, 각각의 가중치(Wij, Wjk)는 초기값이 설정된 상태일 수 있다.
이후, 학습 장치(100)는, 뉴럴 네트워크의 출력, 즉 출력 레이어(K)로부터 출력된 결과 및 이에 대응되는 GT를 참조하여 로스를 획득한다.
그리고, 학습 장치(100)는 획득된 로스를 이용하여 백프로파게이션을 통해 뉴럴 네트워크를 학습한다.
여기서, 학습 과정은, 뉴럴 네트워크의 각각의 레이어들을 연결하는 시놉시스의 연결강도인 가중치를 조정하여 로스를 줄이기 위해 수행될 수 있다.
일 예로, 확률적 경사 하강법(stochastic gradient descent; SGD)를 이용하여 백프로파게이션을 수행할 경우에는, 다음의 수학식 2에 의해 각각의 가중치를 조정할 수 있다.
[수학식 2]
Figure pat00002
수학식 2에서, lr는 학습률을 나타내며, C는 비용 함수를 나타낸다.
여기서, 비용 함수는 지도 학습, 자율 학습, 강화 학습 등과 같은 학습의 형태와 활성화 함수(activation function)같은 요인들에 의해서 결정될 수 있다.
예를 들면, 다중 클래스 분류 문제(multiclass classification problem)에 지도 학습을 수행할 때, 일반적으로 활성화 함수 및 비용 함수는 각각 소프트맥스 함수(softmax function) 및 교차 엔트로피 함수(cross entropy function)로 결정된다.
소프트맥스 함수는 수학식3과 같이 나타낼 수 있으며, 비용 함수는 수학식 4와 같이 나타내어질 수 있다.
[수학식 3]
Figure pat00003
[수학식 4]
Figure pat00004
수학식 3에서, pj는 클래스 확률(class probability)을 나타내며, xj는 유닛 j로의 전체 입력(total input)을 나타내고, xk는 유닛 k로의 전체 입력을 나타낸다.
그리고, 수학식 4에서, dj는 출력 유닛 j에 대한 목표 확률(target probability)을 나타내며, pj는 활성화 함수를 적용한 이후의 유닛 j에 대한 확률 출력(probability output)이다.
상기에서는 로스를 이용한 백프로파게이션의 일 예로, 확률적 경사 하강법(SGD)에 대해 설명하였으나, 본 발명은 이에 한정되지 않으며, Momentum 방식, Nesterov Accelerated Gradient(NAG) 방식, Adagrad(Adaptive Gradient) 방식, RMSProp 방식, AdaDelta(Adaptive Delta) 방식, Adam(Adaptive Moment Estimation) 방식 등을 사용하여 뉴럴 네트워크의 학습을 위한 백프로파게이션을 수행할 수도 있다.
상기에서의 트레이닝 데이터 중 일부를 이용한 뉴럴 네트워크의 포워드 프로세싱, 로스를 이용한 백워드 프로세싱, 그리고, 가중치의 업데이트를 수행하는 프로세싱을 한 번의 이터레이션으로 정의할 수 있다. 또한, 트레이닝 데이터 중 일부는 각각의 배치 데이터일 수 있으며, 배치 데이터의 개수는 반복 학습을 수행하기 위한 이터레이션의 횟수에 대응하도록 생성되어 있을 수 있다.
또한, 학습 장치(100)는, 학습의 이터레이션 누적 횟수 즉, 이터레이션이 특정 값 중 하나가 될 때마다 학습률을 조정하여 뉴럴 네트워크를 학습시킨다.
특정 값은 학습률을 조정하기 위한 이터레이션 단위에 따라 기설정될 수 있으며, 학습률 조정을 위한 이터레이션 단위를 스텝이라 할 경우, 이터레이션 누적 횟수가 스텝으로 설정된 숫자 또는 스텝의 곱 중 하나에 도달할 때마다 학습률을 조정할 수 있다. 일 예로, 스텝이 10,000으로 설정되면, 10,000의 배수가 제1 내지 제n 특정 값으로 설정될 수 있으며, 뉴럴 네트워크의 한 번의 학습 과정 동안, 뉴럴 네트워크는 n x 10,000번의 이터레이션만큼 학습이 이루어질 수 있다. 하지만, 본 발명은 이에 한정되지 않으며, 스텝은 고정된 숫자가 아닐 수도 있으며, 스텝의 곱이 적용되지 않을 수도 있다.
이하에서는, 이터레이션 누적 횟수가 특정 값 중 하나가 될 때마다 학습률을 조정하여 학습 장치(100)가 뉴럴 네트워크를 학습하는 과정을 좀 더 상세히 설명하면 다음과 같다.
학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, 학습 장치(100)가, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경할 수 있다. 여기서, 배치 데이터의 수는 제1 학습 프로세스 동안의 이터레이션 횟수로서 결정될 수 있다. 제1 감마를 제2 감마로 변경하는 방법에 대해서는 다음에서 설명하도록 한다.
이후, 학습 장치(100)는, k를 2부터 (n-1)까지 증가시켜가면서, (I) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (II) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경한다.
이때, 학습 장치(100)는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출된다. 여기서, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득된다.
즉, 학습 장치(100)는, 수학식 5에 의해, 제(k-1) 로스들의 합을 연산하고, 수학식 6에 의해, 제k 로스들의 합을 연산한다.
[수학식 5]
Figure pat00005
[수학식 6]
Figure pat00006
그리고, 학습 장치(100)는, 수학식 7에 의해, 제(k-1) 로스들의 합에 대한, 제k 로스들의 합의 비를 제k 로스 그래디언트로 결정한다.
[수학식 7]
Figure pat00007
이후, 학습 장치(100)는, 제k 로스 그래디언트를 기설정된 최소 로스 그래디언트와 비교한 결과, 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 제k 감마를 제(k+1) 감마로 업데이트한다. 여기서, 제(k+1) 감마는, 수학식 8과 같이, 제k 감마와 제k 로스 그래디언트를 곱하여 결정된다. 그러나, 제k 로스 그래디언트를 기설정된 최소 로스 그래디언트와 비교한 결과, 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 미만일 경우, 제(k+1) 감마는 제k 감마로 결정된다.
[수학식 8]
Figure pat00008
여기서, 이터레이션의 누적 횟수가 특정 값 중 하나에 도달하면 뉴럴 네트워크의 학습이 일찍 끝나게 되어 충분한 학습이 이루어지지 않으므로, 학습률은 로스 그래디언트가 기설정된 값 이상일 경우(즉, 최소 로스 그래디언트)에만 학습률을 감소시키도록 하여 충분한 학습이 이루어지도록 한다.
그리고, 학습 장치(100)는, 수학식 9에 의해, 제k 학습률과 제(k+1) 감마를 곱연산한 결과를 제(k+1) 학습률로 결정한다.
[수학식 9]
Figure pat00009
다음으로, 학습 장치(100)는, 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행할 수 있다. 여기서, 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수로 결정될 수 있다. 따라서, 제1 학습 프로세스에서 사용되는 배치 데이터의 수는 제(k+1) 학습 프로세스에서 사용되는 배치 데이터의 수와 동일하다.
이와 같은 본 발명의 일 실시예에 따른 뉴럴 네트워크의 학습 방법을 도 4a와 도 4b를 참조하여 설명하면 다음과 같다.
도 4a는 본 발명의 일 실시예에 따른 학습률의 변동 상태를 도시한 것으로, 초기 상수값은 초기 학습률인 기본 학습률(lr)을 0.0, 학습률을 변경하기 위한 이터레이션 단위인 스텝을 10,000, 학습률 변경 비율 조정을 위한 상수인 감마를 0.9로 설정한 것을 예시적으로 나타낸 것이다. 이때, 스텝을 종래 학습 방법인 도 1a에서의 100,000보다 줄이고, 감마를 종래 학습 방법인 도 1a에서의 0.1 보다 크게 한 것은, 학습률을 로스에 대응하여 조금씩 자주 감소시키기 위한 것이다.
따라서, 본 발명에서는, 종래 학습 방법인 도 1과 다르게, 학습률이 계속적으로 변경된다.
또한, 도 4b에서 알 수 있는 바와 같이, 로스에 따라 학습률이 변경되므로, 종래 학습 방법인 학습률 변경에 따라 로스가 변경되는 도 1b와 다르게, 로스가 계속적으로 감소되므로, 한번의 학습 과정만으로도 최적의 학습률을 획득할 수 있게 된다.
도 5는 본 발명의 일 실시예에 따라 객체 디텍션을 수행할 수 있는 뉴럴 네트워크를 학습하는 상태를 개략적으로 도시한 도면이다.
먼저, 학습 장치(100)는, 포워드 프로세싱에 의해, (i) 적어도 하나의 컨벌루션 레이어(conv1, conv2, conv3, conv4, conv5)로 하여금, 트레이닝 데이터의 일부에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징 맵을 출력하도록 하고, (ii) 적어도 하나의 FC 레이어(FC6, FC7)로 하여금, 특징 맵 상에서의 ROI에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하고, (iii) 출력 레이어로 하여금, 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출한다.
이때, 학습 장치(100)는, 포워드 프로세싱에 의해, 각각의 레이어의 각 출력을 계산하게 되며, 최종적으로 GT를 참조하여 로스 레이어의 로스 값을 계산한다.
다음으로, 학습 장치(100)는, 백워드 프로세싱에 의해, 포워드 프로세싱에서 계산한 각각의 레이어의 각 출력값을 이용하여, 뒤 쪽 레이어부터 백워드 방향으로 로스 값을 줄이기 위한 출력값의 그래디언트를 전달한다.
이때, 학습 장치(100)는, 각각의 레이어로 하여금, 뒤쪽 레이어에서 전달받은 출력값 그래디언트를 통해 가중치의 그래디언트를 획득하도록 한다.
다음으로, 학습 장치(100)는, 업데이트 프로세싱에 의해, 백워드 프로세싱에서 획득한 각각의 레이어의 가중치의 그래디언트를 참조로 하여, FC 레이어(FC7, FC6) 및 컨벌루션 레이어(conv5, conv4, conv3, conv2, conv1)의 가중치 값을 업데이트함으로써 학습을 위한 한번의 이터레이션을 수행한다.
그리고, 학습 장치(100)는, 학습률 스케쥴러로 하여금, 상기에서 설명한 방법에 의해 상기 이터레이션 누적 횟수가 제1 조건 내지 제n 조건 중 어느 하나에 도달할 때마다 로스 값들을 참조하여 현재의 학습률을 변경하도록 하며, 변경된 현재 학습률을 솔버(solver)에 전달함으로써, 솔버로 하여금, 변경된 현재 학습률과 각각의 레이어의 가중치 그래디언트를 참조하여 각각의 레이어의 가중치값을 업데이트하도록 할 수 있다. 이때, 솔버는 상기에서 설명한 바와 같이, stochastic gradient descent(SGD) 방식, Momentum 방식, Nesterov Accelerated Gradient(NAG) 방식, Adagrad(Adaptive Gradient) 방식, RMSProp 방식, AdaDelta(Adaptive Delta) 방식, Adam(Adaptive Moment Estimation) 방식 등을 사용할 수 있다.
도 6은 본 발명의 일 실시예에 따라 학습된 뉴럴 네트워크를 테스트하는 장치를 개략적으로 도시한 것으로, 테스트 장치(200)는 통신부(210)와 프로세서(220)를 포함할 수 있다.
통신부(210)는, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (a) 학습 장치가, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스; (b) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (b1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (b2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (b3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스;를 거쳐 상기 학습 장치의 파라미터를 획득한 상태에서, 테스트 데이터를 획득할 수 있다.
또한, 프로세서(220)는, 테스트 데이터를 뉴럴 네트워크로 입력하며, 뉴럴 네트워크로 하여금, 제1 학습률 내지 제(k+1) 학습률에 따라 학습된 파라미터를 이용하여 테스트 데이터의 연산한 결과를 출력하도록 할 수 있다.
이때, 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함할 수 있다. 또한, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정할 수 있다.
이와 같이 구성된 테스트 장치(200)에 의해 학습된 뉴럴 네트워크를 테스트하는 방법을 간략히 설명하면 다음과 같다.
먼저, 뉴럴 네트워크는 도 2 내지 도 5를 참조하여 설명한 바와 같은 방법에 의해 학습된 상태일 수 있다.
즉, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (a) 학습 장치가, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스, (b) k를 2부터 (n-1)까지 증가시켜가면서, (b1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (b2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (b3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행할 수 있다.
이와 같이 뉴럴 네트워크가 학습된 상태에서, 테스트 데이터가 획득되면, 테스트 장치(200)가, 테스트 데이터를 뉴럴 네트워크로 입력하며, 뉴럴 네트워크로 하여금, 제1 학습률 내지 제(k+1) 학습률에 의해 학습된 파라미터를 이용하여, 테스트 데이터에 뉴럴 네트워크 연산을 적용한 결과를 출력하도록 한다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (30)

  1. 학습의 이터레이션(iteration) 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 방법에 있어서,
    (a) 학습 장치가, 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 단계;
    (b) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (b1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (b2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (b3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 단계;
    를 포함하는 것을 특징으로 하는 학습 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 학습 장치는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 학습 방법.
  3. 제2항에 있어서,
    상기 학습 장치는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 하는 학습 방법.
  4. 제2항에 있어서,
    상기 학습 장치는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 미만일 경우, 상기 제(k+1) 감마가 상기 제k 감마로 결정되는 것을 특징으로 하는 학습 방법.
  5. 제2항에 있어서,
    상기 학습 장치는, 상기 제(k-1) 로스들의 합에 대한 상기 제k 로스들의 합의 비를 상기 제k 로스 그래디언트로 결정하는 것을 특징으로 하는 학습 방법.
  6. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 학습 장치는, 상기 제k 학습률과 상기 제(k+1) 감마를 곱 연산하여 산출된 결과를 상기 제(k+1) 학습률로 결정하는 것을 특징으로 하는 학습 방법.
  7. 제1항에 있어서,
    상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이며,
    상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며,
    상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 것을 특징으로 하는 학습 방법.
  8. 제7항에 있어서,
    상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용된 상기 배치 데이터 수는, 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 상기 (k+1) 특정 값 이하를 만족하는 동안 사용된 배치 데이터의 수와 동일한 것을 특징으로 하는 학습 방법.
  9. 제1항에 있어서,
    상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고,
    상기 학습 장치가, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 학습 방법.
  10. 제9항에 있어서,
    (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 학습 장치는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 학습 방법.
  11. 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 테스트하는 방법에 있어서,
    (a) 학습 장치가, (I) 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스; (II) 상기 학습 장치가, k를 2부터 (n-1)까지 증가시켜가면서, (i) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (ii) (ii-1) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii-2) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (iii) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스;를 거쳐 상기 학습 장치의 파라미터를 획득한 상태에서, 상기 학습 장치의 파라미터를 이용한 테스트 장치가, 상기 뉴럴 네트워크에 테스트 데이터를 입력하는 단계; 및
    (b) 상기 테스트 장치가, 상기 뉴럴 네트워크로 하여금, 제1 학습률 내지 제(k+1) 학습률에 따라 학습된 파라미터를 이용하여 테스트 데이터의 연산한 결과를 출력하는 단계;
    를 포함하는 것을 특징으로 하는 테스트 방법.
  12. 제11항에 있어서,
    상기 (II) 프로세스에서,
    상기 학습 장치는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 테스트 방법.
  13. 제12항에 있어서,
    상기 학습 장치는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 하는 테스트 방법.
  14. 제11항에 있어서,
    상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고,
    상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 테스트 방법.
  15. 제14항에 있어서,
    (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 학습 장치는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 테스트 방법.
  16. 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 학습 장치에 있어서,
    트레이닝 데이터를 획득하는 통신부; 및
    (I) 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스, (II) k를 2부터 (n-1)까지 증가시켜가면서, (II-1) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (II-2) (i) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (II-3) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 프로세스를 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 학습 장치.
  17. 제16항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 학습 장치.
  18. 제17항에 있어서,
    상기 프로세서는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 학습 장치.
  19. 제17항에 있어서,
    상기 프로세서는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 미만일 경우, 상기 제(k+1) 감마가 상기 제k 감마로 결정되는 것을 특징으로 하는 학습 장치.
  20. 제17항에 있어서,
    상기 프로세서는, 상기 제(k-1) 로스들의 합에 대한 상기 제k 로스들의 합의 비를 상기 제k 로스 그래디언트로 결정하는 것을 특징으로 하는 학습 장치.
  21. 제16항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제k 학습률과 상기 제(k+1) 감마를 곱 연산하여 산출된 결과를 상기 제(k+1) 학습률로 결정하는 것을 특징으로 하는 학습 장치.
  22. 제16항에 있어서,
    상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이며,
    상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며,
    상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 것을 특징으로 하는 학습 장치.
  23. 제22항에 있어서,
    상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용된 상기 배치 데이터 수가, 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 상기 (k+1) 특정 값 이하를 만족하는 동안 사용된 배치 데이터의 수와 동일한 것을 특징으로 하는 학습 장치.
  24. 제16항에 있어서,
    상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고,
    상기 프로세서가, 상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 프로세서는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 학습 장치.
  25. 제24항에 있어서,
    (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 프로세서는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 학습 장치.
  26. 학습의 이터레이션 누적 횟수가 제1 내지 제n 특정 값 중 하나에 다다를 때마다 학습률을 조정하여, 뉴럴 네트워크(neural network)를 학습시키는 테스트 장치에 있어서,
    트레이닝 데이터를 획득하는 통신부; 및
    (I) 학습률 변경 비율 조정을 위한 상수인 제1 감마를 기설정한 상태에서, (i) 상기 이터레이션 누적 횟수가 제1 특정 값 이하를 만족하는 동안에는, 트레이닝 데이터 중 일부를 이용하여 제1 기설정된 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제1 학습 프로세스를 수행하고, (ii) 상기 제1 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제1 로스를 참조하여 상기 제1 감마를 제2 감마로 변경하는 프로세스, (II) k를 2부터 (n-1)까지 증가시켜가면서, (i) 상기 이터레이션 누적 횟수가 제(k-1) 특정 값 초과 및 제k 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제k 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제k 학습 프로세스를 수행하고, (ii) (ii-1) 상기 제k 학습 프로세스에 의해 획득된 상기 뉴럴 네트워크의 제k 로스를 참조하여 제k 감마를 제(k+1) 감마로 변경하고, (ii-2) 상기 제(k+1) 감마를 이용하여 제k 학습률을 제(k+1) 학습률로 변경하며, (iii) 상기 이터레이션 누적 횟수가 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안에는, 상기 트레이닝 데이터 중 일부를 이용하여 제(k+1) 학습률로 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k+1) 학습 프로세스를 수행하는 프로세스; 를 거쳐 상기 학습 장치의 파라미터를 획득한 상태에서, 상기 학습 장치의 파라미터를 이용하여, 상기 뉴럴 네트워크에 테스트 데이터를 입력하는 프로세스; 및 상기 뉴럴 네트워크로 하여금, 제1 학습률 내지 제(k+1) 학습률에 따라 학습된 파라미터를 이용하여 테스트 데이터의 연산한 결과를 출력하는 프로세스;를 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 테스트 장치.
  27. 제26항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 제k 로스 그래디언트를 참조하여 상기 제k 감마를 제(k+1) 감마로 변경하되, 상기 제k 로스 그래디언트는, 상기 뉴럴 네트워크의 (i) 상기 제k 로스 및 (ii) 제(k-1) 로스를 참조하여 산출되되, 상기 제(k-1) 로스는, 상기 이터레이션 누적 횟수가 제(k-2) 특정 값 초과 및 제(k-1) 특정 값 이하를 만족하는 동안, 상기 트레이닝 데이터 중 일부를 이용하여 상기 뉴럴 네트워크의 상기 학습을 반복하는 제(k-1) 학습 프로세스에 의해 획득되는 것을 특징으로 하는 테스트 장치.
  28. 제27항에 있어서,
    상기 프로세서는, 상기 제k 로스 그래디언트가 기설정된 최소 로스 그래디언트 이상일 경우, 상기 제k 감마와 상기 제k 로스 그래디언트를 곱 연산하여 산출된 결과를 참조로 하여, 상기 제(k+1) 감마를 결정하는 것을 특징으로 테스트 장치.
  29. 제26항에 있어서,
    상기 뉴럴 네트워크는, (i) 트레이닝 데이터에 적어도 하나의 컨벌루션 연산을 적용하여, 적어도 하나의 특징맵을 출력하도록 하는 적어도 하나의 컨벌루션 레이어(convolutional layer), (ii) 상기 특징맵 상에서의 ROI(Region Of Interest)에 대응하는 영역을 풀링하여 산출된 적어도 하나의 특징 벡터에 적어도 하나의 FC(Fully connected) 연산을 적용하여, 상기 트레이닝 데이터에 포함된 적어도 하나의 객체에 대응하는 확률값을 산출하도록 하는 적어도 하나의 FC 레이어(FC layer), 및 (iii) 상기 FC 레이어로부터 산출된 상기 확률값에 대응하는 적어도 하나의 클래스 스코어 및 적어도 하나의 리그레션 델타를 산출하는 출력 레이어(output layer)를 포함하고,
    상기 출력 레이어의 적어도 하나의 산출 결과와 이에 대응되는 GT(Ground Truth)를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습할 경우, 상기 학습 장치는, 상기 제1 학습률 내지 상기 제k 학습률을 참조하여 상기 FC 레이어 및 상기 컨벌루션 레이어의 적어도 하나의 파라미터의 변동폭을 결정하는 것을 특징으로 하는 테스트 장치.
  30. 제29항에 있어서,
    (i) 상기 트레이닝 데이터 중 상기 일부 각각이 배치 데이터이고, (ii) 상기 이터레이션 누적 횟수가 상기 제1 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제1 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되며, (iii) 상기 이터레이션 누적 횟수가 상기 제k 특정 값 초과 및 제(k+1) 특정 값 이하를 만족하는 동안 사용되는 상기 배치 데이터의 수는, 상기 제(k+1) 학습 프로세스 동안의 이터레이션 횟수와 동일하게 결정되는 경우, 상기 학습 장치는, 상기 각각의 배치 데이터에 대응되는 상기 출력 레이어의 적어도 하나의 각 산출결과와 이에 대응되는 상기 GT를 참조하여 계산한 로스를 이용하여 백프로파게이션함으로써 상기 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 것을 특징으로 하는 테스트 장치.
KR1020190105488A 2018-10-08 2019-08-27 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치 KR102349898B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/154,060 US10528867B1 (en) 2018-10-08 2018-10-08 Learning method and learning device for neural network at adaptive learning rate, and testing method and testing device using the same
US16/154,060 2018-10-08

Publications (2)

Publication Number Publication Date
KR20200040185A true KR20200040185A (ko) 2020-04-17
KR102349898B1 KR102349898B1 (ko) 2022-01-12

Family

ID=67211605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190105488A KR102349898B1 (ko) 2018-10-08 2019-08-27 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치

Country Status (5)

Country Link
US (1) US10528867B1 (ko)
EP (1) EP3637329A1 (ko)
JP (1) JP6998067B2 (ko)
KR (1) KR102349898B1 (ko)
CN (1) CN111008690B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210136314A (ko) * 2020-05-07 2021-11-17 주식회사 하나금융티아이 멀티 모델 및 점진적 배치를 이용한 학습률 결정 장치 및 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733511B1 (en) * 2019-01-30 2020-08-04 StradVision, Inc. Learning method and learning device for updating HD map by reconstructing 3D space by using depth estimation information and class information on each object, which have been acquired through V2X information integration technique, and testing method and testing device using the same
CN111260079B (zh) * 2020-01-17 2023-05-19 南京星火技术有限公司 电子设备和智能体自训练装置
JP7436830B2 (ja) * 2020-04-06 2024-02-22 富士通株式会社 学習プログラム、学習方法、および学習装置
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
US20230068874A1 (en) * 2021-08-31 2023-03-02 Samsung Electronics Co., Ltd. Optimal learning rate selection through step sampling
JP2023046868A (ja) 2021-09-24 2023-04-05 富士通株式会社 機械学習プログラム、機械学習方法および情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269351B1 (en) * 1999-03-31 2001-07-31 Dryken Technologies, Inc. Method and system for training an artificial neural network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715372A (en) * 1995-01-10 1998-02-03 Lucent Technologies Inc. Method and apparatus for characterizing an input signal
CN106228512A (zh) * 2016-07-19 2016-12-14 北京工业大学 基于学习率自适应的卷积神经网络图像超分辨率重建方法
CN106295800B (zh) * 2016-07-28 2019-03-05 北京工业大学 一种基于递归自组织rbf神经网络的出水总氮tn智能检测方法
WO2018093796A1 (en) * 2016-11-15 2018-05-24 Magic Leap, Inc. Deep learning system for cuboid detection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269351B1 (en) * 1999-03-31 2001-07-31 Dryken Technologies, Inc. Method and system for training an artificial neural network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ross Girshick, "Fast R-CNN," arXiv:1504.08083v2 [cs.CV] (2015.09.27.)* *
Tomoumi Takase et al., "Effective neural network training with adaptive learning rate based on training loss." Neural Networks 101 (2018.02.13.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210136314A (ko) * 2020-05-07 2021-11-17 주식회사 하나금융티아이 멀티 모델 및 점진적 배치를 이용한 학습률 결정 장치 및 방법

Also Published As

Publication number Publication date
CN111008690B (zh) 2023-08-18
JP2020077392A (ja) 2020-05-21
US10528867B1 (en) 2020-01-07
EP3637329A1 (en) 2020-04-15
CN111008690A (zh) 2020-04-14
KR102349898B1 (ko) 2022-01-12
JP6998067B2 (ja) 2022-01-18

Similar Documents

Publication Publication Date Title
KR102349898B1 (ko) 적응적 학습률로 뉴럴 네트워크를 학습하는 방법 및 장치, 이를 이용한 테스트 방법 및 장치
US11651223B2 (en) Systems and methods for block-sparse recurrent neural networks
CN107247989B (zh) 一种实时的计算机视觉处理方法及装置
KR102280414B1 (ko) 고 정밀도로 이미지를 분석하기 위한 딥 러닝 네트워크를 사용하기 위해 트레이닝 이미지를 오토 라벨링하는 오토 라벨링 장치의 하이퍼파라미터를 최적화하는 방법 및 이를 이용한 최적화 장치
JP6865364B2 (ja) エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
US10783452B2 (en) Learning apparatus and method for learning a model corresponding to a function changing in time series
CN111178520B (zh) 一种构建神经网络的方法及装置
CN111985523A (zh) 基于知识蒸馏训练的2指数幂深度神经网络量化方法
KR20200094622A (ko) 뉴럴 네트워크 학습에 이용될 오토 라벨링된 이미지 중에서 라벨 검수를 위한 샘플 이미지를 획득하는 방법 및 이를 이용한 샘플 이미지 획득 장치
JP2020119533A (ja) 自律走行自動車のレベル4を満たすために要求されるhdマップアップデートに利用される、少なくとも一つのアダプティブロス重み付け値マップを利用したアテンションドリブン・イメージセグメンテーション学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置
KR102337358B1 (ko) 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
US11100388B2 (en) Learning apparatus and method for learning a model corresponding to real number time-series input data
KR102316593B1 (ko) 군사적 목적, 드론 또는 로봇에 이용되기 위해, 하나 이상의 이전 배치를 추가적으로 참조하여 모바일 장치 또는 iot 장치에 적용 가능한 온라인 배치 노말라이제이션, 온-디바이스 학습, 및 연속학습을 수행하는 방법 및 장치 그리고 이를 이용한 테스팅 방법과 테스팅 장치
US20200151545A1 (en) Update of attenuation coefficient for a model corresponding to time-series input data
CN113825978B (zh) 用于定义路径的方法和设备、存储装置
CN113313229A (zh) 模型压缩中对稀疏率的贝叶斯优化
CN112766603A (zh) 一种交通流量预测方法、系统、计算机设备及存储介质
JP6970460B2 (ja) モバイルデバイスまたは高精度の小型ネットワークに適用可能なハードウェアを最適化するために利用されるCNNパラメータ及び特徴値を量子化するために、重み量子化ロス値を利用してFL(Fractional Length)値を決定する方法及び装置{METHOD AND DEVICE FOR DETERMINING FL VALUE BY USING WEIGHTED QUANTIZATION LOSS VALUES TO THEREBY QUANTIZE CNN PARAMETERS AND FEATURE VALUES TO BE USED FOR OPTIMIZING HARDWARE APPLICABLE TO MOBILE DEVICES OR COMPACT NETWORKS WITH HIGH PRECISION}
CN116227767A (zh) 基于深度强化学习的多无人机基站协同覆盖路径规划方法
CN109657800A (zh) 基于参数噪声的强化学习模型优化方法及装置
KR102120150B1 (ko) 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치
CN113705724B (zh) 基于自适应l-bfgs算法的深度神经网络的批量学习方法
KR102349969B1 (ko) 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치
KR102110316B1 (ko) 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치
US6813390B2 (en) Scalable expandable system and method for optimizing a random system of algorithms for image quality

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right