KR20190118937A - 하이퍼파라미터의 최적화 시스템 및 방법 - Google Patents
하이퍼파라미터의 최적화 시스템 및 방법 Download PDFInfo
- Publication number
- KR20190118937A KR20190118937A KR1020180061277A KR20180061277A KR20190118937A KR 20190118937 A KR20190118937 A KR 20190118937A KR 1020180061277 A KR1020180061277 A KR 1020180061277A KR 20180061277 A KR20180061277 A KR 20180061277A KR 20190118937 A KR20190118937 A KR 20190118937A
- Authority
- KR
- South Korea
- Prior art keywords
- hyperparameter
- data
- learning
- loss
- candidate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000005457 optimization Methods 0.000 title claims abstract description 52
- 238000011156 evaluation Methods 0.000 claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 34
- 230000035945 sensitivity Effects 0.000 claims description 5
- 241000009298 Trigla lyra Species 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007786 learning performance Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
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
-
- 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/04—Architecture, e.g. interconnection topology
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
하이퍼파라미터의 최적화 시스템 및 방법이 제공된다. 본 발명의 일 실시예에 따른 하이퍼파라미터의 최적화 시스템은, 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하고, 상기 특징 벡터 및 K-NN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 복수의 학습 데이터 중 최적의 하이퍼파라미터(hyperparameter)를 탐색하는 데 사용될 하나 이상의 학습 데이터를 선별하는 데이터 선별부; 선별된 상기 학습 데이터를 기반으로 베이신 호핑(basin hopping) 알고리즘을 반복적으로 수행하여 상기 하이퍼파라미터의 탐색 범위를 제한하고, 제한된 상기 탐색 범위 내에서 베이지안 최적화(Bayesian Optimization) 알고리즘을 수행하여 하나의 하이퍼파라미터를 추천하는 파라미터 탐색부; 및 추천된 상기 하이퍼파라미터를 기반으로 대상 모델(target model)에서의 학습 및 성능에 대한 평가(evaluation)를 수행하여 새로운 모델을 생성하는 모델 생성부를 포함한다.
Description
본 발명의 실시예들은 딥러닝 모델과 같은 대상 모델(target model)의 학습 속도와 성능에 큰 영향을 미치는 하이퍼파라미터를 최적화하는 기술과 관련된다.
딥러닝(Deep Learning) 모델은 하이퍼파라미터(Hyperparameter)에 따라 그 학습 속도와 성능이 달라지게 된다. 하이퍼파라미터는 학습을 통해 튜닝 또는 최적화해야 하는 주변수가 아니라 학습 진도율이나 일반화 변수처럼 사람들이 선험적 지식(priori)으로 설정하거나 외부 모델 메커니즘을 통해 자동으로 설정되는 변수를 의미한다. 상기 하이퍼파라미터는 예를 들어, 학습 진도율(learning rate), 일반화 변수(regularization parameter), 학습(training)의 반복 횟수, 히든 유닛(hidden unit)의 개수 등이 될 수 있다.
종래에는 그리드 탐색(grid search)이나 랜덤 탐색(random search) 등의 방식으로 하이퍼파라미터를 선정한 후 학습을 수행하였으나, 이 경우 하이퍼파라미터 선정을 위해 사용된 학습 데이터의 양, 네트워크 아키텍처의 깊이 등에 따라 많은 시간이 소요되는 문제점이 있었다. 또한, 최근에는 하이퍼파라미터를 최적화하는 기법으로서 베이지안 최적화(Bayesian Optimization) 알고리즘이 사용되고 있으나, 상기 베이지안 최적화 알고리즘의 경우 수 시간 내지 수 일 소요되는 탐색 시간과 국부적 최적해(local optimum) 를 탐색할 가능성 때문에 실제 사업에 활용되는 데에는 제약이 있다.
본 발명의 실시예들은 대상 모델의 구성 및 학습 과정에서 소요되는 시간을 단축시키고 하이퍼파라미터의 전역 최적해(global optimum)를 찾는 수단을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하고, 상기 특징 벡터 및 K-NN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 복수의 학습 데이터 중 최적의 하이퍼파라미터(hyperparameter)를 탐색하는 데 사용될 하나 이상의 학습 데이터를 선별하는 데이터 선별부; 선별된 상기 학습 데이터를 기반으로 베이신 호핑(basin hopping) 알고리즘을 반복적으로 수행하여 상기 하이퍼파라미터의 탐색 범위를 제한하고, 제한된 상기 탐색 범위 내에서 베이지안 최적화(Bayesian Optimization) 알고리즘을 수행하여 하나의 하이퍼파라미터를 추천하는 파라미터 탐색부; 및 추천된 상기 하이퍼파라미터를 기반으로 대상 모델(target model)에서의 학습 및 성능에 대한 평가(evaluation)를 수행하여 새로운 모델을 생성하는 모델 생성부를 포함하는, 하이퍼파라미터의 최적화 시스템이 제공된다.
상기 데이터 선별부는, 각 학습 데이터의 특징 벡터에 대해 상기 K-NN 알고리즘을 적용하여 상기 복수의 학습 데이터 중 하나인 타깃 데이터의 클래스(class)와 상기 타깃 데이터가 속한 영역의 대표 클래스를 결정하고, 상기 타깃 데이터의 클래스가 상기 대표 클래스와 상이한 경우 상기 타깃 데이터를 상기 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별할 수 있다.
상기 데이터 선별부는, 각 클래스별 상기 영역 내 학습 데이터들의 개수 및 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리를 고려하여 상기 하나 이상의 학습 데이터를 선별할 수 있다.
상기 파라미터 탐색부는, 상기 베이신 호핑 알고리즘 또는 상기 베이지안 최적화 알고리즘으로부터 도출되는 복수의 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실(loss) 지표 및 성능 평가 지표를 각각 저장하고, k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 성능 평가시 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균(moving average)을 계산하며, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표와 상기 이동 평균을 비교할 수 있다.
상기 파라미터 탐색부는, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 미만인 경우 학습의 조기 종료(early stopping) 여부를 결정하기 전에 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 종료시키고, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상인 경우 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 계속적으로 수행할 수 있다.
상기 파라미터 탐색부는, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상이고 상기 k번째 후보 하이퍼파라미터에 대한 성능 평가 지표가 상기 저장된 성능 평가 지표들 중 하나보다 큰 경우 상기 n개의 손실 지표 중 가장 낮은 성능 평가 지표에 대응되는 손실 지표를 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표로 교체하여 상기 이동 평균을 재계산할 수 있다.
상기 손실 지표는, 상기 대상 모델의 학습 과정에서 출력되는 손실의 Nat (natural unit of information) 값일 수 있다.
상기 성능 평가 지표는, 상기 대상 모델의 정확도(accuracy), 에러율(error rate), 민감도(sensitivity), 정밀성(precision), 특이도(specificity) 및 오탐율(false Positive rate) 중 하나 이상을 포함할 수 있다.
상기 파라미터 탐색부는, 선별된 상기 학습 데이터를 기반으로 상기 베이신 호핑 알고리즘을 반복적으로 수행하여 복수의 제1 후보 하이퍼파라미터를 도출하고, 상기 각 제1 후보 하이퍼파라미터의 최소값과 최대값을 상기 하이퍼파라미터의 탐색 범위로 제한할 수 있다.
상기 파라미터 탐색부는, 제한된 상기 탐색 범위 내에서 상기 베이지안 최적화 알고리즘을 반복적으로 수행하여 복수의 제2 후보 하이퍼파라미터를 도출하고, 상기 복수의 제1 후보 파이퍼파라미터 및 상기 복수의 제2 후보하이퍼파라미터 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 추천할 수 있다.
다른 예시적인 실시예에 따르면, 데이터 선별부에서, 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하는 단계; 상기 데이터 선별부에서, 상기 특징 벡터 및 K-NN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 복수의 학습 데이터 중 최적의 하이퍼파라미터(hyperparameter)를 탐색하는 데 사용될 하나 이상의 학습 데이터를 선별하는 단계; 파라미터 탐색부에서, 선별된 상기 학습 데이터를 기반으로 베이신 호핑(basin hopping) 알고리즘을 반복적으로 수행하여 상기 하이퍼파라미터의 탐색 범위를 제한하는 단계; 상기 파라미터 탐색부에서, 제한된 상기 탐색 범위 내에서 베이지안 최적화(Bayesian Optimization) 알고리즘을 수행하여 하나의 하이퍼파라미터를 추천하는 단계; 및 모델 생성부에서, 추천된 상기 하이퍼파라미터를 기반으로 대상 모델(target model)에서의 학습 및 상기 대상 모델의 성능에 대한 평가(evaluation)를 수행하여 새로운 모델을 생성하는 단계를 포함하는, 하이퍼파라미터 최적화 방법이 제공된다.
상기 하나 이상의 학습 데이터를 선별하는 단계는, 각 학습 데이터의 특징 벡터에 대해 상기 K-NN 알고리즘을 적용하여 상기 복수의 학습 데이터 중 하나인 타깃 데이터의 클래스(class)와 상기 타깃 데이터가 속한 영역의 대표 클래스를 결정하고, 상기 타깃 데이터의 클래스가 상기 대표 클래스와 상이한 경우 상기 타깃 데이터를 상기 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별할 수 있다.
상기 하나 이상의 학습 데이터를 선별하는 단계는, 각 클래스별 상기 영역 내 학습 데이터들의 개수 및 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리를 고려하여 상기 하나 이상의 학습 데이터를 선별할 수 있다.
상기 하이퍼파라미터 최적화 방법은, 상기 파라미터 탐색부에서, 상기 베이신 호핑 알고리즘 또는 상기 베이지안 최적화 알고리즘으로부터 도출되는 복수의 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실(loss) 지표 및 성능 평가 지표를 각각 저장하는 단계; 상기 파라미터 탐색부에서, k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 성능 평가시 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균(moving average)을 계산하는 단계; 및 상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표와 상기 이동 평균을 비교하는 단계를 더 포함할 수 있다.
상기 하이퍼파라미터 최적화 방법은, 상기 비교하는 단계 이후, 상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 미만인 경우 학습의 조기 종료(early stopping) 여부를 결정하기 전에 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 종료시키는 단계; 또는 상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상인 경우 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 계속적으로 수행하는 단계를 더 포함할 수 있다.
상기 하이퍼파라미터 최적화 방법은, 상기 비교하는 단계 이후, 상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상이고 상기 k번째 후보 하이퍼파라미터에 대한 성능 평가 지표가 상기 저장된 성능 평가 지표들 중 하나보다 큰 경우 상기 n개의 손실 지표 중 가장 낮은 성능 평가 지표에 대응되는 손실 지표를 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표로 교체하여 상기 이동 평균을 재계산하는 단계를 더 포함할 수 있다.
상기 손실 지표는, 상기 대상 모델의 학습 과정에서 출력되는 손실의 Nat (natural unit of information) 값일 수 있다.
상기 성능 평가 지표는, 상기 대상 모델의 정확도(accuracy), 에러율(error rate), 민감도(sensitivity), 정밀성(precision), 특이도(specificity) 및 오탐율(false Positive rate) 중 하나 이상을 포함할 수 있다.
상기 하이퍼파라미터의 탐색 범위를 제한하는 단계는, 상기 하이퍼파라미터의 초기 탐색 범위를 설정하고, 상기 대상 모델을 학습시키는 과정에서 상기 베이신 호핑 알고리즘으로부터 도출된 각 제1 후보 하이퍼파라미터의 최소값과 최대값을 상기 하이퍼파라미터의 탐색 범위로 제한할 수 있다.
상기 하나의 하이퍼파라미터를 추천하는 단계는, 상기 각 제1 후보 하이퍼파라미터, 및 상기 대상 모델을 학습시키는 과정에서 상기 베이지안 최적화 알고리즘으로부터 도출된 각 제2 후보 하이퍼파라미터에 대해 상기 대상 모델의 성능에 대한 평가를 수행하고, 상기 각 제1 후보 하이퍼파라미터 및 상기 각 제2 후보하이퍼파라미터 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 추천할 수 있다.
본 발명의 실시예들에 따르면, 베이신 호핑 알고리즘을 반복적으로 수행함으로써 도출되는 후보 하이퍼파라미터의 최소값과 최대값을 하이퍼파라미터의 탐색 범위로 제한하고 상기 탐색 범위 내에서 베이지안 최적화 알고리즘을 수행함으로써, 하이퍼파라미터의 탐색 시간을 줄이면서 전역 최적해(global optimum) 효율적으로 찾을 수 있다.
또한, 본 발명의 실시예들에 따르면, 하이퍼파라미터 탐색 과정에서 학습의 조기 종료 여부를 결정하기 전 추가적인 학습의 수행여부를 결정함으로써, 학습 시간을 단축시키고 이에 따라 전체 탐색 시간을 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 최적화 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 제1 실시예에 따른 데이터 선별부에서 학습 데이터를 선별하는 방법을 설명하기 위한 흐름도
도 3은 본 발명의 제2 실시예에 따른 데이터 선별부에서 학습 데이터를 선별하는 방법을 설명하기 위한 흐름도
도 4는 본 발명의 실시예들에 따른 학습 데이터 선별 과정을 나타낸 예시
도 5는 본 발명의 일 실시예에 따른 파라미터 탐색부에서 제1 탐색 과정을 수행하는 방법을 설명하기 위한 흐름도
도 6은 본 발명의 일 실시예에 따른 파라미터 탐색부에서 제2 탐색 과정을 수행하는 방법을 설명하기 위한 흐름도
도 7은 본 발명의 일 실시예에 따른 모델 생성부에서 새로운 모델을 생성하는 방법을 설명하기 위한 흐름도
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 본 발명의 제1 실시예에 따른 데이터 선별부에서 학습 데이터를 선별하는 방법을 설명하기 위한 흐름도
도 3은 본 발명의 제2 실시예에 따른 데이터 선별부에서 학습 데이터를 선별하는 방법을 설명하기 위한 흐름도
도 4는 본 발명의 실시예들에 따른 학습 데이터 선별 과정을 나타낸 예시
도 5는 본 발명의 일 실시예에 따른 파라미터 탐색부에서 제1 탐색 과정을 수행하는 방법을 설명하기 위한 흐름도
도 6은 본 발명의 일 실시예에 따른 파라미터 탐색부에서 제2 탐색 과정을 수행하는 방법을 설명하기 위한 흐름도
도 7은 본 발명의 일 실시예에 따른 모델 생성부에서 새로운 모델을 생성하는 방법을 설명하기 위한 흐름도
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 최적화 시스템(100)의 상세 구성을 나타낸 블록도이다. 본 발명의 일 실시예에 따른 최적화 시스템(100)은 대상 모델(target model)의 학습 속도와 성능에 큰 영향을 미치는 하이퍼파라미터(hyperparameter)를 최적화하기 위한 시스템이다.
본 실시예들에 있어서, 대상 모델은 학습(training) 및 성능에 대한 평가(evaluation)의 대상이 되는 목적 함수(objective function)로서, 예를 들어 딥러닝 모델, SVM(Support Vector Machine) 모델 등이 이에 해당할 수 있다. 또한, 하이퍼파라미터는 학습을 통해 튜닝 또는 최적화해야 하는 주변수가 아니라 학습 진도율이나 일반화 변수처럼 사람들이 선험적 지식(priori)으로 설정하거나 외부 모델 메커니즘을 통해 자동으로 설정되는 변수를 의미한다. 상기 하이퍼파라미터는 예를 들어, 학습 진도율(learning rate), 일반화 변수(regularization parameter), 학습(training)의 반복 횟수, 히든 유닛(hidden unit)의 개수 등이 될 수 있다. 또한, 대상 모델에서의 학습은 학습 데이터로부터 계산되는 손실 함수(loss function)를 최소화하는 과정을 의미하며, 하이퍼파라미터의 최적화는 손실 함수의 값을 가능한 한 낮추는 매개변수(또는 목적 함수의 함수값을 최대화 또는 최소화시키는 매개변수)를 탐색하는 것, 즉 오차를 최소화하는 최적의 가중치를 탐색하는 것을 의미한다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 최적화 시스템(100)은 데이터 선별부(102), 파라미터 탐색부(104) 및 모델 생성부(106)를 포함한다.
데이터 선별부(102)는 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하고, 상기 특징 벡터 및 K-NN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 복수의 학습 데이터 중 최적의 하이퍼파라미터를 탐색하는 데 사용될 하나 이상의 학습 데이터를 선별한다. 종래에는 최적의 하이퍼파라미터를 찾기 위해 전체 학습 데이터 또는 무작위 추출을 통해 선별된 학습 데이터들을 활용하였으나, 이 경우 학습 시간이 오래 걸리거나 학습 성능이 다소 떨어지는 문제점이 있었다. 이에 따라, 본 발명의 실시예들에서는 전체 학습 데이터 대신 학습 성능에 영향도(또는 불확실성)가 높은 학습 데이터를 선별한 후 선별된 상기 학습 데이터를 기초로 하이퍼파라미터를 탐색하도록 하였다.
이를 위해, 데이터 선별부(102)는 먼저 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출할 수 있다. 이후, 데이터 선별부(102)는 각 학습 데이터의 특징 벡터에 대해 상기 K-NN 알고리즘을 적용하여 상기 복수의 학습 데이터 중 하나인 타깃 데이터의 클래스(class)와 상기 타깃 데이터가 속한 영역의 대표 클래스를 결정할 수 있다. 구체적으로, 데이터 선별부(102)는 상기 특징 벡터를 이용하여 각 학습 데이터 간 유클리디안 거리(Euclidian distance)를 계산하여 타깃 데이터의 클래스와 상기 타깃 데이터 주변의 학습 데이터들의 클래스를 각각 결정하고, 이로부터 상기 타깃 데이터가 속한 영역의 대표 클래스, 즉 상기 영역에 가장 많이 존재하는 클래스를 결정할 수 있다. 이때, 상기 영역의 경계, 즉 K-NN 알고리즘의 K는 예를 들어, 아래 수학식 1과 같이 계산될 수 있다.
[수학식 1]
만약, 상기 타깃 데이터의 클래스가 상기 대표 클래스와 상이한 경우, 데이터 선별부(102)는 상기 타깃 데이터를 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별할 수 있다.
일 예시로서, 타깃 데이터의 클래스가 a이며 타깃 클래스가 속한 영역의 대표 클래스가 b인 경우, 상기 타깃 데이터는 학습 성능(또는 분류 성능)에 영향도가 높은 학습 데이터인 것으로 볼 수 있다. 이에 따라, 데이터 선별부(102)는 상기 타깃 데이터를 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별할 수 있다.
또한, 데이터 선별부(102)는 각 클래스별 상기 영역 내 학습 데이터들의 개수 및 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리를 고려하여 상기 하나 이상의 학습 데이터를 선별할 수도 있다. 구체적으로, 데이터 선별부(102)는 상기 특징 벡터 및 K-NN 알고리즘을 이용하여 각 클래스별 상기 영역 내 학습 데이터들의 개수를 획득하고, 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리에 따라 상기 각 클래스별로 보다 카운트(borda count) 알고리즘을 적용하여 각 클래스별 보팅 결과(voting result)를 도출할 수 있다. 이때, 데이터 선별부(102)는 상기 타깃 데이터와 가까운 거리에 존재하는 학습 데이터에 대해 더 높은 가중치를 부여할 수 있다.
위 예시에서, 타깃 데이터의 클래스(예를 들어, a)와 동일한 클래스를 갖는 학습 데이터가 3개 존재하고 상기 타깃 클래스가 속한 영역의 대표 클래스(예를 들어, b)와 동일한 클래스를 갖는 학습 데이터가 4개 존재하는 상태에서 a 클래스의 학습 데이터들이 b 클래스의 학습 데이터들보다 타깃 데이터로부터 가까운 위치에 존재하는 경우, 데이터 선별부(102)는 상기 타깃 데이터를 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별하지 않을 수 있다. 이 경우, 타깃 데이터에 대응되는 클래스의 개수가 상대적으로 적지만 상기 클래스를 갖는 학습 데이터가 상대적으로 몰려 있어 이들을 분류하는 것이 크게 어렵지 않으므로, 데이터 선별부(102)는 상기 타깃 데이터를 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별하지 않을 수 있다.
이와 같이, 데이터 선별부(102)는 K-NN 알고리즘, 보다 카운트 등을 이용하여 전체 학습 데이터 대신 학습 성능에 영향도가 높은 학습 데이터를 선별할 수 있다. 다만, 데이터 선별부(102)가 학습 데이터를 선별하는 방식이 이에 한정되는 것은 아니며, 데이터 선별부(102)는 다양한 방식으로 상기 학습 데이터를 선별할 수 있다. 예를 들어, 데이터 선별부(102)는 프로덕트 양자화(Product Quantization) 기법을 이용하여 학습 데이터를 선별할 수도 있다. 구체적으로, 데이터 선별부(102)는 각 학습 데이터의 특징 벡터를 M 등분하여 서브벡터(subvector)를 생성하고, 각 서브 벡터에 대해 k-평균 클러스터링(k-mean clustering) 기법 등을 적용하여 다수의 중심(centroid)을 생성할 수 있다. 데이터 선별부(102)는 각 서브벡터에 가장 가까운 중심에 대해 유클리디안 거리를 계산하고, 이에 따라 각 학습 데이터의 특징 벡터는 상기 중심과의 거리로부터 연산 가능한 거리 값들을 갖게 된다. 데이터 선별부(102)는 각 클래스별로 동일한 수의 학습 데이터 추출을 위해 각 클래스별로 가장 작은 거리 값과 가장 큰 거리 값, 중간 범위의 거리 값을 갖는 학습 데이터를 각각 선별할 수 있으며, 이와 같이 선별된 학습 데이터가 추후 상기 하이퍼파라미터를 탐색하는 데 사용될 수 있다.
파라미터 탐색부(104)는 선별된 상기 학습 데이터를 기반으로 최적의 하이퍼파라미터를 탐색한다. 종래에는 최적의 하이퍼파라미터를 찾기 위해 초기 탐색 범위를 설정하고 상기 탐색 범위로 베이지안 최적화(Bayesian Optimization) 알고리즘을 수행하였다. 일반적으로, 베이지안 최적화 알고리즘은 Exploration-Exploitation의 trade-off를 이용하여 전역 최적해(global optimum)를 찾아가게 된다. 그러나, 베이지안 최적화 알고리즘의 경우 상대적으로 Exploration이 부족하여 초기 탐색 범위 또는 최초의 후보 하이퍼파라미터를 잘못 선정할 경우 국부적 최적해(local optimum)를 탐색할 가능성이 있다. 이에 따라, 본 발명의 실시예들에서는 베이지안 최적화 알고리즘을 수행하기 전에 베이신 호핑 알고리즘을 수행하여 하이퍼파라미터의 탐색 범위를 줄이고 줄어든 탐색 범위 내에서 상기 베이지안 최적화 알고리즘을 수행하도록 하였다.
보다 구체적으로 설명하면, 파라미터 탐색부(104)는 아래와 같은 제1 탐색 과정 및 제2 탐색 과정을 통해 최적의 하이퍼파라미터를 결정할 수 있다. 여기서, 제1 탐색 과정은 베이신 호핑 알고리즘을 통해 하이퍼파라미터를 탐색하는 과정을 의미하며, 제2 탐색 과정은 베이지안 최적화 알고리즘을 통해 하이퍼파라미터를 탐색하는 과정을 의미한다.
* 제1 탐색 과정
파라미터 탐색부(104)는 선별된 학습 데이터를 기반으로 베이신 호핑 알고리즘을 반복적으로 수행하여 복수의 제1 후보 하이퍼파라미터를 도출할 수 있다. 베이신 호핑 알고리즘은 목적 함수의 전역 최적해를 확률적으로 탐색하는 알고리즘으로서, Exploration에 강인한 장점이 있다. 복수의 제1 후보 하이퍼파라미터가 도출되는 경우, 파라미터 탐색부(104)는 도출된 각 제1 후보 하이퍼파라미터의 최소값과 최대값을 상기 하이퍼파라미터의 탐색 범위로 제한(또는 설정)할 수 있다. 한편, 베이신 호핑 알고리즘을 통해 제1 후보 하이퍼파라미터가 도출되는 방법은 본 발명이 속한 기술분야에서 일반적으로 널리 알려져 있는바 이에 대한 자세한 설명은 생략하기로 한다.
* 제2 탐색 과정
파라미터 탐색부(104)는 제1 탐색 과정에서 제한된 상기 탐색 범위 내에서 베이지안 최적화 알고리즘을 반복적으로 수행하여 복수의 제2 후보 하이퍼파라미터를 도출한다. 베이지안 최적화 알고리즘은 베이신 호핑 알고리즘과 마찬가지로 목적 함수의 전역 최적해를 탐색하는 알고리즘이다. 다만, 베이지안 최적화 알고리즘의 경우 베이신 호핑 알고리즘에 비해 Exploitation에 강인한 장점이 있다. 파라미터 탐색부(104)는 상기 탐색 범위 내에서 상기 베이지안 최적화 알고리즘을 수행할 수 있으며, 이에 따라 상기 제2 후보 하이퍼파라미터 각각은 상기 탐색 범위 내에 존재하게 된다. 한편, 베이지안 최적화 알고리즘을 통해 제2 후보 하이퍼파라미터가 도출되는 방법은 본 발명이 속한 기술분야에서 일반적으로 널리 알려져 있는바 이에 대한 자세한 설명은 생략하기로 한다.
이후, 파라미터 탐색부(104)는 상기 복수의 제1 후보 파이퍼파라미터 및 상기 복수의 제2 후보하이퍼파라미터 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 추천할 수 있다.
이와 같이, 파라미터 탐색부(104)는 설정된 탐색 횟수만큼 베이신 호핑 알고리즘을 반복적으로 수행하여 탐색 범위를 제한하고, 상기 탐색 범위 내에서 설정된 탐색 횟수만큼 베이지안 최적화 알고리즘을 반복적으로 수행할 수 있다. 상기 탐색 횟수는 예를 들어, 사용자에 의해 미리 설정되어 있을 수 있다. 여기서는, 설명의 편의상 제1 탐색 과정에서의 탐색 횟수 및 제2 탐색 과정에서의 탐색 횟수가 각각 50번인 것으로 가정한다.
일 예시로서, 파라미터 탐색부(104)는 베이신 호핑 알고리즘을 50번 수행하여 h1 ~ h50 을 도출하고, h1 ~ h50 의 최소값(hmin)와 최대값(hmax)을 상기 탐색 범위로 제한할 수 있다(즉, hmin < 탐색 범위 < hmax). 이후, 파라미터 탐색부(104)는 상기 탐색 범위 내에서 베이지안 최적화 알고리즘을 50번 수행하여 h51 ~ h100 을 도출할 수 있다. 또한, 파라미터 탐색부(104)는 h1 ~ h100 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 최적의 하이퍼파라미터로 결정할 수 있다. 이하에서는, 설명의 편의상 베이신 호핑 알고리즘을 통해 도출되는 하이퍼파라미터들을 제1 후보 하이퍼파라미터, 베이지안 최적화 알고리즘을 통해 도출되는 하이퍼파라미터들을 제2 후보 하이퍼파라미터라 칭하기로 한다.
또한, 파라미터 탐색부(104)는 각 제1 후보 하이퍼파라미터 및 각 제2 후보 하이퍼파라미터에 대해 대상 모델을 학습시킬 수 있으며, 이 과정에서 각 제1 후보 하이퍼파라미터 및 각 제2 후보 하이퍼파라미터에 대한 대상 모델의 손실(loss) 지표 및 성능 평가 지표를 획득할 수 있다. 파라미터 탐색부(104)는 상기 손실 지표 및 성능 평가 지표를 이용하여 상기 제1 탐색 과정 및 상기 제2 탐색 과정에서의 학습 시간을 줄일 수 있다.
이를 위해, 파라미터 탐색부(104)는 상기 베이신 호핑 알고리즘 또는 상기 베이지안 최적화 알고리즘으로부터 도출되는 복수의 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표 및 성능 평가 지표를 각각 저장할 수 있다. 여기서, 손실 지표는 후보 하이퍼파라미터의 사용시 대상 모델을 통해 예측된 값과 실제 값과의 차이(error)에 대한 정도를 나타낸 지표로서, 예를 들어 상기 대상 모델의 학습 과정에서 나타되는 손실의 nat (natural unit of information) 값일 수 있다. 상기 손실 지표(nats of loss)는 예를 들어, 아래 수학식 2와 같이 표현될 수 있다.
[수학식 2]
이때, 배치 크기(batch size)는 배치 하나에 포함되는 학습 데이터의 개수를 의미한다. 또한, 학습의 초기 단계에서는 손실 값이 큰 의미가 없으므로, 위 수학식 2에서 사용되는 손실(loss) 값은 학습이 어느 정도 진행된 상태에서의 손실 값일 수 있다. 상기 수학식 2에서 사용되는 손실(loss) 값은 예를 들어, p ~ q번째 에폭(epoch)에서의 손실 값일 수 있다(이때, 1 < p < q)
또한, 성능 평가 지표는 예를 들어, 상기 대상 모델의 정확도(accuracy), 에러율(error rate), 민감도(sensitivity), 정밀성(precision), 특이도(specificity) 및 오탐율(false Positive rate) 중 하나 이상을 포함할 수 있다.
일 예시로서, 파라미터 탐색부(104)는 h1 ~ h20 에 대한 손실 지표 및 성능 평가 지표를 각각 저장할 수 있다.
이후, 파라미터 탐색부(104)는 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 성능 평가시 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균(moving average)을 계산할 수 있다.
위 예시에서, 파라미터 탐색부(104)는 21번째 후보 하이퍼파라미터, 즉 h21 에 대한 상기 대상 모델의 성능 평가시 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균을 계산할 수 있다. 예를 들어, 파라미터 탐색부(104)는 현재까지 저장된 20개의 손실 지표 중 설정된 값 이상의 성능 평가 지표를 출력하는 후보 하이퍼파라미터에 대응되는 15개의 손실 지표의 이동 평균을 계산할 수 있다.
이후, 파라미터 탐색부(104)는 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표와 상기 이동 평균을 비교할 수 있다.
만약, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 미만인 경우, 파라미터 탐색부(104)는 학습의 조기 종료(early stopping) 여부를 결정하기 전에 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 추가적인 학습을 종료시킬 수 있다. 이 경우, 손실이 너무 커 추가적인 학습이 큰 의미가 없으므로, 파라미터 탐색부(104)는 더 이상의 학습을 추가적으로 수행하지 않고 상기 k번째 후보 하이퍼파라미터에 대한 평가를 수행할 수 있다.
만약, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상인 경우, 파라미터 탐색부(104)는 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 계속적으로 수행할 수 있다. 또한, 파라미터 탐색부(104)는 추후 학습 결과에 따라 상기 학습의 조기 종료(early stopping) 여부를 결정할 수 있다. 일 예시로서, 학습 과정에서 손실의 변화 또는 정확도의 변화 정도가 연속적으로 설정된 값(예를 들어, 1%) 이내에 해당하는 경우, 파라미터 탐색부(104)는 상기 학습을 조기 종료시킬 수 있다.
또한, 파라미터 탐색부(104)는 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상이고 상기 k번째 후보 하이퍼파라미터에 대한 성능 평가 지표가 상기 저장된 성능 평가 지표들 중 하나보다 큰 경우 상기 n개의 손실 지표 중 가장 낮은 성능 평가 지표에 대응되는 손실 지표를 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표로 교체하여 상기 이동 평균을 재계산할 수 있다.
위 예시에서, 21번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상이고 21번째 후보 하이퍼파라미터에 대한 성능 평가 지표가 상기 저장된 성능 평가 지표들 중 하나보다 큰 경우, 파라미터 탐색부(104)는 저장된 상기 15개의 손실 지표 중 가장 낮은 성능 평가 지표에 대응되는 손실 지표를 21번째 후보 하이퍼파라미터에 대한 손실 지표로 교체하여 상기 이동 평균을 새롭게 계산할 수 있다. 이 경우, 상기 이동 평균이 이전보다 높아질 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 하이퍼파라미터 탐색 과정에서 학습의 조기 종료 여부를 결정하기 전 추가적인 학습의 수행여부를 결정함으로써, 학습 시간을 단축시키고 이에 따라 전체 탐색 시간을 줄일 수 있다.
모델 생성부(106)는 파라미터 탐색부(104)에서 추천된 하이퍼파라미터를 기반으로 대상 모델에서의 학습 및 성능에 대한 평가를 추가적으로 수행하고, 이로부터 새로운 모델을 생성한다.
도 2는 본 발명의 제1 실시예에 따른 데이터 선별부(102)에서 학습 데이터를 선별하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S102 단계에서, 데이터 선별부(102)는 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출한다.
S104 단계에서, 데이터 선별부(102)는 임의의 타깃 데이터를 선택하고, 상기 타깃 데이터와 주변 학습 데이터들과의 거리(예를 들어, 유클리디안 거리)를 계산한다.
S106 단계에서, 데이터 선별부(102)는 K-NN 알고리즘을 통해 타깃 데이터의 클래스와 주변 학습 데이터들의 대표 클래스를 각각 결정한다.
S108 단계에서, 데이터 선별부(102)는 타깃 데이터의 클래스와 상기 대표 클래스를 비교한다.
S110 단계에서, 데이터 선별부(102)는 S108 단계에서의 비교 결과 타깃 데이터의 클래스와 상기 대표 클래스가 일치하지 않는 경우 상기 타깃 데이터를 하이퍼파라미터의 탐색에 사용될 학습 데이터로 선별한다. 만약, S108 단계에서의 비교 결과 타깃 데이터의 클래스와 상기 대표 클래스가 일치하는 경우, 데이터 선별부(102)는 S104 단계로 되돌아가 다른 타깃 데이터를 선택한다. 이후, 데이터 선별부(102)는 새롭게 선택된 타깃 데이터에 대해 앞선 S106 단계 및 S108 단계를 수행하면서 상술한 과정을 반복한다.
도 3은 본 발명의 제2 실시예에 따른 데이터 선별부(102)에서 학습 데이터를 선별하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S202 단계에서, 데이터 선별부(102)는 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출한다.
S204 단계에서, 데이터 선별부(102)는 임의의 타깃 데이터를 선택하고, 상기 타깃 데이터와 주변 학습 데이터들과의 거리(예를 들어, 유클리디안 거리)를 계산한다.
S206 단계에서, 데이터 선별부(102)는 K-NN 알고리즘을 통해 타깃 데이터의 클래스와 주변 학습 데이터들의 대표 클래스를 각각 결정한다.
S208 단계에서, 데이터 선별부(102)는 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리에 따라 상기 각 클래스별로 보다 카운트(borda count) 알고리즘을 적용하여 각 클래스별로 보팅 결과(voting result), 즉 점수(score)를 도출한다.
S210 단계에서, 데이터 선별부(102)는 상기 타깃 데이터의 클래스와 동일한 클래스에 대응되는 점수가 대표 클래스에 대응되는 점수 이하인지의 여부를 판단한다.
S212 단계에서, 상기 타깃 데이터의 클래스와 동일한 클래스에 대응되는 점수가 대표 클래스에 대응되는 점수 이하인 경우, 데이터 선별부(102)는 상기 타깃 데이터를 하이퍼파라미터의 탐색에 사용될 학습 데이터로 선별한다. 만약, S210 단계에서의 비교 결과 상기 타깃 데이터의 클래스와 동일한 클래스에 대응되는 점수가 대표 클래스에 대응되는 점수보다 큰 경우, 데이터 선별부(102)는 S204 단계로 되돌아가 다른 타깃 데이터를 선택한다. 이후, 데이터 선별부(102)는 새롭게 선택된 타깃 데이터에 대해 앞선 S206 단계 내지 S210 단계를 수행하면서 상술한 과정을 반복한다.
도 4는 본 발명의 실시예들에 따른 학습 데이터 선별 과정을 나타낸 예시이다.
상술한 바와 같이, 데이터 선별부(102)는 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하고, 상기 특징 벡터 및 K-NN 알고리즘을 이용하여 상기 복수의 학습 데이터 중 하이퍼파라미터의 탐색에 사용될 학습 데이터를 선별할 수 있다. 여기서는, 설명의 편의상 학습 데이터가 이미지인 것으로 가정한다.
도 4를 참조하면, 기 학습된 모델에 기반하여 복수의 이미지 각각에 대한 특징 벡터를 추출하고, 상기 특징 벡터를 기초로 각 이미지 간의 거리를 계산할 수 있다. 도 4의 (a)와 (b)는 타깃 이미지와 상기 타깃 이미지가 속한 영역의 타 이미지에 대해 각각 도시하고 있다. 여기서, 도 4의 (a)는 본 발명의 제1 실시예에 따른 학습 데이터 선별 과정을 나타낸 예시이며, 도 4의 (b)는 본 발명의 제2 실시예에 따른 학습 데이터 선별 과정을 나타낸 예시이다. 또한, 도 4의 (a) 및 (b)에서는 동일한 클래스에 속한 이미지들이 동일한 빗금 형상으로 표시되어 있다.
먼저, 도 4의 (a)를 참조하면, 데이터 선별부(102)는 타깃 이미지의 클래스와 상기 타깃 이미지의 주변에 있는 타 이미지의 클래스를 각각 비교할 수 있다. 비교 결과, 타깃 이미지의 클래스와 동일한 클래스(예를 들어, a)의 개수가 3개, 타깃 이미지의 클래스와 상이한 클래스들(예를 들어, b, c, d)의 개수가 각각 4개, 4개, 4개인 것을 확인할 수 있다. 이 경우, 타깃 이미지의 클래스가 상기 타깃 이미지가 속한 영역의 대표 클래스와 상이하므로(즉, 타깃 이미지의 클래스와 동일한 클래스의 개수가 타깃 이미지의 클래스와 상이한 클래스들의 개수보다 작으므로), 데이터 선별부(102)는 상기 타깃 이미지를 하이퍼파라미터의 탐색에 사용될 학습 데이터로 선별할 수 있다.
다음으로, 도 4의 (b)를 참조하면, 데이터 선별부(102)는 상기 타깃 이미지와 상기 영역 내 타 이미지들 간의 거리에 따라 각 클래스별로 보다 카운트 알고리즘을 적용하여 각 클래스별로 보팅 결과(voting result), 즉 점수(score)를 도출할 수 있다. 이때, 데이터 선별부(102)는 상기 타깃 이미지와 가까운 거리에 존재하는 타 이미지에 대해 더 높은 가중치를 부여할 수 있다. 즉, 데이터 선별부(102)는 상기 타 이미지 각각에 대해 상기 타깃 이미지와 가까운 순으로 k, k-1, k-2, … 2, 1의 가중치를 각각 부여할 수 있다. 이에 따라, 타깃 이미지의 클래스와 동일한 클래스, 즉 클래스 a에 대한 점수는 15 + 14 + 13 = 42가 되며, 타깃 이미지의 클래스와 상이한 클래스, 즉 클래스 b, c, d에 대한 점수는 각각 12 + 11 + 5 + 2 = 30, 10 + 9 + 8 + 4 = 31, 7 + 6 + 3 + 1 = 17이 될 수 있다. 이후, 데이터 선별부(102)는 상기 타깃 이미지의 클래스와 동일한 클래스에 대응되는 점수가 대표 클래스에 대응되는 점수 이하인지의 여부를 판단할 수 있다. 위 예시에서, 상기 타깃 이미지의 클래스와 동일한 클래스에 대응되는 점수(즉, 42점)가 대표 클래스에 대응되는 점수(즉, 30점, 31점, 17점)보다 크므로, 데이터 선별부(102)는 상기 타깃 이미지를 하이퍼파라미터의 탐색에 학습 데이터로 선별하지 않게 된다.
즉, 동일한 타깃 데이터라도 위 실시예들에 따라 하이퍼파라미터의 탐색에 학습 데이터로 선별되거나 선별되지 않을 수 있다.
도 5는 본 발명의 일 실시예에 따른 파라미터 탐색부(104)에서 제1 탐색 과정을 수행하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S302 단계에서, 파라미터 탐색부(104)는 하이퍼파라미터의 초기 탐색 범위를 설정한다. 파라미터 탐색부(104)는 예를 들어, 기 알려진 여러 통계적인 기법으로 하이퍼파라미터의 초기 탐색 범위를 설정할 수 있다.
S304 단계에서, 파라미터 탐색부(104)는 상기 초기 탐색 범위 내에서 선별된 상기 학습 데이터를 기반으로 베이신 호핑 알고리즘을 수행한다. 이에 따라, 제1 후보 하이퍼파라미터(예를 들어, h1)가 도출될 수 있다.
S306 단계에서, 파라미터 탐색부(104)는 베이신 호핑 알고리즘으로부터 도출된 제1 후보 하이퍼파라미터(예를 들어, h1)에 대해 대상 모델을 학습시킨다.
S308 단계에서, 파라미터 탐색부(104)는 상기 베이신 호핑 알고리즘으로부터 도출된 제1 후보 하이퍼파라미터(예를 들어, h1)에 대한 상기 대상 모델의 손실(loss) 지표 및 성능 평가 지표를 각각 저장한다.
이후, 다음 제1 후보 하이퍼파라미터에 대해 S304 단계 및 S308 단계가 반복적으로 수행한다. 이에 따라, 복수의 제1 후보 하이퍼파라미터(예를 들어, h1 ~ h20)에 대한 상기 대상 모델의 손실(loss) 지표 및 성능 평가 지표가 각각 저장된다.
이후, S310 단계에서, k번째 후보 하이퍼파라미터(예를 들어, h21)에 대한 상기 대상 모델의 성능 평가시, 파라미터 탐색부(104)는 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균을 계산한다.
S312 단계에서, 파라미터 탐색부(104)는 상기 k번째 후보 하이퍼파라미터(예를 들어, h21)에 대한 상기 대상 모델의 손실 지표와 상기 이동 평균을 비교한다.
S314 단계에서, 파라미터 탐색부(104)는 S312 단계에서의 비교 결과 상기 k번째 후보 하이퍼파라미터(예를 들어, h21)에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 이상인 경우 상기 k번째 후보 하이퍼파라미터(예를 들어, h21)에 대한 상기 학습을 계속적으로 수행하고, 추후 상기 학습의 조기 종료 여부를 결정한다.
파라미터 탐색부(104)는 예를 들어, 학습 과정에서 손실의 변화 또는 정확도의 변화 정도가 연속적으로 설정된 값(예를 들어, 1%) 이내에 해당하는 경우 상기 학습을 조기 종료시키는 것으로 결정할 수 있으며, 이 경우 S304 단계로 되돌아가 베이신 호핑 알고리즘으로부터 도출되는 다음 제1 후보 하이퍼파라미터(예를 들어, h22)에 대해 앞선 과정을 반복 수행할 수 있다. 또한, 학습 과정에서 손실의 변화 또는 정확도의 변화 정도가 연속적으로 설정된 값(예를 들어, 1%) 이내에 해당하지 않는 경우, 파라미터 탐색부(104)는 대상 모델의 학습을 계속적으로 수행할 수 있다(S306).
또한, S312 단계에서의 비교 결과 상기 k번째 후보 하이퍼파라미터(예를 들어, h21)에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 미만인 경우, 파라미터 탐색부(104)는 상기 k번째 후보 하이퍼파라미터(예를 들어, h21)에 대한 상기 대상 모델의 학습을 종료시킨다. 이후, 파라미터 탐색부(104)는 S304 단계로 되돌아가 베이신 호핑 알고리즘으로부터 도출되는 다음 제1 후보 하이퍼파라미터(예를 들어, h22)에 대해 앞선 과정을 반복 수행할 수 있다.
이와 같이, 파라미터 탐색부(104)는 베이신 호핑 알고리즘을 통해 도출되는 복수의 제1 후보 하이퍼파라미터(예를 들어, h1 ~ h50) 각각에 대해 앞선 S304 단계 내지 S314 단계를 반복 수행할 수 있다.
S316 단계에서, 파라미터 탐색부(104)는 베이신 호핑 알고리즘을 통해 도출된 각 제1 후보 하이퍼파라미터(예를 들어, h1 ~ h50)의 최소값과 최대값을 상기 하이퍼파라미터의 탐색 범위로 제한할 수 있다.
도 6은 본 발명의 일 실시예에 따른 파라미터 탐색부(104)에서 하나의 하이퍼파라미터를 추천하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S402 단계에서, 파라미터 탐색부(104)는 제한된 상기 탐색 범위 내에서 베이지안 최적화 알고리즘을 수행하고, 이로부터 제2 후보 하이퍼파라미터(예를 들어, h51)가 도출된다.
이후, 파라미터 탐색부(104)는 도 5에서와 동일한 방법으로 S404 단계 내지 S412 단계를 수행한다. 이때, 파라미터 탐색부(104)는 도 5에서와 달리 제1 후보 하이퍼파라미터 대신 제2 후보 하이퍼파라미터(예를 들어, h51 ~ h100)를 이용하여 S404 단계 내지 S412 단계를 수행하게 된다.
S414 단계에서, 파라미터 탐색부(104)는 각 제1 후보 하이퍼파라미터(예를 들어, h1 ~ h50) 및 각 제2 후보 하이퍼파라미터(예를 들어, h51 ~ h100) 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 추천한다.
도 7은 본 발명의 일 실시예에 따른 모델 생성부(106)에서 새로운 모델을 생성하는 방법을 설명하기 위한 흐름도이다.
S502 단계에서, 모델 생성부(106)는 파라미터 탐색부(104)로부터 최적의 하이퍼파라미터(예를 들어, h72)를 수신한다.
S504 단계에서, 모델 생성부(106)는 상기 최적의 하이퍼파라미터(예를 들어, h72)를 기반으로 대상 모델에서의 학습을 추가적으로 수행하여 새로운 모델을 생성한다.
S506 단계에서, 모델 생성부(106)는 새롭게 생성된 모델에 대한 성능을 평가한다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 최적화 시스템(100), 또는 최적화 시스템(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10 : 컴퓨팅 환경
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스
100 : 최적화 시스템
102 : 데이터 선별부
104 : 파라미터 탐색부
106 : 모델 생성부
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스
100 : 최적화 시스템
102 : 데이터 선별부
104 : 파라미터 탐색부
106 : 모델 생성부
Claims (20)
- 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하고, 상기 특징 벡터 및 K-NN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 복수의 학습 데이터 중 최적의 하이퍼파라미터(hyperparameter)를 탐색하는 데 사용될 하나 이상의 학습 데이터를 선별하는 데이터 선별부;
선별된 상기 학습 데이터를 기반으로 베이신 호핑(basin hopping) 알고리즘을 반복적으로 수행하여 상기 하이퍼파라미터의 탐색 범위를 제한하고, 제한된 상기 탐색 범위 내에서 베이지안 최적화(Bayesian Optimization) 알고리즘을 수행하여 하나의 하이퍼파라미터를 추천하는 파라미터 탐색부; 및
추천된 상기 하이퍼파라미터를 기반으로 대상 모델(target model)에서의 학습 및 성능에 대한 평가(evaluation)를 수행하여 새로운 모델을 생성하는 모델 생성부를 포함하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 1에 있어서,
상기 데이터 선별부는, 각 학습 데이터의 특징 벡터에 대해 상기 K-NN 알고리즘을 적용하여 상기 복수의 학습 데이터 중 하나인 타깃 데이터의 클래스(class)와 상기 타깃 데이터가 속한 영역의 대표 클래스를 결정하고, 상기 타깃 데이터의 클래스가 상기 대표 클래스와 상이한 경우 상기 타깃 데이터를 상기 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 2에 있어서,
상기 데이터 선별부는, 각 클래스별 상기 영역 내 학습 데이터들의 개수 및 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리를 고려하여 상기 하나 이상의 학습 데이터를 선별하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 1에 있어서,
상기 파라미터 탐색부는, 상기 베이신 호핑 알고리즘 또는 상기 베이지안 최적화 알고리즘으로부터 도출되는 복수의 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실(loss) 지표 및 성능 평가 지표를 각각 저장하고, k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 성능 평가시 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균(moving average)을 계산하며, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표와 상기 이동 평균을 비교하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 4에 있어서,
상기 파라미터 탐색부는, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 미만인 경우 학습의 조기 종료(early stopping) 여부를 결정하기 전에 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 종료시키고, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상인 경우 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 계속적으로 수행하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 5에 있어서,
상기 파라미터 탐색부는, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상이고 상기 k번째 후보 하이퍼파라미터에 대한 성능 평가 지표가 상기 저장된 성능 평가 지표들 중 하나보다 큰 경우 상기 n개의 손실 지표 중 가장 낮은 성능 평가 지표에 대응되는 손실 지표를 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표로 교체하여 상기 이동 평균을 재계산하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 4에 있어서,
상기 손실 지표는, 상기 대상 모델의 학습 과정에서 출력되는 손실의 Nat (natural unit of information) 값인, 하이퍼파라미터의 최적화 시스템.
- 청구항 4에 있어서,
상기 성능 평가 지표는, 상기 대상 모델의 정확도(accuracy), 에러율(error rate), 민감도(sensitivity), 정밀성(precision), 특이도(specificity) 및 오탐율(false Positive rate) 중 하나 이상을 포함하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 1에 있어서,
상기 파라미터 탐색부는, 선별된 상기 학습 데이터를 기반으로 상기 베이신 호핑 알고리즘을 반복적으로 수행하여 복수의 제1 후보 하이퍼파라미터를 도출하고, 상기 각 제1 후보 하이퍼파라미터의 최소값과 최대값을 상기 하이퍼파라미터의 탐색 범위로 제한하는, 하이퍼파라미터의 최적화 시스템.
- 청구항 9에 있어서,
상기 파라미터 탐색부는, 제한된 상기 탐색 범위 내에서 상기 베이지안 최적화 알고리즘을 반복적으로 수행하여 복수의 제2 후보 하이퍼파라미터를 도출하고, 상기 복수의 제1 후보 파이퍼파라미터 및 상기 복수의 제2 후보하이퍼파라미터 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 추천하는, 하이퍼파라미터의 최적화 시스템.
- 데이터 선별부에서, 기 구비된 복수의 학습 데이터에 대한 특징 벡터를 각각 추출하는 단계;
상기 데이터 선별부에서, 상기 특징 벡터 및 K-NN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 복수의 학습 데이터 중 최적의 하이퍼파라미터(hyperparameter)를 탐색하는 데 사용될 하나 이상의 학습 데이터를 선별하는 단계;
파라미터 탐색부에서, 선별된 상기 학습 데이터를 기반으로 베이신 호핑(basin hopping) 알고리즘을 반복적으로 수행하여 상기 하이퍼파라미터의 탐색 범위를 제한하는 단계;
상기 파라미터 탐색부에서, 제한된 상기 탐색 범위 내에서 베이지안 최적화(Bayesian Optimization) 알고리즘을 수행하여 하나의 하이퍼파라미터를 추천하는 단계; 및
모델 생성부에서, 추천된 상기 하이퍼파라미터를 기반으로 대상 모델(target model)에서의 학습 및 상기 대상 모델의 성능에 대한 평가(evaluation)를 수행하여 새로운 모델을 생성하는 단계를 포함하는, 하이퍼파라미터 최적화 방법.
- 청구항 11에 있어서,
상기 하나 이상의 학습 데이터를 선별하는 단계는, 각 학습 데이터의 특징 벡터에 대해 상기 K-NN 알고리즘을 적용하여 상기 복수의 학습 데이터 중 하나인 타깃 데이터의 클래스(class)와 상기 타깃 데이터가 속한 영역의 대표 클래스를 결정하고, 상기 타깃 데이터의 클래스가 상기 대표 클래스와 상이한 경우 상기 타깃 데이터를 상기 최적의 하이퍼파라미터를 탐색하는 데 사용될 학습 데이터로 선별하는, 하이퍼파라미터의 최적화 방법.
- 청구항 12에 있어서,
상기 하나 이상의 학습 데이터를 선별하는 단계는, 각 클래스별 상기 영역 내 학습 데이터들의 개수 및 상기 타깃 데이터와 상기 영역 내 학습 데이터들 간의 거리를 고려하여 상기 하나 이상의 학습 데이터를 선별하는, 하이퍼파라미터의 최적화 방법.
- 청구항 11에 있어서,
상기 파라미터 탐색부에서, 상기 베이신 호핑 알고리즘 또는 상기 베이지안 최적화 알고리즘으로부터 도출되는 복수의 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실(loss) 지표 및 성능 평가 지표를 각각 저장하는 단계;
상기 파라미터 탐색부에서, k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 성능 평가시 상기 저장된 손실 지표 중 설정된 값 이상의 성능 평가 지표에 대응되는 n개의 손실 지표의 이동 평균(moving average)을 계산하는 단계; 및
상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표와 상기 이동 평균을 비교하는 단계를 더 포함하는, 하이퍼파라미터의 최적화 방법.
- 청구항 14에 있어서,
상기 비교하는 단계 이후,
상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 손실 지표가 상기 이동 평균 미만인 경우 학습의 조기 종료(early stopping) 여부를 결정하기 전에 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 종료시키는 단계; 또는
상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상인 경우 상기 k번째 후보 하이퍼파라미터에 대한 상기 대상 모델의 학습을 계속적으로 수행하는 단계를 더 포함하는, 하이퍼파라미터의 최적화 방법.
- 청구항 15에 있어서,
상기 비교하는 단계 이후,
상기 파라미터 탐색부에서, 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표가 상기 이동 평균 이상이고 상기 k번째 후보 하이퍼파라미터에 대한 성능 평가 지표가 상기 저장된 성능 평가 지표들 중 하나보다 큰 경우 상기 n개의 손실 지표 중 가장 낮은 성능 평가 지표에 대응되는 손실 지표를 상기 k번째 후보 하이퍼파라미터에 대한 손실 지표로 교체하여 상기 이동 평균을 재계산하는 단계를 더 포함하는, 하이퍼파라미터의 최적화 방법.
- 청구항 14에 있어서,
상기 손실 지표는, 상기 대상 모델의 학습 과정에서 출력되는 손실의 Nat (natural unit of information) 값인, 하이퍼파라미터의 최적화 방법.
- 청구항 14에 있어서,
상기 성능 평가 지표는, 상기 대상 모델의 정확도(accuracy), 에러율(error rate), 민감도(sensitivity), 정밀성(precision), 특이도(specificity) 및 오탐율(false Positive rate) 중 하나 이상을 포함하는, 하이퍼파라미터의 최적화 방법.
- 청구항 11에 있어서,
상기 하이퍼파라미터의 탐색 범위를 제한하는 단계는, 상기 하이퍼파라미터의 초기 탐색 범위를 설정하고, 상기 대상 모델을 학습시키는 과정에서 상기 베이신 호핑 알고리즘으로부터 도출된 각 제1 후보 하이퍼파라미터의 최소값과 최대값을 상기 하이퍼파라미터의 탐색 범위로 제한하는, 하이퍼파라미터의 최적화 방법.
- 청구항 19에 있어서,
상기 하나의 하이퍼파라미터를 추천하는 단계는, 상기 각 제1 후보 하이퍼파라미터, 및 상기 대상 모델을 학습시키는 과정에서 상기 베이지안 최적화 알고리즘으로부터 도출된 각 제2 후보 하이퍼파라미터에 대해 상기 대상 모델의 성능에 대한 평가를 수행하고, 상기 각 제1 후보 하이퍼파라미터 및 상기 각 제2 후보하이퍼파라미터 중 가장 최적의 성능 평가 지표를 출력하는 하나의 하이퍼파라미터를 추천하는, 하이퍼파라미터의 최적화 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862656049P | 2018-04-11 | 2018-04-11 | |
US62/656,049 | 2018-04-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190118937A true KR20190118937A (ko) | 2019-10-21 |
KR102605220B1 KR102605220B1 (ko) | 2023-11-23 |
Family
ID=68460691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180061277A KR102605220B1 (ko) | 2018-04-11 | 2018-05-29 | 하이퍼파라미터의 최적화 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102605220B1 (ko) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766090A (zh) * | 2019-10-30 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、设备、系统及存储介质 |
KR102251807B1 (ko) * | 2019-11-28 | 2021-05-12 | 광운대학교 산학협력단 | 하이퍼파라미터 최적화 알고리즘 추천 방법 및 최적화 알고리즘 추천 시스템 |
CN113111928A (zh) * | 2021-04-01 | 2021-07-13 | 中国地质大学(北京) | 一种基于地学数据库的半监督学习矿产资源定量预测方法 |
KR102314847B1 (ko) * | 2021-03-30 | 2021-10-19 | 주식회사 솔리드웨어 | 최적모델탐색방법 및 그 장치 |
CN113777965A (zh) * | 2020-05-21 | 2021-12-10 | 广东博智林机器人有限公司 | 喷涂质量控制方法、装置、计算机设备及存储介质 |
WO2022022571A1 (en) * | 2020-07-31 | 2022-02-03 | International Business Machines Corporation | Resource allocation for tuning hyperparameters of large-scale deep learning workloads |
KR20220059120A (ko) * | 2020-11-02 | 2022-05-10 | 강릉원주대학교산학협력단 | 최적화된 하이퍼파라미터를 갖는 기계 학습 모델링 자동화 방법 및 이를 이용한 기계 학습 모델링 자동화 시스템 |
WO2023287239A1 (ko) * | 2021-07-16 | 2023-01-19 | 서울대학교산학협력단 | 함수 최적화 방법 및 장치 |
WO2023179609A1 (zh) * | 2022-03-24 | 2023-09-28 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2024106849A1 (ko) * | 2022-11-18 | 2024-05-23 | 세종대학교산학협력단 | 능동 학습에 의한 소재 및 공정 최적화 방법 |
CN118070076A (zh) * | 2024-04-24 | 2024-05-24 | 江苏信泰化工装备有限公司 | 一种阀门应用选型比对分析方法、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101075824B1 (ko) | 2006-08-03 | 2011-10-25 | 파나소닉전공썬크스 주식회사 | 신호 식별 장치용 학습 데이터 세트 최적화 방법 및 학습 데이터 세트를 최적화할 수 있는 신호 식별 장치 |
JP2017162074A (ja) * | 2016-03-08 | 2017-09-14 | 株式会社東芝 | サーバ、システム及び探索方法 |
-
2018
- 2018-05-29 KR KR1020180061277A patent/KR102605220B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101075824B1 (ko) | 2006-08-03 | 2011-10-25 | 파나소닉전공썬크스 주식회사 | 신호 식별 장치용 학습 데이터 세트 최적화 방법 및 학습 데이터 세트를 최적화할 수 있는 신호 식별 장치 |
JP2017162074A (ja) * | 2016-03-08 | 2017-09-14 | 株式会社東芝 | サーバ、システム及び探索方法 |
Non-Patent Citations (2)
Title |
---|
Huang Jie et al., "An Improved kNN Based on Class Contribution and Feature Weighting," 2018 10th International Conference on Measuring Technology and Mechatronics Automation (2018.02.11.)* * |
Tamas Vinko et al., "Basin Hopping Networks of continuous global optimization problems," Central European Journal of Operations Research (2017.05.30.)* * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766090A (zh) * | 2019-10-30 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、设备、系统及存储介质 |
KR102251807B1 (ko) * | 2019-11-28 | 2021-05-12 | 광운대학교 산학협력단 | 하이퍼파라미터 최적화 알고리즘 추천 방법 및 최적화 알고리즘 추천 시스템 |
CN113777965B (zh) * | 2020-05-21 | 2023-07-18 | 广东博智林机器人有限公司 | 喷涂质量控制方法、装置、计算机设备及存储介质 |
CN113777965A (zh) * | 2020-05-21 | 2021-12-10 | 广东博智林机器人有限公司 | 喷涂质量控制方法、装置、计算机设备及存储介质 |
GB2612271A (en) * | 2020-07-31 | 2023-04-26 | Ibm | Resource allocation for tuning hyperparameters of large-scale deep learning workloads |
WO2022022571A1 (en) * | 2020-07-31 | 2022-02-03 | International Business Machines Corporation | Resource allocation for tuning hyperparameters of large-scale deep learning workloads |
US11409564B2 (en) | 2020-07-31 | 2022-08-09 | International Business Machines Corporation | Resource allocation for tuning hyperparameters of large-scale deep learning workloads |
KR20220059120A (ko) * | 2020-11-02 | 2022-05-10 | 강릉원주대학교산학협력단 | 최적화된 하이퍼파라미터를 갖는 기계 학습 모델링 자동화 방법 및 이를 이용한 기계 학습 모델링 자동화 시스템 |
WO2022211179A1 (ko) * | 2021-03-30 | 2022-10-06 | 주식회사 솔리드웨어 | 최적모델탐색방법 및 그 장치 |
KR102314847B1 (ko) * | 2021-03-30 | 2021-10-19 | 주식회사 솔리드웨어 | 최적모델탐색방법 및 그 장치 |
CN113111928A (zh) * | 2021-04-01 | 2021-07-13 | 中国地质大学(北京) | 一种基于地学数据库的半监督学习矿产资源定量预测方法 |
CN113111928B (zh) * | 2021-04-01 | 2023-12-29 | 中国地质大学(北京) | 一种基于地学数据库的半监督学习矿产资源定量预测方法 |
WO2023287239A1 (ko) * | 2021-07-16 | 2023-01-19 | 서울대학교산학협력단 | 함수 최적화 방법 및 장치 |
WO2023179609A1 (zh) * | 2022-03-24 | 2023-09-28 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2024106849A1 (ko) * | 2022-11-18 | 2024-05-23 | 세종대학교산학협력단 | 능동 학습에 의한 소재 및 공정 최적화 방법 |
CN118070076A (zh) * | 2024-04-24 | 2024-05-24 | 江苏信泰化工装备有限公司 | 一种阀门应用选型比对分析方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR102605220B1 (ko) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102605220B1 (ko) | 하이퍼파라미터의 최적화 시스템 및 방법 | |
CN108509463B (zh) | 一种问题的应答方法及装置 | |
CN111063410B (zh) | 一种医学影像文本报告的生成方法及装置 | |
CN110245221B (zh) | 训练对话状态跟踪分类器的方法和计算机设备 | |
CN110019732B (zh) | 一种智能问答方法以及相关装置 | |
CN107102981B (zh) | 词向量生成方法和装置 | |
US20180260531A1 (en) | Training random decision trees for sensor data processing | |
CN111126396B (zh) | 图像识别方法、装置、计算机设备以及存储介质 | |
US20150095017A1 (en) | System and method for learning word embeddings using neural language models | |
CN107330023A (zh) | 基于关注点的文本内容推荐方法和装置 | |
US11550751B2 (en) | Sequence expander for data entry/information retrieval | |
JP2009282686A (ja) | 分類モデル学習装置および分類モデル学習方法 | |
JP2017058877A (ja) | 学習装置、音声検出装置、学習方法およびプログラム | |
CN116340839B (zh) | 基于蚁狮算法的算法选择方法及装置 | |
CN111373391B (zh) | 语言处理装置、语言处理系统和语言处理方法 | |
JPWO2019167240A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN117194778A (zh) | 基于属性图数据的预测规则生成方法、装置、设备及介质 | |
KR102400689B1 (ko) | 의미 관계 학습 장치, 의미 관계 학습 방법, 및 의미 관계 학습 프로그램 | |
WO2016179755A1 (en) | Mixed proposal based model training system | |
CN114254622B (zh) | 一种意图识别方法和装置 | |
JP2013025496A (ja) | データ分類装置及び方法及びプログラム | |
JP2016062249A (ja) | 識別辞書学習システム、認識辞書学習方法および認識辞書学習プログラム | |
JP6233432B2 (ja) | 混合モデルの選択方法及び装置 | |
KR102201390B1 (ko) | 이미지 검색 방법 및 장치 | |
CN111488473B (zh) | 图片描述的生成方法、装置和计算机可读存储介质 |
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 |