KR102001781B1 - 신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들 - Google Patents
신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들 Download PDFInfo
- Publication number
- KR102001781B1 KR102001781B1 KR1020180101555A KR20180101555A KR102001781B1 KR 102001781 B1 KR102001781 B1 KR 102001781B1 KR 1020180101555 A KR1020180101555 A KR 1020180101555A KR 20180101555 A KR20180101555 A KR 20180101555A KR 102001781 B1 KR102001781 B1 KR 102001781B1
- Authority
- KR
- South Korea
- Prior art keywords
- cost
- cost function
- parameters
- conflict
- neural network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
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)
- Feedback Control In General (AREA)
Abstract
신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 학습 정확도 향상 방법은 복수의 코스트들의 조합을 신경망의 전체 비용 함수로 설정하는 단계와, 상기 전체 비용 함수를 이용하여 상기 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 복수의 코스트들의 그래디언트가 서로 상쇄되는 상충 영역(conflict region)에서 상기 복수의 코스트들 중에서 선택된 코스트만을 이용하여 상기 복수의 파라미터들 중에서 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계를 포함한다.
Description
아래 실시예들은 신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들에 관한 것이다.
인공 신경망(neural network)은 지능 시스템의 기본적인 표현형으로 사용되고 있다. 예를 들어, 인공 신경망은 1990년대 이후 꾸준히 연구되어 2006년도 이후 딥 러닝이라는 키워트로 전세계적으로 각광 받고 있다.
인공 신경망은 RNN(recurrent neural network), CNN(convolutional neural network) 및 LSTM(Long Short Term Memory) 등 다양할 수 있다. LSTM은 RNN의 일종일 수 있다. 예를 들어, LSTM은 RNN에 비해 오래전 시간에 발생한 정보들이 현재 의사 결정에 미치는 영향력을 학습할 수 있다. LSTM은 최근에 기계 번역 및 자연언어처리 분야에서 다양하게 확용되고 있는 네트워크 중에서 하나일 수 있다.
인공 신경망은 자연 언어 처리, 이미지 및 음성 신호 처리 등에 확발하게 적용되어 실용적인 문제에서 많은 성과를 거두고 있다.
인공 신경망은 비용 함수(cost funtion)을 설정하여 학습을 진행할 수 있다. 예를 들어, 비용 함수는 입력에 대한 출력이 얼마나 잘 예측되었는지 평가하기 위한 함수일 수 있다. 이때, 비용 함수는 입력 데이터인 실제 데이터와 출력 데이터인 입력 데이터를 추정한 추정 데이터간의 에러 및 출력 데이터가 입력 데이터를 얼마나 정확하게 표현하는지에 대한 확률 등으로 사용될 수 있다.
최근에는 문제의 복잡도가 급격히 녹아져 단일의 비용 함수만으로 인공 신경망의 성능을 평가하지 않고, 복수의 비용 함수들의 조합으로 인공 신경망의 성능을 평가한다.
실시예들은 신경망의 복수의 코스트들(비용 함수들)의 그래디언트가 상쇄되는 상충 영역(conflict region)에서 복수의 코스트들 중에서 선택된 코스트 및 나머지 코스트 중에서 적어도 하나를 이용하여 상충 영역에 대응하는 신경망의 파라미터들을 반복적으로 업데이트하는 기술을 제공할 수 있다.
이에, 실시예들는 상충되는 복수의 코스트들의 그래디언트 계산을 확률적으로 제외시키고, 신경망의 학습 정확도를 향상시킬 수 있습니다.
또한, 실시예들은 신경망의 최적해의 품질 및 신경망의 가중치를 향상시키고, 비관측 데이터인 테스트 데이터 및 실제의 범용적인 테스트 환경에서 신경망의 성능을 향상시키는 기술을 제공할 수 있다.
일 실시예에 따른 학습 정확도 향상 방법은 복수의 코스트들의 조합을 신경망의 전체 비용 함수로 설정하는 단계와, 상기 전체 비용 함수를 이용하여 상기 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 복수의 코스트들의 그래디언트가 서로 상쇄되는 상충 영역(conflict region)에서 상기 복수의 코스트들 중에서 선택된 코스트만을 이용하여 상기 복수의 파라미터들 중에서 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계를 포함한다.
상기 상충 영역은 상기 복수의 코스트들의 그래디언트가 서로 상쇄되어 상기 전체 비용 함수가 0 으로 수렴되는 영역일 수 있다.
상기 업데이트하는 단계는 상기 상충 영역에서 상기 복수의 코스트들의 그래디언트가 서로 상쇄되는 코스트 조합을 검출하는 단계와, 코스트 선택 확률에 따라 상기 코스트 조합에서 적어도 하나 이상의 코스트를 선택하는 단계와, 상기 선택된 코스트만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계를 포함할 수 있다.
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 선택된 코스트의 최적해로 수렴될 수 있다.
상기 방법은 상기 전체 비용 함수를 이용하여 상기 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 상충 영역에서 상기 복수의 코스트들 중에서 상기 선택된 코스트를 제외한 나머지 코스트만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계를 더 포함할 수 있다.
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 나머지 코스트의 최적해로 수렴될 수 있다.
상기 선택된 코스트만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계 및 상기 나머지 코스트만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계는 상기 상충 영역에 대응하는 파라미터들이 상기 선택된 코스트 및 상기 나머지 코스트 중에서 적어도 하나의 최적해로 수렴할 때까지 지속적으로 반복될 수 있다.
상기 상충 영역에 대응하는 파라미터들은 상기 선택된 코스트의 최적해로 수렴되는 파라미터들과 상기 나머지 코스트의 최적해로 수렴되는 파라미터들로 분리될 수 있다.
상기 상충 영역에 대응하는 파라미터들 각각은 상기 선택된 코스트의 최적해 및 상기 나머지 코스트의 최적해 중에서 어느 하나로 드리프트될 수 있다.
일 실시예에 따른 학습 정확도 향상 장치는 통신부와, 상기 통신부를 통한 입력 데이터에 대한 신경망의 복수의 코스트들의 조합을 상기 신경망의 전체 비용 함수로 설정하고, 상기 전체 비용 함수를 이용하여 상기 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 복수의 코스트들의 그래디언트가 서로 상쇄되는 상충 영역(conflict region)에서 상기 복수의 코스트들 중에서 선택된 코스트만을 이용하여 상기 복수의 파라미터들 중에서 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 프로세서를 포함한다.
상기 상충 영역은 상기 복수의 코스트들의 그래디언트가 서로 상쇄되어 상기 전체 비용 함수가 0 으로 수렴되는 영역일 수 있다.
상기 프로세서는 상기 상충 영역에서 상기 복수의 코스트들의 그래디언트가 서로 상쇄되는 코스트 조합을 검출하고, 코스트 선택 확률에 따라 상기 코스트 조합에서 적어도 하나 이상의 코스트를 선택하고, 상기 선택된 코스트만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다.
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 선택된 코스트의 최적해로 수렴될 수 있다.
상기 프로세서는 상기 전체 비용 함수를 이용하여 상기 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 상충 영역에서 상기 복수의 코스트들 중에서 상기 선택된 코스트를 제외한 나머지 코스트만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다.
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 나머지 코스트의 최적해로 수렴될 수 있다.
상기 프로세서는 상기 상충 영역에 대응하는 파라미터들이 상기 선택된 코스트 및 상기 나머지 코스트 중에서 적어도 하나의 최적해로 수렴할 때까지 지속적으로 업데이트를 반복할 수 있다.
상기 상충 영역에 대응하는 파라미터들은 상기 선택된 코스트의 최적해로 수렴되는 파라미터들과 상기 나머지 코스트의 최적해로 수렴되는 파라미터들로 분리될 수 있다.
상기 상충 영역에 대응하는 파라미터들 각각은 상기 선택된 코스트의 최적해 및 상기 나머지 코스트의 최적해 중에서 어느 하나로 드리프트될 수 있다.
도 1은 일 실시예에 따른 신경망의 학습 정확도 향상 장치의 개략적인 블록도를 나타낸다.
도 2a는 일 실시예에 따른 일반적인 신경망 업데이트를 설명하기 위한 일 예를 나타낸다.
도 2b는 일 실시예에 따른 상충 영역에서의 신경망 업데이트를 설명하기 위한 일 예를 나타낸다.
도 3은 일 실시예에 따른 신경망을 업데이트하기 위한 알고리즘을 나타낸다.
도 4a는 일 실시예에 따른 신경망의 코스트를 나타낸다.
도 4b는 도 4a에 도시된 코스트의 그래디언트를 나타낸다.
도 4c는 도 4a에 도시된 코스트의 모멘텀을 나타낸다.
도 5는 일 실시예에 따른 신경망의 학습 정확도를 나타낸다.
도 6은 도 1에 도시된 프로세서의 동작을 설명하기 위한 순서도를 나타낸다.
도 2a는 일 실시예에 따른 일반적인 신경망 업데이트를 설명하기 위한 일 예를 나타낸다.
도 2b는 일 실시예에 따른 상충 영역에서의 신경망 업데이트를 설명하기 위한 일 예를 나타낸다.
도 3은 일 실시예에 따른 신경망을 업데이트하기 위한 알고리즘을 나타낸다.
도 4a는 일 실시예에 따른 신경망의 코스트를 나타낸다.
도 4b는 도 4a에 도시된 코스트의 그래디언트를 나타낸다.
도 4c는 도 4a에 도시된 코스트의 모멘텀을 나타낸다.
도 5는 일 실시예에 따른 신경망의 학습 정확도를 나타낸다.
도 6은 도 1에 도시된 프로세서의 동작을 설명하기 위한 순서도를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 신경망의 학습 정확도 향상 장치의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 학습 정확도 향상 장치(10)는 통신부(a communicator; 100) 및 프로세서(a processor; 300)를 포함한다.
통신부(100)는 입력 데이터(또는 입력 정보)를 수신할 수 있다. 통신부(100)는 수신한 입력 데이터를 프로세서(300)로 출력할 수 있다. 예를 들어, 입력 데이터는 벡터 형태일 수 있다. 입력 데이터는 신경망을 통해 해결하고자 하는 문제에 관한 데이터인 수 있다. 입력 데이터는 신경망을 통해 언어를 번역하기 위한 단어 및 문장 등의 자연 언어에 관한 데이터일 수 있다. 입력 데이터는 europarl-v7으로, 30.70 만개의 토큰 수를 가지는 영어, 34.20만의 토큰 수를 가지는 프랑스어일 수 있다.
프로세서(300)는 입력 데이터에 대한 신경망의 복수의 코스트들(비용 함수들(cost functions))의 조합인 신경망의 전체 비용 함수를 이용하여 신경망을 업데이트할 수 있다.
먼저, 프로세서(300)는 복수의 코스트들의 조합을 신경망의 전체 비용 함수로 설정할 수 있다. 예를 들어, 프로세서(300)는 입력 데이터에 기초하여 신경망의 복수의 레이어(layer)들에서 히든 벡터(hidden vector)를 생성할 수 있다. 프로세서(300)는 히든 벡터에 기초하여 복수의 코스트들을 생성할 수 있다. 프로세서(300)는 복수의 코스트들의 합을 전체 비용 함수로 설정할 수 있다. 이때, 복수의 코스트들의 그래디언트의 방향은 벡터 공간에서 서로 같거나 반대일 수 있다.
이후에, 프로세서(300)는 신경망의 전체 비용 함수를 이용하여 신경망의 복수의 파라미터들을 업데이트함으로써 신경망을 업데이트할 수 있다. 이때, 복수의 파라미터들은 복수의 코스트들의 그래디언트의 시퀀스에 기초하여 변화될 수 있다. 복수의 코스트들의 그래디언트의 시퀀스는 벡터 공간에서의 복수의 코스트들의 그래디언트의 방향일 수 있다. 복수의 파라미터들은 신경망의 뉴런을 만들기 위해 사용되는 웨이트 및 바이어스를 의미할 수 있다.
코스트가 단일 코스트일 경우, 코스트에 대한 그래디언트는 단일 코스트에 대응하는 하나의 코스트 그래디언트일 수 있다.
코스트가 복수의 코스트들일 경우, 코스트에 대한 그래디언트는 복수의 코스트들에 대응하는 복수의 코스트 그래디언트들일 수 있다.
복수의 코스트들의 그래디언트의 방향이 같아 복수의 코스트들이 서로 상쇄(또는 상충)되지 않는 경우, 프로세서(300)는 신경망의 전체 비용 함수를 이용하여 신경망의 복수의 파라미터들을 반복적으로 업데이트할 수 있다. 예를 들어, 프로세서(300)는 복수의 코스트들의 그래디언트 값의 합의 일정 비율을 신경망의 복수의 파라미터들에 더하며 업데이트를 반복적으로 수행할 수 있다. 이때, 복수의 코스트들 각각의 로컬 최적해의 위치는 유사할 수 있다. 신경망의 복수의 파라미터들은 반복적으로 업데이트되어 복수의 코스트들의 최적해로 수렴될 수 있다.
복수의 코스트들의 그래디언트가 서로 상쇄되는 경우, 신경망은 신경망의 로컬 최적해의 품질이 감소되고, 신경망의 학습 정확도가 감소되고, 신경망의 가중치가 감소되는 문제를 가질 수 있다. 상술한 문제는 다목적(multi-objective optimization) 최적화 문제를 해결할 때 발생하는 매우 일반적인 현상일 수 있다. 예를 들어, 신경망을 이용하는 실제 많은 어플리케이션들은 데이터가 부족으로 인해 복수의 서브 코스트들 각각을 분리하여 최적값을 획득할 수 없다.
복수의 코스트들의 그래디언트의 방향이 서로 달라 복수의 코스트들이 서로 상쇄되는 상쇄 영역에서 다목적 공유 네트워크를 유지하면서, 입력 데이터의 의미를 더욱 정확하게 추정하기 위해, 프로세서(300)는 복수의 코스트 중에서 선택된 코스트 및 남겨진 코스트를 이용하여 신경망의 복수의 파라미터들을 반복적으로 업데이트할 수 있다.
예를 들어, 프로세서(300)는 신경망의 전체 비용 함수를 이용하여 신경망의 복수의 파라미터들을 업데이트하는 동안 복수의 코스트들의 그래디언트가 서로 상쇄되는 상충 영역에서 복수의 코스트들 중에서 선택된 코스트만을 이용하여 복수의 파라미터들 중에서 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다. 이때, 상충 영역은 복수의 코스트들의 그래디언트가 서로 상쇄되어 전체 비용 함수가 0으로 수렴되는 영역일 수 있다. 신경망의 전체 비용 함수는 복수의 코스트들의 그래디언트가 상쇄되지 않는 경우에 획득된 최적값 보다 낮거나 0일 수 있다.
즉, 상충 영역의 복수의 코스트들은 서로 상쇄되어 신경망의 최적해가 부정확해 질거나 최적해의 정확도에 제약이 있을 수 있다.
구체적으로, 프로세서(300)는 상충 영역에서 복수의 코스트들의 그래디언트가 서로 상쇄되는 코스트 조합을 검출할 수 있다.
프로세서(300)는 코스트 선택 확률에 따라 코스트 조합에서 적어도 하나 이상의 코스트를 선택할 수 있다. 이때, 코스트 선택 확률은 코스트 조합의 복수의 코스트들 각각이 선택될 확률일 수 있다. 코스트 선택 확률은 bernoulli 분포에 따른 확률일 수 있다.
프로세서(300)는 선택된 코스트만을 이용하여 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다. 예를 들어, 프로세서(300)는 상충 영역에서 복수의 코스트들 중에서 선택되지 않은 코스트들의 그래디언트 계산을 제외할 수 있다. 프로세서(300)는 선택된 코스트의 그래디언트 계산을 수행하여 선택된 코스트의 그래디언트 값의 일정 비율을 상충 영역에 대응하는 파라미터들에 더하며 업데이트를 반복적으로 수행할 수 있다. 이때, 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 선택된 코스트의 최적해로 수렴될 수 있다.
프로세서(300)는 전체 비용 함수로 신경망의 복수의 파라미터들을 업데이터하는 동안 상충 영역에서 복수의 코스트들 중에서 선택된 코스트를 제외한 나머지 코스트만을 이용하여 복수의 파라미터들 중에서 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다. 이때, 상충 영역에 대응하는 신경망의 파라미터들 중에서 하나 이상의 파라미터는 나머지 코스트의 최적해로 수렴될 수 있다.
프로세서(300)는 선택된 코스트를 이용하여 신경망을 업데이트하는 동작과 유사하게 나머지 코스트를 이용하여 신경망을 업데이트할 수 있다.
프로세서(300)는 상충 영역에 대응하는 파라미터들이 선택된 코스트 및 나머지 코스트 중에서 적어도 하나의 최적해로 수렴할 때까지 지속적으로 업데이트를 반복할 수 있다. 예를 들어, 상충 영역에 대응하는 파라미터들 각각은 반복적으로 업데이트되어 선택된 코스트의 최적해 및 나머지 코스트의 최적해 중에서 어느 하나로 드리프드될 수 있다. 이에, 상충 영역에 대응하는 파라미터들은 선택된 코스트 및 나머지 코스트 중에서 적어도 하나의 최적해에 기반한 분리 압력에 의해 선택된 코스트의 최적해로 수렴되는 파라미터들과 나머지 코스트의 최적해로 수렴되는 파라미터들로 분리될 수 있다.
즉, 학습 정확도 향상 장치(10)는 신경망의 복수의 코스트들의 그래디언트가 상쇄되는 상충 영역(conflict region)에서 복수의 코스트들 중에서 선택된 코스트 및 나머지 코스트 중에서 적어도 하나를 이용하여 상충 영역에 대응하는 신경망의 파라미터들을 반복적으로 업데이트할 수 있다.
이에, 학습 정확도 향상 장치(10)는 상충되는 복수의 코스트들의 그래디언트 계산을 확률적으로 제외시키고, 신경망의 학습 정확도를 향상시키고, 신경망의 최적해의 품질을 항상시키고, 신경망의 가중치를 향상시키고, 비관측 데이터인 테스트 데이터 및 실제의 범용적인 테스트 환경에서 신경망의 성능을 향상시킬 수 있다.
도 2a는 일 실시예에 따른 일반적인 신경망 업데이트를 설명하기 위한 일 예를 나타내고, 도 2b는 일 실시예에 따른 상충 영역에서의 신경망 업데이트를 설명하기 위한 일 예를 나타내고, 도 3은 일 실시예에 따른 신경망을 업데이트하기 위한 알고리즘을 나타낸다.
도 2a 내지 도 3을 참조하면, 신경망은 양방향성 어텐션 모델(bidirectional attention model)일 수 있다. 양방향성 어텐션 모델(bidirectional attention model)은 입력 데이터에 대한 컨텍스트 벡터를 생성할 수 있다. 컨텍스트 벡터는 모든 LSTM 스택들(LSTM stacks)에 제공될 수 있다. 전체 비용 함수는 깊이가 k로 제어되는 계층적 softmax일 수 있다. 전체 비용 함수는 다중 목적들, regularizer 및 장벽 함수들에 사용될 수 있다.
Softmax로 설계된 전체 비용 함수는 수학식 1로 나타낼 수 있다.
수학식 1의 c는 클래스 ID(identification)이고, k 확장의 넘버이고, 는 의 i 번째 위치에서의 넘버이고, 는 i 번째 위치에서의 클래스를 생성할 확률이고, 는 위치 h에서 생성된 softmax 출력을 나타낼 수 있다.
k를 1024로 설정하고, 계층 구조의 깊이를 2로 설정한 경우, 신경망은 표 1로 나타낼 수 있다.
프로세서(300)는 도 3a 내지 도 3c에 도시된 상충 영역을 제외한 나머지 영역에서 도 2a와 같이 제1 코스트 및 제2 코스트의 조합인 신경망의 전체 비용 함수를 이용하여 상충 영역을 제외한 나머지 영역에 대응하는 신경망의 복수의 파라미터들을 업데이트할 수 있다(case 1).
프로세서(300)는 코스트 선택 확률에 따라 도 3a 내지 도 3c에 도시된 상충 영역에서 도 2b와 같이 제1 코스트를 선택하여 상충 영역에 대응하는 파라미터들을 선 업데이트한 후 제2 코스트를 선택하여 상충 영역에 대응하는 파라미터들을 후 업데이트할 수 있다(case 2). 이때, 케이스 2는 알고리즘 1을 통해 신경망의 업데이트가 수행될 수 있다.
예를 들어, 제1 코스트 및 제2 코스트의 온 및 오프는 코스트 선택 환률에 따라 전환될 수 있다. 먼저, 프로세서(300)는 코스트 선택 확률에 따라 제1 코스트를 온하고, 제2 코스트를 오프하여 제1 코스트의 그래디언트를 계산한 후 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다. 이후에, 프로세서(300)는 코스트 선택 확률에 따라 제1 코스트를 오프하고, 제2 코스트를 온하여 제2 코스트의 그래디언트를 계산한 후 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다.
제2 코스트의 그래디언트는 수학식 2로 나타낼 수 있다.
수학식 2의 은 제1 코스트, 는 제2 코스트, 은 제1 코스트에 의해 업데이트될 상충 영역에 대응하는 파라미터들에 대한 값, 은 제1 코스트에 의해 업데이트된 상충 영역에 대응하는 파라미터들에 대한 값, 은 을 업데이트하기 위한 제1 코스트의 그래디언트, 는 신경망의 학습률, 는 을 업데이트하기 위한 제2 코스트의 그래디언트, 는 에 대한 의 헤시스 메트릭스로, 헤시스 메트릭스의 메인 대각선 값을 나타낸다.
제1 코스트만을 이용하여 선 업데이트한 후, 제2 코스트만을 이용하여 후 업데이트를 진행한 경우, 두 연속적인 업데이트로 인한 총 업데이트 값은 수학식 3으로 나타낼 수 있다.
수학식 3의 은 총 업데이트 값이고, C는 제1 코스트 및 제2 코스트를 합한 전체 코스트를 나타낸다. 예를 들어, C는 상충 영역을 제외한 나머지 영역에서 신경망의 전체 비용 함수일 수 있다.
상충 영역에서의 총 업데이트 값인 는 신경망의 전체 코스트인 C의 그래디언트와 동일하지 않다. 상충 영역에서 C의 그래디언트는 제1 코스트 및 제2 코스트의 합으로 제1 코스트의 그래디언트 및 제2 코스트의 그래디언트의 상쇄로 인해 0일 수 있다. C가 0이고, C를 통해 업데이트되는 경우, 상충 영역에 대응하는 파라미터들은 업데이트 전과 동일한 값일 수 있다.
C의 그래디언트는 수학식 5로 나타낼 수 있다.
수학식 4는 수학식 5를 이용하여 수학식 6으로 나타낼 수 있다.
수학식 6의 는 제1 코스트 및 제2 코스트를 더한 전체 코스트로 업데이트한 업데이트 양(예를 들어, 0)과 제1 코스트로 선 업데이트하고, 제2 코스트로 후 업데이트한 업데이트 양의 차이를 나타냅니다. 업데이트 양의 차이는 상충 영역에 대응하는 파라미터들을 분리하는 분리 압력일 수 있습니다.
신경망의 코스트가 두 개 이상인 경우, 코스트 선택 확률에 따른 복수의 선택된 코스트들의 그래디언트는 수학식 7로 나타낼 수 있다.
수학식 7의 는 코스트 선택 확률에 따른 복수의 선택된 코스트들이고, 는 복수의 선택된 코스트들의 여집합이고, 는 을 업데이트하기 위한 의 그래디언트이고, 는 가 에 포함된 어느 하나의 코스트임을 나타내고, 는 d가 에 포함된 어느 하나의 코스트임을 나타낸다.
를 이용하여 업데이트를 수행한 후의 C의 그래디언트 값은 수학식 8로 나타낼 수 있다. 이때, C의 그래디언트 값은 업데이트를 시작하고, 상충이 발생하는 업데이트 순서일 때의 최종 C의 그래디언트 값일 수 있다.
즉, 프로세서(300)는 상충 영역에서 복수의 코스트 중에서 코스트 선택 확률에 따른 선택된 코스트만을 이용하여 신경망을 업데이트함으로써, 상충 영역에서 전체 코스트(예를 들어, 신경망의 전체 비용 함수)를 이용하여 업데이트 수행시 발생하는 업데이트 무반영 문제를 해결할 수 있다.
도 4a는 일 실시예에 따른 신경망의 코스트를 나타내고, 도 4b는 도 4a에 도시된 코스트의 그래디언트를 나타내고, 도 4c는 도 4a에 도시된 코스트의 모멘텀을 나타낸다.
도 4a 내지 도 4c를 참조하면, 제1 코스트(), 제2 코스트() 및 전체 코스트(C)는 도 4a의 그래프 1(graph 1)에 도시된다. 제1 코스트()의 그래디언트, 제2 코스트()의 그래디언트, 전체 코스트(C)의 그래디언트 및 선택된 코스트들()의 그래디언트는 도 4b의 그래프 2(graph 2)에 도시된다. 제1 코스트()의 모멘텀, 제2 코스트()의 모멘텀 및 전체 코스트(C)의 모멘텀은 도 4c의 그래프 3(graph 3)에 도시된다.
전체 코스트의 그래디언트는 음수 파라미터 값들에 양수 그래디언트를 할당하고, 양수 파라미터 값들에 음수 그래디언트를 할당한다. 이때, 상충 영역에 대응하는 파라미터들은 전체 코스트의 로컬 최적해에 수렴한다.
하지만, 선택된 코스트들의 그래디언트는 상충 영역에 대응하는 파라미터들 중에서 음수 파라미터에 음수 그래디언트를 할당하고, 양수 파라미터에 양수 그래디언트를 할당한다. 이때, 상충 영역에 대응하는 파라미터들은 선택된 코스트들의 그래디언트에 의한 분리 압력에 따라 복수의 로컬 최적해들 중에서 어느 하나에 수렴될 수 있다. 분리 압력은 선택된 코스트들에 대한 모멘텀의 크기(또는 분포)에 따라 결정될 수 있다.
신경망 모델이 복수의 코스트들의 개별적인 최적해인 복수의 로컬 최적해들을 획득할 수 있는 경우, 신경망의 정확도는 전체 코스트에 의해 결정된 최적해의 품질보다 더 높을수 있다.
도 5는 일 실시예에 따른 신경망의 학습 정확도를 나타낸다.
도 5를 참조하면, 네트워크의 분해 수준인 입력 데이터에 대한 신경망의 제1 코스트 및 제2 코스트의 활성화 수는 평가될 수 있다. 제1 코스트 및 제2 코스트들이 0.5 보단 큰 경우, 입력 데이터에 대해 계산된 중복 비율값들은 전체 코스트를 이용한 경우보다 선택된 코스트를 이용한 경우가 더 적게 중복된다.
즉, 신경망의 학습 정확도는 활성화들의 낮은 중복률을 보여주는 선택된 코스트를 이용하여 신경망의 파라미터들을 업데이트할 때 더 향상될 수 있다.
도 6은 도 1에 도시된 프로세서의 동작을 설명하기 위한 순서도를 나타낸다.
도 6을 참조하면, 프로세서(300)는 입력 데이터에 대한 신경망의 복수의 코스트들의 조합인 신경망의 전체 비용 함수를 이용하여 신경망의 복수의 파라미터들을 업데이트할 수 있다(S110).
프로세서(300)는 신경망의 복수의 파라미터들을 업데이트하는 동안, 복수의 코스트들의 그래디언트가 서로 상쇄되는 상충 영역에서 복수의 코스트들 중에서 선택된 코스트만을 이용하여 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다(S130).
프로세서(300)는 선택된 코스트로 상충 영역에 대응하는 파라미터들을 업데이트한 후 복수의 코스트들 중에서 선택된 코스트를 제외한 나머지 코스트를 이용하여 상충 영역에 대응하는 파라미터들을 업데이트할 수 있다(S150).
프로세서(300)는 상충 영역에 대응하는 파라미터들이 선택된 코스트의 최적해 및 나머지 코스트의 최적해 중에서 적어도 하나로 수렴할 때까지 단계 130 및 단계 150을 반복적으로 수행할 수 있다(S170).
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (18)
- 학습 정확도 향상 장치의 학습 정확도 향상 방법에 있어서,
상기 학습 정확도 향상 장치가 인공 신경망의 복수의 비용 함수들의 조합을 상기 인공 신경망의 전체 비용 함수로 설정하는 단계; 및
상기 학습 정확도 향상 장치가 상기 전체 비용 함수를 이용하여 상기 인공 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 복수의 비용 함수들 각각의 그래디언트가 서로 상쇄되는 상충 영역(conflict region)에서 상기 복수의 비용 함수들 중에서 선택된 비용 함수만을 이용하여 상기 복수의 파라미터들 중에서 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계
를 포함하고,
상기 상충 영역은 상기 복수의 비용 함수들의 그래디언트가 서로 상쇄되어 상기 전체 비용 함수가 0 으로 수렴되는 영역인 학습 정확도 향상 방법.
- 삭제
- 제1항에 있어서,
상기 업데이트하는 단계는,
상기 상충 영역에서 상기 복수의 비용 함수들의 그래디언트가 서로 상쇄되는 조합인 코스트 조합을 검출하는 단계;
코스트 선택 확률에 따라 상기 코스트 조합에서 적어도 하나 이상의 비용 함수를 선택하는 단계; 및
상기 선택된 비용 함수만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계
를 포함하는 학습 정확도 향상 방법.
- 제3항에 있어서,
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 선택된 비용 함수의 최적해로 수렴되는 학습 정확도 향상 방법.
- 제1항에 있어서,
상기 전체 비용 함수를 이용하여 상기 인공 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 상충 영역에서 상기 복수의 비용 함수들 중에서 상기 선택된 비용 함수를 제외한 나머지 비용 함수만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계
를 더 포함하는 학습 정확도 향상 방법.
- 제5항에 있어서,
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 나머지 비용 함수의 최적해로 수렴되는 학습 정확도 향상 방법.
- 제5항에 있어서,
상기 선택된 비용 함수만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계 및 상기 나머지 비용 함수만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 단계는 상기 상충 영역에 대응하는 파라미터들이 상기 선택된 비용 함수 및 상기 나머지 비용 함수 중에서 적어도 하나의 최적해로 수렴할 때까지 지속적으로 반복되는 학습 정확도 향상 방법.
- 제7항에 있어서,
상기 상충 영역에 대응하는 파라미터들은 상기 선택된 비용 함수의 최적해로 수렴되는 파라미터들과 상기 나머지 비용 함수의 최적해로 수렴되는 파라미터들로 분리되는 학습 정확도 향상 방법.
- 제8항에 있어서,
상기 상충 영역에 대응하는 파라미터들 각각은 상기 선택된 비용 함수의 최적해 및 상기 나머지 비용 함수의 최적해 중에서 어느 하나로 드리프트되는 학습 정확도 향상 방법.
- 통신부; 및
상기 통신부를 통한 입력 데이터에 대한 인공 신경망의 복수의 비용 함수들의 조합을 상기 인공 신경망의 전체 비용 함수로 설정하고, 상기 전체 비용 함수를 이용하여 상기 인공 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 복수의 비용 함수들의 그래디언트가 서로 상쇄되는 상충 영역(conflict region)에서 상기 복수의 비용 함수들 중에서 선택된 비용 함수만을 이용하여 상기 복수의 파라미터들 중에서 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 프로세서
를 포함하고,
상기 상충 영역은 상기 복수의 비용 함수들의 그래디언트가 서로 상쇄되어 상기 전체 비용 함수가 0 으로 수렴되는 영역인 학습 정확도 향상 장치.
- 삭제
- 제10항에 있어서,
상기 프로세서는 상기 상충 영역에서 상기 복수의 비용 함수들의 그래디언트가 서로 상쇄되는 조합인 코스트 조합을 검출하고, 코스트 선택 확률에 따라 상기 코스트 조합에서 적어도 하나 이상의 비용 함수를 선택하고, 상기 선택된 비용 함수만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 학습 정확도 향상 장치.
- 제12항에 있어서,
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 선택된 비용 함수의 최적해로 수렴되는 학습 정확도 향상 장치.
- 제10항에 있어서,
상기 프로세서는 상기 전체 비용 함수를 이용하여 상기 인공 신경망의 복수의 파라미터들을 업데이트하는 동안 상기 상충 영역에서 상기 복수의 비용 함수들 중에서 상기 선택된 비용 함수를 제외한 나머지 비용 함수만을 이용하여 상기 상충 영역에 대응하는 파라미터들을 업데이트하는 학습 정확도 향상 장치.
- 제14항에 있어서,
상기 상충 영역에 대응하는 파라미터들 중에서 하나 이상의 파라미터는 상기 나머지 비용 함수의 최적해로 수렴되는 학습 정확도 향상 장치.
- 제14항에 있어서,
상기 프로세서는 상기 상충 영역에 대응하는 파라미터들이 상기 선택된 비용 함수 및 상기 나머지 비용 함수 중에서 적어도 하나의 최적해로 수렴할 때까지 지속적으로 업데이트를 반복하는 학습 정확도 향상 장치.
- 제16항에 있어서,
상기 상충 영역에 대응하는 파라미터들은 상기 선택된 비용 함수의 최적해로 수렴되는 파라미터들과 상기 나머지 비용 함수의 최적해로 수렴되는 파라미터들로 분리되는 학습 정확도 향상 장치.
- 제17항에 있어서,
상기 상충 영역에 대응하는 파라미터들 각각은 상기 선택된 비용 함수의 최적해 및 상기 나머지 비용 함수의 최적해 중에서 어느 하나로 드리프트되는 학습 정확도 향상 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180101555A KR102001781B1 (ko) | 2018-08-28 | 2018-08-28 | 신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180101555A KR102001781B1 (ko) | 2018-08-28 | 2018-08-28 | 신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102001781B1 true KR102001781B1 (ko) | 2019-10-01 |
Family
ID=68207747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180101555A KR102001781B1 (ko) | 2018-08-28 | 2018-08-28 | 신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102001781B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052818A (zh) * | 2020-09-15 | 2020-12-08 | 浙江智慧视频安防创新中心有限公司 | 无监督域适应的行人检测方法、***及存储介质 |
-
2018
- 2018-08-28 KR KR1020180101555A patent/KR102001781B1/ko active
Non-Patent Citations (2)
Title |
---|
Goodfellow, Ian J., Oriol Vinyals, and Andrew M. Saxe. Qualitatively characterizing neural network optimization problems. arXiv preprint arXiv:1412.6544. 2014. * |
Hochreiter, Sepp, et al. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies. 2001. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052818A (zh) * | 2020-09-15 | 2020-12-08 | 浙江智慧视频安防创新中心有限公司 | 无监督域适应的行人检测方法、***及存储介质 |
CN112052818B (zh) * | 2020-09-15 | 2024-03-22 | 浙江智慧视频安防创新中心有限公司 | 无监督域适应的行人检测方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102611938B1 (ko) | 신경망을 사용한 통합 회로 플로어 플랜 생성 | |
KR102302609B1 (ko) | 신경망 아키텍처 최적화 | |
US11475189B2 (en) | Adaptive error correction in quantum computing | |
KR102424540B1 (ko) | 문장 생성 모델의 업데이트 방법 및 문장 생성 장치 | |
Levin et al. | Dynamic finite element model updating using neural networks | |
US20170103308A1 (en) | Acceleration of convolutional neural network training using stochastic perforation | |
Wan et al. | An improved hybrid genetic algorithm with a new local search procedure | |
Hu et al. | A dynamic adjusting reward function method for deep reinforcement learning with adjustable parameters | |
US10783452B2 (en) | Learning apparatus and method for learning a model corresponding to a function changing in time series | |
KR20180096469A (ko) | 딥 신경망을 이용한 정보 이전 방법 및 그 장치 | |
US11380301B2 (en) | Learning apparatus, speech recognition rank estimating apparatus, methods thereof, and program | |
KR102405578B1 (ko) | 지식 그래프를 이용한 상황 인지형 다중 문장 관계 추출 방법 및 장치 | |
JP7297038B2 (ja) | ニューラルネットワークモデルの事前トレーニング方法、装置、電子機器及び媒体 | |
CN110383302A (zh) | 小马约拉纳费米子代码 | |
JP6325762B1 (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
KR102001781B1 (ko) | 신경망의 학습 정확도 향상 방법 및 이를 수행하는 장치들 | |
CN108805287A (zh) | 遗传小波神经网络的陀螺随机误差补偿方法及*** | |
Liu et al. | Multiperson zero‐sum differential games for a class of uncertain nonlinear systems | |
WO2022241137A1 (en) | Physics-informed attention-based neural network | |
Pang et al. | Autonomous control of a particle accelerator using deep reinforcement learning | |
Dash | DECPNN: A hybrid stock predictor model using Differential Evolution and Chebyshev Polynomial neural network | |
Malazgirt et al. | Tauriel: Targeting traveling salesman problem with a deep reinforcement learning inspired architecture | |
JP2020009178A (ja) | 変換装置、学習装置、変換方法、学習方法及びプログラム | |
Hu et al. | Solving the TSP by the AALHNN algorithm | |
KR102436900B1 (ko) | 양방향 언어 모델을 이용한 문장 평가 방법 및 장치 |