KR102340046B1 - 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치 - Google Patents

태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치 Download PDF

Info

Publication number
KR102340046B1
KR102340046B1 KR1020210050670A KR20210050670A KR102340046B1 KR 102340046 B1 KR102340046 B1 KR 102340046B1 KR 1020210050670 A KR1020210050670 A KR 1020210050670A KR 20210050670 A KR20210050670 A KR 20210050670A KR 102340046 B1 KR102340046 B1 KR 102340046B1
Authority
KR
South Korea
Prior art keywords
task
decoder
encoder
hidden state
variable
Prior art date
Application number
KR1020210050670A
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 KR1020210050670A priority Critical patent/KR102340046B1/ko
Application granted granted Critical
Publication of KR102340046B1 publication Critical patent/KR102340046B1/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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • G06N3/0454

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)
  • Machine Translation (AREA)

Abstract

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

Description

태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치{MEHTOD AND APPARATUS FOR TRAINING TASK ESTIMATION MODEL AND MEHTOD AND APPARATUS FOR OPTIMIZING TASK EXECUTION MODEL}
뉴럴 네트워크를 학습하는 기술에 관한 것이다.
뉴럴 네트워크는 기계학습과 인지과학에서 생물학의 신경망에서 영감을 얻은 통계학적 학습 알고리즘이다. 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킨다.
일 실시예에 따르면, 태스크 추정 모델의 학습 방법은, 인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델의 학습 방법에 있어서, 학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작; 상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작; 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작; 및 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및 상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작을 포함하고, 상기 인코더는 제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고, 상기 디코더는 제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함할 수 있다.
도 1은 일 실시예에 따른 태스크 추정 모델 및 태스크 수행 모델을 도시한 도면이다.
도 2는 일 실시예에 따른 태스크 추정 모델의 학습 방법의 동작을 도시한 흐름도이다.
도 3은 일 실시예에 따른 태스크 추정 모델의 구성을 도시한 도면이다.
도 4는 일 실시예에 따른 태스크 추정 모델의 인코더 및 디코더를 구체화한 도면이다.
도 5는 일 실시예에 따른 태스크 추정 모델의 학습 장치의 구성을 도시한 도면이다.
도 6은 일 실시예에 따른 태스크 수행 모델의 최적화 방법의 동작을 도시한 흐름도이다.
도 7은 일 실시예에 따른 태스크 수행 모델의 최적화 장치에 의해 유전 알고리즘에 따라 모델 학습이 수행되는 상황을 도시한 도면이다.
도 8은 일 실시예에 따른 태스크 수행 모델의 최적화 방법의 일례를 도시한 흐름도이다.
도 9는 일 실시예에 따른 태스크 수행 모델의 최적화 장치의 구성을 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 태스크 추정 모델 및 태스크 수행 모델을 도시한 도면이다.
일 실시예에 따르면, 전자 장치는 사용자 입력을 기초로 자연어 처리를 이용하는 태스크 추정 모델을 통하여 사용자의 의도(intent)를 파악할 수 있다. 전자 장치는 파악된 의도를 기초로 유전 알고리즘을 통해 태스크 수행 모델을 최적화할 수 있다.
일 실시예에 따르면, 알고리즘(110)에서, 전자 장치는 태스크 추정 모델을 이용하여 사용자의 입력으로부터 사용자가 의도하는 태스크를 추정할 수 있다. 태스크 추정 모델은 의도 분석 인공지능(Intent Analytics AI)로 지칭될 수 있다.
일 실시예에 따르면, 동작(111)에서, 전자 장치는 인공지능 실무를 적용하기 위한 문제를 정의할 수 있다. 여기서, 인공지능 실무는 태스크(tack)로 지칭될 수 있다. 문제는 태스크 종류로 지칭될 수 있다.
일 실시예에 따르면, 동작(113)에서, 전자 장치는 인공지능 실무 적용을 위한 기술적/산업적 목표를 정의할 수 있다. 여기서, 인공지능 실무 적용을 위한 기술적/산업적 목표는 태스크 목표로 지칭될 수 있다.
일 실시예에 따르면, 동작(115)에서, 전자 장치는 태스크 종류 및 태스크 목표에 따른 데이터 설계 및 수집을 수행할 수 있다.
태스크 추정 모델은 사용자의 입력으로부터 태스크를 정의하는 항목들을 추정할 수 있다. 여기서, 항목은 특정한 산업 분야의 특정한 태스크를 정의하는 사항 또는 태스크를 수행하기 위한 고려 사항을 의미할 수 있다. 항목에는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수가 포함될 수 있으나 이에 제한되지 않고, 특정한 산업 분야의 특정한 태스크를 수행하기 위한 모든 사항이 포함될 수 있다. 또한, 태스크 변수들 간의 관계를 나타내는 변수 규칙이 추가로 추정될 수 있다.
산업 분야는 태스크가 행해지는 산업의 종류를 의미한다. 태스크 종류는 해당 산업 분야에서 특정한 목표를 달성하기 위해 행해지는 작업의 종류를 의미한다. 태스크 목표는 특정 산업 분야의 특정한 태스크 종류에 의해 달성하고자 하는 목표를 의미한다. 태스크 변수는 태스크 목표를 달성하기 위해 고려되어야 하는 하나 이상의 변수를 의미한다.
예를 들어, 자동차를 제조하기 위해 필요한 구성을 구매하는 태스크의 경우, 산업 분야는 자동차 제조업이고, 태스크 종류는 자동차의 부품의 구매이며, 태스크 목표는 상호 호환 가능하고 일정한 성능을 만족하는 부품들의 최저 단가이며, 태스크 변수는 드라이브 샤프트의 가격/성능, 앞바퀴 브레이크의 가격/성능, 뒷바퀴 브레이크의 가격/성능, 앞쇽업쇼버의 가격/성능, ABS 모듈의 가격/성능, 스티어링 컬럼의 가격 성능, 스티어링 기어의 가격/성능 등을 포함할 수 있다.
변수 규칙은 태스크 변수들 간의 관계를 의미한다. 변수 규칙은 해당 산업 분야의 태스크의 종류, 태스크의 목표, 태스크 변수 각각을 고려하여 설정될 수 있다.
예를 들어, 자동차를 제조하기 위해 필요한 구성을 구매하는 태스크의 경우, 태스크 변수 중에서 스티어링 컬럼의 가격/성능 및 스티어링 기어의 가격/성능은 상호 연관되며 상호 호환성이 필요한 연결 관계를 가질 수 있다. 다만, 이는 예시에 불과하며 태스크 목표를 달성하기 위해 고려되어야 하는 모든 태스크 변수들 사이의 다양한 관계가 포함될 수 있다.
일 실시 예에 따르면, 변수 규칙은 이하에서 설명될 인코더 및 디코더와 별도로 존재하는 하나 이상의 레이어에 의해 제공되거나 생성될 수 있다. 변수 규칙을 도출하는 하나 이상의 레이어의 집합은 변수 규칙 레이어로 지칭될 수 있다. 변수 규칙 레이어는 룰 베이스 시스템(rule-based system) 일 수도 있고, 신경망 베이스 시스템(neural network-based system)(예: 피드포워드 신경망(feedforward neural network(FNN)), 순환 신경망(recurrent neural network(RNN))) 일 수도 있다. 또는 전술한 것의 조합 또는 이와 다른 인공지능 시스템일 수도 있다. 일 실시 예에 따르면, 변수 규칙은 미리 정의된 변수 규칙들의 집합에서 선택될 수 있거나, 사용자 요청에 응답하여 실시간으로 생성될 수 있다. 예를 들어, 변수 규칙 레이어는 미리 정의된 복수의 변수 규칙 중 적어도 하나의 변수 규칙을 선택하거나, 동적(또는, 실시간)으로 변수 규칙을 생성할 수 있다.
일 실시예에 따르면, 태스크 추정 모델은 인코더, 디코더 및 변수 규칙 레이어를 포함할 수 있다.
태스크 추정 모델은 뉴럴 네트워크로 구성될 수 있다. 태스크 추정 모델은 시퀀스-투-시퀀스(sequence-to-sequence) 모델을 포함할 수 있다. 태스크 추정 모델은 입력 데이터로부터 상이한 도메인(domain)의 출력 데이터를 출력할 수 있다. 여기서, 입력 데이터는 사용자의 입력 텍스트 또는 발화를 포함할 수 있다. 발화는 음성 인식 모듈을 통해 입력 텍스트로 변환될 수 있다. 출력 데이터는 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙을 포함할 수 있다. 다만, 이러한 출력 데이터의 종류는 예시적인 것이며 특정 산업 분야의 특정한 문제 해결을 위해 필요한 다양한 종류의 항목이 포함될 수 있다.
인코더는 사용자 입력에 의한 입력 텍스트를 입력 받아 컨텍스트(context) 벡터를 출력할 수 있다. 인코더는 사용자의 발화를 입력 받아 입력 텍스트로 전환한 뒤 입력 텍스트로부터 컨텍스트 벡터를 출력할 수 있다. 예를 들어, 사용자는 뉴럴 네트워크 모델의 교육 프로그램과 상호작용할 수 있다. 다만, 이는 예시에 불과하며 다양한 상황에서 입력되는 사용자의 발화 또는 입력 텍스트가 수집될 수 있다. 상호작용에는 사용자의 입력 텍스트 또는 발화가 포함될 수 있으며, 전자 장치는 입력 텍스트 또는 발화를 수집하여 태스크 추정 모델에 입력할 수 있다.
인코더는 뉴럴 네트워크로 구성될 수 있다. 인코더는 순환형 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다. 예를 들어, 인코더는 LSTM(Long short-term memory) 또는 GRU(gated recurrent unit)를 포함할 수 있다. 인코더는 입력 텍스트에 포함된 단어 토큰들을 순차적으로 입력받은 뒤에 모든 단어 토큰들을 압축하여 컨텍스트 벡터를 출력할 수 있다.
인코더는 입력 텍스트를 하나 이상의 단어 토큰으로 구분할 수 있다. 각각의 단어 토큰은 인코더를 구성하는 각각의 RNN 셀의 각 시점의 입력일 수 있다. 인코더의 RNN 셀 각각은 이전의 RNN 셀의 출력으로서의 은닉 상태 및 각 시점의 단어 토큰을 입력 받아 현재의 은닉 상태를 출력할 수 있다. 인코더는 인코더의 마지막 RNN 셀의 은닉 상태를 컨텍스트 벡터로서 출력할 수 있다. 이하에서, 인코더를 구성하는 RNN셀은 인코더 RNN 셀로 지칭될 수 있다.
인코더는 각각의 단어 토큰에 대해 워드 임베딩을 적용하여 베터화할 수 있다. 각각의 단어 토큰은 인코더를 구성하는 각각의 RNN 셀에 입력되기 전에 워드 임베딩을 통하여 벡터화될 수 있다. 워드 임베딩의 결과는 복수의 차원의 숫자로 표현되는 벡터일 수 있다.
디코더는 컨텍스트 벡터를 입력 받아 출력 텍스트를 출력할 수 있다. 출력 텍스트는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 포함할 수 있다.
디코더는 뉴럴 네트워크로 구성될 수 있다. 디코더는 순환형 뉴럴 네트워크를 포함할 수 있다. 디코더는 컨텍스트 벡터를 입력받아서 입력 텍스트와 상이한 도메인의 출력 텍스트를 출력할 수 있다. 출력 텍스트는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 포함할 수 있다.
디코더는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수와 같은 각각의 단어 토큰에 대해 워드 임베딩을 적용하여 벡터화할 수 있다. 각각의 단어 토큰은 디코더를 구성하는 각각의 RNN 셀에 입력되기 전에 워드 임베딩을 통하여 벡터화될 수 있다. 워드 임베딩의 결과는 복수의 차원의 숫자로 표현되는 벡터일 수 있다.
일 실시예에 따르면, 디코더를 구성하는 각각의 RNN 셀은 이전의 RNN 셀의 출력으로서의 은닉 상태 및 이전의 RNN 셀의 출력으로서의 단어 토큰을 입력받아 현재의 은닉 상태 및 현재의 단어 토큰을 출력할 수 있다. 디코더는 첫번째 RNN 셀의 입력으로서 컨텍스트 벡터 및 시작 심볼을 입력받을 수 있다. 첫번째 RNN 셀은 첫번째 단어 토큰 및 첫번째 은닉 상태를 출력할 수 있다. 첫번째 단어 토큰 및 첫번째 은닉 상태는 다음의 RNN 셀에 입력될 수 있다. 디코더는 이런 식으로 다음에 올 단어 토큰을 예측하고, 예측된 단어 토큰을 다음 시점의 RNN 셀에 입력하는 동작을 반복할 수 있다. 디코더는 이러한 동작을 문장의 끝을 의미하는 종료 심볼이 출력될 때까지 반복할 수 있다. 이하에서, 디코더를 구성하는 RNN셀은 디코더 RNN 셀로 지칭될 수 있다.
다른 실시예에 따르면, 디코더는 각각의 RNN 셀이 단어 토큰을 예측하는 매 시점마다 인코더의 은닉 상태를 참고할 수 있다. 디코더는 해당 시점에서 예측될 단어 토큰과 관련있는 인코더의 은닉 상태를 더 집중해서 반영할 수 있다.
디코더의 현재 시점의 RNN셀은 이전 시점의 은닉 상태 및 이전 시점의 단어 토큰을 기초로 현재 시점의 은닉 상태를 출력할 수 있다. 디코더는 현재 시점의 은닉 상태 및 현재 시점의 어텐션 값을 기초로 현재 시점의 결합 벡터를 출력할 수 있다. 디코더는 현재 시점의 은닉 상태와 현재 시점의 어텐션 값을 결합(concatenate)하여 현재 시점의 결합 벡터를 획득하고, 현재 시점의 결합 벡터를 기초로 현재 시점의 단어 토큰을 출력할 수 있다. 이렇게 도출된 단어 토큰 및 현재 시점의 은닉 상태는 다음 시점의 RNN셀에 입력될 수 있다.
현재 시점의 어텐션 값을 구하기 위하여, 전자 장치는 현재 시점의 어텐션 스코어(attention score)를 계산할 수 있다. 어텐션 스코어는 현재 시점의 디코더의 RNN 셀에서 단어 토큰을 예측하기 위해, 인코더의 모든 은닉 상태 각각이 디코더의 현재 시점의 은닉 상태와 얼마나 유사한지를 판단하는 값을 의미한다. 전자 장치는 언텐션 스코어 함수를 이용하여 디코더의 현재 시점의 은닉 상태와 인코더의 각 시점의 은닉 상태를 기초로 현재 시점의 어텐션 스코어를 계산할 수 있다.
전자 장치는 어텐션 스코어를 소프트맥스(softmax) 함수에 입력하여 어텐션 분포(attention ditribution)를 출력할 수 있다. 어텐션 분포는 인코더의 RNN 셀의 수만큼의 스칼라 값을 가지며, 각각의 스칼라 값은 대응하는 RNN 셀에 입력되는 단어 토큰이 디코더의 현재 시점의 은닉 상태와 유사한 정도를 나타내는 가중치를 의미한다.
전자 장치는 어텐션 분포 및 인코더의 모든 은닉 상태를 기초로 어텐션 값을 계산할 수 있다. 전자 장치는 어텐션 분포의 각각의 가중치와 대응하는 인코더의 은닉 상태를 가중합하여 어텐션 값을 계산할 수 있다.
디코더는 하나 이상의 RNN 셀을 포함할 수 있다. 예를 들어, 디코더는 4개의 RNN 셀을 포함할 수 있다. 디코더는 제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 데코더 레이어 및 제4 디코더 RNN 셀을 포함할 수 있다. 제1 디코더 RNN 셀은 컨텍스트 벡터 및 시작 심볼을 기초로 제1 디코더 은닉 상태를 출력할 수 있다. 제1 디코더 RNN 셀은 제1 디코더 은닉 상태에 대응하는 제1 어텐션 값과 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다. 제2 디코더 RNN 셀은 제1 디코더 은닉 상태 및 산업 분야를 기초로 제2 디코더 은닉 상태를 출력할 수 있다. 제2 디코더 RNN 셀은 제2 디코더 은닉 상태에 대응하는 제2 어텐션 값과 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다. 제3 디코더 RNN 셀은 제2 디코더 은닉 상태 및 태스크 종류를 기초로 제3 디코더 은닉 상태를 출력할 수 있다. 제3 디코더 RNN 셀은 제3 디코더 은닉 상태에 대응하는 제3 어텐션 값과 제3 디코더 은닉 상태를 기초로 태스크 목표를 출력할 수 있다. 제4 디코더 RNN 셀은 제3 디코더 은닉 상태 및 태스크 목표를 기초로 제4 디코더 은닉 상태를 출력할 수 있다. 제4 디코더 RNN 셀은 제4 디코더 은닉 상태에 대응하는 제4 어텐션 값과 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다.
변수 규칙 레이어는 출력 텍스트를 입력 받아 변수 규칙 벡터를 출력할 수 있다. 변수 규칙 레이어는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 입력 받아 하나 이상의 태스크 변수 간의 변수 규칙을 나타내는 변수 규칙 벡터를 출력할 수 있다. 변수 규칙 벡터는 하나 이상의 태스크 변수 간의 변수 규칙을 나타내는 벡터를 의미할 수 있다. 최종적으로, 태스크 추정 모델은 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙 벡터를 출력할 수 있다.
이상에서는, 태스크 추정 모델의 추론(inference) 과정을 살펴보았다. 태스크 추정 모델의 학습(training) 과정은 추론 과정과 유사하지만, 사용자의 실시간의 입력 텍스트가 입력되는 대신 학습 텍스트가 입력되고, 출력 레이어가 태스크 추정 모델의 마지막 단에 추가될 수 있다. 출력 레이어는 학습 텍스트의 출력 벡터와 정답 데이터를 비교하여 손실값을 계산할 수 있다. 태스크 추정 모델의 파라미터는 손실값이 작아지는 방향으로 조정될 수 있다.
일 실시예에 따르면, 알고리즘(120)에서, 태스크 수행 모델의 최적화 장치는 태스크 수행 모델을 유전 알고리즘을 이용하여 최적화할 수 있다. 일 실시예에 따르면, 동작(121)에서, 태스크 수행 모델의 최적화 장치는 인공지능 모델 개발 및 검증, 고도화를 진행할 수 있다. 태스크 수행 모델의 최적화 장치는 유전 알고리즘을 이용하여 태스크 수행 모델 일 실시예에 따르면, 동작(123)에서, 태스크 수행 모델의 최적화 장치는 인공지능 모델 배포(deploy)를 수행할 수 있다.
태스크 수행 모델의 최적화 장치는 머신러닝 파이프라인을 구성하는 각 과정의 선택 요소를 유전 알고리즘의 유전자에 대응시킴으로써 유전 알고리즘의 최적화 방식을 머신러닝에 적용할 수 있다. 태스크 수행 모델의 최적화 장치는 유전 알고리즘의 선택 연산 및 유전 연산을 이용하여 적은 회수로도 높은 수준의 성능을 보이는 머신러닝 파이프라인의 조합을 도출할 수 있다.
머신러닝은 환경과의 상호작용을 통해서 축적되는 경험적인 데이터를 바탕으로 지식 즉 모델을 자동으로 구축하고 스스로 성능을 향상하는 기술을 의미한다. 머신러닝은 준비 과정(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"및 특정한 학습 데이터 세트의 조합일 수 있다.
도 2는 일 실시예에 따른 태스크 추정 모델의 학습 방법의 동작을 도시한 흐름도이다.
일 실시예에 따르면, 동작(201)에서, 전자 장치는 학습 텍스트를 인코더에 입력하여 컨텍스트 벡터를 출력할 수 있다. 여기서, 인코더는 제1 인코더 RNN 셀 및 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고, 디코더는 제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함할 수 있다.
전자 장치는 학습 텍스트로부터 제1 토큰 및 제2 토큰을 포함하는 토큰 시퀀스를 획득할 수 있다. 전자 장치는 제1 토큰이 학습 데이터의 첫번째 토큰인 경우, 제1 토큰을 제1 인코더 RNN 셀에 입력하여 제1 인코더 은닉 상태를 출력할 수 있다. 전자 장치는 제2 토큰 및 제1 인코더 은닉 상태를 제2 인코더 RNN 셀에 입력하여 제2 인코더 은닉 상태를 출력할 수 있다. 여기서, 제2 토큰이 학습 데이터의 마지막 토큰인 경우, 제2 인코더 은닉 상태는 컨텍스트 벡터일 수 있다.
일 실시예에 따르면, 동작(203)에서, 전자 장치는 컨텍스트 벡터를 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력할 수 있다.
전자 장치는 컨텍스트 벡터 및 시작 심볼을 제1 디코더 RNN 셀에 입력하여 제1 디코더 은닉 상태를 출력하고, 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다. 전자 장치는 제1 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제1 어텐션 분포를 획득할 수 있다. 제1 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제1 어텐션 값을 획득할 수 있다. 제1 어텐션 값과 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다.
전자 장치는 제1 디코더 은닉 상태 및 산업 분야를 제2 디코더 RNN 셀에 입력하여 제2 디코더 은닉 상태를 출력하고, 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다. 전자 장치는 제2 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제2 어텐션 분포를 획득할 수 있다. 전자 장치는 제2 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제2 어텐션 값을 획득할 수 있다. 전자 장치는 제2 어텐션 값과 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다.
전자 장치는 제2 디코더 은닉 상태 및 태스크 종류를 제3 디코더 RNN 셀에 입력하여 제3 디코더 은닉 상태를 출력하고, 제3 디코더 은닉 상태를 기초로 태스크 목표를 출력할 수 있다. 전자 장치는 제3 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제3 어텐션 분포를 획득할 수 있다. 전자 장치는 제3 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제3 어텐션 값을 획득할 수 있다. 전자 장치는 제3 어텐션 값과 제3 디코더 은닉 상태를 기초로 태스크 목표를 출력할 수 있다.
전자 장치는 제3 디코더 은닉 상태 및 태스크 목표를 제4 디코더 RNN 셀에 입력하여 제4 디코더 은닉 상태를 출력하고, 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다. 전자 장치는 제4 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제4 어텐션 분포를 획득할 수 있다. 전자 장치는 제4 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제4 어텐션 값을 획득할 수 있다. 전자 장치는 제4 어텐션 값과 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다.
일 실시예에 따르면, 동작(205)에서, 전자 장치는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력할 수 있다. 전자 장치는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 임베딩하여 각각의 임베딩 벡터를 출력할 수 있다. 전자 장치는 변수 규칙 레이어를 이용하여 각각의 임베딩 벡터로부터 변수 규칙 벡터를 출력할 수 있다.
일 실시예에 따르면, 동작(207)에서, 전자 장치는 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산할 수 있다.
일 실시예에 따르면, 동작(209)에서, 전자 장치는 손실값이 작아지는 방향으로 인코더 및 디코더를 학습시킬 수 있다.
도 3은 일 실시예에 따른 태스크 추정 모델의 구성을 도시한 도면이다.
태스크 추정 모델(300)은 인코더(310), 디코더(330) 및 변수 규칙 레이어(340)를 포함할 수 있다.
도 3을 참조하면, 인코더(310)는 입력 텍스트(301)을 입력 받을 수 있다. 인코더(310)는 사용자의 발화를 입력 받을 수 있고, 발화는 입력 텍스트(301)로 변환될 수 있다. 예를 들어, 입력 텍스트(301)는 "작은 볼트에서부터 엔진까지 차량의 모든 부품을 구매하는 업무입니다. 최적의 품질과 납기능력을 보유한 부품업체를 발굴, 선정하여 최적의 부품을 구매합니다. ??"와 같은 사용자의 자연어일 수 있다.
인코더(310)는 입력 텍스트(303)를 단어 토큰 별로 구분할 수 있다. 예를 들어, 인코더(310)는 '작은', '볼트', '에서부터' ?? 등으로 입력 텍스트(303)를 구분할 수 있다.
인코더(310)는 하나 이상의 RNN 셀을 포함할 수 있다. 하나 이상의 RNN 셀은 순환형 뉴럴 네트워크를 구성할 수 있다. 각각의 RNN 셀은 각각의 단어 토큰을 입력받을 수 있다. 각각의 RNN 셀은 이전의 RNN 셀이 출력한 은닉 상태와 각 시점의 단어 토큰을 입력 방아 현재의 은닉 상태를 출력할 수 있다. 마지막 RNN 셀이 출력한 은닉 상태는 컨텍스트 벡터(320)로 지칭될 수 있다.
디코더(330)는 컨텍스트 벡터(320)를 입력받을 수 있다. 디코더는 하나 이상의 RNN셀을 포함할 수 있다. 하나 이상의 RNN 셀은 순환형 뉴럴 네트워크를 구성할 수 있다. 첫번째 RNN 셀은 컨텍스트 벡터(320)와 시작 심볼을 입력 받아 첫번째 은닉 상태를 출력할 수 있고, 첫번째 은닉 상태를 기초로 첫번째 단어 토큰을 출력할 수 있다. 첫번째 RNN셀이 출력한 단어 토큰은 산업분야일 수 있다.
두번째 RNN 셀은 이전의 은닉 상태와 이전의 단어 토큰을 입력 받아 두번째 은닉 상태를 출력할 수 있고, 두번째 은닉 상태를 기초로 두번째 단어 토큰을 출력할 수 있다. 두번째 RNN셀이 출력한 단어 토큰은 태스크 종류일 수 있다.
세번째 RNN 셀은 두번째 은닉 상태와 두번째 단어 토큰을 입력 받아 세번째 은닉 상태를 출력할 수 있고, 세번째 은닉 상태를 기초로 세번째 단어 토큰을 출력할 수 있다. 세번째 RNN셀이 출력한 단어 토큰은 태스크 목표일 수 있다.
네번째 RNN 셀은 세번째 은닉 상태와 세번째 단어 토큰을 입력 받아 네번째 은닉 상태를 출력할 수 있고, 네번째 은닉 상태를 기초로 단어 토큰을 출력할 수 있다. 네번째 RNN셀이 출력한 단어 토큰은 하나 이상의 태스크 변수일 수 있다.
변수 규칙 레이어(340)는 디코더(330)로부터 출력된 단어 토큰들을 입력 받을 수 있다. 변수 규칙 레이어(340)는 산업 분야, 태스크 종류, 태스크 목표 및 하나 이상의 태스크 변수를 입력 받을 수 있다. 변수 규칙 레이어(340)는 산업 분야, 태스크 종류, 태스크 목표 및 하나 이상의 태스크 변수를 기초로 태스크 변수 간의 변수 규칙 벡터를 출력할 수 있다. 변수 규칙 벡터는 태스크 변수 간의 관계를 나타내는 벡터를 의미한다.
도 4는 일 실시예에 따른 태스크 추정 모델의 인코더 및 디코더를 구체화한 도면이다.
태스크 추정 모델은 인코더(430), 디코더(430) 및 변수 규칙 레이어(440)를 포함할 수 있다.
인코더(430)는 하나 이상의 RNN 셀을 포함할 수 있다. 도 1을 참조하면, 인코더(430)는 4개의 RNN셀인 LSTM셀(415), LSTM셀(416), LSTM셀(417), LSTM셀(418)을 포함할 수 있다. LSTM셀(415), LSTM셀(416), LSTM셀(417), LSTM셀(418)은 순차적으로 연결될 수 있다.
각 단어 토큰에 대해 워드 임베딩이 수행되어 벡터가 출력될 수 있다. 임베딩(411)을 통해 '작은'에 대응하는 벡터가 출력되고, 임베딩(412)을 통해 '볼트'에 대응하는 벡터가 출력되고, 임베딩(413)을 통해 '에서부터'에 대응하는 벡터가 출력되고, 임베딩(414)을 통해 '엔진'에 대응하는 벡터가 출력될 수 있다.
각각의 LSTM셀(415), LSTM셀(416), LSTM셀(417), LSTM셀(418)은 연속적인 단어 토큰에 대응하는 벡터 각각을 입력 받을 수 있다. LSTM셀(415)에는 '작은'에 대응하는 벡터가 입력되고, LSTM셀(416)에는 '볼트'에 대응하는 벡터가 입력되고, LSTM셀(417)에는 '에서부터'에 대응하는 벡터가 입력되고, LSTM셀(418)에는 '엔진'에 대응하는 벡터가 입력될 수 있다.
LSTM셀(415)은 '작은'에 대응하는 벡터로부터 제1 인코더 은닉 상태를 출력할 수 있다. LSTM셀(416)은 '볼트'에 대응하는 벡터와 제1 인코더 은닉 상태로부터 제2 인코더 은닉 상태를 출력할 수 있다. LSTM셀(417)은 '에서부터'에 대응하는 벡터와 제2 인코더 은닉 상태로부터 제3 인코더 은닉 상태를 출력할 수 있다. LSTM셀(418)은 '엔진'에 대응하는 벡터와 제3 인코더 은닉 상태로부터 제4 인코더 은닉 상태를 출력할 수 있다. 제4 인코더 은닉 상태는 컨텍스트 벡터일 수 있다.
디코더는 하나 이상의 RNN 셀을 포함할 수 있다. 예를 들어, 디코더는 4개의 RNN 셀을 포함할 수 있다. 디코더는 LSTM(435), LSTM(436), LSTM(437) 및 LSTM(438)을 포함할 수 있다.
LSTM(435)은 컨텍스트 벡터 및 시작 심볼을 기초로 제1 디코더 은닉 상태를 출력할 수 있다. LSTM(435)은 제1 디코더 은닉 상태에 대응하는 제1 어텐션 값과 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다.
LSTM(435)은 제1 디코더 은닉 상태 및 인코더(430)의 각각의 은닉 상태를 기초로 언텐션 가중치를 포함하는 제1 어텐션 분포를 획득할 수 있다. LSTM(435)은 제1 어텐션 분포 및 인코더(430)의 각각의 은닉 상태를 기초로 제1 어텐션 값을 획득하고, 제1 어텐션 값과 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다.
LSTM(436)은 제1 디코더 은닉 상태 및 산업 분야를 기초로 제2 디코더 은닉 상태를 출력할 수 있다. LSTM(436)은 제2 디코더 은닉 상태에 대응하는 제2 어텐션 값과 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다.
LSTM(436)은 제2 디코더 은닉 상태 및 인코더(430)의 각각의 은닉 상태를 기초로 언텐션 가중치를 포함하는 제2 어텐션 분포를 획득할 수 있다. LSTM(436)은 제2 어텐션 분포 및 인코더(430)의 각각의 은닉 상태를 기초로 제2 어텐션 값을 획득하고, 제2 어텐션 값과 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다.
LSTM(437)은 제2 디코더 은닉 상태 및 태스크 종류를 기초로 제3 디코더 은닉 상태를 출력할 수 있다. LSTM(437)은 제3 디코더 은닉 상태에 대응하는 제3 어텐션 값과 제3 디코더 은닉 상태를 기초로 태스크 목표를 출력할 수 있다.
도 4를 참조하면, LSTM(437)은 제3 디코더 은닉 상태 및 인코더(430)의 각각의 은닉 상태를 기초로 소프트맥스 함수(419)를 이용하여 언텐션 가중치를 포함하는 제3 어텐션 분포를 획득할 수 있다. LSTM(437)은 제3 어텐션 분포 및 인코더(430)의 각각의 은닉 상태를 기초로 제3 어텐션 값을 획득하고, 제3 어텐션 값과 제3 디코더 은닉 상태를 결합하여 결합 벡터를 출력하고, 결합 벡터를 소프트맥스 함수에 입력하여 태스크 목표를 출력할 수 있다. LSTM(437)의 처리 과정은 설명의 편의를 위하여 다른 LSTM에서는 생략된 것으로, 다른 LSTM셀의 처리 과정에도 유사하게 적용될 수 있다.
LSTM(438)은 제3 디코더 은닉 상태 및 태스크 목표를 기초로 제4 디코더 은닉 상태를 출력할 수 있다. LSTM(438)은 제4 디코더 은닉 상태에 대응하는 제4 어텐션 값과 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다.
LSTM(438)은 제4 디코더 은닉 상태 및 인코더(430)의 각각의 은닉 상태를 기초로 언텐션 가중치를 포함하는 제4 어텐션 분포를 획득할 수 있다. LSTM(438)은 제4 어텐션 분포 및 인코더(430)의 각각의 은닉 상태를 기초로 제4 어텐션 값을 획득하고, 제4 어텐션 값과 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다.
산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수는 각각의 임베딩(441, 442, 443, 444)를 거쳐 베턱화될 수 있다. 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수 각각에 대응하는 벡터는 변수 규칙 레이어(440)에 입력되어 변수 규칙 벡터가 출력될 수 있다.
도 5는 일 실시예에 따른 태스크 추정 모델의 학습 장치의 구성을 도시한 도면이다.
일 실시예에 따르면, 태스크 추정 모델의 학습 장치(500)는 적어도 하나의 프로세서(501) 및 메모리(503)를 포함할 수 있다. 메모리(503)는 인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델을 저장할 수 있다. 인코더는 제1 인코더 RNN 셀 및 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고, 디코더는 제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함할 수 있다.
프로세서(501)는 학습 텍스트를 인코더에 입력하여 컨텍스트 벡터를 출력할 수 있다. 프로세서(501)는 학습 텍스트로부터 제1 토큰 및 제2 토큰을 포함하는 토큰 시퀀스를 획득할 수 있다. 프로세서(501)는 제1 토큰이 학습 데이터의 첫번째 토큰인 경우, 제1 토큰을 제1 인코더 RNN 셀에 입력하여 제1 인코더 은닉 상태를 출력할 수 있다. 프로세서(501)는 제2 토큰 및 제1 인코더 은닉 상태를 제2 인코더 RNN 셀에 입력하여 제2 인코더 은닉 상태를 출력하는 동작을 수행하도록 구성되고, 제2 토큰이 학습 데이터의 마지막 토큰인 경우, 제2 인코더 은닉 상태는 컨텍스트 벡터일 수 있다.
프로세서(501)는 컨텍스트 벡터를 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력할 수 있다.
프로세서(501)는 컨텍스트 벡터 및 시작 심볼을 제1 디코더 RNN 셀에 입력하여 제1 디코더 은닉 상태를 출력하고, 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다. 프로세서(501)는 제1 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제1 어텐션 분포를 획득할 수 있다. 프로세서(501)는 제1 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제1 어텐션 값을 획득할 수 있다. 프로세서(501)는 제1 어텐션 값과 제1 디코더 은닉 상태를 기초로 산업 분야를 출력할 수 있다.
프로세서(501)는 제1 디코더 은닉 상태 및 산업 분야를 제2 디코더 RNN 셀에 입력하여 제2 디코더 은닉 상태를 출력하고, 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다. 프로세서(501)는 제2 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제2 어텐션 분포를 획득할 수 있다. 프로세서(501)는 제2 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제2 어텐션 값을 획득할 수 있다. 프로세서(501)는 제2 어텐션 값과 제2 디코더 은닉 상태를 기초로 태스크 종류를 출력할 수 있다.
프로세서(501)는 제2 디코더 은닉 상태 및 태스크 종류를 제3 디코더 RNN 셀에 입력하여 제3 디코더 은닉 상태를 출력하고, 제3 디코더 은닉 상태를 기초로 태스크 목표를 출력할 수 있다. 프로세서(501)는 제3 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제3 어텐션 분포를 획득할 수 있다. 프로세서(501)는 제3 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제3 어텐션 값을 획득할 수 있다. 프로세서(501)는 제3 어텐션 값과 제3 디코더 은닉 상태를 기초로 태스크 목표를 출력할 수 있다.
프로세서(501)는 제3 디코더 은닉 상태 및 태스크 목표를 제4 디코더 RNN 셀에 입력하여 제4 디코더 은닉 상태를 출력하고, 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다. 프로세서(501)는 제4 디코더 은닉 상태 및 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제4 어텐션 분포를 획득할 수 있다. 프로세서(501)는 제4 어텐션 분포 및 인코더의 각각의 은닉 상태를 기초로 제4 어텐션 값을 획득할 수 있다. 프로세서(501)는 제4 어텐션 값과 제4 디코더 은닉 상태를 기초로 태스크 변수를 출력할 수 있다.
프로세서(501)는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력할 수 있다. 프로세서(501)는 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 임베딩하여 각각의 임베딩 벡터를 출력할 수 있다. 프로세서(501)는 변수 규칙 레이어를 이용하여 각각의 임베딩 벡터로부터 변수 규칙 벡터를 출력할 수 있다.
프로세서(501)는 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산할 수 있다. 프로세서(501)는 손실값이 작아지는 방향으로 인코더 및 디코더를 학습시킬 수 있다.
도 6은 일 실시예에 따른 태스크 수행 모델의 최적화 방법의 동작을 도시한 흐름도이다.
일 실시예에 따르면, 동작(601)에서, 전자 장치는 입력 텍스트를 태스크 추정 모델에 입력하여 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙을 출력할 수 있다.
일 실시예에 따르면, 동작(603)에서, 전자 장치는 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙에 대응하여 현재 세대의 복수의 유전체를 결정할 수 있다.
일 실시예에 따르면, 동작(605)에서, 전자 장치는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행할 수 있다. 여기서, 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함한다. 또한, 유전체는 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함한다.
머신러닝 파이프라인을 수행하기 위해, 태스크 수행 모델의 최적화 장치는 제2 유전자를 기초로 제1 유전자로부터 특징 벡터를 추출할 수 있다. 태스크 수행 모델의 최적화 장치는 추출된 특징 벡터를 기초로 제3 유전자를 학습시킬 수 있다. 태스크 수행 모델의 최적화 장치는 학습된 제3 유전자의 하이퍼파라미터에 제4 유전자를 적용할 수 있다.
일 실시예에 따르면, 동작(607)에서, 전자 장치는 머신 러닝이 수행된 복수의 유전체의 적합도를 평가할 수 있다. 전자 장치는 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산할 수 있다. 전자 장치는 계산 결과가 미리 설정된 기준을 만족하거나 현재 세대가 미리 설정된 세대에 해당하는 경우, 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력할 수 있다.
일 실시예에 따르면, 동작(609)에서, 전자 장치는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택할 수 있다. 전자 장치는 적합도가 높을수록 높아지는 확률로 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택할 수 있다.
전자 장치는 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 제1 유전체보다 적합도가 작은 제2 유전체를 선택할 수 있다. 전자 장치는 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 전자 장치는 난수가 선택 비율보다 큰 경우 제2 유전체를 선택하고, 난수가 선택 비율보다 작은 경우 제1 유전체를 선택할 수 있다. 전자 장치는 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 제3 유전체를 선택할 수 있다.
예를 들어, 태스크 수행 모델의 최적화 장치는 토너먼트 선택 연산을 수행할 수 있다. 태스크 수행 모델의 최적화 장치는 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 제1 유전체보다 적합도가 작은 제2 유전체를 선택할 수 있다. 태스크 수행 모델의 최적화 장치는 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 태스크 수행 모델의 최적화 장치는 난수가 선택 비율보다 큰 경우 제2 유전체를 선택하고, 난수가 선택 비율보다 작은 경우 제1 유전체를 선택할 수 있다.
다른 예로, 태스크 수행 모델의 최적화 장치는 품질 비례 룰렛휠 연산을 수행할 수 있다. 태스크 수행 모델의 최적화 장치는 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 제3 유전체를 선택할 수 있다.
일 실시예에 따르면, 동작(611)에서, 전자 장치는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득할 수 있다. 태스크 수행 모델의 최적화 장치는 교차 연산 또는 변이 연산을 포함할 수 있다.
태스크 수행 모델의 최적화 장치는 교차 연산을 통해 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득할 수 있다.
예를 들어, 태스크 수행 모델의 최적화 장치는 N점 교차 연산을 수행하 수 있다. 태스크 수행 모델의 최적화 장치는 유전체의 N개의 교차점을 지날 때마다 제4 유전체의 유전자와 제5 유전체의 유전자를 교대로 선택하여 제6 유전자를 획득할 수 있다.
다른 예로, 태스크 수행 모델의 최적화 장치는 균등 교차 연산을 수행할 수 있다. 태스크 수행 모델의 최적화 장치는 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 태스크 수행 모델의 최적화 장치는 난수가 선택 비율보다 큰 경우 제4 유전체의 유전자를 선택하고 난수가 선택 비율보다 작은 경우 제5 유전체의 유전자를 선택하여 제6 유전체를 획득할 수 있다.
태스크 수행 모델의 최적화 장치는 변이 연산을 통해 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득할 수 있다.
태스크 수행 모델의 최적화 장치는 종료 조건을 달성할 때까지 단계들을 반복할 수 있다.
일 실시예에 따르면, 동작(613)에서, 전자 장치는 다음 세대가 최종 세대인 경우, 최종 세대의 하나 이상의 유전체를 기초로 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수에 대응하는 태스크 수행 모델을 결정할 수 있다.
여기서, 태스크 추정 모델은 인코더, 디코더 및 변수 규칙 레이어를 포함하고, 학습 텍스트는 인코더에 입력되어 컨텍스트 벡터가 출력되고, 컨텍스트 벡터는 디코더에 입력되어 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수가 출력되고, 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수는 변수 규칙 레이어에 입력되어 변수 규칙 벡터가 출력되고, 산업 분야, 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙 벡터는 정답 텍스트 및 정답 변수 규칙과 비교되어 손실값이 계산되고, 손실값이 작아지는 방향으로 인코더 및 디코더는 학습될 수 있다.
유전체는 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함할 수 있다.
도 7은 일 실시예에 따른 태스크 수행 모델의 최적화 장치에 의해 유전 알고리즘에 따라 모델 학습이 수행되는 상황을 도시한 도면이다.
일 실시예에 따르면, 태스크 수행 모델의 최적화 장치는 유전 알고리즘을 적용하여 머신러닝을 최적화할 수 있다. 태스크 수행 모델의 최적화 장치는 머신러닝 파이프라인을 구성하는 각 과정의 선택 요소를 유전 알고리즘의 유전자에 대응시킴으로써 유전 알고리즘의 최적화 방식을 머신러닝에 적용할 수 있다. 태스크 수행 모델의 최적화 장치는 유전 알고리즘의 선택 연산 및 유전 연산을 이용하여 적은 회수로도 높은 수준의 성능을 보이는 머신러닝 파이프라인의 조합을 도출할 수 있다.
머신러닝은 환경과의 상호작용을 통해서 축적되는 경험적인 데이터를 바탕으로 지식 즉 모델을 자동으로 구축하고 스스로 성능을 향상하는 기술을 의미한다. 머신러닝은 준비 과정(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"및 특정한 학습 데이터 세트의 조합일 수 있다.
도 7을 참조하면, 태스크 수행 모델의 최적화 장치는 머신러닝(700)을 위해 복수의 유전체를 준비할 수 있다. 데이터 준비 과정(710)에서, 태스크 수행 모델의 최적화 장치는 복수의 학습 데이터 세트를 준비할 수 있다. 예를 들어, 태스크 수행 모델의 최적화 장치는 학습에 사용될 학습 데이터 세트에 유전자(711), 유전자(712), 유전자(713) 및 유전자(714)를 포함할 수 있다. 여기서, 각 유전자는 상이한 학습 데이터 세트를 의미할 수 있다.
특징 엔지니어링 과정(720)에서, 태스크 수행 모델의 최적화 장치는 복수의 특징 벡터 추출 방식을 준비할 수 있다. 예를 들어, 태스크 수행 모델의 최적화 장치는 학습 데이터로부터 특징 벡터를 추출할 방식에 유전자(721), 유전자(722), 유전자(723) 및 유전자(724)를 포함할 수 있다.
모델 선택 과정(730)에서, 태스크 수행 모델의 최적화 장치는 복수의 뉴럴 네트워크 모델을 준비할 수 있다. 예를 들어, 태스크 수행 모델의 최적화 장치는 뉴럴 네트워크 모델에 유전자(731), 유전자(732), 유전자(733) 및 유전자(734)를 포함할 수 있다.
하이퍼 파리미터 튜닝 과정(750)에서, 태스크 수행 모델의 최적화 장치는 튜닝될 모델의 옵션을 준비할 수 있다. 태스크 수행 모델의 최적화 장치는 튜닝될 히든 레이어의 개수나 학습률의 설정 또는 정규화 방식에 대응하여 유전자(751), 유전자(752), 유전자(753) 및 유전자(754)를 포함할 수 있다.
이하에서, 데이터 준비 과정의 학습 데이터 집합에 대응하는 선택 요소는 제1 유전자로 지칭되고, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 선택 요소는 제2 유전자로 지칭되고, 모델 선택 과정의 선택된 학습 모델에 대응하는 선택 요소는 제3 유전자로 지칭되고, 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 선택 요소는 제4 유전자로 지칭될 수 있다. 유전체는 제1 유전자, 제2 유전자, 제3 유전자 및 제4 유전자의 조합일 수 있다.
태스크 수행 모델의 최적화 장치는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행한다. 예를 들어, 태스크 수행 모델의 최적화 장치는 유전자(711), 유전자(721), 유전자(731) 및 유전자(751)의 조합에 대해 데이터 준비 과정(710), 특징 엔지니어링 과정(720), 모델 선택 과정(730), 모델 학습 과정(740) 및 하이퍼 파라미터 튜닝 과정(750)을 수행할 수 있다. 예를 들어, 태스크 수행 모델의 최적화 장치는 유전자(712), 유전자(721), 유전자(733) 및 유전자(754)의 조합에 대해 데이터 준비 과정(710), 특징 엔지니어링 과정(720), 모델 선택 과정(730), 모델 학습 과정(740) 및 하이퍼 파라미터 튜닝 과정(750)을 수행할 수 있다.
태스크 수행 모델의 최적화 장치는 머신 러닝이 수행된 복수의 유전체의 적합도(fitness)를 평가한다. 적합도는 적합도 함수를 통해 계산될 수 있다. 적합도 함수는 프로그래머에 의해 다양한 방식으로 정의될 수 있다. 적합도 함수는 특정 유전체에 대한 머신러닝의 수행 결과로서의 성능이 구별되도록 정의될 수 있다. 예를 들어, 특정 유전체에 대한 학습 결과의 정확도가 높을수록 적합도 함수의 결과값이 커지도록 적합도 함수가 정의될 수 있다.
태스크 수행 모델의 최적화 장치는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택한다. 자연 선택을 통해 유전체가 진화되려면, '좋은' 유전자가 선택되고 이러한 유전자들의 조합이 살아남게끔 알고리즘이 설정되어야 한다. 태스크 수행 모델의 최적화 장치는 선택(selection) 연산을 통해 유전체의 적합도가 높을 확률이 높은 유전자를 선택할 수 있다.
선택 연산은 자연선택이 하나의 알고리즘으로서 구현된 것이다. 미리 정의된 적합도 함수를 통해 유전체의 적합도가 계산된 후, 적합도를 기초로 확률적으로 유전자들이 선택될 수 있다. 예를 들어, 선택 연산은 토너먼트 선택 연산, 품질 비례 룰렛 연산 및 순서 기반 선택 연산 등을 포함할 수 있다.
토너먼트 선택 연산에 따르면, 부모 세대에서 두 개의 유전체를 임의로 선택하고, 난수 p를 생성한다. 이 난수 p와 미리 정의한 선택압 k(우수한 유전체를 남기는 비율, p와 동일한 정의역을 가진다)의 대소를 따지고, p>k이면 적합도 함수에 의해 평가된 적합도가 다른 하나보다 낮은 유전체를 선택하고 반대의 경우 높은 유전체를 선택한다. 이는, 프로그래머가 k값을 조절하여 적합도가 낮은 유전체들을 남기는 비율을 조정할 수 있게 하기 위함이다. 이 과정을 통해 하나의 유전체를 선택하고, 나머지 유전체들에 대해서도 똑같은 연산을 실시해 원하는 만큼의 유전체만을 남긴다. 이하에서, 선택압은 선택 비율로 지칭될 수 있다.
품질 비례 룰렛휠 연산은 또 다른 선택 연산의 일종으로, 유전체의 적합도의 비로 전체 세대를 비례 배분하여 룰렛휠에서 각 유전체가 차지하는 지분을 결정하고 룰렛휠의 범위 내에서 난수를 생성하여 그 난수 범위에 해당되는 유전체를 선택한다. 이 때 각 유전체의 적합도 f_i는 수학식 1과 같이 계산된다.
Figure 112021045588917-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는 현재 세대 수를 나타낸다.
Figure 112021045588917-pat00002
Figure 112021045588917-pat00003
도 8은 일 실시예에 따른 태스크 수행 모델의 최적화 방법의 일례를 도시한 흐름도이다.
단계(801)에서, 태스크 수행 모델의 최적화 장치는 초기 세대의 복수의 유전체를 준비할 수 있다. 태스크 수행 모델의 최적화 장치는 복수의 학습 데이터 세트를 준비할 수 있다. 태스크 수행 모델의 최적화 장치는 복수의 특징 벡터 추출 방식을 준비할 수 있다. 태스크 수행 모델의 최적화 장치는 복수의 뉴럴 네트워크 모델을 준비할 수 있다. 태스크 수행 모델의 최적화 장치는 튜닝될 모델의 옵션을 준비할 수 있다.
단계(803)에서, 태스크 수행 모델의 최적화 장치는 머신러닝 파이프라인을 수행할 수 있다. 태스크 수행 모델의 최적화 장치는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행할 수 있다.
단계(805)에서, 태스크 수행 모델의 최적화 장치는 적합도 평가를 수행할 수 있다. 적합도는 적합도 함수를 통해 계산될 수 있다. 적합도 함수는 프로그래머에 의해 다양한 방식으로 정의될 수 있다. 특정 유전체에 대한 학습 결과의 정확도가 높을수록 적합도 함수의 결과값이 커지도록 적합도 함수가 정의될 수 있다.
단계(807)에서, 태스크 수행 모델의 최적화 장치는 종료 조건을 판단할 수 있다. 예를 들어, 적합도가 일정한 기준을 달성하는 경우 종료 조건이 만족될 수 있다. 다른 예로, 세대수가 일정한 세대에 도달하는 경우 종료 조건이 만족될 수도 있다.
단계(809)에서, 태스크 수행 모델의 최적화 장치는 선택 연산을 수행할 수 있다. 태스크 수행 모델의 최적화 장치는 미리 정의된 적합도 함수를 통해 유전체의 적합도를 계산한 후, 적합도를 기초로 확률적으로 유전자들을 선택할 수 있다. 예를 들어, 적합도가 높을수록 대응하는 유전자를 선택할 확률이 높아지는 방식으로 유전자들을 선택할 수 있다.
단계(811)에서, 태스크 수행 모델의 최적화 장치는 유전 연산을 수행할 수 있다. 태스크 수행 모델의 최적화 장치는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득한다. 태스크 수행 모델의 최적화 장치는 유전 연산을 통하여 다음 세대의 유전자의 다양성을 확보할 수 있다.
도 9는 일 실시예에 따른 태스크 수행 모델의 최적화 장치의 구성을 도시한 도면이다.
태스크 수행 모델의 최적화 장치(900)는 적어도 하나의 프로세서(901) 및 메모리(903)를 포함할 수 있다. 메모리(903)는 태스크 추정 모델을 저장할 수 있다.
프로세서(901)는 입력 텍스트를 태스크 추정 모델에 입력하여 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙을 출력할 수 있다.
프로세서(901)는 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙에 대응하여 현재 세대의 복수의 유전체를 결정할 수 있다.
프로세서(901)는 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행할 수 있다. 프로세서(901)는 제2 유전자를 기초로 제1 유전자로부터 특징 벡터를 추출할 수 있다. 프로세서(901)는 추출된 특징 벡터를 기초로 제3 유전자를 학습시킬 수 있다. 프로세서(901)는 학습된 제3 유전자의 하이퍼파라미터에 제4 유전자를 적용할 수 있다.
프로세서(901)는 머신 러닝이 수행된 복수의 유전체의 적합도를 평가할 수 있다. 프로세서(901)는 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산할 수 있다. 프로세서(901)는 계산 결과가 미리 설정된 기준을 만족하거나 현재 세대가 미리 설정된 세대에 해당하는 경우, 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력할 수 있다.
프로세서(901)는 평가 결과를 기초로 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택할 수 있다. 프로세서(901)는 적합도가 높을수록 높아지는 확률로 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택할 수 있다.
프로세서(901)는 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 제1 유전체보다 적합도가 작은 제2 유전체를 선택할 수 있다. 프로세서(901)는 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 프로세서(901)는 난수가 선택 비율보다 큰 경우 제2 유전체를 선택하고, 난수가 선택 비율보다 작은 경우 제1 유전체를 선택할 수 있다.
프로세서(901)는 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 제3 유전체를 선택할 수 있다.
프로세서(901)는 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득할 수 있다.
태스크 수행 모델의 최적화 장치(900)는 교차 연산 또는 변이 연산을 포함할 수 있다. 프로세서(901)는 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득할 수 있다. 프로세서(901)는 유전체의 N개의 교차점을 지날 때마다 제4 유전체의 유전자와 제5 유전체의 유전자를 교대로 선택하여 제6 유전자를 획득할 수 있다.
프로세서(901)는 유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성할 수 있다. 프로세서(901)는 난수가 선택 비율보다 큰 경우 제4 유전체의 유전자를 선택하고 난수가 선택 비율보다 작은 경우 제5 유전체의 유전자를 선택하여 제6 유전체를 획득할 수 있다.
프로세서(901)는 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득할 수 있다.
다음 세대가 최종 세대인 경우, 프로세서(901)는 최종 세대의 하나 이상의 유전체를 기초로 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수에 대응하는 태스크 수행 모델을 결정할 수 있다.
머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함할 수 있다.
태스크 추정 모델은 인코더, 디코더 및 변수 규칙 레이어를 포함할 수 있다.
학습 텍스트는 인코더에 입력되어 컨텍스트 벡터가 출력되고, 컨텍스트 벡터는 디코더에 입력되어 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수가 출력되고, 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수는 변수 규칙 레이어에 입력되어 변수 규칙 벡터가 출력되고, 산업 분야, 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙 벡터는 정답 텍스트 및 정답 변수 규칙과 비교되어 손실값이 계산되고, 손실값이 작아지는 방향으로 인코더 및 디코더는 학습될 수 있다.
유전체는 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 수행하도록 구성될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
[1]

Claims (37)

  1. 삭제
  2. 인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델의 학습 방법에 있어서,
    학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작;
    상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및
    상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작
    을 포함하고,
    상기 인코더는,
    제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고,
    상기 디코더는,
    제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함하고,
    상기 컨텍스트 벡터를 출력하는 동작은,
    상기 학습 텍스트로부터 제1 토큰 및 제2 토큰을 포함하는 토큰 시퀀스를 획득하는 동작;
    상기 제1 토큰이 학습 데이터의 첫번째 토큰인 경우, 상기 제1 토큰을 상기 제1 인코더 RNN 셀에 입력하여 제1 인코더 은닉 상태를 출력하는 동작; 및
    상기 제2 토큰 및 상기 제1 인코더 은닉 상태를 상기 제2 인코더 RNN 셀에 입력하여 제2 인코더 은닉 상태를 출력하는 동작을 포함하고,
    상기 제2 토큰이 상기 학습 데이터의 마지막 토큰인 경우, 상기 제2 인코더 은닉 상태는 상기 컨텍스트 벡터인,
    태스크 추정 모델의 학습 방법.
  3. 인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델의 학습 방법에 있어서,
    학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작;
    상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및
    상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작
    을 포함하고,
    상기 인코더는,
    제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고,
    상기 디코더는,
    제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함하고,
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 출력하는 동작은,
    상기 컨텍스트 벡터 및 시작 심볼을 상기 제1 디코더 RNN 셀에 입력하여 제1 디코더 은닉 상태를 출력하고, 상기 제1 디코더 은닉 상태를 기초로 상기 산업 분야를 출력하는 동작;
    상기 제1 디코더 은닉 상태 및 상기 산업 분야를 상기 제2 디코더 RNN 셀에 입력하여 제2 디코더 은닉 상태를 출력하고, 상기 제2 디코더 은닉 상태를 기초로 상기 태스크 종류를 출력하는 동작;
    상기 제2 디코더 은닉 상태 및 상기 태스크 종류를 상기 제3 디코더 RNN 셀에 입력하여 제3 디코더 은닉 상태를 출력하고, 상기 제3 디코더 은닉 상태를 기초로 상기 태스크 목표 를 출력하는 동작; 및
    상기 제3 디코더 은닉 상태 및 상기 태스크 목표를 상기 제4 디코더 RNN 셀에 입력하여 제4 디코더 은닉 상태를 출력하고, 상기 제4 디코더 은닉 상태를 기초로 상기 태스크 변수 를 출력하는 동작을 포함하는,
    태스크 추정 모델의 학습 방법.
  4. 제3항에 있어서,
    상기 제1 디코더 은닉 상태를 출력하는 동작은,
    상기 제1 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제1 어텐션 분포를 획득하는 동작;
    상기 제1 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제1 어텐션 값을 획득하는 동작; 및
    상기 제1 어텐션 값과 상기 제1 디코더 은닉 상태를 기초로 상기 산업 분야를 출력하는 동작
    을 포함하는, 태스크 추정 모델의 학습 방법.
  5. 제3항에 있어서,
    상기 제2 디코더 은닉 상태를 출력하는 동작은,
    상기 제2 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제2 어텐션 분포를 획득하는 동작;
    상기 제2 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제2 어텐션 값을 획득하는 동작; 및
    상기 제2 어텐션 값과 상기 제2 디코더 은닉 상태를 기초로 상기 태스크 종류를 출력하는 동작
    을 포함하는, 태스크 추정 모델의 학습 방법.
  6. 제3항에 있어서,
    상기 제3 디코더 은닉 상태를 출력하는 동작은,
    상기 제3 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제3 어텐션 분포를 획득하는 동작;
    상기 제3 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제3 어텐션 값을 획득하는 동작; 및
    상기 제3 어텐션 값과 상기 제3 디코더 은닉 상태를 기초로 상기 태스크 목표를 출력하는 동작
    을 포함하는, 태스크 추정 모델의 학습 방법.
  7. 제3항에 있어서,
    상기 제4 디코더 은닉 상태를 출력하는 동작은,
    상기 제4 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제4 어텐션 분포를 획득하는 동작;
    상기 제4 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제4 어텐션 값을 획득하는 동작; 및
    상기 제4 어텐션 값과 상기 제4 디코더 은닉 상태를 기초로 상기 태스크 변수를 출력하는 동작
    을 포함하는, 태스크 추정 모델의 학습 방법.
  8. 인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델의 학습 방법에 있어서,
    학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작;
    상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및
    상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작
    을 포함하고,
    상기 인코더는,
    제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고,
    상기 디코더는,
    제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함하고,
    상기 변수 규칙 벡터를 출력하는 동작은,
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 임베딩하여 각각의 임베딩 벡터를 출력하는 동작; 및
    상기 변수 규칙 레이어를 이용하여 상기 각각의 임베딩 벡터로부터 변수 규칙 벡터를 출력하는 동작을 포함하는,
    태스크 추정 모델의 학습 방법.
  9. 입력 텍스트를 태스크 추정 모델에 입력하여 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙을 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 상기 변수 규칙에 대응하여 현재 세대의 복수의 유전체를 결정하는 동작;
    상기 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하는 동작;
    상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하는 동작;
    상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하는 동작;
    상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하는 동작; 및
    상기 다음 세대가 최종 세대인 경우, 상기 최종 세대의 하나 이상의 유전체를 기초로 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수에 대응하는 태스크 수행 모델을 결정하는 동작을 포함하고,
    상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고,
    상기 태스크 추정 모델은 인코더, 디코더 및 변수 규칙 레이어를 포함하고,
    학습 텍스트는 상기 인코더에 입력되어 컨텍스트 벡터가 출력되고, 상기 컨텍스트 벡터는 상기 디코더에 입력되어 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수가 출력되고, 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수는 상기 변수 규칙 레이어에 입력되어 변수 규칙 벡터가 출력되고, 상기 산업 분야, 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 상기 변수 규칙 벡터는 정답 텍스트 및 정답 변수 규칙과 비교되어 손실값이 계산되고, 상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더는 학습되고,
    상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 포함하는,
    태스크 수행 모델의 최적화 방법.
  10. 제9항에 있어서,
    상기 머신러닝 파이프라인을 수행하는 동작은,
    상기 제2 유전자를 기초로 상기 제1 유전자로부터 특징 벡터를 추출하는 동작;
    상기 추출된 특징 벡터를 기초로 상기 제3 유전자를 학습시키는 동작; 및
    상기 학습된 제3 유전자의 하이퍼파라미터에 상기 제4 유전자를 적용하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  11. 제9항에 있어서,
    상기 평가하는 동작은,
    상기 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하는 동작; 및
    상기 적합도 함수의 계산의 결과가 미리 설정된 기준을 만족하거나 상기 현재 세대가 미리 설정된 세대에 해당하는 경우, 상기 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  12. 제9항에 있어서,
    상기 선택하는 동작은,
    적합도가 높을수록 높아지는 확률로 상기 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  13. 제12항에 있어서,
    상기 선택하는 동작은,
    상기 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 상기 제1 유전체보다 적합도가 작은 제2 유전체를 선택하는 동작;
    상기 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 동작; 및
    상기 난수가 상기 선택 비율보다 큰 경우 상기 제2 유전체를 선택하고, 상기 난수가 상기 선택 비율보다 작은 경우 상기 제1 유전체를 선택하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  14. 제12항에 있어서,
    상기 선택하는 동작은,
    상기 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 상기 제3 유전체를 선택하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  15. 제9항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 동작은,
    상기 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  16. 제15항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 동작은,
    유전체의 N개의 교차점을 지날 때마다 상기 제4 유전체의 유전자와 상기 제5 유전체의 유전자를 교대로 선택하여 제6 유전자를 획득하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  17. 제15항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 동작은,
    유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 동작; 및
    상기 난수가 상기 선택 비율보다 큰 경우 상기 제4 유전체의 유전자를 선택하고 상기 난수가 상기 선택 비율보다 작은 경우 상기 제5 유전체의 유전자를 선택하여 상기 제6 유전체를 획득하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  18. 제9항에 있어서,
    상기 다음 세대의 하나 이상의 유전체를 획득하는 동작은,
    상기 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득하는 동작을 포함하는,
    태스크 수행 모델의 최적화 방법.
  19. 제2항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  20. 삭제
  21. 태스크 추정 모델의 학습 장치는,
    적어도 하나의 프로세서; 및
    메모리
    를 포함하고,
    상기 메모리는,
    인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델을 저장하고,
    상기 프로세서는,
    학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작;
    상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및
    상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작
    을 수행하도록 구성되고,
    상기 인코더는,
    제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고,
    상기 디코더는,
    제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함하고,
    상기 프로세서는,
    학습 텍스트로부터 제1 토큰 및 제2 토큰을 포함하는 토큰 시퀀스를 획득하는 동작;
    상기 제1 토큰이 학습 데이터의 첫번째 토큰인 경우, 상기 제1 토큰을 상기 제1 인코더 RNN 셀에 입력하여 제1 인코더 은닉 상태를 출력하는 동작; 및
    상기 제2 토큰 및 상기 제1 인코더 은닉 상태를 상기 제2 인코더 RNN 셀에 입력하여 제2 인코더 은닉 상태를 출력하는 동작을 수행하도록 구성되고,
    상기 제2 토큰이 학습 데이터의 마지막 토큰인 경우, 상기 제2 인코더 은닉 상태는 상기 컨텍스트 벡터인,
    태스크 추정 모델의 학습 장치.
  22. 태스크 추정 모델의 학습 장치는,
    적어도 하나의 프로세서; 및
    메모리
    를 포함하고,
    상기 메모리는,
    인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델을 저장하고,
    상기 프로세서는,
    학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작;
    상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및
    상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작
    을 수행하도록 구성되고,
    상기 인코더는,
    제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고,
    상기 디코더는,
    제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함하고,
    상기 프로세서는,
    상기 컨텍스트 벡터 및 시작 심볼을 상기 제1 디코더 RNN 셀에 입력하여 제1 디코더 은닉 상태를 출력하고, 상기 제1 디코더 은닉 상태를 기초로 상기 산업 분야를 출력하는 동작;
    상기 제1 디코더 은닉 상태 및 상기 산업 분야를 상기 제2 디코더 RNN 셀에 입력하여 제2 디코더 은닉 상태를 출력하고, 상기 제2 디코더 은닉 상태를 기초로 상기 태스크 종류를 출력하는 동작;
    상기 제2 디코더 은닉 상태 및 상기 태스크 종류를 상기 제3 디코더 RNN 셀에 입력하여 제3 디코더 은닉 상태를 출력하고, 상기 제3 디코더 은닉 상태를 기초로 상기 태스크 목표 를 출력하는 동작; 및
    상기 제3 디코더 은닉 상태 및 상기 태스크 목표를 상기 제4 디코더 RNN 셀에 입력하여 제4 디코더 은닉 상태를 출력하고, 상기 제4 디코더 은닉 상태를 기초로 상기 태스크 변수 를 출력하는 동작을 수행하도록 구성되는,
    태스크 추정 모델의 학습 장치.
  23. 제22항에 있어서,
    상기 프로세서는,
    상기 제1 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제1 어텐션 분포를 획득하는 동작;
    상기 제1 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제1 어텐션 값을 획득하는 동작; 및
    상기 제1 어텐션 값과 상기 제1 디코더 은닉 상태를 기초로 상기 산업 분야를 출력하는 동작을 수행하도록 구성되는,
    태스크 추정 모델의 학습 장치.
  24. 제22항에 있어서,
    상기 프로세서는,
    상기 제2 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제2 어텐션 분포를 획득하는 동작;
    상기 제2 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제2 어텐션 값을 획득하는 동작; 및
    상기 제2 어텐션 값과 상기 제2 디코더 은닉 상태를 기초로 상기 태스크 종류를 출력하는 동작을 수행하도록 구성되는,
    태스크 추정 모델의 학습 장치.
  25. 제22항에 있어서,
    상기 프로세서는,
    상기 제3 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제3 어텐션 분포를 획득하는 동작;
    상기 제3 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제3 어텐션 값을 획득하는 동작; 및
    상기 제3 어텐션 값과 상기 제3 디코더 은닉 상태를 기초로 상기 태스크 목표를 출력하는 동작을 수행하도록 구성되는,
    태스크 추정 모델의 학습 장치.
  26. 제22항에 있어서,
    상기 프로세서는,
    상기 제4 디코더 은닉 상태 및 상기 인코더의 각각의 은닉 상태를 어텐션 스코어 함수에 입력하여 상기 인코더의 각각의 은닉 상태에 대한 어텐션 가중치를 포함하는 제4 어텐션 분포를 획득하는 동작;
    상기 제4 어텐션 분포 및 상기 인코더의 각각의 은닉 상태를 기초로 제4 어텐션 값을 획득하는 동작; 및
    상기 제4 어텐션 값과 상기 제4 디코더 은닉 상태를 기초로 상기 태스크 변수를 출력하는 동작을 수행하도록 구성되는,
    태스크 추정 모델의 학습 장치.
  27. 태스크 추정 모델의 학습 장치는,
    적어도 하나의 프로세서; 및
    메모리
    를 포함하고,
    상기 메모리는,
    인코더, 디코더 및 변수 규칙 레이어를 포함하는 태스크 추정 모델을 저장하고,
    상기 프로세서는,
    학습 텍스트를 상기 인코더에 입력하여 컨텍스트 벡터를 출력하는 동작;
    상기 컨텍스트 벡터를 상기 디코더에 입력하여 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 변수 규칙 레이어에 입력하여 변수 규칙 벡터를 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 변수 규칙 벡터를 정답 텍스트 및 정답 변수 규칙과 비교하여 손실값을 계산하는 동작; 및
    상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더를 학습시키는 동작
    을 수행하도록 구성되고,
    상기 인코더는,
    제1 인코더 RNN 셀 및 상기 제1 인코더 RNN 셀에 연결된 제2 인코더 RNN 셀을 포함하는 복수의 레이어로 구성되고,
    상기 디코더는,
    제1 디코더 RNN 셀, 제2 디코더 RNN 셀, 제3 디코더 RNN 셀 및 제4 디코더 RNN 셀을 포함하고,
    상기 프로세서는,
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수를 임베딩하여 각각의 임베딩 벡터를 출력하는 동작; 및
    상기 변수 규칙 레이어를 이용하여 상기 각각의 임베딩 벡터로부터 변수 규칙 벡터를 출력하는 동작을 수행하도록 구성되는,
    태스크 추정 모델의 학습 장치.
  28. 적어도 하나의 프로세서; 및
    메모리를 포함하고,
    상기 메모리는 태스크 추정 모델을 저장하고,
    상기 프로세서는,
    입력 텍스트를 태스크 추정 모델에 입력하여 산업 분야, 태스크 종류, 태스크 목표, 태스크 변수 및 변수 규칙을 출력하는 동작;
    상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 상기 변수 규칙에 대응하여 현재 세대의 복수의 유전체를 결정하는 동작;
    상기 현재 세대의 복수의 유전체 각각에 대해 머신러닝 파이프라인을 수행하는 동작;
    상기 머신 러닝이 수행된 복수의 유전체의 적합도를 평가하는 동작;
    상기 평가 결과를 기초로 상기 머신 러닝이 수행된 복수의 유전체에 대해 선택 연산을 수행하여 복수의 유전체를 선택하는 동작;
    상기 선택된 복수의 유전체에 대하여 유전 연산을 수행하여 다음 세대의 하나 이상의 유전체를 획득하는 동작; 및
    상기 다음 세대가 최종 세대인 경우, 상기 최종 세대의 하나 이상의 유전체를 기초로 산업 분야, 태스크 종류, 태스크 목표 및 태스크 변수에 대응하는 태스크 수행 모델을 결정하는 동작을 수행하도록 구성되고,
    상기 머신러닝 파이프라인은 데이터 준비 과정, 특징 엔지니어링 과정, 모델 선택 과정 및 하이퍼파라미터 튜닝 과정을 포함하고,
    상기 태스크 추정 모델은 인코더, 디코더 및 변수 규칙 레이어를 포함하고,
    학습 텍스트는 상기 인코더에 입력되어 컨텍스트 벡터가 출력되고, 상기 컨텍스트 벡터는 상기 디코더에 입력되어 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수가 출력되고, 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표 및 상기 태스크 변수는 상기 변수 규칙 레이어에 입력되어 변수 규칙 벡터가 출력되고, 상기 산업 분야, 상기 산업 분야, 상기 태스크 종류, 상기 태스크 목표, 상기 태스크 변수 및 상기 변수 규칙 벡터는 정답 텍스트 및 정답 변수 규칙과 비교되어 손실값이 계산되고, 상기 손실값이 작아지는 방향으로 상기 인코더 및 상기 디코더는 학습되고,
    상기 유전체는 상기 데이터 준비 과정의 학습 데이터 집합에 대응하는 제1 유전자, 상기 특징 엔지니어링 과정의 특징 벡터 추출 방식에 대응하는 제2 유전자, 상기 모델 선택 과정의 선택된 학습 모델에 대응하는 제3 유전자 및 상기 하이퍼파라미터 튜닝 과정의 튜닝되는 하이퍼파라미터에 대응하는 제4 유전자를 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  29. 제28항에 있어서,
    상기 프로세서는,
    상기 제2 유전자를 기초로 상기 제1 유전자로부터 특징 벡터를 추출하는 동작;
    상기 추출된 특징 벡터를 기초로 상기 제3 유전자를 학습시키는 동작; 및
    상기 학습된 제3 유전자의 하이퍼파라미터에 상기 제4 유전자를 적용하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  30. 제28항에 있어서,
    상기 프로세서는,
    상기 머신 러닝이 수행된 복수의 유전체를 입력으로 적합도 함수를 계산하는 동작; 및
    상기 적합도 함수의 계산의 결과가 미리 설정된 기준을 만족하거나 상기 현재 세대가 미리 설정된 세대에 해당하는 경우, 상기 미리 설정된 기준에 가장 가까운 계산 결과를 가지는 유전체를 출력하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  31. 제28항에 있어서,
    상기 프로세서는,
    적합도가 높을수록 높아지는 확률로 상기 머신 러닝이 수행된 복수의 유전체 중에서 미리 정해진 선택 비율의 유전체를 선택하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  32. 제31항에 있어서,
    상기 프로세서는,
    상기 머신 러닝이 수행된 복수의 유전체 중의 제1 유전체와 상기 제1 유전체보다 적합도가 작은 제2 유전체를 선택하는 동작;
    상기 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 동작; 및
    상기 난수가 상기 선택 비율보다 큰 경우 상기 제2 유전체를 선택하고, 상기 난수가 상기 선택 비율보다 작은 경우 상기 제1 유전체를 선택하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  33. 제32항에 있어서,
    상기 프로세서는,
    상기 머신 러닝이 수행된 복수의 유전체 중에서 제3 유전체의 적합도에 정비례하는 확률로 상기 제3 유전체를 선택하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  34. 제28항에 있어서,
    상기 프로세서는,
    상기 현재 세대의 복수의 유전체 중의 제4 유전체를 구성하는 하나 이상의 유전자와 제5 유전체를 구성하는 하나 이상의 유전자를 조합하여 다음 세대의 제6 유전체를 획득하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  35. 제34항에 있어서,
    상기 프로세서는,
    유전체의 N개의 교차점을 지날 때마다 상기 제4 유전체의 유전자와 상기 제5 유전체의 유전자를 교대로 선택하여 제6 유전자를 획득하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  36. 제34항에 있어서,
    상기 프로세서는,
    유전체를 구성하는 각 유전자에 대하여 선택 비율과 동일한 정의역을 가지는 난수를 생성하는 동작; 및
    상기 난수가 상기 선택 비율보다 큰 경우 상기 제4 유전체의 유전자를 선택하고 상기 난수가 상기 선택 비율보다 작은 경우 상기 제5 유전체의 유전자를 선택하여 상기 제6 유전체를 획득하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
  37. 제28항에 있어서,
    상기 프로세서는,
    상기 현재 세대의 복수의 유전체 중의 제7 유전체를 구성하는 하나 이상의 유전자를 다른 종류의 유전자로 교체하여 다음 세대의 제8 유전체를 획득하는 동작을 수행하도록 구성되는,
    태스크 수행 모델의 최적화 장치.
KR1020210050670A 2021-04-19 2021-04-19 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치 KR102340046B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210050670A KR102340046B1 (ko) 2021-04-19 2021-04-19 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210050670A KR102340046B1 (ko) 2021-04-19 2021-04-19 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102340046B1 true KR102340046B1 (ko) 2021-12-20

Family

ID=79034029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050670A KR102340046B1 (ko) 2021-04-19 2021-04-19 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102340046B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024071845A1 (ko) * 2022-09-28 2024-04-04 주식회사 메디컬에이아이 의료용 인공지능 모델의 구축 방법, 프로그램 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Input-feeding RNN Search 모델과 CopyNet을 이용한 한국어 의미역 결정 1부* *
직교 정규화를 이용한 신경망 기계 번역에서의 커버리지 모델링 1부* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024071845A1 (ko) * 2022-09-28 2024-04-04 주식회사 메디컬에이아이 의료용 인공지능 모델의 구축 방법, 프로그램 및 장치

Similar Documents

Publication Publication Date Title
US11610131B2 (en) Ensembling of neural network models
US20200242480A1 (en) Automated model building search space reduction
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
de Sá et al. RECIPE: a grammar-based framework for automatically evolving classification pipelines
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
CN108334949B (zh) 一种基于优化深度卷积神经网络结构快速进化的图像分类器构建方法
Olson et al. TPOT: A tree-based pipeline optimization tool for automating machine learning
US20210287097A1 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
Benchaji et al. Using genetic algorithm to improve classification of imbalanced datasets for credit card fraud detection
Okewu et al. Experimental comparison of stochastic optimizers in deep learning
KR102340046B1 (ko) 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치
CN113391894A (zh) 一种基于rbp神经网络的最优超任务网优化方法
Xavier-Júnior et al. A novel evolutionary algorithm for automated machine learning focusing on classifier ensembles
Sathasivam et al. Hybrid Discrete Hopfield Neural Network based Modified Clonal Selection Algorithm for VLSI Circuit Verification.
Babatunde et al. Comparative analysis of genetic algorithm and particle swam optimization: An application in precision agriculture
JP7438544B2 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
CN114863508A (zh) 自适应注意力机制的表情识别模型生成方法、介质及设备
Drozdz et al. Feature set reduction by evolutionary selection and construction
Banga Computational hybrids towards software defect predictions
KR102246091B1 (ko) 머신러닝 최적화 방법 및 장치
KR102319028B1 (ko) 데이터 시각화 방법 및 장치
Escovedo et al. Neuroevolutionary models based on quantum-inspired evolutionary algorithms
Gu et al. BAGAIL: Multi-modal imitation learning from imbalanced demonstrations
CN117852601A (zh) 数据处理方法、电子设备、存储介质及程序产品
Čermák Adversarial examples design by deep generative models

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant