KR20210149393A - 조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 - Google Patents
조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 Download PDFInfo
- Publication number
- KR20210149393A KR20210149393A KR1020200066379A KR20200066379A KR20210149393A KR 20210149393 A KR20210149393 A KR 20210149393A KR 1020200066379 A KR1020200066379 A KR 1020200066379A KR 20200066379 A KR20200066379 A KR 20200066379A KR 20210149393 A KR20210149393 A KR 20210149393A
- Authority
- KR
- South Korea
- Prior art keywords
- exploration
- evaluation
- value
- paths
- learning model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법이 개시된다. 일 실시예에 따른 강화학습 모델의 학습 장치는 조합 최적화 문제의 입력값으로부터 복수 개의 시작점을 결정하는 시작점 결정부; 강화학습 모델을 이용하여 상기 복수 개의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로를 생성하는 다중 탐험부; 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 탐험 경로별 평가값을 계산하는 경로 평가부; 상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 베이스라인 계산부; 상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산하는 이득 계산부; 및 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 파라미터 갱신부를 포함한다.
Description
개시되는 실시예들은 강화학습(reinforcement learning)을 이용한 조합 최적화(combinational optimization)와 관련된다.
조합 최적화 문제는 다수의 독립 변수들로 구성된 목적 함수의 최소값이나 혹은 최대값을 얻을 수 있는 효과적인 해를 찾는 것이다. 대표적인 조합 최적화 문제로는 순회 외판원 문제(Traveling Salesman Problem; TSP), 배낭 문제(Knapsack Problem; KP), 차량 경로 문제(Vehicle Routing Problem; VRP) 등이 있다.
조합 최적화 문제를 해결하는 방법은 여러 가지가 있으나, 최근에는 강화 학습(reinforcement learning)을 이용한 방법이 연구되고 있다. 강화 학습은 기계 학습 방법 중 하나로, 시도와 실패(trial and error)를 통해 현재의 상태(state)에서 어떤 행동(action)을 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 외부 환경에서 보상(reward)이 주어지는데, 이러한 보상을 최대화하는 방향으로 학습이 진행된다.
개시되는 실시예들은 강화학습을 이용한 조합 최적화에 있어 강화학습 모델을 효과적으로 학습하기 위한 기술적인 수단을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 조합 최적화 문제의 입력값으로부터 복수 개의 시작점을 결정하는 시작점 결정부; 강화학습 모델을 이용하여 상기 복수 개의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로를 생성하는 다중 탐험부; 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 탐험 경로별 평가값을 계산하는 경로 평가부; 상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 베이스라인 계산부; 상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산하는 이득 계산부; 및 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 파라미터 갱신부를 포함하는 강화학습 모델의 학습 장치가 제공된다.
상기 시작점 결정부는, 상기 입력값으로부터 가능한 모든 시작점 후보에 대하여, 상기 강화학습 모델을 이용하여 최적 경로에 대한 추론을 수행하고, 상기 각 시작점 후보 별 추론값에 기초하여 상기 시작점 후보 중에서 상기 복수 개의 시작점을 결정할 수 있다.
상기 복수 개의 탐험 경로별 평가값은, 상기 복수 개의 탐험 경로별로 산출되는 보상(reward)의 합으로 계산될 수 있다.
상기 베이스라인 계산부는, 상기 복수 개의 탐험 경로별 평가값의 평균, 중간값, 특정 순위의 평가값, 특정 순위 이상의 평가값들의 평균, 또는 특정 순위 이상의 평가값들의 중간값 중 하나를 이용하여 상기 베이스라인을 계산할 수 있다.
상기 이득 계산부는, 상기 복수 개의 탐험 경로별 평가값에서 상기 베이스라인을 감산하여 상기 탐험 경로별 이득을 계산할 수 있다.
상기 장치는, 상기 입력값으로부터 하나 이상의 확장 입력값을 생성하되, 상기 확장 입력값의 최적해 평가값이 상기 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성하는 입력값 확장부를 더 포함할 수 있다.
상기 시작점 결정부는, 상기 입력값 및 상기 확장 입력값을 동시에 입력받고 이로부터 복수 개의 시작점을 생성하며, 상기 베이스라인 계산부는, 상기 입력값으로부터 유래되는 탐험 경로별 평가값 및 상기 확장 입력값으로부터 유래되는 탐험 경로별 평가값을 입력받고, 이로부터 하나의 베이스라인을 계산할 수 있다.
상기 시작점 결정부는, 복수 개의 서로 다른 입력값을 동시에 입력받고 이로부터 복수 개의 시작점을 생성하며, 상기 베이스라인 계산부는, 상기 서로 다른 입력값 각각에 대한 복수 개의 서로 다른 베이스라인을 계산할 수 있다.
다른 예시적인 실시예에 따르면, 조합 최적화 문제의 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 상기 모든 시작점 후보 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 후보 탐험 경로를 생성하는 다중 탐험부; 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 후보 탐험 경로별 평가값을 계산하는 경로 평가부; 상기 복수 개의 후보 탐험 경로별 평가값을 이용하여 상기 입력값에 대한 복수 개의 시작점을 결정하는 시작점 결정부; 상기 복수 개의 시작점 각각에 대응되는 복수 개의 탐험 경로의 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 베이스라인 계산부; 상기 복수 개의 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 복수 개의 탐험 경로별 이득(advantage)을 계산하는 이득 계산부; 및 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 파라미터 갱신부를 포함하는 강화학습 모델의 학습 장치가 제공된다.
상기 복수 개의 탐험 경로별 평가값은, 상기 복수 개의 탐험 경로별로 산출되는 보상(reward)의 합으로 계산될 수 있다.
상기 베이스라인 계산부는, 상기 복수 개의 탐험 경로별 평가값의 평균, 중간값, 특정 순위의 평가값, 특정 순위 이상의 평가값들의 평균, 또는 특정 순위 이상의 평가값들의 중간값 중 하나를 이용하여 상기 베이스라인을 계산할 수 있다.
상기 이득 계산부는, 상기 복수 개의 탐험 경로별 평가값에서 상기 베이스라인을 감산하여 상기 탐험 경로별 이득을 계산할 수 있다.
상기 장치는, 상기 입력값으로부터 하나 이상의 확장 입력값을 생성하되, 상기 확장 입력값의 최적해 평가값이 상기 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성하는 입력값 확장부를 더 포함할 수 있다.
상기 다중 탐험부는, 상기 입력값 및 상기 확장 입력값을 동시에 입력받고 이로부터 복수 개의 후보 탐험 경로를 생성하며, 상기 베이스라인 계산부는, 상기 입력값으로부터 유래되는 탐험 경로별 평가값 및 상기 확장 입력값으로부터 유래되는 탐험 경로별 평가값을 입력받고, 이로부터 하나의 베이스라인을 계산할 수 있다.
상기 다중 탐험부는, 복수 개의 서로 다른 입력값을 동시에 입력받고 이로부터 복수 개의 후보 탐험 경로를 생성하며, 상기 베이스라인 계산부는, 상기 서로 다른 입력값 각각에 대한 복수 개의 서로 다른 베이스라인을 계산할 수 있다.
다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 조합 최적화 문제의 입력값으로부터 복수 개의 시작점을 결정하는 단계; 강화학습 모델을 이용하여 상기 복수 개의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로를 생성하는 단계; 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 탐험 경로별 평가값을 계산하는 단계; 상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 단계; 상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산하는 단계; 및 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 단계를 포함하는 강화학습 모델의 학습 방법이 제공된다.
또 다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 조합 최적화 문제의 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 상기 모든 시작점 후보 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 후보 탐험 경로를 생성하는 단계; 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 후보 탐험 경로별 평가값을 계산하는 단계; 상기 복수 개의 후보 탐험 경로별 평가값을 이용하여 상기 입력값에 대한 복수 개의 시작점을 결정하는 단계; 상기 복수 개의 시작점 각각에 대응되는 복수 개의 탐험 경로의 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 단계; 상기 복수 개의 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 복수 개의 탐험 경로별 이득(advantage)을 계산하는 단계; 및 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 단계를 포함하는, 강화학습 모델의 학습 방법이 제공된다.
개시되는 실시예에 따르면, 조합 최적화를 위한 강화학습 모델을 효과적으로 학습시킴으로써, 강화학습 모델의 정확도 및 처리 속도를 향상시킬 수 있다.
도 1은 제1 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위한 블록도
도 2는 제1 실시예에 따른 시작점 결정부를 좀 더 상세히 설명하기 위한 블록도
도 3은 일 실시예에 따른 다중 추론부의 입력 및 출력을 설명하기 위한 예시도
도 4는 일 실시예에 따른 다중 추론부에서의 최적 경로 추론 과정을 설명하기 위한 블록도
도 5는 일 실시예에 따른 다중 탐험부의 입력 및 출력을 설명하기 위한 예시도
도 6은 일 실시예에 따른 다중 탐험부에서의 탐험 경로 생성 과정을 설명하기 위한 블록도
도 7은 제2 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위한 블록도
도 8은 제3 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위한 블록도
도 9는 제4 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위하니 블록도
도 10은 일 실시예에 따른 강화학습 모델의 추론 장치를 설명하기 위한 블록도
도 11은 다른 실시예에 따른 강화학습 모델의 추론 장치를 설명하기 위한 블록도
도 12는 일 실시예에 따른 강화학습 모델의 학습 방법을 설명하기 위한 블록도
도 13은 다른 실시예에 따른 강화학습 모델의 학습 방법을 설명하기 위한 블록도
도 14는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 제1 실시예에 따른 시작점 결정부를 좀 더 상세히 설명하기 위한 블록도
도 3은 일 실시예에 따른 다중 추론부의 입력 및 출력을 설명하기 위한 예시도
도 4는 일 실시예에 따른 다중 추론부에서의 최적 경로 추론 과정을 설명하기 위한 블록도
도 5는 일 실시예에 따른 다중 탐험부의 입력 및 출력을 설명하기 위한 예시도
도 6은 일 실시예에 따른 다중 탐험부에서의 탐험 경로 생성 과정을 설명하기 위한 블록도
도 7은 제2 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위한 블록도
도 8은 제3 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위한 블록도
도 9는 제4 실시예에 따른 강화학습 모델의 학습 장치를 설명하기 위하니 블록도
도 10은 일 실시예에 따른 강화학습 모델의 추론 장치를 설명하기 위한 블록도
도 11은 다른 실시예에 따른 강화학습 모델의 추론 장치를 설명하기 위한 블록도
도 12는 일 실시예에 따른 강화학습 모델의 학습 방법을 설명하기 위한 블록도
도 13은 다른 실시예에 따른 강화학습 모델의 학습 방법을 설명하기 위한 블록도
도 14는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 제1 실시예에 따른 강화학습 모델의 학습 장치(100)를 설명하기 위한 블록도이다. 도시된 바와 같이, 제1 실시예에 따른 학습 장치(100)는 시작점 결정부(102), 다중 탐험부(104), 경로 평가부(106), 베이스라인 계산부(108), 이득 계산부(110) 및 파라미터 갱신부(112)를 포함한다.
시작점 결정부(102)는 조합 최적화 문제의 입력값으로부터 복수 개의 탐험 시작점(이하 '시작점'으로 칭함)을 결정한다. 개시되는 실시예들에서, 상기 조합 최적화 문제의 입력값은 L개(L은 1 이상의 자연수)의 원소로 구성될 수 있다. 예를 들어, 상기 조합 최적화 문제가 순회 외판원 문제인 경우, 상기 입력값은 외판원이 순회하는 L개 도시의 좌표 정보를 원소로 가질 수 있다. 시작점 결정부(102)는 상기 L개의 원소를 포함하는 입력값으로부터 N개(N은 1 이상의 자연수로 N <= L)의 시작점을 결정하도록 구성될 수 있다.
일 실시예에서, 시작점 결정부(102)는 상기 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 최적 경로에 대한 추론을 수행하고, 상기 각 시작점 후보 별 추론값에 기초하여 상기 시작점 후보 중에서 상기 복수 개의 시작점을 결정할 수 있다. 이를 좀 더 상세히 설명하면 다음과 같다.
도 2는 제1 실시예에 따른 시작점 결정부(102)를 좀 더 상세히 설명하기 위한 블록도이다. 도시된 바와 같이, 제1 실시예에 따른 시작점 결정부(102)는 다중 추론부(202), 평가부(204) 및 선택부(206)를 포함한다.
다중 추론부(202)는 상기 입력값에서 가능한 모든 시작점 후보 별 최적 경로를 추론한다. 예를 들어 입력값이 L개의 원소를 포함할 경우, 다중 추론부는 L개의 원소 각각을 시작점 후보로 설정하고 각 시작점 후보 별 최적 경로의 추론 결과를 생성할 수 있다. 이때 다중 추론부(202)는 강화학습 모델을 이용하여 상기 최적 경로의 추론 결과를 생성할 수 있다.
평가부(204)는 다중 추론부(202)에서 생성한 시작점 후보 별 추론 경로 각각을 평가하여 각 추론 경로별 평가값을 계산한다. 일 실시예에서, 평가부(204)는 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 추론 경로별 평가값을 계산할 수 있다. 만약 다중 추론부(202)에서 L개의 시작점 후보 별 최적 경로의 추론 결과가 생성된 경우, 평가부(204)는 L개의 평가값을 계산할 수 있다.
선택부(206)는 평가부(204)에서 계산된 평가값에 근거하여 N개의 시작점을 선택한다. 일 실시예에서, 선택부(206)는 평가부(204)에서 계산된 평가값이 높은 순서로 N개의 시작점을 선택하도록 구성될 수 있다.
한편, 다른 실시예에서, 시작점 결정부(102)는 앞서 기술한 방법 외에 다른 방식으로 N개의 시작점을 선택할 수도 있다. 예를 들어, 시작점 결정부(102)는 L개의 시작점 후보 중 임의로 N개의 시작점을 선택하거나, 또는 풀고자 하는 조합 최적화 문제에 의존적인 별도의 시작점 선택 알고리즘을 사용하여 N개의 시작점을 선택할 수도 있다. 또한 실시예에 따라 시작점 결정부(102)는 L개의 가능한 시작점 후보를 모두 시작점으로 선택할 수도 있다.
도 3 및 도 4는 일 실시예에 따른 다중 추론부(202)를 좀 더 상세히 설명하기 위한 도면이다. 먼저 도 3은 일 실시예에 따른 다중 추론부(202)의 입력 및 출력을 설명하기 위한 예시도이다. 도시된 바와 같이, 다중 추론부(202)는 L개의 원소로 구성된 입력값(1, 2, 3, ..., L )에 대하여, 각각의 원소를 시작점 후보로 하는 L개의 최적 경로 추론 결과를 생성할 수 있다. 실시예에 따라, 다중 추론부(202)는 각 시작점 후보 별로 순차적으로 상기 추론 결과를 생성하거나, 또는 병렬로 복수의 추론을 동시에 수행할 수도 있다.
도 4는 일 실시예에 따른 다중 추론부(202)에서의 최적 경로 추론 과정을 설명하기 위한 블록도이다. 전술한 바와 같이, 다중 추론부(202)는 강화학습 모델을 이용하여 상기 최적 경로 추론을 수행할 수 있다. 이때 상기 강화학습 모델은 인코더 네트워크 및 디코더 네트워크를 포함할 수 있다. 다중 추론부(202)는 입력값(1, 2, 3, …, L)을 인코더 네트워크를 이용하여 인코딩(encoding)한 뒤, 각 시작점 후보 별로 디코더 네트워크를 이용한 디코딩(decoding)을 수행하여 L개의 추론 결과를 획득한다. 도시된 실시예에서, k, yk2, yk3, … ykx는 입력값의 원소 k(1 <= k <= L)를 시작점으로 할 경우의 최적 경로 추론 결과를 나타낸다.
다시 도 1로 돌아가서, 다중 탐험부(104)는 강화학습 모델을 이용하여 시작점 결정부(102)에서 결정된 복수 개(N개)의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로(exploration trajectory)를 생성한다.
도 5 및 도 6은 일 실시예에 따른 다중 탐험부(104)를 좀 더 상세히 설명하기 위한 도면이다. 먼저 도 5는 일 실시예에 따른 다중 탐험부(104)의 입력 및 출력을 설명하기 위한 예시도이다. 도시된 바와 같이, 다중 탐험부(104)는 L개의 원소로 구성된 입력값(1, 2, 3, ..., L ), 및 시작점 결정부(102)에서 결정된 N개의 시작점(s1 ~ sN) 정보를 수신하고, 수신된 각 시작점 별 N개의 탐험 경로를 생성한다. 실시예에 따라, 다중 탐험부(104)는 각 시작점 별로 순차적으로 상기 탐험 경로를 생성하거나, 또는 병렬로 복수의 탐험 경로를 동시에 생성할 수도 있다.
도 6은 일 실시예에 따른 다중 탐험부(104)에서의 탐험 경로 생성 과정을 설명하기 위한 블록도이다. 전술한 바와 같이, 다중 탐험부(104)는 다중 추론부(202)와 마찬가지로 강화학습 모델을 이용하여 상기 탐험 경로를 생성할 수 있다. 구체적으로 다중 탐험부(104)는 입력값(1, 2, 3, …, L)을 인코더 네트워크를 이용하여 인코딩(encoding)한 뒤, 각 시작점 별로 디코더 네트워크를 이용한 디코딩(decoding)을 수행하여 L개의 탐험 경로를 획득한다. 도시된 실시예에서, sk, yk2, yk3, … ykx는 입력값의 원소 k(1 <= k <= N)를 시작점으로 할 경우의 탐험 경로를 나타낸다. 다중 탐험부(104)의 탐험 경로 생성 과정이 다중 추론부(202)의 최적 경로 추론 과정과 다른 점은, 최적 경로 추론 과정은 항상 주어진 조건에서 강화학습 모델이 최대 보상을 받을 것으로 기대하는 결과값만을 출력하는 반면, 탐험 경로는 반드시 최대 보상을 기대하는 경로에 한정되는 것은 아니라는 점이다.
다시 도 1로 돌아가서, 경로 평가부(106)는 다중 탐험부(104)에서 생성한 복수 개의 탐험 경로 각각에 대한 평가값을 계산한다. 일 실시예에서, 경로 평가부(106)는 입력된 조합 최적화 문제의 평가 함수를 이용하여 상기 평가값을 생성할 수 있다. 이때 상기 탐험 경로별 평가값은 각각의 탐험 경로 생성 과정에서 상기 평가 함수를 통하여 산출되는 보상(reward)의 합(total reward)으로 계산될 수 있다. 구체적으로, 상기 탐험 경로별 평가값은 다음의 수학식 1에 의하여 계산될 수 있다.
[수학식 1]
이때, total_rewardi는 i번째 탐험 경로의 평가값, trajectoryi는 i번째 탐험 경로, R은 입력된 조합 최적화 문제의 평가 함수이다.
베이스라인 계산부(108)는 상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산한다. 개시되는 실시예들에서, 베이스라인 계산부(108)는 입력값 별로 하나의 베이스라인을 계산하도록 구성된다. 일 실시예에서 베이스라인 계산부(108)는 복수 개의 탐험 경로별 평가값의 평균, 중간값, 특정 순위의 평가값, 특정 순위 이상의 평가값들의 평균, 또는 특정 순위 이상의 평가값들의 중간값 중 하나를 이용하여 상기 베이스라인을 계산할 수 있다.
이득 계산부(110)는 상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산한다. 이득 계산부(110)는 상기 복수 개의 탐험 경로별 평가값에서 상기 베이스라인을 감산하여 상기 탐험 경로별 이득을 계산할 수 있다. 개시되는 실시예들에서, 탐험 경로별 이득은 각각의 탐험의 결과가 베이스라인 대비 어느 정도의 높은 평가를 받았는지를 나타낸다. 탐험 경로별 이득은 각 탐험 경로별로 1개씩 산출된다. 구체적으로, 이득 계산부(110)는 다음의 수학식 2에 의하여 탐험 경로별 이득을 계산할 수 있다.
[수학식 2]
이때, advantagei는 i번째 탐험 경로의 이득이다.
파라미터 갱신부(112)는 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신한다. 구체적인 강화학습 모델의 파라미터 갱신 방법은 본 기술분야에서 통상의 기술자에게 잘 알려져 있으므로 여기서는 구체적인 설명을 생략한다.
도 7은 제2 실시예에 따른 강화학습 모델의 학습 장치(700)를 설명하기 위한 블록도이다. 본 실시예 및 이하의 실시예들에서, 앞선 실시예들과 동일한 기능을 수행하는 블록에 대해서는 동일 도면부호를 이용하여 나타내었으며, 이에 대해서는 반복되는 설명을 생략하기로 한다.
제2 실시예에 따른 강화학습 모델의 학습 장치(700)는 입력값 확장부(702)를 더 포함한다는 점에서 제1 실시예와 상이하다. 입력값 확장부(702)는 조합 최적화 문제의 입력값을 입력받고, 이로부터 하나 이상의 확장 입력값을 생성한다. 일 실시예에서, 입력값 확장부(702)는 상기 확장 입력값의 최적해 평가값이 원래 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성할 수 있다. 예를 들어, 입력값 확장부(702)는 입력값을 구성하는 각 원소의 순서를 변경하거나, 각 원소들의 좌표축을 변환, 회전 또는 반전함으로써 상기 확장 입력값을 생성할 수 있다.
만약 입력값 확장부(702)가 1개의 입력값으로부터 M개의 확장 입력값을 생성하는 경우, 시작점 결정부(102)는 확장된 입력값 별로 N개씩, 총 MxN개의 시작점을 결정하고, 다중 탐험부(104)는 MxN개의 탐험 경로를 생성할 수 있다. 이후 경로 평가부(106)는 각 탐험 경로에 대하여 MxN개의 탐험 평가값을 생성하고, 베이스라인 계산부(108)는 MxN개의 평가값으로부터 1개의 베이스라인을 산출한다. 이후 이득 계산부(110)는 동일한 베이스라인에 대한 각 탐험 경로별 이득을 계산하고, 파라미터 갱신부(112)는 계산된 이득을 이용하여 강화학습 모델의 파라미터를 갱신한다.
도 8은 제3 실시예에 따른 강화학습 모델의 학습 장치(800)를 설명하기 위한 블록도이다. 제3 실시예에 따른 강화학습 모델의 학습 장치(800)는 하나의 입력값을 입력받는 것이 아니라, K개의 입력값을 미니 배치(mini batch) 형태로 동시에 입력받는다는 점에서 앞선 실시예들과 상이하다. 만약 미니 배치의 크기가 K인 경우, K개의 입력값을 동시에 학습할 수 있다.
만약 K개의 입력값이 동시에 입력되는 경우, 시작점 결정부(102)는 각 입력값 별로 N개씩, 총 KxN개의 시작점을 결정하고, 다중 탐험부(104)는 KxN개의 탐험 경로를 생성할 수 있다. 이후 경로 평가부(106)는 각 탐험 경로에 대하여 KxN개의 탐험 평가값을 생성하고, 베이스라인 계산부(108)는 KxN개의 평가값으로부터 각 입력값 별로 K개의 베이스라인을 산출한다. 다시 말해, 본 실시예에서 베이스라인 계산부(108)는 서로 다른 입력값 각각에 대한 복수 개의 서로 다른 베이스라인을 계산한다. 이후 이득 계산부(110)는 상기 계산된 베이스라인에 대한 각 탐험 경로별 이득을 계산하고, 파라미터 갱신부(112)는 계산된 이득을 이용하여 강화학습 모델의 파라미터를 갱신한다.
도 9는 제4 실시예에 따른 강화학습 모델의 학습 장치(900)를 설명하기 위한 블록도이다. 제4 실시예에 따른 강화학습 모델의 학습 장치(800)는 별도의 시작점 결정부(102)를 포함하지 않고, 다중 탐험부(902)에서 가능한 모든 시작점 별 탐험 경로를 생성한 뒤, 시작점 결정부(906)에서 각 탐험 경로 별 탐험 평가 결과를 비교하여 N개의 시작점을 결정한다는 점이 앞선 실시예들과 상이하다. 이를 좀 더 구체적으로 설명하면 다음과 같다.
본 실시예에서 다중 탐험부(902)는 조합 최적화 문제의 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 상기 모든 시작점 후보 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 후보 탐험 경로를 생성한다. 만약 상기 입력값이 L개의 원소를 포함하는 경우, 다중 탐험부(902)는 L의 후보 탐험 경로를 생성한다.
경로 평가부(904)는 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개(L개)의 후보 탐험 경로별 평가값을 계산한다. 앞선 실시예에서와 마찬가지로, 상기 각 후보 탐험 경로별 평가값은 상기 복수 개의 탐험 경로별로 산출되는 보상(reward)의 합으로 계산될 수 있다.
시작점 결정부(906)는 상기 복수 개의 후보 탐험 경로별 평가값을 이용하여 상기 입력값에 대한 복수 개(N개)의 시작점을 결정한다.
베이스라인 계산부(108)는 상기 복수 개(N개)의 시작점 각각에 대응되는 복수 개의 탐험 경로의 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산한다. 일 실시예에서, 베이스라인 계산부(108)는 상기 복수 개의 탐험 경로별 평가값의 평균, 중간값, 특정 순위의 평가값, 특정 순위 이상의 평가값들의 평균, 또는 특정 순위 이상의 평가값들의 중간값 중 하나를 이용하여 상기 베이스라인을 계산할 수 있다.
이득 계산부(110)는 상기 복수 개(N개)의 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 복수 개(N개)의 탐험 경로별 이득(advantage)을 계산한다. 이때 이득 계산부(110)는 상기 복수 개의 탐험 경로별 평가값에서 상기 베이스라인을 감산하여 상기 탐험 경로별 이득을 계산할 수 있다.
파라미터 갱신부(112)는 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신한다.
본 실시예에 따른 학습 장치(900)는 전술한 실시예 2와 마찬가지로 입력값 확장부(미도시)를 더 포함할 수 있다. 이때 상기 입력값 확장부는 상기 입력값으로부터 하나 이상의 확장 입력값을 생성하되, 상기 확장 입력값의 최적해 평가값이 상기 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성할 수 있다. 이 경우, 다중 탐험부(902)는 상기 입력값 및 상기 확장 입력값을 동시에 입력받고 이로부터 복수 개의 후보 탐험 경로를 생성하며, 베이스라인 계산부(108)는 상기 입력값으로부터 유래되는 탐험 경로별 평가값 및 상기 확장 입력값으로부터 유래되는 탐험 경로별 평가값을 입력받고, 이로부터 하나의 베이스라인을 도출할 수 있다.
또한 본 실시예에 따른 학습 장치(900)는 전술한 실시예 3과 마찬가지로 미니 배치 형태로 복수 개(K개)의 입력값을 동시에 입력받을 수 있다. 이 경우, 다중 탐험부(902)는, 복수 개(K개)의 서로 다른 입력값로부터 복수 개(K개)의 후보 탐험 경로를 생성하며, 베이스라인 계산부(108)는 상기 서로 다른 입력값 각각에 대한 복수 개(K개)의 서로 다른 베이스라인을 계산할 수 있다.
도 10은 일 실시예에 따른 강화학습 모델의 추론 장치(1000)를 설명하기 위한 블록도이다. 일 실시예에 따른 추론 장치(1000)는 제1 내지 제4 실시예에 따른 강화학습 모델의 학습 장치를 통해 학습된 강화학습 모델을 이용하여 조합 최적화 문제에 대한 추론을 수행한다. 도시된 바와 같이, 일 실시예에 따른 강화학습 모델의 추론 장치(1000)는 다중 추론부(1002), 경로 평가부(1004) 및 출력 선택부(1006)를 포함한다.
다중 추론부(1002)는 입력값에 대하여, 상기 입력값에서 가능한 모든 시작점 별 최적 경로를 추론한다. 예를 들어 입력값이 L개의 원소를 포함할 경우, 다중 추론부는 L개의 원소 각각을 시작점으로 설정하고 각 시작점 별 최적 경로의 추론 결과를 생성할 수 있다.
경로 평가부(1004)는 다중 추론부(1002)에서 생성한 시작점 별 추론 경로 각각을 평가하여 각 추론 경로별 평가값을 계산한다. 일 실시예에서, 평가부(204)는 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 추론 경로별 평가값을 계산할 수 있다.
출력 선택부(1006)는 경로 평가부(1004)에서 가장 높은 평가를 받은 추론 경로를 최종 출력으로 선택한다.
도 11은 다른 실시예에 따른 강화학습 모델의 추론 장치(1100)를 설명하기 위한 블록도이다. 본 실시예의 경우 도 10의 실시예에서 변환부(1102) 및 역변환부(1104)를 더 포함하는 점이 앞선 실시예와 상이하다.
변환부(1102)는 조합 최적화 문제의 입력값을 입력받고, 이로부터 하나 이상의 확장 입력값을 생성한다. 일 실시예에서, 변환부(1102)는 상기 확장 입력값의 최적해 평가값이 원래 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성할 수 있다. 예를 들어, 변환부(1102)는 입력값을 구성하는 각 원소의 순서를 변경하거나, 각 원소들의 좌표축을 변환, 회전 또는 반전함으로써 상기 확장 입력값을 생성할 수 있다. 이 경우, 다중 추론부(1002)는 변환부(1102)에서 확장된 입력값 각각에 대하여 가능한 모든 시작점 별 최적 경로를 추론하고, 경로 평가부(1004)는 다중 추론부(1002)에서 생성한 시작점 별 추론 경로 각각을 평가하여 각 추론 경로별 평가값을 계산한다. 출력 선택부(1006)는 경로 평가부(1004)에서 가장 높은 평가를 받은 추론 경로를 최종 출력으로 선택한다.
마지막으로, 역변환부(1104)는 출력 선택부(1006)에서 선택된 출력 결과가 확장된 입력으로부터 유래된 경우, 변환부(1102)에서의 변형 과정을 역으로 수행하여 최종 출력 결과를 생성한다.
도 12는 일 실시예에 따른 강화학습 모델의 학습 방법(1200)을 설명하기 위한 블록도이다. 도시된 흐름도는 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치, 예를 들어 전술한 강화학습 모델의 학습 장치 (100)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법 또는 과정을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 1202에서, 강화학습 모델의 학습 장치(100)의 시작점 결정부(102)는 조합 최적화 문제의 입력값으로부터 복수 개의 시작점을 결정한다.
단계 1204에서, 다중 탐험부(104)는 강화학습 모델을 이용하여 상기 복수 개의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로를 생성한다.
단계 1206에서, 경로 평가부(106)는 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 탐험 경로별 평가값을 계산한다.
단계 1208에서, 베이스라인 계산부(108)는 상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산한다.
단계 1210에서, 이득 계산부(110)는 상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산한다.
단계 1212에서, 파라미터 갱신부(112)는 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신한다.
도 13은 다른 실시예에 따른 강화학습 모델의 학습 방법(1200)을 설명하기 위한 블록도이다. 도시된 흐름도는 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치, 예를 들어 전술한 강화학습 모델의 학습 장치(900)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법 또는 과정을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 1302에서, 강화학습 모델의 학습 장치(900)의 다중 탐험부(902)는 조합 최적화 문제의 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 상기 모든 시작점 후보 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 후보 탐험 경로를 생성한다.
단계 1304에서, 경로 평가부(904)는 상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 후보 탐험 경로별 평가값을 계산한다.
단계 1306에서, 시작점 결정부(906)는 상기 복수 개의 후보 탐험 경로별 평가값을 이용하여 상기 입력값에 대한 복수 개의 시작점을 결정한다.
단계 1308에서, 베이스라인 계산부(108)는 상기 복수 개의 시작점 각각에 대응되는 복수 개의 탐험 경로의 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산한다.
단계 1310에서, 이득 계산부(110)는 상기 복수 개의 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 복수 개의 탐험 경로별 이득(advantage)을 계산한다.
단계 1312에서, 파라미터 갱신부(112)는 상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신한다.
도 14는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 본 발명의 실시예들에 따른 강화학습 모델의 학습 장치(100, 700, 800, 900)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 700, 800, 900: 강화학습 모델의 학습 장치
102, 906: 시작점 결정부
104, 902: 다중 탐험부
106, 904: 경로 평가부
108: 베이스라인 계산부
110: 이득 계산부
112: 파라미터 갱신부
202: 다중 추론부
204: 평가부
206: 선택부
702: 입력값 확장부
1000: 강화학습 모델의 추론 장치
1002: 다중 추론부
1004: 경로 평가부
1006: 출력 선택부
1102: 변환부
1104: 역변환부
102, 906: 시작점 결정부
104, 902: 다중 탐험부
106, 904: 경로 평가부
108: 베이스라인 계산부
110: 이득 계산부
112: 파라미터 갱신부
202: 다중 추론부
204: 평가부
206: 선택부
702: 입력값 확장부
1000: 강화학습 모델의 추론 장치
1002: 다중 추론부
1004: 경로 평가부
1006: 출력 선택부
1102: 변환부
1104: 역변환부
Claims (17)
- 조합 최적화 문제의 입력값으로부터 복수 개의 시작점을 결정하는 시작점 결정부;
강화학습 모델을 이용하여 상기 복수 개의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로를 생성하는 다중 탐험부;
상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 탐험 경로별 평가값을 계산하는 경로 평가부;
상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 베이스라인 계산부;
상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산하는 이득 계산부; 및
상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 파라미터 갱신부를 포함하는 강화학습 모델의 학습 장치.
- 청구항 1에 있어서,
상기 시작점 결정부는,
상기 입력값으로부터 가능한 모든 시작점 후보에 대하여, 상기 강화학습 모델을 이용하여 최적 경로에 대한 추론을 수행하고,
상기 각 시작점 후보 별 추론값에 기초하여 상기 시작점 후보 중에서 상기 복수 개의 시작점을 결정하는, 강화학습 모델의 학습 장치.
- 청구항 1에 있어서,
상기 복수 개의 탐험 경로별 평가값은,
상기 복수 개의 탐험 경로별로 산출되는 보상(reward)의 합으로 계산되는, 강화학습 모델의 학습 장치.
- 청구항 1에 있어서,
상기 베이스라인 계산부는,
상기 복수 개의 탐험 경로별 평가값의 평균, 중간값, 특정 순위의 평가값, 특정 순위 이상의 평가값들의 평균, 또는 특정 순위 이상의 평가값들의 중간값 중 하나를 이용하여 상기 베이스라인을 계산하는, 강화학습 모델의 학습 장치.
- 청구항 1에 있어서,
상기 이득 계산부는, 상기 복수 개의 탐험 경로별 평가값에서 상기 베이스라인을 감산하여 상기 탐험 경로별 이득을 계산하는, 강화학습 모델의 학습 장치.
- 청구항 1에 있어서,
상기 입력값으로부터 하나 이상의 확장 입력값을 생성하되,
상기 확장 입력값의 최적해 평가값이 상기 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성하는 입력값 확장부를 더 포함하는, 강화학습 모델의 학습 장치.
- 청구항 6에 있어서,
상기 시작점 결정부는, 상기 입력값 및 상기 확장 입력값을 동시에 입력받고 이로부터 복수 개의 시작점을 생성하며,
상기 베이스라인 계산부는, 상기 입력값으로부터 유래되는 탐험 경로별 평가값 및 상기 확장 입력값으로부터 유래되는 탐험 경로별 평가값을 입력받고, 이로부터 하나의 베이스라인을 계산하는, 강화학습 모델의 학습 장치.
- 청구항 1에 있어서,
상기 시작점 결정부는, 복수 개의 서로 다른 입력값을 동시에 입력받고 이로부터 복수 개의 시작점을 생성하며,
상기 베이스라인 계산부는, 상기 서로 다른 입력값 각각에 대한 복수 개의 서로 다른 베이스라인을 계산하는, 강화학습 모델의 학습 장치.
- 조합 최적화 문제의 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 상기 모든 시작점 후보 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 후보 탐험 경로를 생성하는 다중 탐험부;
상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 후보 탐험 경로별 평가값을 계산하는 경로 평가부;
상기 복수 개의 후보 탐험 경로별 평가값을 이용하여 상기 입력값에 대한 복수 개의 시작점을 결정하는 시작점 결정부;
상기 복수 개의 시작점 각각에 대응되는 복수 개의 탐험 경로의 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 베이스라인 계산부;
상기 복수 개의 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 복수 개의 탐험 경로별 이득(advantage)을 계산하는 이득 계산부; 및
상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 파라미터 갱신부를 포함하는 강화학습 모델의 학습 장치.
- 청구항 9에 있어서,
상기 복수 개의 탐험 경로별 평가값은,
상기 복수 개의 탐험 경로별로 산출되는 보상(reward)의 합으로 계산되는, 강화학습 모델의 학습 장치.
- 청구항 9에 있어서,
상기 베이스라인 계산부는,
상기 복수 개의 탐험 경로별 평가값의 평균, 중간값, 특정 순위의 평가값, 특정 순위 이상의 평가값들의 평균, 또는 특정 순위 이상의 평가값들의 중간값 중 하나를 이용하여 상기 베이스라인을 계산하는, 강화학습 모델의 학습 장치.
- 청구항 9에 있어서,
상기 이득 계산부는, 상기 복수 개의 탐험 경로별 평가값에서 상기 베이스라인을 감산하여 상기 탐험 경로별 이득을 계산하는, 강화학습 모델의 학습 장치.
- 청구항 9에 있어서,
상기 입력값으로부터 하나 이상의 확장 입력값을 생성하되,
상기 확장 입력값의 최적해 평가값이 상기 입력값의 최적해 평가값과 동일하도록 상기 입력값을 변형함으로써 상기 하나 이상의 확장 입력값을 생성하는 입력값 확장부를 더 포함하는, 강화학습 모델의 학습 장치.
- 청구항 13에 있어서,
상기 다중 탐험부는, 상기 입력값 및 상기 확장 입력값을 동시에 입력받고 이로부터 복수 개의 후보 탐험 경로를 생성하며,
상기 베이스라인 계산부는, 상기 입력값으로부터 유래되는 탐험 경로별 평가값 및 상기 확장 입력값으로부터 유래되는 탐험 경로별 평가값을 입력받고, 이로부터 하나의 베이스라인을 계산하는, 강화학습 모델의 학습 장치.
- 청구항 9에 있어서,
상기 다중 탐험부는, 복수 개의 서로 다른 입력값을 동시에 입력받고 이로부터 복수 개의 후보 탐험 경로를 생성하며,
상기 베이스라인 계산부는, 상기 서로 다른 입력값 각각에 대한 복수 개의 서로 다른 베이스라인을 계산하는, 강화학습 모델의 학습 장치.
- 하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
조합 최적화 문제의 입력값으로부터 복수 개의 시작점을 결정하는 단계;
강화학습 모델을 이용하여 상기 복수 개의 시작점 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 탐험 경로를 생성하는 단계;
상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 탐험 경로별 평가값을 계산하는 단계;
상기 탐험 경로별 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 단계;
상기 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 탐험 경로별 이득(advantage)을 계산하는 단계; 및
상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 단계를 포함하는 강화학습 모델의 학습 방법.
- 하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
조합 최적화 문제의 입력값으로부터 가능한 모든 시작점 후보에 대하여, 강화학습 모델을 이용하여 상기 모든 시작점 후보 각각에 대한 탐험(exploration)을 수행함으로써 복수 개의 후보 탐험 경로를 생성하는 단계;
상기 조합 최적화 문제의 평가 함수를 이용하여 상기 복수 개의 후보 탐험 경로별 평가값을 계산하는 단계;
상기 복수 개의 후보 탐험 경로별 평가값을 이용하여 상기 입력값에 대한 복수 개의 시작점을 결정하는 단계;
상기 복수 개의 시작점 각각에 대응되는 복수 개의 탐험 경로의 평가값으로부터 상기 입력값에 대한 베이스라인(baseline)을 계산하는 단계;
상기 복수 개의 탐험 경로별 평가값 및 상기 베이스라인을 이용하여 상기 복수 개의 탐험 경로별 이득(advantage)을 계산하는 단계; 및
상기 복수 개의 탐험 경로 및 상기 탐험 경로별 이득을 이용하여 상기 강화학습 모델의 파라미터를 갱신하는 단계를 포함하는, 강화학습 모델의 학습 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200066379A KR20210149393A (ko) | 2020-06-02 | 2020-06-02 | 조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 |
US17/077,204 US20210374604A1 (en) | 2020-06-02 | 2020-10-22 | Apparatus and method for training reinforcement learning model for use in combinatorial optimization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200066379A KR20210149393A (ko) | 2020-06-02 | 2020-06-02 | 조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210149393A true KR20210149393A (ko) | 2021-12-09 |
Family
ID=78705057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200066379A KR20210149393A (ko) | 2020-06-02 | 2020-06-02 | 조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210374604A1 (ko) |
KR (1) | KR20210149393A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240036199A (ko) | 2022-09-13 | 2024-03-20 | 주식회사 케이티 | 조합최적화를 위한 탐색기술의 평가장치 및 평가방법 |
CN118607742A (zh) * | 2024-07-31 | 2024-09-06 | 中国人民解放军国防科技大学 | 基于跨尺度深度强化学习的旅行商问题求解方法与装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017218699A1 (en) * | 2016-06-17 | 2017-12-21 | Graham Leslie Fyffe | System and methods for intrinsic reward reinforcement learning |
-
2020
- 2020-06-02 KR KR1020200066379A patent/KR20210149393A/ko unknown
- 2020-10-22 US US17/077,204 patent/US20210374604A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240036199A (ko) | 2022-09-13 | 2024-03-20 | 주식회사 케이티 | 조합최적화를 위한 탐색기술의 평가장치 및 평가방법 |
CN118607742A (zh) * | 2024-07-31 | 2024-09-06 | 中国人民解放军国防科技大学 | 基于跨尺度深度强化学习的旅行商问题求解方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210374604A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11138471B2 (en) | Augmentation of audiographic images for improved machine learning | |
KR20210149393A (ko) | 조합 최적화를 위한 강화학습 모델의 학습 장치 및 방법 | |
KR102158683B1 (ko) | 외부 메모리로 신경망들 증강 | |
CN109690576A (zh) | 在多个机器学习任务上训练机器学习模型 | |
WO2020190743A1 (en) | Phase estimation with randomized hamiltonians | |
CN109313720A (zh) | 具有稀疏访问的外部存储器的增强神经网络 | |
CN114897173B (zh) | 基于变分量子线路确定PageRank的方法及装置 | |
Skolik et al. | Robustness of quantum reinforcement learning under hardware errors | |
CN114707655B (zh) | 一种量子线路转换方法、系统、存储介质和电子设备 | |
US20240331303A1 (en) | Strand Simulation in Multiple Levels | |
JP2022535013A (ja) | コンパイラの精度選定によるシェーダプログラムの加速化 | |
WO2020159692A1 (en) | Estimating latent reward functions from experiences | |
KR20230012790A (ko) | 함수 최적화 방법 및 장치 | |
JP2022523207A (ja) | ピラミッドレイヤのアーキテクチャを生成するためのシステムおよび方法 | |
KR102583943B1 (ko) | 태스크 간의 상관관계 분석 알고리즘을 이용하여 연속학습을 수행하는 신경망 장치 및 신경망 학습 방법 | |
Fink et al. | Hidden markov models | |
JP7127686B2 (ja) | 仮説推論装置、仮説推論方法、及びプログラム | |
JP6114679B2 (ja) | 制御方策決定装置、制御方策決定方法、制御方策決定プログラム、及び制御システム | |
WO2020054402A1 (ja) | ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法 | |
KR102613844B1 (ko) | 인공지능 모델 설계 자동화 장치 및 방법 | |
JP2021124974A (ja) | 演算装置、演算方法、プログラム及びテーブル生成装置 | |
Hu | Dynamic programming | |
JP7525126B2 (ja) | コンパイラで生成された量子化モデルを修正して正確度を修復する方法、コンピュータプログラム、およびコンピュータ装置 | |
KR20230050664A (ko) | 심층신경망의 선형변환 파라미터를 이용한 가지치기 방법 및 장치 | |
KR102724395B1 (ko) | 매개변수 집합 최적화 장치 및 방법 |