KR102246091B1 - 머신러닝 최적화 방법 및 장치 - Google Patents

머신러닝 최적화 방법 및 장치 Download PDF

Info

Publication number
KR102246091B1
KR102246091B1 KR1020200107960A KR20200107960A KR102246091B1 KR 102246091 B1 KR102246091 B1 KR 102246091B1 KR 1020200107960 A KR1020200107960 A KR 1020200107960A KR 20200107960 A KR20200107960 A KR 20200107960A KR 102246091 B1 KR102246091 B1 KR 102246091B1
Authority
KR
South Korea
Prior art keywords
machine learning
gene
genome
processor
genomes
Prior art date
Application number
KR1020200107960A
Other languages
English (en)
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 KR1020200107960A priority Critical patent/KR102246091B1/ko
Application granted granted Critical
Publication of KR102246091B1 publication Critical patent/KR102246091B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physiology (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

머신러닝 최적화 방법 및 장치가 제시된다. 일 실시예에 따른 머신러닝 최적화 방법은, 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하는 단계; 상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하는 단계; 상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하는 단계; 및 상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하는 단계를 포함하고, 상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고, 상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함한다.

Description

머신러닝 최적화 방법 및 장치{MEHTOD AND APPARATUS FOR MACHINE LEARNING}
머신러닝에 관한 것으로 머신러닝을 최적화하는 기술에 관한 것이다.
머신러닝은 환경과의 상호작용을 통해서 축적되는 경험적인 데이터를 바탕으로 지식 즉 모델을 자동으로 구축하고 스스로 성능을 향상하는 기술을 의미한다. 머신러닝은 준비 과정(Preparation), 특징 엔지니어링 과정(Feature engineering), 알고리즘 선택 과정(Algorithm selection), 모델 학습 과정(Model training) 및 하이퍼 파라미터 튜닝 과정(Hyperparameter tuning)을 포함할 수 있다.
일 실시예에 따른 머신러닝 최적화 방법은, 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하는 단계; 상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하는 단계; 상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하는 단계; 및 상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하는 단계를 포함하고, 상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고, 상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함한다.
상기 머신러닝 파이프라인을 수행하는 단계는, 상기 제2 유전자를 기초로 상기 제1 유전자로부터 특징 벡터를 추출하는 단계; 상기 추출된 특징 벡터를 기초로 상기 제3 유전자를 학습시키는 단계; 및 상기 학습된 제3 유전자의 하이퍼파라미터에 상기 제4 유전자를 적용하는 단계를 포함할 수 있다.
상기 평가하는 단계는, 상기 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하는 단계; 및 상기 계산 결과가 미리 설정된 기준을 만족하거나 상기 현재 세대가 미리 설정된 세대에 해당하는 경우, 상기 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력하는 단계를 포함할 수 있다.
상기 선택하는 단계는, 적합도가 높을수록 높아지는 확률로 상기 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택하는 단계를 포함할 수 있다.
상기 선택하는 단계는, 상기 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 상기 제1 유전체보다 적합도가 작은 제2 유전체를 선택하는 단계; 상기 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 단계; 및 상기 난수가 상기 선택 비율보다 큰 경우 상기 제2 유전체를 선택하고, 상기 난수가 상기 선택 비율보다 작은 경우 상기 제1 유전체를 선택하는 단계를 포함할 수 있다.
상기 선택하는 단계는, 상기 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 상기 제3 유전체를 선택하는 단계를 포함할 수 있다.
상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는, 상기 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득하는 단계를 포함할 수 있다.
상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는, 유전체의 N개의 교차점을 지날 때마다 상기 제4 유전체의 유전자와 상기 제5 유전체의 유전자를 교대로 선택하여 상기 제6 유전자를 획득하는 단계를 포함할 수 있다.
상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는, 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 단계; 및 상기 난수가 상기 선택 비율보다 큰 경우 상기 제4 유전체의 유전자를 선택하고 상기 난수가 상기 선택 비율보다 작은 경우 상기 제5 유전체의 유전자를 선택하여 상기 제6 유전체를 획득하는 단계를 포함할 수 있다.
상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는, 상기 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득하는 단계를 포함할 수 있다.
일 실시예에 따른 컴퓨터 판독 가능한 기록 매체는 상기 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록할 수 있다.
일 실시예에 따른 머신러닝 최적화 장치는, 적어도 하나의 프로세서; 및 메모리를 포함하고, 상기 프로세서는, 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하고, 상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하고, 상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하고, 상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하고, 상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고, 상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함한다.
상기 프로세서는, 상기 제2 유전자를 기초로 상기 제1 유전자로부터 특징 벡터를 추출하고, 상기 추출된 특징 벡터를 기초로 상기 제3 유전자를 학습시키고, 상기 학습된 제3 유전자의 하이퍼파라미터에 상기 제4 유전자를 적용할 수 있다.
상기 프로세서는, 상기 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하고, 상기 계산 결과가 미리 설정된 기준을 만족하거나 상기 현재 세대가 미리 설정된 세대에 해당하는 경우, 상기 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력할 수 있다.
상기 프로세서는, 적합도가 높을수록 높아지는 확률로 상기 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택할 수 있다.
상기 프로세서는, 상기 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 상기 제1 유전체보다 적합도가 작은 제2 유전체를 선택하고, 상기 선택 비율과 동일한 정의역을 가지는 난수를 생성하고, 상기 난수가 상기 선택 비율보다 큰 경우 상기 제2 유전체를 선택하고, 상기 난수가 상기 선택 비율보다 작은 경우 상기 제1 유전체를 선택할 수 있다.
상기 프로세서는, 상기 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 상기 제3 유전체를 선택할 수 있다.
상기 프로세서는, 상기 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득할 수 있다.
상기 프로세서는, 유전체의 N개의 교차점을 지날 때마다 상기 제4 유전체의 유전자와 상기 제5 유전체의 유전자를 교대로 선택하여 상기 제6 유전자를 획득할 수 있다.
상기 프로세서는, 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하고, 상기 난수가 상기 선택 비율보다 큰 경우 상기 제4 유전체의 유전자를 선택하고 상기 난수가 상기 선택 비율보다 작은 경우 상기 제5 유전체의 유전자를 선택하여 상기 제6 유전체를 획득할 수 있다.
상기 프로세서는, 상기 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득할 수 있다.
도 1은 일 실시예에 따른 머신러닝 최적화 장치에 의해 유전 알고리즘에 따라 모델 학습이 수행되는 상황을 도시한 도면이다.
도 2는 일 실시예에 따른 머신러닝 최적화 방법의 동작을 도시한 순서도이다.
도 3은 일 실시예에 따른 머신러닝 최적화 방법의 일례를 도시한 흐름도이다.
도 4는 일 실시예에 따른 머신러닝 최적화 장치의 구성을 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 머신러닝 최적화 장치에 의해 유전 알고리즘에 따라 모델 학습이 수행되는 상황을 도시한 도면이다.
일 실시예에 따르면, 머신러닝 최적화 장치는 유전 알고리즘을 적용하여 머신러닝을 최적화할 수 있다. 머신러닝 최적화 장치는 머신러닝 파이프라인을 구성하는 각 과정의 선택 요소를 유전 알고리즘의 유전자에 대응시킴으로써 유전 알고리즘의 최적화 방식을 머신러닝에 적용할 수 있다. 머신러닝 최적화 장치는 유전 알고리즘의 선택 연산 및 유전 연산을 이용하여 적은 회수로도 높은 수준의 성능을 보이는 머신러닝 파이프라인의 조합을 도출할 수 있다.
머신러닝은 환경과의 상호작용을 통해서 축적되는 경험적인 데이터를 바탕으로 지식 즉 모델을 자동으로 구축하고 스스로 성능을 향상하는 기술을 의미한다. 머신러닝은 준비 과정(Preparation), 특징 엔지니어링 과정(Feature engineering), 알고리즘 선택 과정(Algorithm selection), 모델 학습 과정(Model training) 및 하이퍼 파라미터 튜닝 과정(Hyperparameter tuning)을 포함할 수 있다. 다만, 머신러닝의 과정은 상기 과정 외에도 다른 과정을 포함할 수 있으며, 상기 과정이 선택적으로 생략될 수도 있다. 이하에서, 준비 과정은 데이터 준비 과정으로 지칭되고, 알고리즘 선택 과정은 모델 선택 과정으로 지칭될 수 있다.
데이터 준비 과정은 학습 데이터를 준비하는 과정을 의미한다. 학습 데이터는 수집된 후 뉴럴 네트워크의 입력에 적합하도록 전처리될 수 있다. 학습 데이터는 데이터 증강(data augmentation) 기술을 통해 증가될 수도 있다. 지도 학습의 경우 학습 데이터 각각에는 레이블링 과정이 추가될 수 있다.
특징 엔지니어링 과정은 학습 데이터로부터 특징을 추출하는 과정을 의미한다. 특징은 보통 벡터 형태를 가지며 특징 벡터로 지칭될 수 있다. 특징 벡터는 학습 데이터의 특징을 나타내고 학습 데이터 보다 작은 규모의 정보이다. 특징 벡터를 이용함으로써 모델은 목적에 부합하도록 더 잘 학습될 수 있다. 예를 들어, 특징 엔지니어링 과정의 선택 요소는 "Featuretools", "boruta_py", "categorical-encoding", "tsfresh", "Trane" 및 "FeatureHub" 등을 포함할 수 있다.
모델 선택 과정은 준비된 학습 데이터에 더 적합한 모델 또는 알고리즘을 선택하는 과정을 의미한다. 학습 데이터의 유형에 따라 적합한 모델이나 알고리즘이 존재할 수 있다. 적합한 모델 또는 알고리즘이 선택될 경우 학습 결과는 보다 높은 성능을 나타낼 수 있다. 여기서 모델은 뉴럴 네트워크를 포함할 수 있다. 예를 들어, 모델 선택 과정의 선택 요소는 "mxnet", "TensorFlow" 및 "PYTORCH" 등을 포함할 수 있다.
모델 학습 과정은 준비된 학습 데이터를 기초로 모델의 파라미터를 학습시키는 과정이다. 손실함수의 손실값을 이용하여 손실값이 작아지는 방향으로 역전파 방식을 통해 모델의 파라미터가 조정될 수 있다.
하이퍼 파리미터 튜닝 과정은 모델의 옵션을 변경하여 모델의 정확도를 높이는 과정이다. 뉴럴 네트워크의 경우 히든 레이어(hidden layer)의 개수나 학습률의 설정 또는 정규화 방식 등이 포함될 수 있다. 예를 들어, 하이퍼 파라미터 튜닝 과정의 선택 요소는 "skopt", "hyperopt", "simple(x)", "ray.tune", "chocolate", "GPFlowOpt", "FAR-HO", "Xcessiv", "HORD" 및 "ENAS" 등을 포함할 수 있다.
다양한 목적을 위해 머신러닝이 요구될 수 있다. 다만, 머신러닝을 위해서는 대량의 데이터를 수집하고 처리해야 하며 모델의 개발과 최적화 또는 검증 작업 등의 지난한 과정이 요구된다. 이러한, 데이터 수집, 개발, 최적화 및 검증 작업은 많은 비용이 소요되는 작업이며, 머신러닝의 각 과정은 미묘하게 얽혀 있다. 따라서, 높은 품질의 다양한 모델을 학습시키기 위해서는 적은 회수로 높은 성능의 학습을 도출하는 자동화된 방식이 필요하다. 
일 실시예에 따르면, 머신러닝 최적화 장치는 유전 알고리즘을 적용함으로써 적은 회수로 높은 성능의 학습을 수행할 수 있다. 유전 알고리즘은 종국에 살아남는 것은 변화에 가장 잘 적응하는 종이라는 다윈의 적자생존 이론에 기반을 두고 있으며, 진화 원리에서 발견된 특징들을 컴퓨터 알고리즘과 결합되어 복잡한 최적화 문제를 해결하는 기법으로서 개발했다. 유전 알고리즘은 환경이 매우 복잡하거나 부분적으로만 알려진 경우에도 적용이 가능하기 때문에 실제 현실의 다양한 분야에 적용되고 있다. 유전 알고리즘은 특정한 문제의 정답을 내기 보다는 최적에 가까운 답을 찾기 위한 접근 방식을 제공한다.
유전 알고리즘에 따르면, 환경에 잘 적응하는 우수한 형질을 가진 부모들이 우선적으로 선택되고 교배를 통해 자손들에게 그 형질이 전달되며 자손들은 때로 돌연변이를 통해 부모를 뛰어넘기도 한다. 세대를 거치면서 이 과정을 반복되면 결국 환경에 잘 적응하는 우수한 형질이 도출된다.
머신러닝 최적화 장치는 환경에 잘 적응하는 우수한 형질을 적합 함수를 이용하여 적합도를 통해 구별해낼 수 있다. 머신러닝 최적화 장치가 최적의 해를 찾아가는 과정은 다음과 같다. 먼저 머신러닝 최적화 장치는 해결할 문제의 다양한 해의 집합을 부모 세대의 해의 집합으로 정의한다. 머신러닝 최적화 장치는 해의 집합에서 적합 함수를 기준으로 부모를 선택하고 교배와 돌연변이를 적용하여 자식을 결정한다. 자식 세대는 부모 세대보다 적합도가 증가하며 세대가 반복될수록 최적에 가까운 해가 도출될 수 있다.
여기서, 해는 선택 요소의 집합으로서, 유전체로 지칭될 수 있다. 유전체는 복수의 유전자로 구성되며, 각 유전자는 머신러닝의 각 과정의 선택 요소를 의미할 수 있다. 예를 들어, 유전체는 "Featuretools", "mxnet", "skopt"및 특정한 학습 데이터 세트의 조합일 수 있다.
도 1을 참조하면, 머신러닝 최적화 장치는 머신러닝(100)을 위해 복수의 유전체를 준비할 수 있다. 데이터 준비 과정(110)에서, 머신러닝 최적화 장치는 복수의 학습 데이터 세트를 준비할 수 있다. 예를 들어, 머신러닝 최적화 장치는 학습에 사용될 학습 데이터 세트에 유전자(111), 유전자(112), 유전자(113) 및 유전자(114)를 포함할 수 있다. 여기서, 각 유전자는 상이한 학습 데이터 세트를 의미할 수 있다.
특징 엔지니어링 과정(120)에서, 머신러닝 최적화 장치는 복수의 특징 벡터 추출 방식을 준비할 수 있다. 예를 들어, 머신러닝 최적화 장치는 학습 데이터로부터 특징 벡터를 추출할 방식에 유전자(121), 유전자(122), 유전자(123) 및 유전자(124)를 포함할 수 있다.
모델 선택 과정(130)에서, 머신러닝 최적화 장치는 복수의 뉴럴 네트워크 모델을 준비할 수 있다. 예를 들어, 머신러닝 최적화 장치는 뉴럴 네트워크 모델에 유전자(131), 유전자(132), 유전자(133) 및 유전자(134)를 포함할 수 있다.
하이퍼 파리미터 튜닝 과정(150)에서, 머신러닝 최적화 장치는 튜닝될 모델의 옵션을 준비할 수 있다. 머신러닝 최적화 장치는 튜닝될 히든 레이어의 개수나 학습률의 설정 또는 정규화 방식에 대응하여 유전자(151), 유전자(152), 유전자(153) 및 유전자(154)를 포함할 수 있다.
이하에서, 데이터 준비 과정의 학습 데이터 집합에 대응하는 선택 요소는 제1 유전자로 지칭되고, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 선택 요소는 제2 유전자로 지칭되고, 모델 선택 과정의 선택된 학습 모델에 대응하는 선택 요소는 제3 유전자로 지칭되고, 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 선택 요소는 제4 유전자로 지칭될 수 있다. 유전체는 제1 유전자, 제2 유전자, 제3 유전자 및 제4 유전자의 조합일 수 있다.
머신러닝 최적화 장치는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행한다. 예를 들어, 머신러닝 최적화 장치는 유전자(111), 유전자(121), 유전자(131) 및 유전자(151)의 조합에 대해 데이터 준비 과정(110), 특징 엔지니어링 과정(120), 모델 선택 과정(130), 모델 학습 과정(140) 및 하이퍼 파라미터 튜닝 과정(150)을 수행할 수 있다. 예를 들어, 머신러닝 최적화 장치는 유전자(112), 유전자(121), 유전자(133) 및 유전자(154)의 조합에 대해 데이터 준비 과정(110), 특징 엔지니어링 과정(120), 모델 선택 과정(130), 모델 학습 과정(140) 및 하이퍼 파라미터 튜닝 과정(150)을 수행할 수 있다.
머신러닝 최적화 장치는 머신 러닝이 수행된 복수의 유전체의 적합도(fitness)를 평가한다. 적합도는 적합도 함수를 통해 계산될 수 있다. 적합도 함수는 프로그래머에 의해 다양한 방식으로 정의될 수 있다. 적합도 함수는 특정 유전체에 대한 머신러닝의 수행 결과로서의 성능이 구별되도록 정의될 수 있다. 예를 들어, 특정 유전체에 대한 학습 결과의 정확도가 높을수록 적합도 함수의 결과값이 커지도록 적합도 함수가 정의될 수 있다.
머신러닝 최적화 장치는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택한다. 자연 선택을 통해 유전체가 진화되려면, '좋은' 유전자가 선택되고 이러한 유전자들의 조합이 살아남게끔 알고리즘이 설정되어야 한다. 머신러닝 최적화 장치는 선택(selection) 연산을 통해 유전체의 적합도가 높을 확률이 높은 유전자를 선택할 수 있다.
선택 연산은 자연선택이 하나의 알고리즘으로서 구현된 것이다. 미리 정의된 적합도 함수를 통해 유전체의 적합도가 계산된 후, 적합도를 기초로 확률적으로 유전자들이 선택될 수 있다. 예를 들어, 선택 연산은 토너먼트 선택 연산, 품질 비례 룰렛 연산 및 순서 기반 선택 연산 등을 포함할 수 있다.
토너먼트 선택 연산에 따르면, 부모 세대에서 두 개의 유전체를 임의로 선택하고, 난수 p를 생성한다. 이 난수 p와 미리 정의한 선택압 k(우수한 유전체를 남기는 비율, p와 동일한 정의역을 가진다)의 대소를 따지고, p>k이면 적합도 함수에 의해 평가된 적합도가 다른 하나보다 낮은 유전체를 선택하고 반대의 경우 높은 유전체를 선택한다. 이는, 프로그래머가 k값을 조절하여 적합도가 낮은 유전체들을 남기는 비율을 조정할 수 있게 하기 위함이다. 이 과정을 통해 하나의 유전체를 선택하고, 나머지 유전체들에 대해서도 똑같은 연산을 실시해 원하는 만큼의 유전체만을 남긴다. 이하에서, 선택압은 선택 비율로 지칭될 수 있다.
품질 비례 룰렛휠 연산은 또 다른 선택 연산의 일종으로, 유전체의 적합도의 비로 전체 세대를 비례 배분하여 룰렛휠에서 각 유전체가 차지하는 지분을 결정하고 룰렛휠의 범위 내에서 난수를 생성하여 그 난수 범위에 해당되는 유전체를 선택한다. 이 때 각 유전체의 적합도 f_i는 수학식 1과 같이 계산된다.
[수학식 1]
Figure 112020089978917-pat00001
여기서, C_w는 해집단 내의 가장 열등한 유전체의 비용이고, C_b는 해집단 내의 가장 우수한 유전체의 비용이고, C_i는 적합도를 구하고자 하는 유전체의 비용을 나타낸다. 즉, 룰렛휠에서의 유전체 i의 지분은 해집단 전체의 f값의 합에 대한 f_i의 비로서 결정된다. 이 룰렛휠은 0에서부터 해집단 전체의 f 합까지의 난수를 생성하고, 그 난수가 소속된 범위를 갖는 유전체를 선택한다. 이 선택은 프로그래머가 원하는 만큼의 유전체를 남길 때까지 계속된다.
머신러닝 최적화 장치는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득한다. 유전 연산은 선택 연산과 다르게 적합도와 무관하게 유전자의 다양성을 확보하는 연산이다. 유전 연산에는 교차(crossover) 연산과 변이(mutation) 연산이 포함될 수 있다.
교차 연산은 선택 연산을 통과한 유전체들이 감수분열 또는 교배를 통해 자신을 닮았지만 상이한 자손 세대의 유전체를 만들어내는 연산이다. 교차 연산을 통해 부모 세대의 둘 이상의 유전체가 섞이게 된다. 교차 연산은 N점 교차 연산과 균등 교차 연산을 포함할 수 있다.
N점 교차 연산은 유전체를 섞는 교차 연산의 대표적인 연산으로서, 점의 개수, 즉 N이 높을수록 유전자를 섞는 '교란'의 정도가 높아져 보다 넓은 공간을 탐색할 수 있지만, 반대 급부로서 정답에 수렴하는 시간이 낮아진다는 단점이 있다. N점 교차는 선택된 두 유전체를 N개의 점으로 나누고, 점을 지나면 다음 세대로 넘기는 유전자를 달리 하는 방법을 사용한다. 예를 들어, 첫번째 점 이전까지는 첫번째 유전체의 유전자를, 첫번째 점과 두번째 점 사이는 두번째 유전체의 유전자를 남기고 그 뒤는 다시 첫번째 유전체의 유전자를 후대로 남기는 방법이다.
균등 교차 연산은 선택압 k를 설정하고 이와 같은 정의역을 갖는 난수 p를 선택된 두 유전체의 각 유전자에 대해 생성하여 k>p이면 우수한 비용을 갖는 유전체의 유전자를, k<p이면 낮은 비용을 갖는 유전체의 유전자를 유전시킨다. 프로그래머는 이 k값을 통해 우수한 유전체를 얼마나 남길지 결정할 수 있어 이를 선택압이라 부른다. 이 선택압 값은 주로 0.6을 사용한다.
변이 연산은 하나의 유전체의 유전자를 다른 유전자로 교체하는 연산이다. 예를 들어, 변이 연산은 비균등 변이 연산을 포함할 수 있다. 비균등 변이 연산은 변이에 약간의 시간적 보정을 더한 연산이다. 비균등 변이는 유전자 v와 이진 난수 r을 기초로 수학식 2를 통해 이루어진다. 여기서, UB와 LB는 각각 변이의 최대치와 최소치를 나타내고, T는 전체 세대 수, t는 현재 세대 수를 나타낸다.
[수학식 2]
Figure 112020089978917-pat00002
Figure 112020089978917-pat00003
도 2는 일 실시예에 따른 머신러닝 최적화 방법의 동작을 도시한 순서도이다.
일 실시예에 따르면, 단계(201)에서, 머신러닝 최적화 장치는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행한다. 여기서, 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함한다. 또한, 유전체는 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함한다.
머신러닝 파이프라인을 수행하기 위해, 머신러닝 최적화 장치는 제2 유전자를 기초로 제1 유전자로부터 특징 벡터를 추출할 수 있다. 머신러닝 최적화 장치는 추출된 특징 벡터를 기초로 제3 유전자를 학습시킬 수 있다. 머신러닝 최적화 장치는 학습된 제3 유전자의 하이퍼파라미터에 제4 유전자를 적용할 수 있다.
일 실시예에 따르면, 단계(203)에서, 머신러닝 최적화 장치는 머신 러닝이 수행된 복수의 유전체의 적합도를 평가할 수 있다. 머신러닝 최적화 장치는 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산할 수 있다. 계산 결과가 미리 설정된 기준을 만족하거나 현재 세대가 미리 설정된 세대에 해당하는 경우, 머신러닝 최적화 장치는 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력할 수 있다.
일 실시예에 따르면, 단계(205)에서, 머신러닝 최적화 장치는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택할 수 있다. 머신러닝 최적화 장치는 적합도가 높을수록 높아지는 확률로 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택할 수 있다.
예를 들어, 머신러닝 최적화 장치는 토너먼트 선택 연산을 수행할 수 있다. 머신러닝 최적화 장치는 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 제1 유전체보다 적합도가 작은 제2 유전체를 선택할 수 있다. 머신러닝 최적화 장치는 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 머신러닝 최적화 장치는 난수가 선택 비율보다 큰 경우 제2 유전체를 선택하고, 난수가 선택 비율보다 작은 경우 제1 유전체를 선택할 수 있다.
다른 예로, 머신러닝 최적화 장치는 품질 비례 룰렛휠 연산을 수행할 수 있다. 머신러닝 최적화 장치는 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 제3 유전체를 선택할 수 있다.
일 실시예에 따르면, 단계(207)에서, 머신러닝 최적화 장치는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득할 수 있다. 머신러닝 최적화 장치는 교차 연산 또는 변이 연산을 포함할 수 있다.
머신러닝 최적화 장치는 교차 연산을 통해 머신러닝 최적화 장치는 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득할 수 있다.
예를 들어, 머신러닝 최적화 장치는 N점 교차 연산을 수행하 수 있다. 머신러닝 최적화 장치는 유전체의 N개의 교차점을 지날 때마다 제4 유전체의 유전자와 제5 유전체의 유전자를 교대로 선택하여 제6 유전자를 획득할 수 있다.
다른 예로, 머신러닝 최적화 장치는 균등 교차 연산을 수행할 수 있다. 머신러닝 최적화 장치는 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 머신러닝 최적화 장치는 난수가 선택 비율보다 큰 경우 제4 유전체의 유전자를 선택하고 난수가 선택 비율보다 작은 경우 제5 유전체의 유전자를 선택하여 제6 유전체를 획득할 수 있다.
머신러닝 최적화 장치는 변이 연산을 통해 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득할 수 있다.
머신러닝 최적화 장치는 종료 조건을 달성할 때까지 상기 단계 들을 반복할 수 있다.
도 3은 일 실시예에 따른 머신러닝 최적화 방법의 일례를 도시한 흐름도이다.
단계(301)에서, 머신러닝 최적화 장치는 초기 세대의 복수의 유전체를 준비할 수 있다. 머신러닝 최적화 장치는 복수의 학습 데이터 세트를 준비할 수 있다. 머신러닝 최적화 장치는 복수의 특징 벡터 추출 방식을 준비할 수 있다. 머신러닝 최적화 장치는 복수의 뉴럴 네트워크 모델을 준비할 수 있다. 머신러닝 최적화 장치는 튜닝될 모델의 옵션을 준비할 수 있다.
단계(303)에서, 머신러닝 최적화 장치는 머신러닝 파이프라인을 수행할 수 있다. 머신러닝 최적화 장치는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행할 수 있다.
단계(305)에서, 머신러닝 최적화 장치는 적합도 평가를 수행할 수 있다. 적합도는 적합도 함수를 통해 계산될 수 있다. 적합도 함수는 프로그래머에 의해 다양한 방식으로 정의될 수 있다. 특정 유전체에 대한 학습 결과의 정확도가 높을수록 적합도 함수의 결과값이 커지도록 적합도 함수가 정의될 수 있다.
단계(307)에서, 머신러닝 최적화 장치는 종료 조건을 판단할 수 있다. 예를 들어, 적합도가 일정한 기준을 달성하는 경우 종료 조건이 만족될 수 있다. 다른 예로, 세대수가 일정한 세대에 도달하는 경우 종료 조건이 만족될 수도 있다.
단계(309)에서, 머신러닝 최적화 장치는 선택 연산을 수행할 수 있다. 머신러닝 최적화 장치는 미리 정의된 적합도 함수를 통해 유전체의 적합도를 계산한 후, 적합도를 기초로 확률적으로 유전자들을 선택할 수 있다. 예를 들어, 적합도가 높을수록 대응하는 유전자를 선택할 확률이 높아지는 방식으로 유전자들을 선택할 수 있다.
단계(311)에서, 머신러닝 최적화 장치는 유전 연산을 수행할 수 있다. 머신러닝 최적화 장치는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득한다. 머신러닝 최적화 장치는 유전 연산을 통하여 다음 세대의 유전자의 다양성을 확보할 수 있다.
도 4는 일 실시예에 따른 머신러닝 최적화 장치의 구성을 도시한 도면이다.
일 실시예에 다르면, 머신러닝 최적화 장치는 적어도 하나의 프로세서(401) 및 메모리(403)를 포함한다. 프로세서(401)는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행한다. 프로세서(401)는 머신 러닝이 수행된 복수의 유전체의 적합도를 평가한다. 프로세서(401)는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택한다. 프로세서(401)는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득한다.
여기서, 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고, 유전체는 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함한다.
프로세서(401)는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행한다. 프로세서(401)는 제2 유전자를 기초로 제1 유전자로부터 특징 벡터를 추출할 수 있다. 프로세서(401)는 추출된 특징 벡터를 기초로 제3 유전자를 학습시킬 수 있다. 프로세서(401)는 학습된 제3 유전자의 하이퍼파라미터에 제4 유전자를 적용할 수 있다.
프로세서(401)는 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하고, 계산 결과가 미리 설정된 기준을 만족하거나 현재 세대가 미리 설정된 세대에 해당하는 경우, 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력할 수 있다.
프로세서(401)는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택한다. 프로세서(401)는 적합도가 높을수록 높아지는 확률로 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택할 수 있다.
프로세서(401)는 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 제1 유전체보다 적합도가 작은 제2 유전체를 선택할 수 있다. 예를 들어, 프로세서(401)는 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 프로세서(401)는 난수가 선택 비율보다 큰 경우 제2 유전체를 선택하고, 난수가 선택 비율보다 작은 경우 제1 유전체를 선택할 수 있다. 다른 예로, 프로세서(401)는 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 제3 유전체를 선택할 수 있다.
프로세서(401)는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득한다.
프로세서(401)는 교차 연산을 수행할 수 있다. 프로세서(401)는 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득할 수 있다. 예를 들어, 프로세서(401)는 유전체의 N개의 교차점을 지날 때마다 제4 유전체의 유전자와 제5 유전체의 유전자를 교대로 선택하여 제6 유전자를 획득할 수 있다. 다른 예로, 프로세서(401)는 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하고, 난수가 선택 비율보다 큰 경우 제4 유전체의 유전자를 선택하고 난수가 선택 비율보다 작은 경우 제5 유전체의 유전자를 선택하여 제6 유전체를 획득할 수 있다.
프로세서(401)는 변이 연산을 수행할 수 있다. 프로세서(401)는 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 (21)

  1. 프로세서에 의해, 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하는 단계;
    상기 프로세서에 의해, 상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하는 단계;
    상기 프로세서에 의해, 상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하는 단계; 및
    상기 프로세서에 의해, 상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하는 단계를 포함하고,
    상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고,
    상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함하는,
    머신러닝 최적화 방법.
  2. 제1항에 있어서,
    상기 머신러닝 파이프라인을 수행하는 단계는,
    상기 프로세서에 의해, 상기 제2 유전자를 기초로 상기 제1 유전자로부터 특징 벡터를 추출하는 단계;
    상기 프로세서에 의해, 상기 추출된 특징 벡터를 기초로 상기 제3 유전자를 학습시키는 단계; 및
    상기 프로세서에 의해, 상기 학습된 제3 유전자의 하이퍼파라미터에 상기 제4 유전자를 적용하는 단계를 포함하는,
    머신러닝 최적화 방법.
  3. 제1항에 있어서,
    상기 평가하는 단계는,
    상기 프로세서에 의해, 상기 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하는 단계; 및
    상기 프로세서에 의해, 상기 계산 결과가 미리 설정된 기준을 만족하거나 상기 현재 세대가 미리 설정된 세대에 해당하는 경우, 상기 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력하는 단계를 포함하는,
    머신러닝 최적화 방법.
  4. 제1항에 있어서,
    상기 선택하는 단계는,
    상기 프로세서에 의해, 적합도가 높을수록 높아지는 확률로 상기 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택하는 단계를 포함하는,
    머신러닝 최적화 방법.
  5. 제4항에 있어서,
    상기 선택하는 단계는,
    상기 프로세서에 의해, 상기 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 상기 제1 유전체보다 적합도가 작은 제2 유전체를 선택하는 단계;
    상기 프로세서에 의해, 상기 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 단계; 및
    상기 프로세서에 의해, 상기 난수가 상기 선택 비율보다 큰 경우 상기 제2 유전체를 선택하고, 상기 난수가 상기 선택 비율보다 작은 경우 상기 제1 유전체를 선택하는 단계를 포함하는,
    머신러닝 최적화 방법.
  6. 제4항에 있어서,
    상기 선택하는 단계는,
    상기 프로세서에 의해, 상기 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 상기 제3 유전체를 선택하는 단계를 포함하는,
    머신러닝 최적화 방법.
  7. 제1항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는,
    상기 프로세서에 의해, 상기 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득하는 단계를 포함하는,
    머신 러닝 최적화 방법.
  8. 제7항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는,
    상기 프로세서에 의해, 유전체의 N개의 교차점을 지날 때마다 상기 제4 유전체의 유전자와 상기 제5 유전체의 유전자를 교대로 선택하여 상기 제6 유전자를 획득하는 단계를 포함하는,
    머신 러닝 최적화 방법.
  9. 제7항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는,
    상기 프로세서에 의해, 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 단계; 및
    상기 프로세서에 의해, 상기 난수가 상기 선택 비율보다 큰 경우 상기 제4 유전체의 유전자를 선택하고 상기 난수가 상기 선택 비율보다 작은 경우 상기 제5 유전체의 유전자를 선택하여 상기 제6 유전체를 획득하는 단계를 포함하는,
    머신 러닝 최적화 방법.
  10. 제1항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 단계는,
    상기 프로세서에 의해, 상기 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득하는 단계를 포함하는,
    머신 러닝 최적화 방법.
  11. 제1항 내지 제10항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
  12. 적어도 하나의 프로세서; 및
    메모리를 포함하고,
    상기 프로세서는,
    현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하고,
    상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하고,
    상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하고,
    상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하고,
    상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고,
    상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함하는,
    머신러닝 최적화 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 제2 유전자를 기초로 상기 제1 유전자로부터 특징 벡터를 추출하고,
    상기 추출된 특징 벡터를 기초로 상기 제3 유전자를 학습시키고,
    상기 학습된 제3 유전자의 하이퍼파라미터에 상기 제4 유전자를 적용하는,
    머신러닝 최적화 장치.
  14. 제12항에 있어서,
    상기 프로세서는,
    상기 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하고,
    상기 계산 결과가 미리 설정된 기준을 만족하거나 상기 현재 세대가 미리 설정된 세대에 해당하는 경우, 상기 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력하는,
    머신러닝 최적화 장치.
  15. 제12항에 있어서,
    상기 프로세서는,
    적합도가 높을수록 높아지는 확률로 상기 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택하는,
    머신러닝 최적화 장치.
  16. 제15항에 있어서,
    상기 프로세서는,
    상기 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 상기 제1 유전체보다 적합도가 작은 제2 유전체를 선택하고,
    상기 선택 비율과 동일한 정의역을 가지는 난수를 생성하고,
    상기 난수가 상기 선택 비율보다 큰 경우 상기 제2 유전체를 선택하고, 상기 난수가 상기 선택 비율보다 작은 경우 상기 제1 유전체를 선택하는,
    머신러닝 최적화 장치.
  17. 제15항에 있어서,
    상기 프로세서는,
    상기 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 상기 제3 유전체를 선택하는,
    머신러닝 최적화 장치.
  18. 제12항에 있어서,
    상기 프로세서는,
    상기 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득하는,
    머신 러닝 최적화 장치.
  19. 제18항에 있어서,
    상기 프로세서는,
    유전체의 N개의 교차점을 지날 때마다 상기 제4 유전체의 유전자와 상기 제5 유전체의 유전자를 교대로 선택하여 상기 제6 유전자를 획득하는,
    머신 러닝 최적화 장치.
  20. 제18항에 있어서,
    상기 프로세서는,
    유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하고,
    상기 난수가 상기 선택 비율보다 큰 경우 상기 제4 유전체의 유전자를 선택하고 상기 난수가 상기 선택 비율보다 작은 경우 상기 제5 유전체의 유전자를 선택하여 상기 제6 유전체를 획득하는,
    머신 러닝 최적화 장치.
  21. 제11항에 있어서,
    상기 프로세서는,
    상기 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득하는,
    머신 러닝 최적화 장치.

KR1020200107960A 2020-08-26 2020-08-26 머신러닝 최적화 방법 및 장치 KR102246091B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200107960A KR102246091B1 (ko) 2020-08-26 2020-08-26 머신러닝 최적화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200107960A KR102246091B1 (ko) 2020-08-26 2020-08-26 머신러닝 최적화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102246091B1 true KR102246091B1 (ko) 2021-04-29

Family

ID=75728113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200107960A KR102246091B1 (ko) 2020-08-26 2020-08-26 머신러닝 최적화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102246091B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200049273A (ko) * 2018-10-31 2020-05-08 주식회사 메디치소프트 머신러닝을 위한 학습데이터 세트의 구성 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200049273A (ko) * 2018-10-31 2020-05-08 주식회사 메디치소프트 머신러닝을 위한 학습데이터 세트의 구성 방법 및 장치

Similar Documents

Publication Publication Date Title
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
US11610131B2 (en) Ensembling of neural network models
US20210287097A1 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
US20180300630A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
Aljahdali et al. Software effort estimation by tuning COOCMO model parameters using differential evolution
CN109038643B (zh) 多机系统调速器pid参数优化方法、装置、设备及介质
CN104866904A (zh) 一种基于spark的遗传算法优化的BP神经网络并行化方法
Mariani et al. A hybrid shuffled complex evolution approach based on differential evolution for unconstrained optimization
Teng et al. Self-adaptive population sizing for a tune-free differential evolution
US12050976B2 (en) Convolution operations utilizing nonzero padding data copied from input channel data
CN113687821A (zh) 一种基于图形可视化的智能代码拼接方法
CN116383912B (zh) 一种提高控制精度的微型电机结构优化方法及系统
Ahmad et al. Image classification based on automatic neural architecture search using binary crow search algorithm
KR102340046B1 (ko) 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치
Girgis et al. Automatic data flow test paths generation using the genetical swarm optimization technique
JP6325762B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
CN111178416A (zh) 参数调整方法和装置
KR102246091B1 (ko) 머신러닝 최적화 방법 및 장치
Fakhari et al. Quantum inspired reinforcement learning in changing environment
Venugopal et al. Use of genetic algorithms in software testing models
JP7438544B2 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
Hlaváč A program searching for a functional dependence using genetic programming with coefficient adjustment
CN111178488A (zh) 数据处理方法和装置
Abdelbari et al. Model learning using genetic programming under full and partial system information conditions
hua Sun et al. An approach to automatic generating test data for multi-path coverage by genetic algorithm

Legal Events

Date Code Title Description
GRNT Written decision to grant