KR20190048895A - 하이퍼파라미터 자동 최적화 방법 및 그 장치 - Google Patents

하이퍼파라미터 자동 최적화 방법 및 그 장치 Download PDF

Info

Publication number
KR20190048895A
KR20190048895A KR1020170144181A KR20170144181A KR20190048895A KR 20190048895 A KR20190048895 A KR 20190048895A KR 1020170144181 A KR1020170144181 A KR 1020170144181A KR 20170144181 A KR20170144181 A KR 20170144181A KR 20190048895 A KR20190048895 A KR 20190048895A
Authority
KR
South Korea
Prior art keywords
hyperparameter
sample
machine learning
learning model
value
Prior art date
Application number
KR1020170144181A
Other languages
English (en)
Other versions
KR102107378B1 (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 삼성에스디에스 주식회사
Priority to KR1020170144181A priority Critical patent/KR102107378B1/ko
Publication of KR20190048895A publication Critical patent/KR20190048895A/ko
Application granted granted Critical
Publication of KR102107378B1 publication Critical patent/KR102107378B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

기계 학습 모델의 하이퍼파라미터를 자동으로 최적화하는 방법이 제공된다. 하이퍼파라미터 자동 최적화 장치에서 수행되는 본 발명의 일 실시예에 따른 하이퍼파라미터 자동 최적화 방법은 상기 기계 학습 모델에 대한 하이퍼파라미터의 값을 샘플링(sampling) 하여, 제1 하이퍼파라미터 샘플을 생성하는 단계, 상기 제1 하이퍼파라미터 샘플을 적용하여 제1 트레이닝(training) 된 기계 학습 모델에 대한 제1 성능 측정 결과를 획득하는 단계, 상기 제1 성능 측정 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 단계 및 상기 최적화 모델을 이용하여, 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함할 수 있다.

Description

하이퍼파라미터 자동 최적화 방법 및 그 장치{Method For optimizing hyper-parameter automatically and Apparatus thereof}
본 발명은 하이퍼파라미터 자동 최적화 방법 및 장치에 관한 것이다. 보다 자세하게는, 기계 학습 모델의 성능을 향상시키기 위해, 기계 학습 모델의 하이퍼파라미터를 자동으로 최적화하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
기계 학습 모델의 하이퍼파라미터(hyper-parameter)는 모델의 트레이닝(training)을 수행하기 전에 설정해주어야 하는 파라미터(parameter)를 의미한다. 이처럼, 하이퍼파라미터는 트레이닝 수행 전에 미리 설정되어야 한다는 점에서, 트레이닝에 의해 학습되는 기계 학습 모델의 파라미터와 차이점이 있다.
하이퍼파라미터 최적화 또는 하이퍼파라미터 튜닝(tuning)은 기계 학습 모델의 성능을 최대화하기 위해 하이퍼파라미터의 값을 조정하는 작업을 말한다. 하이퍼파라미터의 값이 어떤 값으로 설정되는지에 따라 기계 학습 모델의 성능이 크게 달라지기 때문에 하이퍼파라미터 최적화는 기계 학습 분야에서 매우 중요한 작업 중 하나이다.
기계 학습 모델의 성능에 큰 영향을 미치는 하이퍼파라미터의 대표적인 예로 학습률(learning rate)을 들 수 있다. 학습률은 경사 하강법(gradient descent algorithm)에서 기울기 방향으로 움직이는 정도를 조절하는 파라미터이다. 경사 하강법은 최근 다양한 분야에서 각광받는 딥 러닝(deep learning)에서 손실 함수(loss function)의 최소 지점을 탐색하기 위해 주로 이용되는 기법이다. 딥 러닝의 손실 함수(loss function)는 도 1에 도시된 바와 같은 고차원 형상을 가지고 있기 때문에, 학습률의 설정 값에 따라 지역적 최소점(local minimum)이 최소 지점으로 탐색될 수도 있고, 전역적 최소점(global minimum)이 최소 지점으로 탐색될 수도 있다. 따라서, 학습률의 설정 값에 따라 기계 학습 모델의 성능이 크게 좌우된다.
기계 학습 분야에서, 하이퍼파라미터 최적화는 보통 사용자에 의해 수동으로 수행되어 왔다. 그러나, 하이퍼파라미터의 수동 최적화는 사용자의 경험과 도메인 지식에 의존하는 것이기 때문에, 사용자의 숙련도에 따라 기계 학습 모델의 성능이 크게 좌우되는 문제가 있었다.
최근, 하이퍼파라미터 최적화의 또 다른 방법으로 그리드 탐색(grid search) 기법이 제안된 바 있다. 그리드 탐색 기법은 하이퍼파라미터의 모든 가능한 조합에 대한 기계 학습 모델의 트레이닝 및 성능 평가를 통해 최적의 하이퍼파라미터 조합을 결정하는 방법이다. 그리드 탐색 기법은 최적 하이퍼파라미터 조합의 도출을 담보해 줄 수 있으나, 지나치게 많은 시간 비용 및 컴퓨팅 비용을 요구하기 때문에 비효율적이라는 문제점이 있다.
그리드 탐색 기법의 비효율성을 보완하기 위해, 랜덤 탐색(random search) 기법이 제안된 바 있으나, 랜덤 탐색은 최적의 하이퍼파라미터 조합을 도출하기 어려우며, 기계 학습 모델에 따라 튜닝 결과가 크게 달라지는 문제점이 있다.
한국공개특허 제10-2017-0034258호(2017.03.28 공개)
본 발명이 해결하고자 하는 기술적 과제는, 사용자의 개입 없이 기계 학습 모델의 하이퍼파라미터를 자동으로 최적화하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 가능한 모든 조합의 하이퍼파라미터에 대한 탐색 없이, 최적의 하이퍼파라미터 조합을 도출하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 하이퍼파라미터 자동 최적화 방법은, 하이퍼파라미터 최적화 장치에서 기계 학습 모델(machine learning model)의 하이퍼파라미터(hyper-parameter)를 최적화하는 방법에 있어서, 상기 기계 학습 모델에 대한 하이퍼파라미터의 값을 샘플링(sampling) 하여, 제1 하이퍼파라미터 샘플을 생성하는 단계, 상기 제1 하이퍼파라미터 샘플을 적용하여 제1 트레이닝(training) 된 기계 학습 모델에 대한 제1 성능 측정 결과를 획득하는 단계, 상기 제1 성능 측정 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 단계 및 상기 최적화 모델을 이용하여, 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 기계 학습 모델은 복수의 하이퍼파라미터를 갖는 모델이고, 상기 복수의 하이퍼파라미터 중 적어도 일부를 가리키는 제1 복수의 하이퍼파라미터는 상관 관계가 존재하는 하이퍼파라미터이며, 상기 제1 하이퍼파라미터 샘플을 생성하는 단계는, 상기 상관 관계를 기초로 상기 제1 복수의 하이퍼파라미터에 대한 값을 샘플링하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계는, 미리 설정된 특정 값을 기초로 상기 제1 하이퍼파라미터 샘플을 구성하는 적어도 일부의 하이퍼파라미터의 값을 변경하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계, 상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플의 성능을 예측하는 단계, 상기 예측된 성능이 미리 설정된 조건을 만족한다는 판정에 응답하여, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계는, 기 제공된 하이퍼파라미터 샘플을 이용하여, 하이퍼파라미터 값의 추세를 결정하는 단계, 상기 결정된 추세를 기초로 상기 제2 하이퍼파라미터 샘플을 생성하는 단계, 상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플의 성능을 예측하는 단계 및 상기 예측된 성능이 미리 설정된 조건을 만족한다는 판정에 응답하여, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 기계 학습 모델은 복수의 하이퍼파라미터를 갖는 모델이고, 상기 복수의 하이퍼파라미터는 상관 관계가 존재하는 제1 복수의 하이퍼파라미터와 상관 관계가 존재하지 않는 제2 복수의 하이퍼파라미터를 포함하며, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계는, 상기 상관 관계를 기초로 상기 제1 복수의 하이퍼파라미터의 값을 샘플링하여 제1 샘플 값을 생성하는 단계, 상기 제2 복수의 하이퍼파라미터의 값을 샘플링하여 제2 샘플 값을 생성하는 단계, 상기 제1 샘플 값 및 상기 제2 샘플 값을 이용하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계, 상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플의 성능을 예측하는 단계 및 상기 예측된 성능이 미리 설정된 조건을 만족한다는 판정에 응답하여, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 하이퍼파라미터 샘플 및 상기 제2 하이퍼파라미터 샘플을 최적 하이퍼파라미터 후보군으로 지정하는 단계 및 상기 제2 하이퍼파라미터 샘플을 적용하여 제2 트레이닝 된 기계 학습 모델에 상기 최적 하이퍼파라미터 후보군을 제공하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 하이퍼파라미터 자동 최적화 방법은, 하이퍼파라미터 최적화 장치에서 기계 학습 모델(machine learning model)의 하이퍼파라미터(hyper-parameter)를 최적화하는 방법에 있어서, 최적 하이퍼파라미터 후보군으로 지정된 제1 복수의 하이퍼파라미터 샘플 각각에 대한 상기 기계 학습 모델의 제1 성능 평가 결과를 획득하는 제1 단계, 상기 제1 성능 평가 결과를 기초로, 상기 제1 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 제1 하이퍼파라미터 샘플을 선정하는 제2 단계, 상기 제1 하이퍼파라미터 샘플의 값을 기초로, 상기 기계 학습 모델에 대한 하이퍼라미터의 값을 샘플링(sampling)하여, 제2 하이퍼파라미터 샘플을 생성하는 제3 단계 및 상기 제2 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가하는 제4 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 하이퍼파라미터 자동 최적화 장치는, 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 기계 학습 모델에 대한 하이퍼파라미터의 값을 샘플링(sampling) 하여, 제1 하이퍼파라미터 샘플을 생성하는 오퍼레이션, 상기 제1 하이퍼파라미터 샘플을 적용하여 제1 트레이닝(training) 된 기계 학습 모델에 대한 제1 성능 측정 결과를 획득하는 오퍼레이션, 상기 제1 성능 측정 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 오퍼레이션 및 상기 최적화 모델을 이용하여, 제2 하이퍼파라미터 샘플을 제공하는 오퍼레이션을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 하이퍼파라미터 자동 최적화 장치는, 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 최적 하이퍼파라미터 후보군으로 지정된 제1 복수의 하이퍼파라미터 샘플 각각에 대한 상기 기계 학습 모델의 제1 성능 평가 결과를 획득하는 제1 오퍼레이션, 상기 제1 성능 평가 결과를 기초로, 상기 제1 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 제1 하이퍼파라미터 샘플을 선정하는 제2 오퍼레이션, 상기 제1 하이퍼파라미터 샘플의 값을 기초로, 상기 기계 학습 모델에 대한 하이퍼라미터의 값을 샘플링(sampling)하여, 제2 하이퍼파라미터 샘플을 생성하는 제3 오퍼레이션 및 상기 제2 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가하는 제4 오퍼레이션을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 기계 학습 모델에 대한 하이퍼파라미터의 값을 샘플링(sampling) 하여, 제1 하이퍼파라미터 샘플을 생성하는 단계, 상기 제1 하이퍼파라미터 샘플을 적용하여 제1 트레이닝(training) 된 기계 학습 모델에 대한 제1 성능 측정 결과를 획득하는 단계, 상기 제1 성능 측정 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 단계 및 상기 최적화 모델을 이용하여, 제2 하이퍼파라미터 샘플을 제공하는 단계를 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 최적 하이퍼파라미터 후보군으로 지정된 제1 복수의 하이퍼파라미터 샘플 각각에 대한 상기 기계 학습 모델의 제1 성능 평가 결과를 획득하는 제1 단계, 상기 제1 성능 평가 결과를 기초로, 상기 제1 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 제1 하이퍼파라미터 샘플을 선정하는 제2 단계, 상기 제1 하이퍼파라미터 샘플의 값을 기초로, 상기 기계 학습 모델에 대한 하이퍼라미터의 값을 샘플링(sampling)하여, 제2 하이퍼파라미터 샘플을 생성하는 제3 단계 및 상기 제2 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가하는 제4 단계를 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장될 수 있다.
도 1은 하이퍼파라미터가 기계 학습 모델의 성능에 미치는 영향을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 기계 학습 장치를 개략적으로 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 기계 학습 장치를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예 따른 기계 학습 장치의 일 구성 요소인 기계 학습 모듈을 부연 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따라 기계 학습 장치를 구성하는 각 모듈이 독립된 컴퓨팅 장치로 구현된 것을 도시하는 예시도이다.
도 6은 본 발명의 제1 실시예에 따른 하이퍼파라미터 자동 최적화 방법을 나타내는 흐름도이다.
도 7a 내지 도 8은 본 발명의 몇몇 실시예에서 참조될 수 있는 하이퍼파라미터 샘플 생성 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 몇몇 실시예에서 최적 하이퍼파라미터 후보군을 유지하는 이유를 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법을 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 하이퍼파라미터 자동 최적화 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 기계 학습 모델의 하이퍼파라미터(hyper-parameter)는 기계 학습 모델의 트레이닝(training) 수행 전에 설정되는 파라미터(parameter)를 의미한다. 예를 들어, 딥 러닝 기반 기계 학습 모델의 하이퍼파라미터는 학습률(learning rate), 가중치 감소(weight decay), 배치 크기(batch size) 등을 의미한다. 기계 학습 모델의 파라미터(e.g. 신경망의 가중치)는 트레이닝에 의해 학습되는 것인 데 반해, 하이퍼파라미터는 트레이닝 수행 전에 미리 설정되는 파라미터라는 점에서 차이점이 있다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 기계 학습 장치(100)를 개략적으로 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 기계 학습 장치(100)는 트레이닝 데이터셋(10)에 대한 트레이닝을 통해 기계 학습 모델(30)을 구축하는 컴퓨팅 장치이다. 특히, 도 2는, 기계 학습 장치(100)가 분류 결과가 주어진 트레이닝 데이터셋(10)을 기초로 트레이닝을 수행하는 것을 예로써 도시하였다. 그러나, 본 발명의 적용 범위가 지도 학습(supervised learning) 분야에 국한되는 것은 아니며, 본 발명은 하이퍼파라미터를 갖는 임의의 기계 학습 모델에 적용될 수 있음에 유의한다.
상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 대량의 트레이닝 데이터셋을 기초로 기계 학습 모델을 구축하는 경우라면, 기계 학습 장치(100)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.
본 발명의 실시예에 따르면, 기계 학습 장치(100)는 기계 학습 모델(30)에 대한 트레이닝과 기계 학습 모델(30)의 하이퍼파라미터 최적화를 함께 수행한다. 즉, 기계 학습 모델(30)의 최적 하이퍼파라미터가 탐색되는 과정에서 기계 학습 모델의 학습 성숙도가 동시에 향상된다. 따라서, 기계 학습 모델의 트레이닝이 완료된 후에, 하이퍼파라미터의 값을 최적 하이퍼파라미터 값으로 변경하여 다시 트레이닝을 수행할 필요가 없다. 이에 따라, 컴퓨팅 비용 및 시간 비용 측면에서 보다 효율적으로 하이퍼파라미터 최적화 및 기계 학습이 수행될 수 있다. 본 실시예에 대한 자세한 설명은 도 3이하의 도면을 참조하여 상세하게 설명하도록 한다.
이하에서는, 본 발명의 일 실시예에 따른 기계 학습 장치(100)의 구성 및 동작에 대하여 도 3 및 도 4를 참조하여 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 기계 학습 장치(100)를 나타내는 블록도이다.
도 3을 참조하면, 기계 학습 장치(100)는 기계 학습 모듈(110) 및 하이퍼파라미터 최적화 모듈(130)을 포함하도록 구성될 수 있다. 다만, 도 3에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 이하에서는, 설명의 편의를 위해, 기계 학습 모듈(110)은 학습 모듈(110)로 약칭하고, 하이퍼파라미터 최적화 모듈은 최적화 모듈(110)로 약칭하도록 한다.
각 구성 요소를 살펴보면, 학습 모듈(110)은 트레이닝 데이터셋을 기초로 기계 학습 모델에 대한 트레이닝 및 성능 평가를 수행한다. 구체적으로, 학습 모듈(110)은 최적화 모듈(130)로부터 제공받은 하이퍼파라미터 샘플을 기계 학습 모델에 적용하고, 트레이닝 데이터셋을 이용하여 상기 기계 학습 모델에 대한 트레이닝을 수행한다. 또한, 기계 학습 모듈(110)은 검증 데이터셋을 이용하여 기계 학습 모델에 대한 성능 평가(e.g. 오차 평가, 정확도 평가)를 수행한다. 성능 평가의 결과는 최적화 모듈(130)로 제공된다. 하이퍼파라미터 샘플을 제공 받고 성능 평가 결과를 제공하는 과정은 반복적으로 수행될 수 있다.
상기 기계 학습 모델은 예를 들어 딥 러닝 기반의 기계 학습 모델일 수 있다. 심층 신경망으로 구성된 딥 러닝 기반의 기계 학습 모델은 다수의 하이퍼파라미터를 포함하고, 하이퍼파라미터 튜닝(tuning)에 따라 모델의 성능이 크게 좌우되는 특징을 갖는다. 따라서, 본 발명의 몇몇 실시예들에 따른 하이퍼파라미터 최적화 과정은 딥 러닝 기반 기계 학습 모델의 성능 개선에 매우 효과적으로 활용될 수 있다.
상기 기계 학습 모델이 딥 러닝 기반 심층 신경망 모델인 경우, 도 4에 도시된 바와 같이 모델 트레이닝이 수행된다. 구체적으로, 클래스 레이블(class label)이 태깅된 트레이닝 데이터셋을 이용하여 트레이닝이 수행되고, 오류 역전파(error back-propagation)를 통해 심층 신경망의 가중치가 갱신된다. 신경망 트레이닝에 대한 자세한 설명은 본 발명의 논지를 흐리지 않기 위해 생략하도록 한다.
최적화 모듈(130)은 하이퍼파라미터 최적화를 위해 다양한 하이퍼파라미터 샘플을 생성하고, 이를 기계 학습 모듈(110)로 제공한다. 이때, 하이퍼파라미터 샘플을 생성한다는 것은 하이퍼파라미터 탐색 또는 튜닝과 일맥상통하는 작업으로 이해될 수 있다.
최적화 모듈(130)은 하이퍼파라미터 샘플 각각에 대한 기계 학습 모델의 성능 평가 결과(e.g. 정확도)를 학습 모듈(110)로부터 제공 받고, 상기 성능 평가 결과를 이용하여 다른 하이퍼파라미터 샘플을 생성하여 제공할 수 있다.
학습 모듈(110)과 최적화 모듈(130)의 동작에 대한 보다 자세한 설명은 도 6 내지 도 11을 참조하여 상세하게 설명하도록 한다.
도 3에 도시된 기계 학습 장치(100)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
한편, 본 발명의 실시예에 따르면, 기계 학습 모듈(110) 및 하이퍼파라미터 최적화 모듈(130)은 도 5에 도시된 바와 같이 각각 독립된 컴퓨팅 장치(100, 200)로 구현될 수도 있다. 이와 같은 경우, 기계 학습 장치(100)와 하이퍼파라미터 최적화 장치(200)는 네트워크를 통해 통신할 수 있고, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다. 이하에서는, 기계 학습 모듈(110) 및 하이퍼파라미터 최적화 모듈(130)이 단일 컴퓨팅 장치에 구현된 것을 가정하여 설명을 이어가도록 한다.
지금까지, 도 3 내지 도 5를 참조하여 본 발명의 실시예에 따른 기계 학습 장치(100)의 구성 및 동작과 관련 실시예에 대하여 설명하였다. 이하에서는, 도 6 내지 도 11을 참조하여 본 발명의 몇몇 실시예들에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 상세하게 설명한다.
이하, 본 발명의 실시예에 따른 하이퍼파라미터 자동 최적화 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 기계 학습 장치(100)일 수 있다. 다만, 도 5에 도시된 바와 같이, 기계 학습 모듈(110)과 하이퍼파라미터 최적화 모듈(130)이 각각 독립된 컴퓨팅 장치(100, 200)로 구현된 경우, 상기 하이퍼파라미터 자동 최적화 방법은 기계 학습 장치(100)와 하이퍼파라미터 최적화 장치(200)에 의해 수행될 수 있다. 이하에서는, 설명의 편의를 위해, 상기 하이퍼파라미터 자동 최적화 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 상기 하이퍼파라미터 자동 최적화 방법의 각 단계는 프로세서에 의해서 실행되는 컴퓨터 프로그램의 각 오퍼레이션으로 구현될 수 있다.
먼저, 도 6 내지 도 9를 참조하며, 본 발명의 제1 실시예에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 설명하도록 한다.
도 6은 본 발명의 제1 실시예에 따른 하이퍼파라미터 자동 최적화 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 6을 참조하면, 상기 제1 실시예에 따른 하이퍼파라미터 자동 최적화 방법은 복수의 최적화 단계로 구성될 수 있다. 상기 복수의 최적화 단계를 구성하는 각각의 최적화 단계는 크게 2가지 프로세스로 진행된다. 첫번째 프로세스는 기 제공된 하이퍼파라미터 샘플로 구성된 최적 하이퍼파라미터 후보군을 제공하는 프로세스(e.g. 단계 S10 내지 S30)이다. 두번째 프로세스는 신규 하이퍼파라미터 샘플을 제공하는 프로세스(e.g. 단계 S50 내지 S80)이다. 상기 신규 하이퍼파라미터 샘플 중 적어도 일부는 상기 최적 하이퍼파라미터 후보군에 추가되고, 다음 최적화 단계에 다시 제공된다. 또한, 하이퍼파라미터 샘플이 제공될 때마다, 해당 하이퍼파라미터 샘플을 기계 학습 모델에 적용하여 트레이닝 및 성능 평가가 수행된다. 각 최적화 단계 별로 이와 같은 프로세스가 반복하여 수행됨으로써, 기계 학습 모델의 트레이닝과 하이퍼파라미터의 최적화가 함께 수행된다. 이하 각 최적화 단계에 대하여 상세하게 설명하도록 한다.
단계(S10)에서, 최적화 모듈(130)이 학습 모듈(110)로 최적 하이퍼파라미터 후보군을 제공함으로써 제1 최적화 단계가 개시된다. 상기 최적 하이퍼파라미터 후보군은 학습 모듈(110)로 기 제공된 하이퍼파라미터 샘플의 집합이다. 실시예에 따라, 최적 하이퍼파라미터 후보군은 기 제공된 모든 하이퍼파라미터 샘플을 포함할 수도 있고, 성능 평가 결과를 기준으로 기 제공된 하이퍼파라미터 샘플 중에서 일부 하이퍼파라미터 샘플만을 포함할 수도 있다.
제1 최적화 단계의 경우, 기 제공된 하이퍼파라미터 샘플이 존재하지 않으므로, 최적화 모듈(130)은 샘플링(sampling)을 통해 k개(단, k는 1 이상의 자연수)의 하이퍼파라미터 샘플(h11, h12, …, h1k)을 생성하여 제공할 수 있다. 본 명세서에서, h는 하이퍼파라미터 샘플을 가리키고, 상기 하이퍼파라미터 샘플은 최적화 대상이 되는 하이퍼파라미터의 조합으로 구성될 수 있다. 또한, 영문자(h)에 부여된 첫번째 첨자는 샘플 집합의 제공 순서를 구분하기 위한 것이고, 두번째 첨자는 동일 샘플 집합에 속하는 각 샘플을 구분하기 위한 것이다.
본 발명의 실시예에 따르면, 최적화 모듈(130)은 하이퍼파라미터의 상관 관계에 기반한 샘플링을 통해 하이퍼파라미터 샘플을 생성할 수 있다. 예를 들어, 기계 학습 모델이 복수의 하이퍼파라미터를 갖는 모델이고, 상기 복수의 하이퍼파라미터 중 적어도 일부를 가리키는 제1 복수의 하이퍼파라미터는 상관 관계가 존재하는 하이퍼파라미터이고, 나머지를 가리키는 제2 복수의 하이퍼파라미터는 상관 관계가 존재하지 않는 하이퍼파라미터라고 가정하자.
그러면, 도 7a에 도시된 바와 같이, 상기 제1 복수의 하이퍼파라미터의 값은 하이퍼파라미터 공간(hyper-parameter space) 상의 지정된 값의 범위(211) 내에서 상관 관계에 기초하여 샘플링 된다. 도 7a에 도시된 포인트는 하이퍼파라미터의 샘플 값을 가리킨다. 상기 상관 관계를 갖는 하이퍼파라미터의 예는 학습률(learning rate)과 학습률 감소(learning rate decay)를 들 수 있으며, 상기 상관 관계는 예를 들어 사용자에 의해 지정될 수 있다.
다음으로, 도 7b에 도시된 바와 같이, 상기 제2 복수의 하이퍼파라미터의 값은 하이퍼파라미터 공간 상의 지정된 값의 범위(213) 내에서 상호 독립적으로 샘플링 된다. 예를 들어, 그리드 탐색, 랜덤 탐색과 같은 기법이 이용될 수 있다. 도 7b는 그리드 탐색을 예로 도시하고 있으며, 그리드 탐색 및 랜덤 탐색은 당해 기술 분야의 종사자에게 이미 자명한 기법들인 바, 이에 대한 설명은 생략하도록 한다.
본 실시예에 따르면, 하이퍼파라미터 간의 상관 관계에 기반하여 샘플링이 수행되는 바, 그리드 탐색 및 랜덤 탐색과 같은 종래의 기법에 비해 보다 효율적인 하이퍼파라미터 탐색이 이루어질 수 있다. 즉, 동일한 탐색 횟수로 제한하여 하이퍼피라미터 탐색이 수행된다고 가정할 때, 본 실시예에 따르는 경우 보다 최적 하이퍼파라미터에 근사한 샘플 값이 도출될 수 있다.
다시 도 6을 참조하면, 단계(S20)에서, 학습 모듈(110)은 제공 받은 최적 하이퍼파라미터 후보군을 기계 학습 모델에 적용하고, 트레이닝 데이터셋을 이용하여 상기 기계 학습 모델에 대한 제1 트레이닝을 수행한다. 최적 하이퍼파라미터 후보군에 복수의 하이퍼파라미터 샘플이 포함된 경우, 각 하이퍼파라미터 샘플이 적용된 기계 학습 모델 별로 상기 제1 트레이닝이 수행된다.
또한, 상기 제1 트레이닝 수행 이후, 학습 모듈(110)은 검증 데이터셋을 이용하여 각 기계 학습 모델의 성능을 평가한다. 성능 평가는 교차 검증(cross validation), 홀드 아웃(hold out) 기법 등 어떠한 기법이 이용되더라도 무방하고, 성능 평가 메트릭은 모델의 정확도, 평균 오차 등이 될 수 있다. 상기 검증 데이터셋은 트레이닝 데이터셋과 구분되는 별개의 데이터셋으로 구성되는 것이 바람직하다. 또한, 상기 검증 데이터셋은 기계 학습 모델에 대한 실제 성능 검증에 이용되는 테스트 데이터셋과도 별개의 데이터셋으로 구성되는 것이 바람직할 수 있다. 이는, 하이퍼파라미터의 샘플 값이 테스트 데이터셋에 과적합(overfitting) 되는 것을 방지하기 위해서이다.
단계(S30)에서, 학습 모듈(110)은 각 하이퍼파라미터 샘플에 대한 제1 성능 평가 결과(p11, p12, …, p1k)를 최적화 모듈(130)로 제공한다. 본 명세서에서, p는 성능 평가 결과를 가리키고, 영문자(p)에 부여된 첨자는 대응되는 하이퍼파라미터 샘플을 가리킨다.
단계(S40)에서, 최적화 모듈(130)은 상기 제1 성능 평가 결과를 이용하여 w개(단, w는 1 이상의 자연수)의 신규 하이퍼파라미터 샘플을 생성한다. 예를 들어, 최적화 모듈(130)은 상기 제1 성능 평가 결과를 기초로 성능이 가장 뛰어난 베스트 하이퍼파라미터 샘플(h1best)을 선정하고, 상기 베스트 하이퍼파라미터 샘플(h1best)의 값을 이용하여 신규 하이퍼파라미터 샘플을 생성할 수 있다.
제1 실시예에서, 최적화 모듈(130)은 미리 설정된 특정 값을 기초로 상기 베스트 하이퍼파라미터 샘플(h1best)을 구성하는 적어도 일부의 하이퍼파라미터 값을 변경하여 상기 신규 하이퍼파라미터 샘플을 생성할 수 있다. 즉, 하이퍼파라미터 공간 상에서 베스트 하이퍼파라미터 샘플(h1best)의 위치를 기준으로 주변 영역 내에서 신규 하이퍼파라미터 샘플이 생성된다. 이때, 상기 특정 값은 매우 작은 값으로 설정되는 것이 바람직할 수 있다. 하이퍼파라미터의 값이 조금만 변경되더라도 기계 학습 모델의 성능은 크게 달라질 수 있기 때문이다. 상기 제1 실시예에 따르면, 하이퍼파라미터의 미세 조정(fine tuning)을 통해 정확하게 최적 하이퍼파라미터가 탐색되는 효과가 있다.
제2 실시예에서, 최적화 모듈(130)은 최적 하이퍼파라미터 후보군에 속한 하이퍼파라미터 샘플에서 나타내는 값의 추세에 기초하여 상기 신규 하이퍼파라미터 샘플을 생성할 수 있다. 구체적으로, 하이퍼파라미터 값의 추세는 예를 들어 아래의 예시들에 따라 결정될 수 있다.
제1 예시에서, 최적화 단계 별로 제공된 하이퍼파라미터 샘플을 이용하여, 최적화 단계(또는 최적화 진행 시간)에 따른 하이퍼파라미터 값의 추세가 결정될 수 있다. 이에 대한 예는 도 8에 도시되어 있다. 도 8을 참조하면, 최적화 단계가 진행될수록 특정 하이퍼파라미터의 값이 점점 커지는 추세가 나타날 수 있다. 또는, 특정 하이퍼파라미터의 값이 점점 작아지는 추세가 나타날 수 있다. 상기 추세는 예를 들어 회귀 분석(regression analysis)을 통해 결정될 수 있고, 상기 회귀 분석을 이용하여 다음에 제공될 하이퍼파라미터 샘플의 값이 샘플링 될 수 있다.
제2 예시에서, 각 하이퍼파라미터의 값과 성능 평과 결과의 관계에 기초하여, 성능에 따른 하이퍼파라미터 값의 추세가 결정될 수 있다. 즉, 기계 학습 모델의 성능과 하이퍼파라미터의 값이 도 8에 도시된 그래프의 축에 대응되도록 회귀 분석이 수행되고, 상기 회귀 분석에 따라 하이퍼파라미터 값의 추세가 결정될 수 있다. 다만, 상기 열거된 예시들은 본 발명의 일부 실시예를 설명하기 위한 것일 뿐, 본 발명의 범위가 상기 예시들에 국한되는 것은 아니다.
상기 제2 실시예에서, 최적화 모듈(130)은 베스트 하이퍼파라미터 샘플(h1best)의 값을 기준으로 하이퍼파라미터 값의 추세를 고려하여 상기 신규 하이퍼파라미터 샘플을 생성할 수 있다. 본 실시예에 따르면, 기 제공된 하이퍼파라미터의 샘플에서 나타나는 추세 정보를 이용하여 최적 하이퍼파라미터 값을 찾기 위한 탐색이 수행된다. 따라서, 종래의 탐색 기법들에 비해 보다 효과적으로 최적 하이퍼파라미터 탐색이 수행될 수 있다.
제3 실시예에서, 최적화 모듈(130)은 도 7a 및 도 7b를 참조하여 설명한 상관 관계 기반 샘플링 기법을 이용하여 상기 신규 하이퍼파라미터 샘플을 생성할 수 있다. 예를 들어, 최적화 모듈(130)은 베스트 하이퍼파라미터 샘플(h1best)의 값을 기준으로 일정 범위 내에서 상관 관계 기반 샘플링을 수행함으로써 상기 신규 하이퍼파라미터 샘플을 생성할 수 있다.
제4 실시예에서, 전술한 제1 실시예 내지 제3 실시예를 조합하여 신규 하이퍼파라미터 샘플이 생성될 수도 있다. 예를 들어, 하이퍼파라미터의 추세 및 상관 관계를 고려하여 신규 하이퍼파라미터가 샘플링 될 수도 있다.
단계(S50)에서, 최적화 모듈(130)은 기계 학습 모듈(110)로 w개의 신규 하이퍼파라미터 샘플(h21, h22, …, h2w)을 제공한다.
단계(S60)에서, 학습 모듈(110)은 w개의 신규 하이퍼파라미터 샘플(h21, h22, …, h2w) 각각을 기계 학습 모델에 다시 적용하여, 각 신규 하이퍼퍼라미터 샘플 별로 제2 트레이닝 및 제2 성능 평가를 수행한다.
단계(S70)에서, 학습 모듈(110)은 상기 제2 성능 평가의 결과(p21, p22, …, p2w)를 최적화 모듈(130)로 제공한다.
단계(S80)에서, 최적화 모듈(130)은 상기 제2 성능 평가의 결과를 기초로 상기 신규 하이퍼파라미터 샘플 중에서 후보 하이퍼파라미터 샘플을 선정하고, 선정된 후보 하이퍼파라미터 샘플을 최적 하이퍼파라미터 후보군에 추가한다. 예를 들어, 최적화 모듈(130)은 성능 평가 결과가 가장 우수한 베스트 하이퍼파라미터 샘플(h2best)을 최적 하이퍼파라미터 후보군에 추가할 수 있다. 다른 예를 들어, 최적화 모듈(130)은 성능 평가 결과가 상대적으로 우수한 적어도 하나의 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가할 수도 있다.
단계(S90)에서, 학습 모듈(110)은 신규 하이퍼파라미터 샘플 중에서 선정된 베스트 하이퍼파라미터 샘플(h2best)을 기계 학습 모델에 다시 적용하여, 상기 기계 학습 모델에 대한 제3 트레이닝을 수행한다.
이때, 상기 제3 트레이닝의 학습 횟수는 상기 제1 트레이닝 및 상기 제2 트레이닝의 학습 횟수보다 높은 횟수로 설정될 수 있다. 예를 들어, 상기 제1 트레이닝 및 상기 제2 트레이닝의 학습 횟수는 1 에폭(epoch)으로 설정되고, 상기 제3 트레이닝의 학습 횟수는 10 에폭, 또는 100 에폭 등으로 설정될 수 있다. 상기 제1 트레이닝 및 상기 제2 트레이닝은 각 하이퍼파라미터 샘플의 개략적 성능 평가를 위해 수행되는 것인 반면, 상기 제3 트레이닝은 각 최적화 단계에서 선정된 베스트 하이퍼파라미터 샘플을 적용하여 기계 학습 모델을 실질적으로 트레이닝 하는 것이기 때문이다.
상기 학습 횟수의 단위를 에폭, 트레이닝 데이터의 개수, 배치의 개수 등으로 다양하게 설정될 수 있는 것으로, 이해의 편의를 제공하기 위해 에폭을 예로 들었으나 본 발명의 범위가 상기 예시에 국한되는 것은 아니다.
또한, 단계(S90)에서, 학습 모듈(110)이 신규 하이퍼파라미터 샘플 중에서 선정된 베스트 하이퍼파라미터 샘플(h2best)을 적용하여 상기 제3 트레이닝을 수행하는 것으로 설명하였다. 그러나, 실시예에 따라, 상기 제3 트레이닝은 해당 최적화 단계에서 가장 높은 성능 평가 결과가 도출된 하이퍼파라미터 샘플에 기반하여 수행될 수도 있다.
단계(S100)에서, 최적화 모듈(130)은 다시 최적 하이퍼라미터 후보군을 학습 모듈(110)로 제공하면서, 제2 최적화 단계가 개시된다. 이때, 상기 최적 하이퍼파라미터 후보군은 k+1개의 하이퍼파라미터 샘플(h11, h12, …, h1k, h2best)로 구성된다. 또한, 학습 모듈(110)은 상기 k+1개의 하이퍼파라미터 샘플(h11, h12, …, h1k, h2best)을 제3 트레이닝이 수행된 기계 학습 모듈에 다시 적용하여, 각 하이퍼파라미터 샘플 별 트레이닝 및 성능 평가를 수행한다.
매 최적화 단계 별로 최적 하이퍼파라미터 후보군을 제공하는 이유는 기계 학습 모델이 트레이닝 됨에 따라, 최적 하이퍼파라미터의 값이 변경될 수 있기 때문이다. 예를 들어, 도 9에 도시된 바와 같이, 제1 최적화 단계의 하이퍼파라미터 샘플 별 성능 평가 그래프(W1)에서 하이퍼파라미터 샘플(h1best)이 최고 성능을 가리키고 있으나, 제n 최적화 단계의 하이퍼파라미터 샘플 별 성능 평가 그래프(Wn)에서는 하이퍼파라미터 샘플(hn5)이 하이퍼퍼파라미터 샘플(h1best)보다 더 높은 성능을 보일 수 있다. 따라서, 하이퍼파라미터 샘플(hn5)을 보다 효과적으로 탐색하기 위해, 신규 하이퍼파라미터 샘플 제공과 기 제공된 하이퍼파라미터 샘플에 대한 재평가를 병행하는 것으로 이해될 수 있다.
본 발명의 실시예에 따르면, 각 최적화 단계는 미리 설정된 조건을 만족할 때까지 반복하여 수행될 수 있다. 이때, 상기 미리 설정된 조건은 예를 들어 반복 횟수, 테스트 데이터셋을 이용하여 수행된 기계 학습 모델의 성능이 소정의 성능을 상회하는 조건, 하이퍼파라미터 샘플에 대한 성능이 소정의 성능을 상회하는 조건 등으로 다양하게 설정될 수 있다.
지금까지, 도 6 내지 도 9를 참조하여 본 발명의 제1 실시예에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 설명하였다. 상술한 방법에 따르면, 종래의 그리드 탐색 및 랜덤 탐색에 비해 보다 효과적으로 하이퍼파라미터 탐색이 수행될 수 있다. 이에 따라, 최적 하이퍼파라미터 탐색에 소요되는 컴퓨팅 비용 및 시간 비용이 감소될 수 있다. 아울러, 상기 제1 실시예에 따르면, 기계 학습 모델의 모든 하이퍼파라미터가 동시에 최적화될 수 있으며, 기계 학습 모델의 트레이닝 완료 후에 하이퍼파라미터 변경하여 다시 트레이닝이 수행될 필요도 없다.
다음으로, 도 10 및 도 11을 참조하여 본 발명의 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 설명하도록 한다.
상기 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법은 최적화 모델을 이용하여 신규 하이퍼파라미터 샘플을 생성한다. 이때, 상기 최적화 모델은 하이퍼파라미터와 기계 학습 모델의 성능과의 관계를 나타내는 모델을 의미한다. 상기 최적화 모델은 예를 들어 로지스틱 회귀(Logistic Regression), 가우시안 프로세스(Guassian Process) 등의 확률 모델에 기초하여 구축될 수 있고, 실시예에 따라 기반이 되는 확률 모델은 얼마든지 달라질 수 있다. 또한, 본 발명의 실시예에 따르면, 상기 최적화 모델은 각각의 하이퍼파라미터 별로 구축될 수도 있다. 이하, 상기 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 상세하게 설명하도록 한다.
도 10은 본 발명의 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법에서 최적화 모델 구축 과정을 나타내는 흐름도이다.
도 10을 참조하면, 단계(S110)에서, 최적화 모듈(130)은 기계 학습 모델의 하이퍼파라미터의 값을 샘플링 하여 k개(단, k는 1 이상의 자연수)의 하이퍼파라미터 샘플을 생성한다.
상기 하이퍼파라미터 샘플을 생성하기 위해, 최적화 모듈(130)은 도 7a 및 도 7b을 참조하여 전술한 상관 관계 기반 샘플링을 이용할 수 있다. 다만, 실시예에 따라, 그리드 탐색 또는 랜덤 탐색 기반의 샘플링만이 이용될 수도 있다.
단계(S120)에서, 최적화 모듈(130)은 k개의 하이퍼파라미터 샘플(h01, h02, …, h0k)을 학습 모듈(110)로 제공한다.
단계(S130)에서, 학습 모듈(110)은 상기 k개의 하이퍼퍼라미터 샘플 각각을 기계 학습 모델에 적용하고, 상기 기계 학습 모델에 대한 제1 트레이닝을 수행한다. 또한, 학습 모듈(110)은 상기 제1 트레이닝이 수행된 기계 학습 모델에 대한 제1 성능 평가를 수행한다. 이에 대한 설명은 전술한 바와 유사한 바, 더 이상의 설명은 생략하도록 한다.
단계(S140)에서, 학습 모듈(110)은 상기 제1 성능 평가의 결과(p01, p02, ,,,, p0k)를 최적화 모듈(130)로 제공한다.
단계(S150)에서, 최적화 모듈(130)은 k개의 하이퍼파라미터 샘플과 상기 제1 성능 평가의 결과를 기초로 최적화 모델을 구축한다. 구체적으로, 최적화 모듈(130)은 k개의 하이퍼파라미터 샘플과 상기 제1 성능 평가의 결과를 이용하여 최적화 모델의 파라미터(e.g. 확률 모델을 가리키는 수학식의 계수)를 결정함으로써 상기 최적화 모델을 구축한다.
실시예에 따라, 최적화 모듈(130)은 각 하이퍼파라미터 별로 최적화 모델을 구축할 수도 있다.
단계(S160)에서, 학습 모듈(110)은 제1 성능 평가 결과를 기초로 선정된 베스트 하이퍼파라미터 샘플(h0best)을 기계 학습 모델에 적용하여 제2 트레이닝을 수행한다. 다만, 실시예에 따라, 본 단계(S160)는 생략될 수도 있다.
지금까지, 도 10을 참조하여 본 발명의 실시예에 따른 최적화 모델 구축 방법에 대하여 설명하였다. 이하에서는, 도 11을 참조하여 본 발명의 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 설명하도록 한다.
도 11은 본 발명의 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 상기 제2 실시예에 따른 최적화 방법의 전반적인 과정은 상기 제1 실시예 따른 최적화 방법과 유사한 바, 중복되는 부분에 대한 설명은 생략하도록 한다.
도 11을 참조하면, 단계(S210)에서, 최적화 모듈(130)은 최적 하이퍼파라미터 후보군을 학습 모듈(110)로 제공함으로써 제1 최적화 단계가 개시된다. 이때, 상기 최적 하이퍼파라미터 후보군은 예를 들어 최적화 모델 구축에 이용된 k개의 하이퍼파라미터 샘플(h11, h12, …, h1k)을 포함할 수 있다.
단계(S220)에서, 학습 모듈(110)은 각각의 하이퍼파라미터 샘플을 적용하여 기계 학습 모델에 대한 제1 트레이닝 및 제1 성능 평가를 수행한다.
단계(S230)에서, 학습 모듈(110)은 상기 제1 성능 평가의 결과(p11, p12, …, p1k)를 최적화 모듈(130)로 제공한다.
단계(S240)에서, 최적화 모듈(130)은 최적 하이퍼파라미터 후보군과 상기 제1 성능 평가 결과를 이용하여 최적화 모델을 갱신한다.
단계(S250)에서, 최적화 모듈(130)은 갱신된 최적화 모델을 이용하여 w개(단, w는 1 이상의 자연수)의 신규 하이퍼파라미터 샘플을 생성한다. 구체적으로, 최적화 모듈(130)은 단계(S40)와 유사한 방식의 샘플링을 수행하여 적어도 하나의 신규 하이퍼파라미터 샘플을 생성하고, 최적화 모델을 이용하여 각 신규 하이퍼파라미터 샘플에 대한 성능을 예측한다. 또한, 최적화 모듈(130)은 성능 예측 결과가 미리 정의된 조건을 만족하는 w개의 신규 하이퍼파라미터 샘플을 선정할 수 있다. 상기 미리 정의된 조건은 예를 들어 예측된 성능이 임계 값 이상인 조건, 예측된 성능이 기존 하이퍼파라미터 샘플의 성능을 상회하는 조건 등으로 다양하게 설정될 수 있다.
단계(S260)에서, 최적화 모듈(130)은 w개의 신규 하이퍼파라미터 샘플(h21, h22, …, h2w)을 학습 모듈(110)로 제공한다.
단계(S270)에서, 학습 모듈(110)은 w개의 신규 하이퍼파라미터 샘플(h21, h22, …, h2w) 각각을 기계 학습 모델에 다시 적용하여, 상기 기계 학습 모델에 대한 제2 트레이닝 및 제2 성능 평가를 수행한다.
단계(S280)에서, 학습 모듈(110)은 상기 제2 성능 평가의 결과(p21, p22, …, p2k)를 최적화 모듈(130)로 제공한다.
단계(S290)에서, 최적화 모듈(130)은 w개의 신규 하이퍼파라미터 샘플(h21, h22, …, h2w)과 상기 제2 성능 평가의 결과(p21, p22, …, p2k)를 이용하여 최적화 모델을 다시 갱신한다.
단계(S300)에서, 최적화 모듈(130)은 w개의 신규 하이퍼파라미터 샘플(h21, h22, …, h2w) 중에서 후보 하이퍼파라미터 샘플을 선정하고, 선정된 샘플을 최적 하이퍼파라미터 후보군에 추가한다. 본 단계(S300)에 대한 설명은 단계(S80)와 유사하므로, 더 이상의 설명은 생략하도록 한다.
단계(S310)에서, 학습 모듈(110)은 제1 최적화 단계의 베스트 하이퍼파라미터 샘플(e.g. h1best , h2best)을 이용하여 기계 학습 모델에 대한 제3 트레이닝을 수행한다.
전술한 바와 같이, 상기 제3 트레이닝은 상기 제1 트레이닝 및 상기 제2 트레이닝보다 많은 학습 횟수로 수행될 수 있다.
단계(S320)에서, 제2 최적화 단계가 개시되고, 상기 제2 최적화 단계는 전술한 제1 최적화 단계와 동일한 과정으로 진행된다. 또한, 최적화 단계는 미리 정의된 조건을 만족할 때까지 반복하여 수행될 수 있다. 이때, 상기 미리 설정된 조건은 예를 들어 반복 횟수, 테스트 데이터셋을 이용하여 수행된 기계 학습 모델의 성능이 소정의 성능을 상회하는 조건, 하이퍼파라미터 샘플에 대한 성능이 소정의 성능을 상회하는 조건 등으로 다양하게 설정될 수 있다.
지금까지, 도 10 및 도 11을 참조하여 본 발명의 제2 실시예에 따른 하이퍼파라미터 자동 최적화 방법에 대하여 설명하였다. 상술한 방법에 따르면, 최적화 모델을 이용하여 예측된 성능에 기반하여 하이퍼파라미터 샘플이 생성된다. 따라서, 상기 제1 실시예보다 보다 효율적으로 하이퍼파라미터 탐색이 이루어질 수 있다.
이하에서는, 도 12를 참조하여 본 발명의 일 실시예에 따른 하이퍼파라미터 최적화 장치(200)의 구성 및 동작에 대하여 설명하도록 한다.
도 12는 본 발명의 일 실시예에 따른 하이퍼파라미터 최적화 장치(200)의 하드웨어 구성도이다.
도 12를 참조하면, 하이퍼파라미터 최적화 장치(200)는 하나 이상의 프로세서(201), 버스(205), 네트워크 인터페이스(207), 프로세서(201)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(203)와, 하이퍼파라미터 자동 최적화 소프트웨어(209a)를 저장하는 스토리지(209)를 포함할 수 있다. 다만, 도 12에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(201)는 하이퍼파라미터 최적화 장치(200)의 각 구성의 전반적인 동작을 제어한다. 프로세서(201)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(201)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 하이퍼파라미터 최적화 장치(200)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(203)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(203)는 본 발명의 실시예들에 따른 하이퍼파라미터 자동 최적화 방법을 실행하기 위하여 스토리지(209)로부터 하나 이상의 프로그램(209a)을 로드할 수 있다. 도 12에서 메모리(203)의 예시로 RAM이 도시되었다.
버스(205)는 하이퍼파라미터 최적화 장치(200)의 구성 요소 간 통신 기능을 제공한다. 버스(205)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(207)는 하이퍼파라미터 최적화 장치(200)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(207)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(207)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(209)는 상기 하나 이상의 프로그램(209a)을 비임시적으로 저장할 수 있다. 도 12에서 상기 하나 이상의 프로그램(209a)의 예시로 하이퍼파라미터 최적화 소프트웨어(209a)가 도시되었다.
스토리지(209)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
하이퍼파라미터 최적화 소프트웨어(209a)는 메모리(203)에 로드되어 프로세스(201)로 하여금 전술한 본 발명의 실시예에 따라 하이퍼파라미터 자동 최적화 방법을 수행하도록 하는 오퍼레이션(operation)을 포함할 수 있다. 상기 오퍼레이션은 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.
일 예를 들어, 하이퍼파라미터 최적화 소프트웨어(209a)는 기계 학습 모델에 대한 하이퍼파라미터의 값을 샘플링(sampling) 하여, 제1 하이퍼파라미터 샘플을 생성하는 오퍼레이션, 상기 제1 하이퍼파라미터 샘플을 적용하여 제1 트레이닝(training) 된 기계 학습 모델에 대한 제1 성능 측정 결과를 획득하는 오퍼레이션, 상기 제1 성능 측정 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 오퍼레이션 및 상기 최적화 모델을 이용하여, 제2 하이퍼파라미터 샘플을 제공하는 오퍼레이션을 포함할 수 있다.
다른 일 예를 들어, 하이퍼파라미터 최적화 소프트웨어(209a)는 최적 하이퍼파라미터 후보군으로 지정된 제1 복수의 하이퍼파라미터 샘플 각각에 대한 상기 기계 학습 모델의 제1 성능 평가 결과를 획득하는 제1 오퍼레이션, 상기 제1 성능 평가 결과를 기초로, 상기 제1 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 제1 하이퍼파라미터 샘플을 선정하는 제2 오퍼레이션, 상기 제1 하이퍼파라미터 샘플의 값을 기초로, 상기 기계 학습 모델에 대한 하이퍼라미터의 값을 샘플링(sampling)하여, 제2 하이퍼파라미터 샘플을 생성하는 제3 오퍼레이션 및 상기 제2 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가하는 제4 오퍼레이션을 포함할 수 있다.
지금까지, 도 12를 참조하여 본 발명의 실시예에 따른 하이퍼파라미터 최적화 장치(200)에 대하여 설명하였다.
지금까지, 도 2 내지 도 12를 참조하여 본 발명의 몇몇 실시예들을 설명하고 및 상기 실시예들에 따른 효과를 언급하였다. 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 도 2 내지 도 12를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (18)

  1. 하이퍼파라미터 최적화 장치에서 기계 학습 모델(machine learning model)의 하이퍼파라미터(hyper-parameter)를 최적화하는 방법에 있어서,
    상기 기계 학습 모델에 대한 하이퍼파라미터의 값을 샘플링(sampling) 하여, 제1 하이퍼파라미터 샘플을 생성하는 단계;
    상기 제1 하이퍼파라미터 샘플을 적용하여 제1 트레이닝(training) 된 기계 학습 모델에 대한 제1 성능 측정 결과를 획득하는 단계;
    상기 제1 성능 측정 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 단계; 및
    상기 최적화 모델을 이용하여, 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  2. 제1 항에 있어서,
    상기 기계 학습 모델은 복수의 하이퍼파라미터를 갖는 모델이고,
    상기 복수의 하이퍼파라미터 중 적어도 일부를 가리키는 제1 복수의 하이퍼파라미터는 상관 관계가 존재하는 하이퍼파라미터이며,
    상기 제1 하이퍼파라미터 샘플을 생성하는 단계는,
    상기 상관 관계를 기초로 상기 제1 복수의 하이퍼파라미터에 대한 값을 샘플링하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  3. 제1 항에 있어서,
    상기 제2 하이퍼파라미터 샘플을 제공하는 단계는,
    미리 설정된 특정 값을 기초로 상기 제1 하이퍼파라미터 샘플을 구성하는 적어도 일부의 하이퍼파라미터의 값을 변경하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계;
    상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플의 성능을 예측하는 단계;
    상기 예측된 성능이 미리 설정된 조건을 만족한다는 판정에 응답하여, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  4. 제3 항에 있어서,
    상기 제1 하이퍼파라미터 샘플은 복수의 하이퍼파라미터 샘플을 포함하고,
    상기 제2 하이퍼파라미터 샘플을 생성하는 단계는,
    상기 제1 성능 측정 결과를 기초로, 상기 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 하이퍼파라미터 샘플을 선정하는 단계; 및
    상기 선정된 하이퍼파라미터 샘플을 구성하는 적어도 일부의 하이퍼파라미터의 값을 변경하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  5. 제1 항에 있어서,
    상기 제2 하이퍼파라미터 샘플을 제공하는 단계는,
    기 제공된 하이퍼파라미터 샘플을 이용하여, 하이퍼파라미터 값의 추세를 결정하는 단계;
    상기 결정된 추세를 기초로 상기 제2 하이퍼파라미터 샘플을 생성하는 단계;
    상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플의 성능을 예측하는 단계; 및
    상기 예측된 성능이 미리 설정된 조건을 만족한다는 판정에 응답하여, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  6. 제1 항에 있어서,
    상기 기계 학습 모델은 복수의 하이퍼파라미터를 갖는 모델이고,
    상기 복수의 하이퍼파라미터는 상관 관계가 존재하는 제1 복수의 하이퍼파라미터와 상관 관계가 존재하지 않는 제2 복수의 하이퍼파라미터를 포함하며,
    상기 제2 하이퍼파라미터 샘플을 제공하는 단계는,
    상기 상관 관계를 기초로 상기 제1 복수의 하이퍼파라미터의 값을 샘플링하여 제1 샘플 값을 생성하는 단계;
    상기 제2 복수의 하이퍼파라미터의 값을 샘플링하여 제2 샘플 값을 생성하는 단계;
    상기 제1 샘플 값 및 상기 제2 샘플 값을 이용하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계;
    상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플의 성능을 예측하는 단계; 및
    상기 예측된 성능이 미리 설정된 조건을 만족한다는 판정에 응답하여, 상기 제2 하이퍼파라미터 샘플을 제공하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  7. 제1 항에 있어서,
    상기 제2 하이퍼파라미터 샘플이 적용된 제2 기계 학습 모델에 대한 제2 성능 측정 결과를 획득하는 단계;
    상기 제2 하이퍼파라미터 샘플 및 상기 제2 성능 측정 결과를 이용하여, 상기 최적화 모델을 갱신하는 단계; 및
    상기 갱신된 최적화 모델을 이용하여, 제3 하이퍼파라미터 샘플을 제공하는 단계를 더 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  8. 제1 항에 있어서,
    상기 제1 하이퍼파라미터 샘플 및 상기 제2 하이퍼파라미터 샘플을 최적 하이퍼파라미터 후보군으로 지정하는 단계; 및
    상기 제2 하이퍼파라미터 샘플을 적용하여 제2 트레이닝 된 기계 학습 모델에 상기 최적 하이퍼파라미터 후보군을 제공하는 단계를 더 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  9. 제8 항에 있어서,
    상기 제2 트레이닝의 학습 횟수는 상기 제1 트레이닝의 학습 횟수보다 더 큰 값으로 설정되는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  10. 하이퍼파라미터 최적화 장치에서 기계 학습 모델(machine learning model)의 하이퍼파라미터(hyper-parameter)를 최적화하는 방법에 있어서,
    최적 하이퍼파라미터 후보군으로 지정된 제1 복수의 하이퍼파라미터 샘플 각각에 대한 상기 기계 학습 모델의 제1 성능 평가 결과를 획득하는 제1 단계;
    상기 제1 성능 평가 결과를 기초로, 상기 제1 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 제1 하이퍼파라미터 샘플을 선정하는 제2 단계;
    상기 제1 하이퍼파라미터 샘플의 값을 기초로, 상기 기계 학습 모델에 대한 하이퍼라미터의 값을 샘플링(sampling)하여, 제2 하이퍼파라미터 샘플을 생성하는 제3 단계; 및
    상기 제2 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가하는 제4 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  11. 제10 항에 있어서,
    상기 제1 단계는,
    상기 제1 복수의 하이퍼파라미터 샘플 각각을 상기 기계 학습 모델에 적용하고, 상기 제1 복수의 하이퍼파라미터 샘플 각각에 대하여 상기 기계 학습 모델에 대한 제1 트레이닝이 수행되도록 하는 단계; 및
    상기 제1 트레이닝이 수행된 기계 학습 모델에 대한 성능 평가를 통해 상기 제1 성능 평가 결과를 획득하는 단계를 포함하는 것을 특징으로 하는
    하이퍼파라미터 자동 최적화 방법.
  12. 제11 항에 있어서,
    상기 제2 하이퍼파라미터 샘플을 상기 기계 학습 모델에 적용하여, 상기 기계 학습 모델에 대한 제2 트레이닝이 수행되도록 하는 단계를 더 포함하되,
    상기 제2 트레이닝의 학습 횟수는 상기 제1 트레이닝의 학습 횟수보다 더 큰 값으로 설정되는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  13. 제10 항에 있어서,
    상기 제2 하이퍼파라미터 샘플은 복수의 하이퍼파라미터 샘플을 포함하고,
    상기 제4 단계는,
    상기 복수의 하이퍼파라미터 샘플 각각에 대한 상기 기계 학습 모델의 제2 성능 평가 결과를 획득하는 단계;
    상기 제2 성능 평가 결과를 기초로, 상기 복수의 하이퍼파라미터 샘플 중에서 미리 설정된 조건을 만족하는 후보 하이퍼파라미터 샘플을 선정하는 단계; 및
    상기 후보 하이퍼파라미터 샘플을 상기 최적 하이퍼파라미터 후보군에 추가하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  14. 제10 항에 있어서,
    상기 제2 하이퍼파라미터 샘플을 상기 기계 학습 모델에 적용하여, 상기 기계 학습 모델에 대한 트레이닝(training)을 수행하는 제5 단계를 더 포함하되,
    상기 제1 단계 내지 상기 제5 단계는 미리 설정된 조건을 만족할 때까지 반복하여 수행되는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  15. 제10 항에 있어서,
    상기 기계 학습 모델은 복수의 하이퍼파라미터를 갖는 모델이고,
    상기 복수의 하이퍼파라미터는 상관 관계가 존재하는 제1 복수의 하이퍼파라미터와 상관 관계가 존재하지 않는 제2 복수의 하이퍼파라미터를 포함하며,
    상기 제1 복수의 하이퍼파라미터 샘플을 구성하는 각각의 하이퍼파라미터 샘플은,
    상기 상관 관계를 기초로 상기 제1 복수의 하이퍼파라미터에 대한 값을 샘플링하여 생성된 제1 샘플 값 및 상기 제2 복수의 하이퍼파라미터에 대한 값을 샘플링하여 생성된 제2 샘플 값을 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  16. 제10 항에 있어서,
    상기 제3 단계는,
    미리 설정된 특정 값을 기초로 상기 제1 하이퍼파라미터 샘플을 구성하는 적어도 일부의 하이퍼파라미터의 값을 변경하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  17. 제10 항에 있어서,
    상기 제3 단계는,
    상기 제1 복수의 하이퍼파라미터 샘플을 이용하여, 하이퍼파라미터 값의 추세를 결정하는 단계; 및
    상기 결정된 추세 및 상기 제1 하이퍼파라미터 샘플을 기초로, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
  18. 제10 항에 있어서,
    상기 제3 단계는,
    제1 복수의 하이퍼파라미터 샘플과 상기 제1 성능 평가 결과를 이용하여, 상기 기계 학습 모델에 대한 하이퍼파라미터와 상기 기계 학습 모델의 성능과의 관계를 나타내는 최적화 모델을 구축하는 단계; 및
    상기 제1 하이퍼파라미터 샘플 및 상기 최적화 모델을 이용하여, 상기 제2 하이퍼파라미터 샘플을 생성하는 단계를 포함하는 것을 특징으로 하는,
    하이퍼파라미터 자동 최적화 방법.
KR1020170144181A 2017-10-31 2017-10-31 하이퍼파라미터 자동 최적화 방법 및 그 장치 KR102107378B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170144181A KR102107378B1 (ko) 2017-10-31 2017-10-31 하이퍼파라미터 자동 최적화 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170144181A KR102107378B1 (ko) 2017-10-31 2017-10-31 하이퍼파라미터 자동 최적화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20190048895A true KR20190048895A (ko) 2019-05-09
KR102107378B1 KR102107378B1 (ko) 2020-05-07

Family

ID=66546473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170144181A KR102107378B1 (ko) 2017-10-31 2017-10-31 하이퍼파라미터 자동 최적화 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102107378B1 (ko)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582374A (zh) * 2020-05-09 2020-08-25 北京百度网讯科技有限公司 超参数搜索方法、装置、设备以及存储介质
CN111709519A (zh) * 2020-06-17 2020-09-25 湖南大学 一种深度学习并行计算架构方法及其超参数自动配置优化
WO2020246631A1 (ko) * 2019-06-04 2020-12-10 엘지전자 주식회사 온도 예측 모델의 생성 장치 및 시뮬레이션 환경의 제공 방법
KR102251807B1 (ko) * 2019-11-28 2021-05-12 광운대학교 산학협력단 하이퍼파라미터 최적화 알고리즘 추천 방법 및 최적화 알고리즘 추천 시스템
KR20210057430A (ko) * 2019-11-12 2021-05-21 한국전자기술연구원 스파이킹 뉴럴 네트워크를 위한 하이퍼 파라미터 최적화 방법과 장치 및 이를 이용한 연산 장치
KR102271736B1 (ko) * 2020-09-11 2021-07-02 주식회사 뉴로클 자동화된 기계 학습 방법 및 그 장치
KR102314847B1 (ko) * 2021-03-30 2021-10-19 주식회사 솔리드웨어 최적모델탐색방법 및 그 장치
CN113536690A (zh) * 2021-07-30 2021-10-22 安徽容知日新科技股份有限公司 一种模型的参数调整方法及计算设备
CN113742991A (zh) * 2020-05-30 2021-12-03 华为技术有限公司 模型和数据联合优化方法及相关装置
KR20210154581A (ko) * 2020-06-12 2021-12-21 부산대학교 산학협력단 머신러닝을 이용한 구조용 에폭시 접착제의 포뮬레이션 예측 방법
KR102341659B1 (ko) * 2021-02-24 2021-12-21 주식회사 알티데이터랩 기계 학습을 활용한 실내 공기질 진단 시스템 및 방법
US11409564B2 (en) 2020-07-31 2022-08-09 International Business Machines Corporation Resource allocation for tuning hyperparameters of large-scale deep learning workloads
KR102465676B1 (ko) * 2022-03-31 2022-11-11 주식회사 에너자이(ENERZAi) 시계열 이상 감지 모델의 경량화 방법, 및 경량화 장치
KR102468160B1 (ko) * 2022-08-05 2022-11-17 (주)시큐레이어 머신 러닝 모델에 대응되는 최적의 하이퍼 파라미터 밸류를 자동으로 추천함으로써 상기 머신 러닝 모델의 학습을 지원하는 방법 및 이를 이용한 하이퍼 파라미터 추천 서버
KR102642421B1 (ko) * 2022-12-30 2024-02-28 건국대학교 산학협력단 인공지능 기반의 대기질 모델링 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11823076B2 (en) 2020-07-27 2023-11-21 International Business Machines Corporation Tuning classification hyperparameters
KR102641807B1 (ko) * 2023-08-22 2024-02-27 에스케이에코플랜트(주) 센서보정장치 및 센서보정장치의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160041856A (ko) * 2013-05-30 2016-04-18 프레지던트 앤드 펠로우즈 오브 하바드 칼리지 베이지안 최적화를 수행하기 위한 시스템 및 방법
KR20170031719A (ko) * 2014-07-08 2017-03-21 와이덱스 에이/에스 보청기 시스템 내에서 파라미터를 최적화하는 방법 및 보청기 시스템
KR20170034258A (ko) 2015-09-18 2017-03-28 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160041856A (ko) * 2013-05-30 2016-04-18 프레지던트 앤드 펠로우즈 오브 하바드 칼리지 베이지안 최적화를 수행하기 위한 시스템 및 방법
KR20170031719A (ko) * 2014-07-08 2017-03-21 와이덱스 에이/에스 보청기 시스템 내에서 파라미터를 최적화하는 방법 및 보청기 시스템
KR20170034258A (ko) 2015-09-18 2017-03-28 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
딥러닝-학습 관련 기술들(웹페이지).2017.01.01., 출처: https://astrod.github.io/deep_learning/2017/04/01/%ED%95%99%EC%8A%B5-%EA%B4%80%EB%A0%A8-%EA%B8%B0%EC%88%A0%EB%93%A4/* *
세상에 있는 (거의) 모든 머신러닝 문제 공략법(웹페이지), 2016.08.09.,출처: http://keunwoochoi.blogspot.com/2016/08/blog-post.html* *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020246631A1 (ko) * 2019-06-04 2020-12-10 엘지전자 주식회사 온도 예측 모델의 생성 장치 및 시뮬레이션 환경의 제공 방법
US11568310B2 (en) 2019-06-04 2023-01-31 Lg Electronics Inc. Apparatus for generating temperature prediction model and method for providing simulation environment
KR20210057430A (ko) * 2019-11-12 2021-05-21 한국전자기술연구원 스파이킹 뉴럴 네트워크를 위한 하이퍼 파라미터 최적화 방법과 장치 및 이를 이용한 연산 장치
US11922302B2 (en) 2019-11-12 2024-03-05 Korea Electronics Technology Institute Hyper-parameter optimization method for spiking neural network and the processing apparatus thereof
KR102251807B1 (ko) * 2019-11-28 2021-05-12 광운대학교 산학협력단 하이퍼파라미터 최적화 알고리즘 추천 방법 및 최적화 알고리즘 추천 시스템
CN111582374A (zh) * 2020-05-09 2020-08-25 北京百度网讯科技有限公司 超参数搜索方法、装置、设备以及存储介质
CN113742991A (zh) * 2020-05-30 2021-12-03 华为技术有限公司 模型和数据联合优化方法及相关装置
KR20210154581A (ko) * 2020-06-12 2021-12-21 부산대학교 산학협력단 머신러닝을 이용한 구조용 에폭시 접착제의 포뮬레이션 예측 방법
CN111709519A (zh) * 2020-06-17 2020-09-25 湖南大学 一种深度学习并行计算架构方法及其超参数自动配置优化
CN111709519B (zh) * 2020-06-17 2024-02-06 湖南大学 一种深度学习并行计算架构方法及其超参数自动配置优化
US11409564B2 (en) 2020-07-31 2022-08-09 International Business Machines Corporation Resource allocation for tuning hyperparameters of large-scale deep learning workloads
KR102271736B1 (ko) * 2020-09-11 2021-07-02 주식회사 뉴로클 자동화된 기계 학습 방법 및 그 장치
WO2022055020A1 (ko) * 2020-09-11 2022-03-17 주식회사 뉴로클 자동화된 기계 학습 방법 및 그 장치
KR102341659B1 (ko) * 2021-02-24 2021-12-21 주식회사 알티데이터랩 기계 학습을 활용한 실내 공기질 진단 시스템 및 방법
WO2022211179A1 (ko) * 2021-03-30 2022-10-06 주식회사 솔리드웨어 최적모델탐색방법 및 그 장치
KR102314847B1 (ko) * 2021-03-30 2021-10-19 주식회사 솔리드웨어 최적모델탐색방법 및 그 장치
CN113536690A (zh) * 2021-07-30 2021-10-22 安徽容知日新科技股份有限公司 一种模型的参数调整方法及计算设备
CN113536690B (zh) * 2021-07-30 2024-02-27 安徽容知日新科技股份有限公司 一种模型的参数调整方法及计算设备
KR102465676B1 (ko) * 2022-03-31 2022-11-11 주식회사 에너자이(ENERZAi) 시계열 이상 감지 모델의 경량화 방법, 및 경량화 장치
KR102582737B1 (ko) * 2022-03-31 2023-09-25 주식회사 에너자이 시계열 이상 감지 모델의 경량화 방법, 및 경량화 장치
KR102468160B1 (ko) * 2022-08-05 2022-11-17 (주)시큐레이어 머신 러닝 모델에 대응되는 최적의 하이퍼 파라미터 밸류를 자동으로 추천함으로써 상기 머신 러닝 모델의 학습을 지원하는 방법 및 이를 이용한 하이퍼 파라미터 추천 서버
KR102642421B1 (ko) * 2022-12-30 2024-02-28 건국대학교 산학협력단 인공지능 기반의 대기질 모델링 장치 및 방법

Also Published As

Publication number Publication date
KR102107378B1 (ko) 2020-05-07

Similar Documents

Publication Publication Date Title
KR20190048895A (ko) 하이퍼파라미터 자동 최적화 방법 및 그 장치
US11762918B2 (en) Search method and apparatus
JP6954003B2 (ja) データベースのための畳み込みニューラルネットワークモデルの決定装置及び決定方法
US11341420B2 (en) Hyperparameter optimization method and apparatus
US20190251474A1 (en) Smart default threshold values in continuous learning
US20180075357A1 (en) Automated system for development and deployment of heterogeneous predictive models
US20190102680A1 (en) Method, device and system for estimating causality among observed variables
US20180357539A1 (en) Electronic apparatus and method for re-learning trained model
JP2005107743A (ja) 学習システム
US11513851B2 (en) Job scheduler, job schedule control method, and storage medium
CN110858062B (zh) 目标优化参数的获取方法及模型训练方法、装置
US20210004727A1 (en) Hyper-parameter tuning method for machine learning algorithms using pattern recognition and reduced search space approach
US20150120254A1 (en) Model estimation device and model estimation method
US20200134453A1 (en) Learning curve prediction apparatus, learning curve prediction method, and non-transitory computer readable medium
US20220108054A1 (en) System for universal hardware-neural network architecture search (co-design)
CN112949746B (zh) 应用于用户行为分析的大数据处理方法及人工智能服务器
US11782947B2 (en) Apparatus for recommending feature and method for recommending feature using the same
KR102152081B1 (ko) 딥러닝 기반의 가치 평가 방법 및 그 장치
US20230196109A1 (en) Non-transitory computer-readable recording medium for storing model generation program, model generation method, and model generation device
CN116057543A (zh) 自动化机器学习方法及其装置
KR20180137824A (ko) 랜덤 공간 분할 최적화기를 이용하여 기계 학습 자동화를 구현하는 방법 및 시스템
JP6659618B2 (ja) 分析装置、分析方法及び分析プログラム
CN108229572B (zh) 一种参数寻优方法及计算设备
CN112561569B (zh) 基于双模型的到店预测方法、系统、电子设备及存储介质
JP5126694B2 (ja) 学習システム

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