KR20230079804A - 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법 - Google Patents

상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법 Download PDF

Info

Publication number
KR20230079804A
KR20230079804A KR1020210166946A KR20210166946A KR20230079804A KR 20230079804 A KR20230079804 A KR 20230079804A KR 1020210166946 A KR1020210166946 A KR 1020210166946A KR 20210166946 A KR20210166946 A KR 20210166946A KR 20230079804 A KR20230079804 A KR 20230079804A
Authority
KR
South Korea
Prior art keywords
state
electronic device
skill
goal
action
Prior art date
Application number
KR1020210166946A
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 KR1020210166946A priority Critical patent/KR20230079804A/ko
Priority to US17/989,320 priority patent/US20230169336A1/en
Publication of KR20230079804A publication Critical patent/KR20230079804A/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/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Manipulator (AREA)

Abstract

일 실시예에 따른 전자 장치는, 전자 장치와 상호작용가능한 환경에 따른 전자 장치의 상태(state)를 관측하고, 관측된 상태에 기초하여 스킬을 결정하고, 결정된 스킬 및 관측된 상태에 기초하여 목표를 결정하며, 상태 공간 내에서 결정된 목표를 향하는 방향으로 전자 장치의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을 상태 및 결정된 목표에 기초하여 결정하며, 결정된 행동에 따라 전자 장치의 동작을 제어할 수 있다.

Description

상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법{DEVICE BASED ON REINFORCEMENT LEARNING TO LINEARIZE STATE TRANSITION AND METHOD THEREOF}
아래의 개시는 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치에 관한 것이다.
인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구 중 하나로, 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 인공 뉴럴 네트워크(artificial neural network)에 대한 연구가 있다. 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위해, 인공 뉴럴 네트워크는 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여 인공 뉴럴 네트워크는 입력 패턴과 출력 패턴들 간의 사상(mapping)을 생성해낼 수 있고 학습에 이용되지 않았던 입력 패턴에 대하여도 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가지고 있다. 뉴럴 네트워크는 강화학습에 의해 트레이닝될 수도 잇다.
일 실시예에 따른 전자 장치는, 상기 전자 장치와 상호작용가능한(interactable) 환경에 따른 상기 전자 장치의 상태(state)를 관측하는 상태 관측기(state observer); 상기 관측된 상태에 기초하여 스킬을 결정하고, 상기 결정된 스킬 및 상기 관측된 상태에 기초하여 목표를 결정하며, 상태 공간 내에서 상기 결정된 목표를 향하는 방향으로 전자 장치의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을 상기 상태 및 상기 결정된 목표에 기초하여 결정하는 프로세서; 및 상기 결정된 행동에 따라 상기 전자 장치의 동작을 제어하는 제어기를 포함할 수 있다.
일 실시예에 따르면, 전자 장치에 의해 실행되는 방법은, 상기 전자 장치와 상호작용가능한(interactable) 환경에 따른 상기 전자 장치의 상태(state)를 관측하는 단계; 상기 관측된 상태에 기초하여 스킬을 결정하는 단계; 상기 결정된 스킬 및 상기 관측된 상태에 기초하여 목표를 결정하는 단계; 상태 공간 내에서 상기 결정된 목표를 향하는 방향으로 전자 장치의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을 상기 상태 및 상기 결정된 목표에 기초하여 결정하는 단계; 및 상기 결정된 행동에 따라 상기 전자 장치의 동작을 제어하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 뉴럴 네트워크를 도시한다.
도 2는 일 실시예에 따른 전자 장치에서 수행되는 강화 학습을 도시한다.
도 3은 일 실시예에 따른 행동 결정 모델에 의해 결정된 행동에 따른 선형화된 상태 전이를 도시한다.
도 4 및 도 5는 일 실시예에 따른 스킬 결정 모델의 트레이닝을 설명한다.
도 6 및 도 7은 일 실시예에 따른 목표 결정 모델의 트레이닝을 설명한다.
도 8 및 도 9는 일 실시예에 따른 행동 결정 모델의 트레이닝을 설명한다.
도 10은 일 실시예에 따른 행동 결정 모델에 의한 상태 공간 탐색 능력을 도시한다.
도 11은 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 뉴럴 네트워크를 도시한다.
일 실시예에 따른 전자 장치는 하나 이상의 기계 학습 모델을 이용하여, 관측된 상태에 대한 행동을 결정하고, 결정된 행동에 따른 동작을 수행할 수 있다. 각 모델은 예를 들어, 기계 학습 구조일 수 있고, 뉴럴 네트워크(100)를 포함할 수 있다.
뉴럴 네트워크(neural network)(100)는 딥 뉴럴 네트워크(DNN, deep neural network)의 예시에 해당할 수 있다. DNN은 완전 연결 네트워크(fully connected network), 딥 컨볼루셔널 네트워크(deep convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network) 등을 포함할 수 있다. 뉴럴 네트워크(100)는 딥 러닝에 기반하여 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 다양한 작업(예: 센싱된 주변 정보에 기초한 로봇 제어)을 수행할 수 있다. 기계 학습 기법으로 지도식(supervised) 또는 비지도식(unsupervised)(예: 강화학습(reinforcement learning)) 학습을 통해 입력 데이터 및 출력 데이터를 서로 매핑할 수 있다.
도 1을 참조하면, 뉴럴 네트워크(100)는 입력 레이어(110), 히든 레이어(120) 및 출력 레이어(130)를 포함한다. 입력 레이어(110), 히든 레이어(120) 및 출력 레이어(130)는 각각 복수의 인공 노드들을 포함한다.
도 1에는 설명의 편의를 위해 히든 레이어(120)가 3개의 레이어를 포함하는 것으로 도시되었나, 히든 레이어(120)는 다양한 수의 레이어들을 포함할 수 있다. 또한, 도 1에는 뉴럴 네트워크(100)는 입력 데이터를 수신하기 위한 별도의 입력 레이어를 포함하는 것으로 도시되었으나, 입력 데이터가 히든 레이어(120)에 직접 입력될 수 있다. 뉴럴 네트워크(100)에서 출력 레이어(130)를 제외한 레이어들의 인공 노드들은 출력 신호를 전송하기 위한 링크들을 통해 다음 레이어의 인공 노드들과 연결될 수 있다. 링크들의 수는 다음 레이어에 포함된 인공 노드들의 수에 대응할 수 있다.
히든 레이어(120)에 포함된 각각의 인공 노드에는 이전 레이어에 포함된 인공 노드들의 가중된 입력들(weighted inputs)에 관한 활성 함수(activation function)의 출력이 입력될 수 있다. 가중된 입력은 이전 레이어에 포함된 인공 노드들의 입력에 가중치(weight)가 곱해진 것이다. 가중치는 뉴럴 네트워크(100)의 파라미터로 지칭될 수 있다. 활성 함수는 시그모이드(sigmoid), 하이퍼볼릭 탄젠트(hyperbolic tangent; tanh) 및 렐루(rectified linear unit; ReLU)를 포함할 수 있고, 활성 함수에 의해 뉴럴 네트워크(100)에 비선형성이 형성될 수 있다. 출력 레이어(130)에 포함된 각각의 인공 노드에는 이전 레이어에 포함된 인공 노드들의 가중된 입력들이 입력될 수 있다.
뉴럴 네트워크(100)의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크(100)가 적절한 트레이닝 과정을 통해 충분히 많은 트레이닝 데이터를 학습하면, 최적의 인식 성능을 달성할 수 있다.
위에서는 기계 학습 모델의 예시로서, 뉴럴 네트워크(100)를 설명하였으나, 기계 학습 모델을 뉴럴 네트워크(100)로 한정하는 것은 아니고, 다양한 구조로 구현될 수도 있다. 참고로, 전자 장치는 스킬 결정 모델(skill determining model), 목표 결정 모델(goal determining model), 행동 결정 모델(action determining model, 목표 샘플링 모델(goal sampling model), 및 궤적 인코더(trajectory encoder)를 포함할 수 있으며, 각 모델은 기계 학습에 기초하여 정책이 구현된 모델로서, 도 2 및 도 7에서 후술한다.
전술한 기계 학습 모델은 예시적으로 강화학습을 통해 트레이닝될 수 있다. 강화학습에 기초한 기계 학습 모델은 외부로부터의 주어지는 보상(reward)을 최대화하도록 학습될 수 있다. 강화 학습을 위한 보상 함수는 직접 및/또는 수동으로(manually) 정의될 수도 있으나, 이로 한정하는 것은 아니다. 예를 들어, 강화학습 에이전트는 인간의 감독 없이도 유용한 스킬(skill)들을 기계 학습 모델에 미리 트레이닝시킬 수 있다. 강화학습 에이전트는 향후 주어진 작업(task)을 학습된 스킬들의 조합을 통해 해석하고, 해당 작업을 위한 파라미터를 빠르게 학습할 수 있다. 전술한 스킬을 이용한 강화 학습을 비지도적 스킬 탐색(unsupervised skill discovery)이라고 나타낼 수 있다. 참고로, 강화학습 에이전트는 전자 장치에 의해 실행될 수 있다. 본 명세서에서는 설명의 편의를 위해 환경에 따른 강화학습 에이전트의 상태를 전자 장치의 상태인 것으로 설명하지만, 이로 한정하는 것은 아니다. 강화학습 에이전트를 실행하는 모듈(예: 상태 관측기 및 제어기를 포함하는 모듈)이 전자 장치와 분리된 별개 장치로 구현되는 경우, 에이전트의 상태는 전술한 모듈에 의해 관측된 상태일 수 있다.
스킬은 강화학습 분야에서 에이전트(예: 전자 장치)에게 주어지는 상태들에 대해 주어진 기간에서 에이전트의 행동을 선택하는 패턴(pattern), 경향(tendency), 정책(policy) 및/또는 전략(strategy)을 나타낼 수 있다. 스킬은 옵션(option)이라고도 나타낼 수 있다. 예시적으로, 스킬은 스킬 잠재 공간(skill latent space) 내 스킬 잠재 변수(skill latent variable) z로 정의될 수 있고, 스킬 잠재 변수 z는 스킬 잠재 벡터(skill latent vector)의 형태(예: 스킬 벡터)로 표현될 수 있다. 스킬 잠재 변수 z는 랜덤 변수(random variable)일 수 있다. 스킬 잠재 공간은 에이전트에 의해 취해질 수 있는 스킬들이 표현되는 공간으로서, 스킬 잠재 벡터는 스킬 잠재 공간 내 한 스킬을 지시할 수 있고, 스킬 잠재 공간 내에서 스킬의 지점을 나타내는 좌표로 해석될 수도 있다.
참고로, 에이전트는 같은 상황에 대해서도 다른 스킬들이 적용되면 다른 행동들을 결정할 수 있다. 예를 들어, 전자 장치(예: 에이전트를 실행하는 장치)는 관측된 상태 벡터(state vector)에 대해 제1 스킬 벡터를 도출하는 경우, 전자 장치는 제1 스킬 벡터가 주어지는 동안 상태 벡터에 대해 제1 행동을 수행할 수 있다. 다른 예를 들어, 전자 장치는 동일한 상태 벡터에 대해 제2 스킬 벡터가 주어지는 경우, 해당 상태 벡터에 대해 전술한 제1 행동과 다른 제2 행동을 수행할 수도 있다. 전자 장치는, 스킬을 결정하는 경우, 복수의 타임 스텝들(time steps) 동안 같은 스킬을 각 타임 스텝의 상태들에 적용할 수 있다. 전자 장치는 복수의 타임 스텝들이 경과할 때마다 새로운 스킬을 결정함으로써, 관측된 상태에 적용할 스킬을 교체 및/또는 변경할 수 있다. 다만, 이로 한정하는 것은 아니고, 전자 장치는 한번 스킬을 결정하면 에피소드(예: 전자 장치의 구동 후 종료까지의 일련의 동작들) 동안 결정된 스킬을 유지할 수도 있다.
일 실시예에 따르면 전자 장치는 스킬 결정 모델에 기초하여 관측된 상태로부터 해당 상태에 적용할 스킬을 결정할 수 있다. 전자 장치는 스킬 잠재 변수의 해석 가능성과 같은 유용한 특성 및 행동 경로들의 유용성을 고려하여 복잡한 역학을 가지는 환경에서도 효율적인 스킬을 학습할 수 있다.
도 2는 일 실시예에 따른 전자 장치에서 수행되는 강화 학습을 도시한다.
일 실시예에 따른 전자 장치(200)는 복잡한 환경에서 강화학습 에이전트 제어 및 학습을 수행할 수 있다. 예를 들어, 전자 장치(200)는 상호작용한 환경에 대해 적용될 수 있는 유용하고 해석가능한 스킬들을 비지도적으로 각 모델에 학습시킬 수 있다.
환경은 전자 장치(200)와 상호작용가능한 모든 환경을 포함하며, 예를 들어, MDP(Markov decision process)에 따른 튜플(tuple) 중 상태 공간, 액션 공간, 및 액션에 따른 상태 전이 확률 분포로 정의될 수 있다. 환경은, 예시적으로, 전자 장치(200)의 물리적 환경(예: 전자 장치(200)가 위치된 지점 주변 영역) 및 가상적 환경(예: 전자 장치(200)에 의해 생성되거나 시뮬레이트되는 가상 현실 환경)을 포함할 수 있다. 물리적 환경은 전자 장치(200)와 물리적으로 상호작용하는 환경을 나타낼 수 있다. 가상적 환경은 전자 장치(200)와 비물리적으로(예: 가상적으로) 상호작용하는 환경으로서, 전자 장치(200) 내부 또는 외부 장치에서의 데이터 변경이 발생하는 환경을 나타낼 수 있다.
일 실시예에 따른 전자 장치(200)는 상태 관측기(210), 스킬 결정 모델(220), 목표 결정 모델(230), 행동 결정 모델(240), 및 제어기(250)를 포함할 수 있다. 스킬 결정 모델(220), 목표 결정 모델(230), 및 행동 결정 모델(240)은 후술하는 메모리에 저장될 수 있다.
상태 관측기(210)는, 전자 장치(200)와 상호작용가능한 환경(environment)을 나타내는 상태 공간(state space) 내에서, 환경에 따른 전자 장치(200)의 상태(state)를 관측할 수 있다. 상태 관측기(210)는 전자 장치에 대한 물리적 환경의 변화에 대한 센싱 및 가상적 환경과 관련된 데이터 변경의 수집 중 적어도 하나를 수행할 수 있다. 예를 들어, 전자 장치(200)는, 전자 장치(200)의 동작(operation), 기능(function), 및 행동(action) 중 하나 또는 둘 이상의 조합을 통해, 환경과 상호작용할 수 있다. 전자 장치(200)의 상태는 상태 벡터로서 표현될 수 있다. 상태 벡터는 상태 공간 내 전자 장치(200)의 상태에 대응하는 지점을 나타내는 좌표로 해석될 수도 있다. 전자 장치(200)의 상태는 전자 장치(200)와 환경 간의 상호작용에 의해 변화할 수 있다. 예를 들어, 전자 장치(200)의 동작(operation), 기능(function), 및 행동(action) 중 하나 또는 둘 이상의 조합이 환경에 작용함으로써, 전자 장치(200)의 상태가 변화할 수 있다.
예시적으로, 전자 장치(200)가 로봇 청소기인 경우, 전자 장치(200)의 물리적 환경은 로봇 청소기가 잠재적으로 방문할 수 있는 물리적 영역들(예: 집의 각 방)을 포함할 수 있고, 전자 장치(200)의 상태는 집 내 위치일 수 있다. 전자 장치(200)가 음성 어시스턴트를 실행하는 경우, 전자 장치(200)의 물리적 환경은 전자 장치(200)의 센서(예: 조도 센서, 카메라 센서, 마이크로폰, 및 터치 센서)에 의해 센싱 가능한 정보(예: 조도, 주변 영상, 주변 소리, 및 전자 장치(200)에 대한 터치 여부)를 포함할 수 있다. 전자 장치(200)가 게임 어플리케이션을 실행하는 경우, 전자 장치(200)의 가상적 환경은 게임 어플리케이션 내에서 아바타의 게임 내 세계(in-game world)에서 아바타와 상호작용하는 객체, 다른 아바타, 및 NPC(non-playable character) 객체를 포함할 수 있다. 다만, 전자 장치(200)의 환경, 상태, 및 상태 벡터를 전술한 바로 한정하는 것은 아니고, 전자 장치(200)의 용도 및 목적에 따라 다양하게 정의될 수 있다.
상태 관측기(210)는 예를 들어 센서, 로우레벨(low level) 소프트웨어, 및 시뮬레이터를 포함할 수 있다. 센서는 환경과 관련된 다양한 정보(예: 전자기파, 음파, 전기 신호, 및 열)를 센싱할 수 있다. 센서는 예를 들어, 카메라 센서, 소리 센서, 전기 센서, 및 열 센서를 포함할 수 있다.저레벨 소프트웨어는 센서로부터 판독된 원시 데이터(raw data)를 전처리하는 소프트웨어를 나타낼 수 있다.
스킬 결정 모델(220)은 관측된 상태 s로부터 전자 장치(200)에 대해 관측된 상태 s에 대해 적용될 스킬의 스킬 잠재 변수 z를 나타내는 데이터를 출력할 수 있다. 전자 장치는 관측된 상태 s를 나타내는 상태 벡터로부터, 기계 학습(machine learning)에 기초한 스킬 결정 모델(220)을 이용하여, 관측된 상태 s에 적용될 스킬 z을 나타내는 스킬 벡터를 결정할 수 있다. 예를 들어, 전자 장치(200)는 관측된 상태 s를 나타내는 상태 벡터로부터 스킬 결정 모델(220)에 기초하여 관측된 상태 s에 적용될 스킬 벡터의 스킬 잠재 공간 내 지점(예: 좌표)에 대한 확률 분포(예: 스킬 확률 분포)를 출력할 수 있다. 예를 들어, 스킬 확률 분포는 스킬 잠재 공간 내에서 상태 s에 대해 적용될 스킬 잠재 변수 z가 위치될 가능성이 있는 지점들의 평균(mean) 및 분산(variance)으로 표현될 수 있다. 스킬 확률 분포는 가우시안 분포를 따를 수 있다. 예시적으로, 스킬 잠재 공간이 d차원의 공간인 경우, 스킬 벡터는 d차원 벡터로 표현될 수 있다. 스킬 결정 모델(220)의 출력은, 적용된 스킬 잠재 변수 z가 위치될 가능성이 있는 각 차원 별로 평균 좌표 및 분산을 포함할 수 있다. 다시 말해, 스킬 결정 모델(220)의 출력은 2d차원의 데이터일 수 있다. 여기서, d는 1이상의 정수일 수 있다. 예를 들어, 전자 장치(200)는 스킬 결정 모델(220)의 출력에서 평균이 지시하는 지점을 나타내는 스킬 벡터를 스킬 잠재 변수 z로서 결정할 수 있다. 다른 예를 들어, 전자 장치(200)는 전술한 평균 및 분산에 기초한 확률 시행을 수행함으로써 결정된 스킬 잠재 공간 내 좌표에 대응하는 스킬 벡터를 스킬 잠재 변수 z로서 결정할 수도 있다.
참고로, 스킬 잠재 변수 뿐만 아니라, 상태 변수, 목표 변수 및 행동 변수도 전술한 바와 같이 랜덤 변수로서 해당하는 잠재 공간의 각 차원 별 평균 좌표 및 분산을 포함할 수 있다.
스킬 결정 모델(220)은 스킬 결정 정책
Figure pat00001
으로 표현될 수도 있다.
Figure pat00002
는 정책 함수로서, 주어진 상태 s에서 스킬 잠재 변수 z의 확률 분포를 출력할 수 있다. 전술한 바와 같이 스킬 결정 정책
Figure pat00003
의 출력은 예시적으로 d차원 스킬 잠재 공간의 차원 별 평균 지점 및 분산을 포함할 수 있다. 전자 장치(200)는
Figure pat00004
의 값이 최대가 되는 스킬 벡터(예: 전술한 스킬 결정 모델(220)의 출력에서 평균이 지시하는 지점을 나타내는 스킬 벡터) 또는
Figure pat00005
를 확률 분포로 샘플링된 스킬 벡터를 주어진 상태 s에 대해 결정할 수 있다.
목표 결정 모델(230)은 관측된 상태 s 및 결정된 스킬에 대한 목표(goal) g를 나타내는 데이터를 출력할 수 있다. 전자 장치는 관측된 상태 s를 나타내는 상태 벡터 및 결정된 스킬 z을 나타내는 스킬 벡터로부터, 기계 학습에 기초한 목표 결정 모델(230)을 이용하여, 목표 g를 나타내는 목표 상태 벡터를 결정할 수 있다. 예를 들어, 전자 장치(200)는 관측된 상태 s를 나타내는 상태 벡터 및 스킬을 나타내는 스킬 벡터로부터 목표 결정 모델(230)에 기초하여 목표 벡터(goal vector)의 목표 잠재 공간(goal latent space) 내 지점(예: 좌표)을 나타내는 확률 분포(예: 목표 확률 분포)를 출력할 수 있다. 목표 확률 분포는 목표 잠재 공간 내에서 상태 s 및 스킬에 대한 목표 g가 위치될 가능성이 있는 지점들의 평균 및 분산으로 표현될 수 있다. 목표 확률 분포는 가우시안 분포를 따를 수 있다.
목표 결정 모델(230)은 목표 결정 정책
Figure pat00006
으로 표현될 수도 있다.
Figure pat00007
는 정책 함수로서, 주어진 상태 s 및 스킬 잠재 변수 z에서 목표 g의 확률 분포를 출력할 수 있다.
Figure pat00008
의 출력은 예시적으로 다중 차원의 목표 잠재 공간의 차원 별 평균 지점 및 분산을 포함할 수 있다. 전자 장치(200)는
Figure pat00009
의 값이 최대가 되는 목표 벡터(예: 전술한 목표 결정 모델(230)의 출력에서 평균이 지시하는 지점을 나타내는 목표 벡터) 또는
Figure pat00010
를 확률 분포로 하는 확률 시행을 통해 샘플링된 목표 벡터를 주어진 상태 s 및 스킬 잠재 변수 z에 대해 결정할 수 있다.
행동 결정 모델(240)은 관측된 상태 s 및 결정된 목표 g에 대한 행동(action) a를 나타내는 데이터를 출력할 수 있다. 예를 들어, 전자 장치(200)는 관측된 상태 s를 나타내는 상태 벡터 및 결정된 목표 g를 나타내는 목표 벡터로부터 행동 결정 모델(240)에 기초하여 행동 벡터의 행동 잠재 공간(action latent space) 내 지점(예: 좌표)를 나타내는 확률 분포(예: 행동 확률 분포)를 출력할 수 있다. 행동 확률 분포는 행동 잠재 공간 내에서 상태 s 및 목표 g에 대한 행동 a가 위치될 가능성이 있는 지점들의 평균 및 분산으로 표현될 수 있다. 행동 확률 분포는 예시적으로 가우시안 분포를 따를 수 있다.
행동 결정 모델(240)은 선형화 정책
Figure pat00011
으로 표현될 수도 있다.
Figure pat00012
는 정책 함수로서, 주어진 상태 st 및 목표 g에서 행동 at의 확률 분포를 출력할 수 있다. st는 t번째 타임 스텝에서의 상태, at는 t번째 타임 스텝에서의 행동을 나타낼 수 있다. 행동 결정 모델(240)은 하기 도 3에서 보다 자세히 설명한다.
제어기(250)는 전술한 바에 따라 산출된 행동 벡터에 의해 지시되는 행동을 수행 및/또는 실행할 수 있다. 예를 들어, 제어기(250)는 행동 결정 모델(240)에 기초하여 결정된 행동에 대응하는 동작 및 기능을 수행할 수 있다. 제어기(250)는 전술한 행동 at을 실행함으로써 환경의 변화를 유발할 수 있다. 제어기(250)는 예시적으로 구동부(actuator)(예: 모터), 로우레벨 소프트웨어, 및 시뮬레이터를 포함할 수 있다. 후술하겠으나, 전자 장치의 프로세서는 제어기(250)를 이용하여 목표 결정 모델(230)에 기초하여 결정된 한 목표에 대해 여러 번 독립적으로 전자 장치의 상태를 전이시킬 수 있다.
참고로, 본 명세서에서 스텝 길이는 복수의 타임 스텝(time step)들로 구성될 수 있다. 타임 스텝은 단위 시간 길이일 수 있다. 전자 장치(200)는 타임 스텝마다 전술한 전술한 모델들 중 적어도 한 모델의 호출 및/또는 연산을 수행할 수 있다.
일 실시예에 따르면 전자 장치(200)는 스킬 결정 모델(220)에 기초하여 결정된 스킬 벡터를 목표 결정 모델(230)로 전달할 수 있다. 전자 장치(200)는 스킬 결정 모델(220)에 기초하여 결정된 스킬을 미리 정해진 제1 횟수 동안 유지할 수 있다. 다시 말해, 전자 장치(200)는 미리 정해진 제1 횟수 동안 전술한 바에 따라 스킬 결정 모델(220)에 기초하여 결정된 스킬 벡터를 목표 결정 모델(230)로 전달할 수 있다. 미리 정해진 제1 횟수는 스킬 유지 길이
Figure pat00013
로 표현될 수도 있다. 다시 말해, 전자 장치(200)는 미리 결정된 제1 횟수에 대응하는 호출 횟수만큼 목표 결정 모델(230)을 호출할 수 있다. 스킬 유지 길이
Figure pat00014
은 고정된 값으로 설정될 수 있다. 전자 장치(200)는 스킬 결정 모델(220)에 기초한 스킬 결정 이후 스킬 유지 길이
Figure pat00015
동안 목표 결정 모델(230)에 기초한 목표 결정을 수행하고, 다시 스킬 결정 모델(220)을 호출할 수도 있다.
또한, 전자 장치(200)는 목표 결정 모델(230)에 기초하여 결정된 목표 벡터를 행동 결정 모델(240)로 전달할 수 있다. 전자 장치(200)는 목표 결정 모델(230)에 기초하여 결정된 목표를 미리 결정된 제2 횟수 동안 유지할 수 있다. 다시 말해, 전자 장치(200)는 미리 정해진 제2 횟수 동안 목표 결정 모델(230)에 기초하여 결정된 목표 벡터를 행동 결정 모델(240)로 전달할 수 있다. 미리 정해진 제2 횟수는 목표 유지 길이
Figure pat00016
로 표현될 수도 있다. 목표 유지 길이
Figure pat00017
은 예시적으로
Figure pat00018
개의 단위 타입 스텝들을 포함할 수 있다. 목표 유지 길이
Figure pat00019
은 현재 상태 st로부터 주어진 목표 g를 달성하기 위해 요구되는 행동의 개수에 따라 결정될 수 있다. 다시 말해, 전자 장치(200)는 미리 결정된 제2 횟수에 대응하는 호출 횟수만큼 행동 결정 모델(240)을 호출할 수 있다. 전자 장치(200)는 목표 유지 길이
Figure pat00020
동안 유지되는 목표에 대해 관측된 상태로부터 행동을 결정할 수 있다. 전자 장치(200)는 행동 결정 모델(240)에 기초한 행동 결정 및 결정된 행동을 통한 제어기(250)의 제어를 각 목표 g마다 목표 유지 길이
Figure pat00021
만큼 순차적으로 반복할 수 있다. 제어기(250)의 제어에 의해
Figure pat00022
회의 상태 전이가 발생할 수 있다. 따라서, 전자 장치(200)는
Figure pat00023
회의 상태 전이에 따라 상태 궤적
Figure pat00024
을 획득할 수 있다. 본 명세서에서 상태 궤적은 타임 스텝 별 상태 및 행동의 시계열적 조합(sequential combination)일 수 있고, 행동 궤적이라고도 나타낼 수 있다. 전자 장치(200)는 하나의 목표에 대해
Figure pat00025
회의 상태 전이가 완료되면 목표 결정 모델(230)을 이용하여 새로운 목표를 산출할 수 있다. 이 때, 전자 장치(200)는 목표 결정 모델(230)의 호출 횟수가
Figure pat00026
을 초과할 때마다 스킬 결정 모델(220)을 이용하여 새로운 스킬을 산출할 수 있다. 전자 장치(200)는 목표 결정 모델(230)의 호출 횟수가
Figure pat00027
을 초과하기 전까지는 같은 스킬(예: 이전 타임 스텝과 같은 스킬)을 목표 결정 모델(230)에 제공할 수 있다. 다시 말해, 전자 장치(200)는 스킬 유지 길이
Figure pat00028
이 경과하기 전까지 새로운 스킬의 산출을 스킵할 수 있다. 결과적으로 전자 장치(200)는
Figure pat00029
×
Figure pat00030
길이의 상태 궤적을 획득할 수 있다.
일 실시예에 따른 전자 장치(200)는 목표 결정 모델(230)을 이용하여 목표를 설정함으로써 추상화된 환경을 행동 결정 모델(240)을 통해 제어할 수 있다. 따라서, 환경이 복잡하더라도, 전자 장치(200)는 상태로부터 산출된 목표를 이용하여 행동을 결정하는 비교 실시예 대비 좋은 성능을 나타낼 수 있다.
참고로, 전자 장치(200)는 정보 병목 기반 스킬 탐색을 위해, 목표 샘플링 모델 및 궤적 인코더 (Trajectory Encoder)를 더 포함할 수 있으며, 하기 도 7에서 설명한다.
도 3은 일 실시예에 따른 행동 결정 모델에 의해 결정된 행동에 따른 선형화된 상태 전이를 도시한다.
일 실시예에 따르면 전자 장치는 상태 공간(320) 내에서 결정된 목표를 향하는 방향으로 전자 장치의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을, 상태 및 결정된 목표에 기초하여, 결정할 수 있다. 예를 들어, 전자 장치는 관측된 상태를 나타내는 상태 벡터 및 결정된 목표를 나타내는 목표 상태 벡터로부터, 기계 학습에 기초한 행동 결정 모델을 이용하여, 행동을 나타내는 행동 벡터를 결정할 수 있다. 전자 장치는 상태 및 목표로부터 행동 결정 모델에 기초하여 행동을 나타내는 데이터를 출력할 수 있다. 도 3에서는 설명의 편의를 위하여, 목표 잠재 공간(310) 및 상태 공간(320)이 2차원으로 도시되었으나, 이로 한정하는 것은 아니다.
행동 결정 모델은 선형화 정책
Figure pat00031
로 표현될 수도 있다. 여기서, at는 t번째 타임 스텝의 행동, st는 t번째 타임 스텝의 상태, gt는 t번째 타임 스텝에서 주어지는 목표를 나타낼 수 있다. 선형화 정책
Figure pat00032
은 상태 공간(320) 내에서 현재 상태 st로부터 목표 g 방향으로의 상태 전이를 최대화하도록 설계될 수 있다. 선형화 정책
Figure pat00033
의 출력은 예시적으로 다중 차원의 행동 잠재 공간의 차원 별 평균 지점 및 분산을 포함할 수 있다. 전자 장치는
Figure pat00034
의 값이 최대가 되는 행동 벡터(예: 행동 결정 모델의 출력에서 평균이 지시하는 지점을 나타내는 행동 벡터) 또는
Figure pat00035
에서 출력된 확률 분포를 이용한 확률 시행을 통해 결정된 행동 벡터를 결정할 수 있다. 선형화 정책
Figure pat00036
은 조건부 정책으로서, 각 변수는 상태 벡터
Figure pat00037
및 목표 상태 벡터
Figure pat00038
으로 정의될 수 있다. 예시적으로, 전술한 목표 결정 모델에 기초하여 결정된, 목표 잠재 공간(310) 내 목표 상태 벡터의 각 차원은 -1 이상 1이하의 값을 가질 수 있다. 다만, 목표 상태 벡터의 값 범위를 이로 한정하는 것은 아니다.
참고로, 행동 결정 모델은 나머지 모델과는 별개로 트레이닝될 수 있다. 예를 들어, 행동 결정 모델은 목표 결정 모델, 목표 샘플링 모델, 및 궤적 인코더의 트레이닝 전에 트레이닝될 수 있다. 선형화 정책은 l 스텝마다 새로 주어지는 목표 상태 벡터
Figure pat00039
에 대해 하기 도 8 및 도 9에서 설명된 보상을 획득할 수 있다. 전자 장치는 선형화 정책
Figure pat00040
이 구현된 행동 결정 모델을 하기 도 8 및 도 9에서 설명된 목적 함수를 이용하여 트레이닝시킴으로써, 상태 공간(320) 내에서 상태 st로부터 목표 gt 방향으로의 강화학습 에이전트의 상태 전이를 증가(예: 최대화)시킬 수 있다.
행동 결정 모델로 구현된 선형화 정책은, 에이전트의 상태 공간(320) 내 이동을 담당하는 것으로 해석될 수 있다. 전자 장치는, 상태 및/또는 스킬을 바로 행동 결정 모델로 전달하는 대신, 목표 결정 모델을 이용하여 결정된 목표를 행동 결정 모델로 전달함으로써 로우 레벨보다 추상화된 레벨에서 강화학습 에이전트를 제어할 수 있다. 따라서, 전자 장치는 복잡한 환경과의 낮은 수준의 직접적 상호작용으로부터 벗어날 수 있고, 보다 효율적으로 학습된 스킬을 이용할 수 있다.
도 4 및 도 5는 일 실시예에 따른 스킬 결정 모델의 트레이닝을 설명한다.
일 실시예에 따른 전자 장치는 스킬 결정 모델(520)을 오프라인으로 학습시킬 수 있다.
우선, 단계(410)에서 전자 장치는 스킬 결정 모델(520)을 초기화할 수 있다. 예를 들어, 전자 장치는 스킬 결정 모델(520)의 파라미터를 무작위 값으로 초기화할 수 있다. 전자 장치는 기 학습된 목표 결정 모델(530) 및 기 학습된 행동 결정 모델(540)을 로딩(loading)할 수 있다.
그리고, 단계(420)에서 전자 장치는 초기화된 스킬 결정 모델(520)을 이용하여 결정된 임시 스킬로부터 목표 결정 모델(530) 및 행동 결정 모델(540)에 기초하여 결정된 행동을 통해 상태 전이를 수행할 수 있다. 임시 스킬은 임시 스킬 결정 모델(520)로부터 출력된 데이터에 기초하여 결정된 스킬 벡터를 나타낼 수 있다. 임시 스킬 결정 모델(520)은 트레이닝이 미완료된 스킬 결정 모델(520)을 나타낼 수 있다. 전자 장치는 상태 관측기(510)에 의해 관측된 상태에 대해 스킬 결정 모델(520)을 이용하여 임시 스킬을 결정할 수 있다. 전자 장치는 임시 스킬 및 관측된 상태로부터 목표 결정 모델(530)에 기초하여 목표를 결정할 수 있다. 전자 장치는 목표 및 관측된 상태로부터 행동 결정 모델(540)에 기초하여 행동을 결정할 수 있다. 전자 장치는 결정된 행동으로 제어기(550)를 제어함으로써 전자 장치의 상태 전이를 발생시킬 수 있다. 전술한 예시에서 스킬 유지 길이
Figure pat00041
및 목표 유지 길이
Figure pat00042
인 경우,
Figure pat00043
×
Figure pat00044
번의 상태 전이가 발생할 수 있다.
이어서, 단계(430)에서 전자 장치는 제어기(550)에 의해 수행된 행동에 의한 상태 전이에 따른 보상을 계산할 수 있다. 예를 들어, 전자 장치는 환경으로부터 보상을 획득하는 경우 및 보상이 빈번하지 않은 경우, 알려진 탐험 방법(예: Episodic Curiosity (Savinov et al., 2018) 및 Curiosity Bottleneck (Kim et al., 2019))을 이용해 내부 보상 함수(590) 값을 계산할 수 있다.
단계(440)에서 전자 장치는 계산된 보상에 기초하여 스킬 결정 모델(520)의 파라미터를 업데이트할 수 있다. 예를 들어, 전자 장치는 정책 함수
Figure pat00045
를 구현한 스킬 결정 모델(520)의 파라미터를 정책 경사(policy gradient)의 하강 방법(예: REINFORCE, PPO (Schulman et al., 2017) 및 Soft Actor-Critic (Haarnoja et al., 2018))을 이용하여 업데이트할 수 있다.
전자 장치는 전술한 단계들(420 내지 440)을 스킬 결정 모델(520)의 파라미터가 수렴할 때까지 반복할 수 있다.
또한, 전자 장치는 단계(435)에서 재앙적 망각을 다루는 정규화항을 포함하는 목적 함수를 산출할 수도 있다. 신경망 기반 온라인 학습에서는 재앙적 망각(catastrophic forgetting)이 발생할 수 있다. 전자 장치는 전술한 보상에 기초한 목적 함수 및/또는 보상과 별개로, 파라미터의 재앙적 망각(catastrophic forgetting) 현상을 방지하기 위해, 정규화 항을 추가로 더 계산할 수 있다. 정규화 항은 기존 파라미터로부터의 거리를 나타내는 항으로서, EWC(elastic weight consolidation) (Kirkpatrick et. al., 2017), VCL(Variational Continual Learning) (Nguyen et. al., 2018), MOLe(meta-learning for online learning) (Nagabandi et. al., 2019) 등의 방법을 통해 산출될 수 있다. 전자 장치는 정규화 항의 값을 최소화하는 방향으로 경사 하강법을 통해 스킬 결정 모델(520)의 파라미터를 업데이트할 수 있다. 온라인 학습에서 전자 장치는 전술한 동작들(420, 430, 435, 및 440)을 추가적인 데이터 입력이 없을 때까지 반복할 수 있다.
일 실시예에 따른 전자 장치는 Ant와 HalfCheetah환경이 변형된 AntGoal, AntMultiGoals, CheetahGoal, 및 CheetahImitation환경에서 높은 성능을 나타낼 수 있다.
도 6 및 도 7은 일 실시예에 따른 목표 결정 모델의 트레이닝을 설명한다.
일 실시예에 따른 전자 장치(700)는 정보 병목(information bottle neck)을 통한 스킬 탐색(Skill Discovery with Information Bottleneck)에 기초하여 목표 결정 모델(730)을 트레이닝시킬 수 있다. 예를 들어, 전자 장치(700)는 전술한 목표 결정 모델(730)의 트레이닝을 위해 목표 샘플링 모델(732) 및 궤적 인코더(760)를 더 포함할 수 있다. 전자 장치(700)는 후술하는 수학식 1에 기초하여 스킬 결정 모델을 목표 샘플링 모델(732) 및 궤적 인코더(760)와 함께(jointly) 트레이닝시킬 수 있다.
전술한 바와 같이 목표 샘플링 모델(732)은
Figure pat00046
로 모델링될 수 있다. 다시 말해, 목표 샘플링 모델(732)은
Figure pat00047
로 모델링되는 목표 결정 모델(730)과 비슷한 표현력을 나타낼 수 있다. 전술한 목표 샘플링(goal sampling)을 위해 컨텍스트 변수(context variable)로서 u가 도입될 수 있다. 컨텍스트 변수 u는 스킬 잠재 공간 내에서 추출된 샘플 스킬을 지시하는 스킬 벡터(예: 샘플 스킬 벡터)일 수 있다.
예를 들어, 단계(610)에서 전자 장치(700)는 전자 장치(700)는 목표 샘플링 모델(732), 궤적 인코더(760), 및 목표 결정 모델(730)을 초기화할 수 있다. 예를 들어, 전자 장치(700)는 목표 샘플링 모델(732)의 파라미터
Figure pat00048
, 궤적 인코더(760)의 파라미터
Figure pat00049
, 및 목표 결정 모델(730)의 파라미터
Figure pat00050
를 무작위 값으로 초기화할 수 있다. 전자 장치(700)는 기 학습된 행동 결정 모델(740)을 로딩할 수 있다.
그리고 단계(620)에서 전자 장치(700)는 무작위로 추출된 샘플 목표들에 대해 행동 결정 모델(740) 및 제어기(750)에 기초하여 목표 상태 궤적(751)을 획득할 수 있다. 전자 장치(700)는 무작위로 추출된 샘플 스킬들(731)로부터 목표 샘플링 모델(732)을 샘플 목표들을 추출할 수 있다. 전자 장치(700)는 추출된 샘플 목표들에 대해 행동 결정 모델(740) 및 제어기(750)에 기초하여 목표 상태 궤적(751)을 획득할 수 있다. 예를 들어, 전자 장치(700)는 스킬 잠재 변수
Figure pat00051
와 같은 평균(mean) 및 분산(variance)을 가지는 정규분포
Figure pat00052
로부터 샘플 스킬 u를 샘플링할 수 있다. 예를 들어, 전자 장치(700)는 상태 관측기(710)에 의해 관측된 상태별 무작위 샘플 스킬 u에 대한 샘플 목표 gt를 추출할 수 있다. 전자 장치(700)는 목표 샘플링 모델(732) 및 행동 결정 모델(740)을 이용하여, 길이 T의 목표 상태 궤적(751)
Figure pat00053
을 획득할 수 있다. 목표 상태 궤적(751)은, 타임 스텝 별 행동 및 상태의 시계열적 조합을 나타내는 궤적일 수 있다. 참고로, 행동 결정 모델(740)을 이용하여 결정된 행동에 의한 상태 전이는 총
Figure pat00054
회 발생하지만, 전술한 목표 상태 궤적(751)에서는 T개의 타임 스텝들에서만 기록될 수 있다.
전자 장치(700)는 전술한 단계(620)를 n회 반복함으로써, 총 n개의 목표 상태 궤적들(752)을 획득할 수 있다. 각 목표 상태 궤적(751)의 길이는 T이고, 각 궤적은 예시적으로
Figure pat00055
으로 표현될 수 있다. 전자 장치(700)는 n개의 무작위 샘플 스킬 u를 샘플링하고, 샘플링된 각 샘플 스킬 u마다 전술한 목표 상태 궤적(751)을 획득할 수 있다.
이어서 단계(630)에서 전자 장치(700)는 목표 상태 궤적(751) 별로 목적 함수를 계산할 수 있다. 예를 들어, 전자 장치(700)는 무작위로 샘플링된 스킬 u 별로 추출된 샘플 목표 gt에 대해 전술한 정보 병목 항(예: 하기 수학식 2)을 목적 함수로서 계산할 수 있다. 예를 들어, 하이퍼파라메터 β를 갖는 하기 수학식 1에 따른 정보 병목 값이 고려될 수 있다.
[수학식 1]
Figure pat00056
전술한 수학식 1에서 I()는 두 랜덤 변수들 간의 상호 정보(mutual information, MI)을 나타내는 함수일 수 있다. 상호 정보는 확률 이론 및 정보 이론에서 두 랜덤 변수들 간의 상호 의존성(mutual dependence)의 척도(measure)를 나타낼 수 있다. Et[]는 에피소드 내 타입 스텝 t에 대한 기대값을 나타내는 함수일 수 있다. Z는 스킬을 나타내는 랜덤 변수, Gt는 목표를 나타내는 확률 변수, 및 St는 상태를 나타내는 랜덤 변수를 나타낼 수 있다. S0:T는 상태 궤적(751)을 나타낼 수 있고, 상태들만 포함할 수 있다. 전술한 수학식 1에서 첫번째 항은 목표에 관계된 정보량을 보존하기 위한 항이고, 두번째 항은 궤적에 관계된 정보량을 보존하기 위한 항으로서, 두 항들은 서로 트레이드 오프 관계에 있고, 이 트레이드 오프는 전술한 β에 의해 조절될 수 있다.
다만, 전술한 수학식 1에 따른 정보 병목 값의 정확한 계산은 불가능하므로, 후기 수학식 2에 따른 정보 병목의 하한(lower bound)이 정보 병목 보상(770)으로서 계산될 수 있다. 정보 병목의 하한이 최대화되면 수학식 1에 따른 정보 병목 값이 최대화되기 때문이다.
[수학식 2]
Figure pat00057
전술한 수학식 2에서 JP는 전술한 수학식 1의 첫번째 항에 대응하는 정보 병목의 예측 항 (Prediction Term)을 나타낼 수 있다. JC는 전술한 수학식 1의 두번째 항에 대응하는 정보 병목의 압축 항(Compression Term)을 나타낼 수 있다. DKL은 KL 다이버전스(Kullback-Leibler divergence, KLD)를 나타낼 수 있다.
Figure pat00058
는 궤적
Figure pat00059
의 분포
Figure pat00060
를 나타낼 수 있다. L은 근사에 사용하기 위해 u의 프라이어(prior) 분포 p(u)에서 샘플링되는 샘플 ui의 개수를 나타내는 상수로서, 사람에 의해 지정될 수 있으며, 예를 들면 L=100일 수 있다. r(Z)는 궤적 인코더가 출력으로 내놓는 z의 비조건적인(예를 들어, 조건적 분포가 아닌) 분포 pφ(Z)를 근사하는 분포일 수 있다.
예측항 JP에 기초한 파라미터 업데이트에 의해, 목표 결정 모델(730)은 스킬 잠재 변수 별로 다양한 목표를 출력하도록 트레이닝될 수 있다. 전술한 압축항 JC에 기초한 파라미터 업데이트에 의해, 궤적 인코더(760)는 궤적들로부터 목표를 유추해내는 데 유용한 정보를 포함하는 스킬 잠재 변수를 추출하도록 트레이닝될 수 있다.
일 실시예에 따른 전자 장치(700)는 전술한 수학식 2에 따른 정보 병목 보상(770)을 각 목표 상태 궤적(751) 별로 계산하고, 모든 궤적에 대해 산출된 정보 병목 보상(770)의 통계값(예: 평균)을 목적 함수 값으로서 산출할 수 있다.
단계(640)에서 전자 장치(700)는 계산된 목적 함수에 기초하여, 목표 샘플링 모델(732), 궤적 인코더(760), 및 목표 결정 모델(730)의 파라미터를 업데이트할 수 있다. 예를 들어 전자 장치(700)는 정보 명목 항의 값이 최대화되도록 목표 결정 모델(730), 목표 샘플링 모델(732), 및 궤적 인코더(760) 중 적어도 하나의 파라미터를 업데이트할 수 있다. 전술한 바에 따라 목표 결정 모델(730)은 궤적의 공간에 있는 변수들 및 궤적 간의 대응이 잘되도록, 예를 들어, 상호 정보량이 증가하도록 트레이닝될 수 있다. 전자 장치(700)는 전술한 단계(630)에서 산출된 목적 함수로부터 목표 결정 모델(730)의 파라미터
Figure pat00061
, 및 궤적 인코더(760)의 파라미터
Figure pat00062
대한 경사(gradient)를 계산할 수 있다. 전자 장치(700)는 목표 샘플링 모델(732)에 대한 정책 경사(policy gradient)도 계산할 수 있다. 전자 장치(700)는 경사 상승법을 이용해 목표 샘플링 모델(732)의 파라미터
Figure pat00063
, 목표 결정 모델(730)의 파라미터
Figure pat00064
, 궤적 인코더(760)의 파라미터
Figure pat00065
를 업데이트할 수 있다. 전자 장치(700)는 단계들(620 내지 640)을 각 모델의 파라미터들
Figure pat00066
,
Figure pat00067
,
Figure pat00068
가 수렴할 때까지 반복할 수 있다.
트레이닝이 완료되면 궤적 인코더(760) 및 목표 샘플링 모델(732)은 작업 추론(task inference)시 불요하므로 제거될 수 있다. 다만, 이로 한정하는 것은 아니고, 목표 결정 모델(730)의 온라인 학습에 기초한 추가 트레이닝(예: 어댑티브 트레이닝)을 위해 궤적 인코더(760) 및 목표 샘플링 모델(732)이 유지될 수도 있다.
또한, 전자 장치(700)는 단계(635)에서 재앙적 망각을 다루는 정규화항을 포함하는 목적 함수를 산출할 수도 있다. 정규화항에 대해서는 전술하였으므로 여기서는 상세한 설명을 생략한다. 이 경우, 단계(640)에서 전자 장치(700)는 전술한 동작(630)에 따른 목적 함수 및 단계(635)에 따른 정규화 항을 선형 결합함으로써, 목표 결정 모델(730)의 파라미터
Figure pat00069
, 궤적 인코더(760)의 파라미터
Figure pat00070
대한 경사(gradient), 및 목표 샘플링 모델(732)에 대한 정책 경사(policy gradient)를 산출할 수 있다. 전자 장치(700)는 온라인 학습에서 추가적인 데이터 입력이 없을 때까지 단계들(620 내지 640)을 각 모델의 파라미터들
Figure pat00071
,
Figure pat00072
,
Figure pat00073
의 업데이트를 반복할 수 있다.
일 실시예에 따른 전자 장치(700)는 전술한 바와 같이 서로 구별되고 다양한 스킬들을 비감독적으로 학습할 수 있다. 일 실시예에 따른 전자 장치(700)는 여러 환경에서 다양하고 서로 다르며 전체 공간을 탐색하도록 학습된 스킬을 가질 수 있다. 전자 장치(700)는 모든 환경 및 평가 지표에서 평균적으로 높은 성능을 나타낼 수 있다.
도 8 및 도 9는 일 실시예에 따른 행동 결정 모델의 트레이닝을 설명한다.
우선, 단계(810)에서 전자 장치(900)는 행동 결정 모델(940)을 초기화할 수 있다. 예를 들어, 전자 장치(900)는 행동 결정 모델(940)의 파라미터를 무작위 값으로 초기화할 수 있다. 또한, 전자 장치(900)는 궤적 리플레이 버퍼(960)를 초기화할 수 있다.
그리고 단계(820)에서 전자 장치(900)는 목표를 샘플링할 수 있다. 예를 들어, 전자 장치(900)는 [-1,1] 범위를 갖는 균등 분포로부터 m개의 목표 상태(930)를 샘플링할 수 있다. 여기서, m은 1이상의 정수일 수 있다.
이어서 단계(830)에서 전자 장치(900)는 행동 결정 모델(940)에 기초하여 목표 별 행동을 결정하고, 행동 궤적을 획득할 수 있다. 참고로, 행동 결정 모델(940)에서 사용될 상태는 상태 관측기(910)에 의해 관측되고, 제어기(950)에 의해 상태 전이가 발생할 수 있다. 예를 들어, 전자 장치(900)는 샘플링된 목표 별로 행동 결정 모델(940)에 기초하여 행동을 결정하여 행동 궤적을 획득할 수 있다. 한 목표에 대한 행동 궤적의 길이는 l일 수 있다. 전술한 단계(820)에서 m개의 목표 상태(930)가 샘플링되었으므로, 전자 장치(900)는 l×m 길이의 행동 궤적
Figure pat00074
을 획득할 수 있다. l 길이의 궤적을 m번 샘플링하기 때문이다.
그리고 단계(840)에서 전자 장치(900)는 획득된 행동 궤적 별로 목표 함수 값을 계산할 수 있다. 예를 들어, 전자 장치(900)는 하기 수학식 3에 따른 목표 함수 값(962)을 계산할 수 있다.
[수학식 3]
Figure pat00075
전술한 수학식 3에서
Figure pat00076
일 수 있다.
Figure pat00077
이며, l 스텝마다 새로운 목표가 추출되는 것을 나타낼 수 있다. 선형화 정책에 따르면 매 l 스텝 간의 이동
Figure pat00078
을 통해 gt의 방향으로 멀리 뻗어 나갈 수록 큰 보상이 획득될 수 있다. 비교 실시예에서는 행동을 무작위로 결정할 경우, 에이전트가 유의미한 움직임을 보이지 못하고 제자리에 머물 수도 있으나, 일 실시예에 따른 전자 장치(900)는 전술한 수학식 3을 통해 에이전트가 멀리 뻗어 나가는 것을 장려함으로써, 기계 학습 모델에게 올바른 학습 목표를 제시할 수 있다.
단계(850)에서 전자 장치(900)는 리플레이 버퍼(960)에 궤적 및 목표 함수 값(962)을 보관할 수 있다. 전자 장치(900)는 전술한 단계들(820 내지 840)을 M번 반복함으로써 M개의 행동 궤적(961)을 보관할 수 있다. 여기서, M은 1이상의 정수일 수 있다.
단계(860)에서 전자 장치(900)는 행동 결정 모델(940)의 파라미터를 업데이트할 수 있다. 전자 장치(900)는 보관된 행동 궤적 및 목표 함수 값(962)에 기초하여 행동 결정 모델(940)의 파라미터를 업데이트할 수 있다. 예를 들어, 전자 장치(900)는 SAC(Soft actor-critic) 방법(예: Haarnoja et al., 2018)을 이용해 행동 결정 모델(940)의 파라미터를 업데이트할 수 있다.
도 10은 일 실시예에 따른 행동 결정 모델에 의한 상태 공간 탐색 능력을 도시한다.
도 10에서는 일 실시예에 따른 선형화기 정책(linearizer policy)을 구현한 행동 결정 모델을 이용하는 전자 장치의 상태 공간 탐색 능력(1000)이 도시된다. 도 10에서 "-L"은 행동 결정 모델이 이용된 일 실시예에 따른 에이전트에 의한 상태 공간 내 궤적을 나타내고, "-XY"는 행동 결정 모델 없이 목표로부터 행동을 바로 결정하는 비교 실시예에 따른 에이전트에 의한 상태 공간 내 궤적을 나타낸다. 행동 결정 모델을 이용한 전자 장치에서 서로 구별되는 스킬 잠재 변수에 의해 탐색 가능한 행동 궤적의 범위가 명시적으로 구별되는 것이 도시된다.
도 11은 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
일 실시예에 따른 전자 장치(1100)는 위에서 설명한 스킬 결정 모델, 목표 결정 모델, 행동 결정 모델, 및 제어기(1140)를 이용하여 목표 작업을 수행하거나, 전술한 모델들의 강화 학습에 기초한 트레이닝을 수행할 수 있다. 목표 작업은 주어진 환경(예: 장치 주변의 물리적 환경 또는 장치에 의해 접속가능한 가상적 환경)의 변화에 대응하는 장치의 제어 및 동작을 포함할 수 있다. 전자 장치(1100)는 도 1 내지 도 10에서 설명한 방법에 따라 각 모델을 온라인 및/또는 오프라인으로 트레이닝시킬 수 있다.
전자 장치(1100)는, 예를 들어 저장소 관리 장치, 이미지 처리 장치, 모바일 단말, 스마트폰, 폴더블 스마트폰(foldable smartphone), 스마트워치, 웨어러블 기기(wearable device), 태블릿 컴퓨터, 넷북, 랩탑, 데스크탑, PDA(personal digital assistant), 셋탑 박스, 가전 기기, 생체 도어락, 보안 장치, 금융 거래 장치, 차량 시동 장치, 자율 주행 차량, 로봇 청소기 및 드론 등일 수 있다. 다만, 전자 장치(1100)의 구현 예시를 이로 한정하는 것은 아니다.
일 실시예에 따른 전자 장치(1100)는 상태 관측기(1110), 프로세서(1120), 메모리(1130), 및 제어기(1140)를 포함할 수 있다.
상태 관측기(1110)는 전자 장치(1100)와 상호작용가능한(interactable) 환경에 따른 전자 장치(1100)의 상태(state)를 관측할 수 있다. 예를 들어, 상태 관측기(1110)는, 전자 장치(1100)에 대한 물리적 환경의 변화에 대한 센싱 및 가상적 환경과 관련된 데이터 변경의 수집 중 적어도 하나를 수행할 수 있다. 상태 관측기(1110)는 네트워크 인터페이스, 및 다양한 센서를 포함할 수 있다. 네트워크 인터페이스는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있고, 데이터 스트림을 수신할 수도 있다. 네트워크 인터페이스는 가상적 환경과 관련하여 변경되는 데이터를 수신할 수 있다. 센서는 카메라 센서, 적외선 센서, 라이다 센서, 및 비전 센서를 포함할 수 있다. 다만, 센서를 이로 한정하는 것은 아니고, 센서는 초음파 센서, 전류 센서, 전압 센서, 전력 센서, 열 센서, 위치 센서(예: GNSS(global navigation satellite system) 모듈)및 전자기파 센서를 포함하는 여러 유형의 정보를 센싱 가능한 다양한 모듈을 포함할 수 있다.
프로세서(1120)는 관측된 상태에 기초하여 스킬을 결정할 수 있다. 프로세서(1120)는 결정된 스킬 및 관측된 상태에 기초하여 목표를 결정할 수 있다. 프로세서(1120)는 상태 공간 내에서 결정된 목표를 향하는 방향으로 전자 장치(1100)의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을 상태 및 결정된 목표에 기초하여 결정할 수 있다. 다만, 프로세서(1120)의 동작을 이로 한정하는 것은 아니고, 도 1 내지 도 10에서 전술한 동작들 중 적어도 하나를 동시에 또는 병렬적으로 수행할 수 있다.
제어기(1140)는 결정된 행동에 따라 전자 장치(1100)의 동작을 제어할 수 있다. 제어기(1140)는 전자 장치(1100)의 물리적인 변형 및 이동을 수행하는 구동부(actuator)(예: 모터)를 포함할 수 있다. 다만, 제어기(1140)를 이로 한정하는 것은 아니고, 장치 내부의 전기 신호(예: 전류 및 전압)를 조절하는 소자를 포함할 수도 있다. 가상적 환경에 대한 전자 장치(1100)에서 제어기(1140)는 가상적 환경에서 서버에 대해 데이터 변경을 요청하는 네트워크 인터페이스를 포함할 수도 있다. 다만, 제어기(1140)를 이로 한정하는 것은 아니며, 제어기(1140)는 전자 장치(1100)의 상태 공간 내 상태 전이를 유발하는 동작 및/또는 기능을 수행가능한 모듈을 포함할 수 있다.
일 실시예에 따른 전자 장치(1100)는 로봇 청소기로 구현될 수 있다. 로봇 청소기로 구현된 전자 장치(1100)의 상태 관측기(1110)는 지정된 물리적 공간(예: 실내) 내에서 전자 장치(1100)의 측위(localization)를 위한 정보를 센싱하는 센서를 포함할 수 있다. 예를 들어, 상태 관측기(1110)는 카메라 센서, 레이더 센서, 초음파 센서, 거리 센서, 및 적외선 센서 중 적어도 하나를 포함할 수 있다. 전자 장치(1100)는 전술한 센서에 기초하여 전자 장치(1100)의 상태(예: 지정된 물리적 공간 내 전자 장치(1100)의 위치 및 공간 내 지점 별 청결 상태)를 결정할 수 있다. 전자 장치(1100)는 상태에 기초하여 스킬을 결정하고, 결정된 스킬 및 상태로부터 목표(예: 청소할 지점)를 결정하며, 결정된 목표로 향하기 위한 행동(예: 대응하는 방향으로의 이동을 위한 모터 구동)을 수행할 수 있다.
일 실시예에 따른 전자 장치(1100)는 음성 어시스턴트로서 구현될 수도 있다. 음성 어시스턴트로 구현된 전자 장치(1100)에 있어서, 상태 공간은 음성 어시스턴트에 의해 억세스 가능한 기능 및/또는 영역(예: 메모리(1130) 영역 및 화면 영역)을 포함할 수 있다. 상태 관측기(1110)는 소리 센서를 포함할 수 있다. 전자 장치(1100)는 전술한 센서에 기초하여 수집된 정보(예: 사용자로부터 수신된 "find restaurant"라는 발화(speech) 명령)를 이용하여 전자 장치(1100)의 상태(예: 음식점 찾기를 명령 받은 상태)를 결정할 수 있다. 전자 장치(1100)는 상태에 기초하여 스킬을 결정하고, 결정된 스킬 및 상태로부터 목표(예: 주변 음식점에 관한 정보를 화면에 출력한 상태를 향하는 방향)를 결정하며, 결정된 목표를 향하기 위한 행동(예: 전자 장치(1100)의 지리적 위치를 측정, 통신을 통해 주변 음식점 정보를 수집, 및 수집된 정보의 화면 출력)을 수행할 수 있다.
다만, 전자 장치(1100)의 어플리케이션을 전술한 바로 한정하는 것은 아니다. 일 실시예에 따른 전자 장치(1100)는 임의적인 행위 및/또는 사건이 발생하는 공간(예: 물리적 공간 및 가상적 공간)에서 동적인 추천을 제공하기 위해 사용될 수 있다. 예를 들어, 전자 장치(1100)는 스마트폰 또는 가상 현실 기기로서 구현되고, 게임 내 NPC(non-playable character)의 학습 및 제어에 이용될 수 있다. 게임 내 이동에 대한 문제면 게임 내 가상 환경의 공간이 상태 공간이고, 행동에 대한 문제면 해당 NPC에게 허용된 액션과 혼재된 상태 공간이 사용될 수 있다. 또한, 일 실시예에 따른 전자 장치(1100)는 공정에서 이용하는 로봇 팔에 탑재되어 그 학습 및 제어에 이용될 수 있다. 다시 말해, 일 실시예에 따른 강화학습은 자동화된 제어 과정에 사용 가능하므로, 복잡한 환경에서 자동적인 제어를 수행해야 하는 상황에서 이용될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 전자 장치에 있어서,
    상기 전자 장치와 상호작용가능한(interactable) 환경에 따른 상기 전자 장치의 상태(state)를 관측하는 상태 관측기(state observer);
    상기 관측된 상태에 기초하여 스킬을 결정하고, 상기 결정된 스킬 및 상기 관측된 상태에 기초하여 목표를 결정하며, 상태 공간 내에서 상기 결정된 목표를 향하는 방향으로 전자 장치의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을 상기 상태 및 상기 결정된 목표에 기초하여 결정하는 프로세서; 및
    상기 결정된 행동에 따라 상기 전자 장치의 동작을 제어하는 제어기
    를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 상태 관측기는,
    상기 전자 장치에 대한 물리적 환경의 변화에 대한 센싱 및 가상적 환경과 관련된 데이터 변경의 수집 중 적어도 하나를 수행하는,
    전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 관측된 상태를 나타내는 상태 벡터로부터, 기계 학습(machine learning)에 기초한 스킬 결정 모델을 이용하여, 상기 관측된 상태에 적용될 상기 스킬을 나타내는 스킬 벡터를 결정하는,
    전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    관측된 상태에 대해 스킬 결정 모델을 이용하여 결정된 임시 스킬로부터 목표 결정 모델 및 행동 결정 모델에 기초하여 결정된 행동으로 상기 제어기를 제어하고,
    상기 제어기에 의해 수행된 행동에 의한 상태 전이에 따른 보상을 계산하며,
    상기 계산된 보상에 기초하여 상기 스킬 결정 모델의 파라미터를 업데이트하는,
    전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 관측된 상태를 나타내는 상태 벡터 및 상기 결정된 스킬을 나타내는 스킬 벡터로부터, 기계 학습에 기초한 목표 결정 모델을 이용하여, 상기 목표를 나타내는 목표 상태 벡터를 결정하는,
    전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    무작위로 추출된 샘플 스킬들로부터 목표 샘플링 모델을 이용하여 추출된 샘플 목표들에 대해 행동 결정 모델 및 제어기에 기초하여 목표 상태 궤적을 획득하고,
    목적 상태 궤적 별로 목적 함수 값을 계산하며,
    상기 계산된 목적 함수에 기초하여, 목표 결정 모델의 파라미터를 업데이트하는,
    전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 관측된 상태를 나타내는 상태 벡터 및 상기 결정된 목표를 나타내는 목표 상태 벡터로부터, 기계 학습에 기초한 행동 결정 모델을 이용하여, 상기 행동을 나타내는 행동 벡터를 결정하는,
    전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    샘플링된 목표 별로 상기 행동 결정 모델에 기초하여 행동을 결정하여 행동 궤적을 획득하고,
    상기 획득된 행동 궤적 별로 목표 함수 값을 계산하며,
    리플레이 버퍼에 상기 행동 궤적 및 상기 목표 함수 값을 보관하고,
    상기 보관된 행동 궤적 및 상기 목표 함수 값에 기초하여 상기 행동 결정 모델의 파라미터를 업데이트하는,
    전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    스킬 결정 모델에 기초하여 상기 결정된 스킬을 미리 결정된 횟수 동안 유지하면서 상기 결정된 스킬 및 상기 관측된 상태로부터 상기 목표를 결정하는,
    전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    목표 결정 모델에 기초하여 상기 결정된 목표를 미리 결정된 횟수 동안 유지하면서 상기 결정된 목표 및 상기 관측된 상태로부터 상기 행동을 결정하는,
    전자 장치.
  11. 전자 장치에 의해 실행되는 방법에 있어서,
    상기 전자 장치와 상호작용가능한(interactable) 환경에 따른 상기 전자 장치의 상태(state)를 관측하는 단계;
    상기 관측된 상태에 기초하여 스킬을 결정하는 단계;
    상기 결정된 스킬 및 상기 관측된 상태에 기초하여 목표를 결정하는 단계;
    상태 공간 내에서 상기 결정된 목표를 향하는 방향으로 전자 장치의 선형적인 상태 전환(state transition)을 유발(cause)하는 행동을 상기 상태 및 상기 결정된 목표에 기초하여 결정하는 단계; 및
    상기 결정된 행동에 따라 상기 전자 장치의 동작을 제어하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 관측하는 단계는,
    상기 전자 장치에 대한 물리적 환경의 변화에 대한 센싱 및 가상적 환경과 관련된 데이터 변경의 수집 중 적어도 하나를 수행하는 단계
    를 포함하는 방법.
  13. 제11항에 있어서,
    상기 스킬을 결정하는 단계는,
    상기 관측된 상태를 나타내는 상태 벡터로부터, 기계 학습(machine learning)에 기초한 스킬 결정 모델을 이용하여, 상기 관측된 상태에 적용될 상기 스킬을 나타내는 스킬 벡터를 결정하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    관측된 상태에 대해 스킬 결정 모델을 이용하여 결정된 임시 스킬로부터 목표 결정 모델 및 행동 결정 모델에 기초하여 결정된 행동으로 제어기를 제어하는 단계
    상기 제어기에 의해 수행된 행동에 의한 상태 전이에 따른 보상을 계산하는 단계; 및
    상기 계산된 보상에 기초하여 상기 스킬 결정 모델의 파라미터를 업데이트하는 단계
    를 더 포함하는 방법.
  15. 제11항에 있어서,
    상기 목표를 결정하는 단계는,
    상기 관측된 상태를 나타내는 상태 벡터 및 상기 결정된 스킬을 나타내는 스킬 벡터로부터, 기계 학습에 기초한 목표 결정 모델을 이용하여, 상기 목표를 나타내는 목표 상태 벡터를 결정하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    무작위로 추출된 샘플 스킬들로부터 목표 샘플링 모델을 이용하여 추출된 샘플 목표들에 대해 행동 결정 모델 및 제어기에 기초하여 목표 상태 궤적을 획득하는 단계;
    목적 상태 궤적 별로 목적 함수 값을 계산하는 단계; 및
    상기 계산된 목적 함수에 기초하여, 목표 결정 모델의 파라미터를 업데이트하는 단계
    를 더 포함하는 방법.
  17. 제11항에 있어서,
    상기 행동을 상기 상태 및 상기 결정된 목표에 기초하여 결정하는 단계는,
    상기 관측된 상태를 나타내는 상태 벡터 및 상기 결정된 목표를 나타내는 목표 상태 벡터로부터, 기계 학습에 기초한 행동 결정 모델을 이용하여, 상기 행동을 나타내는 행동 벡터를 결정하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    샘플링된 목표 별로 상기 행동 결정 모델에 기초하여 행동을 결정하여 행동 궤적을 획득하는 단계;
    상기 획득된 행동 궤적 별로 목표 함수 값을 계산하는 단계;
    리플레이 버퍼에 상기 행동 궤적 및 상기 목표 함수 값을 보관하는 단계; 및
    상기 보관된 행동 궤적 및 상기 목표 함수 값에 기초하여 상기 행동 결정 모델의 파라미터를 업데이트하는 단계
    를 포함하는 방법.
  19. 제11항에 있어서,
    상기 목표를 결정하는 단계는,
    스킬 결정 모델에 기초하여 상기 결정된 스킬을 미리 결정된 횟수 동안 유지하면서 상기 결정된 스킬 및 상기 관측된 상태로부터 상기 목표를 결정하는 단계
    를 포함하는 방법.
  20. 제11항 내지 제19항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.

KR1020210166946A 2021-11-29 2021-11-29 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법 KR20230079804A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210166946A KR20230079804A (ko) 2021-11-29 2021-11-29 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법
US17/989,320 US20230169336A1 (en) 2021-11-29 2022-11-17 Device and method with state transition linearization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210166946A KR20230079804A (ko) 2021-11-29 2021-11-29 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20230079804A true KR20230079804A (ko) 2023-06-07

Family

ID=86500317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210166946A KR20230079804A (ko) 2021-11-29 2021-11-29 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20230169336A1 (ko)
KR (1) KR20230079804A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116449716B (zh) * 2023-06-13 2023-09-29 辰极智航(北京)科技有限公司 智能伺服稳定控制方法、装置、系统、控制器及存储介质

Also Published As

Publication number Publication date
US20230169336A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
Lei et al. Dynamic path planning of unknown environment based on deep reinforcement learning
Shi et al. End-to-end navigation strategy with deep reinforcement learning for mobile robots
Li et al. Propagation networks for model-based control under partial observation
Muratore et al. Robot learning from randomized simulations: A review
Yang et al. Multi-Task Deep Reinforcement Learning for Continuous Action Control.
CN109511277B (zh) 多状态连续动作空间的合作式方法及系统
US20200104685A1 (en) Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy
WO2020152364A1 (en) Multi-agent reinforcement learning with matchmaking policies
Hu et al. A dynamic adjusting reward function method for deep reinforcement learning with adjustable parameters
WO2023246819A1 (zh) 一种模型训练方法及相关设备
CN114510012A (zh) 一种基于元动作序列强化学习的无人集群演进系统及方法
Wu et al. Learning and planning with a semantic model
Kumar et al. Estimating mass distribution of articulated objects using non-prehensile manipulation
KR20230079804A (ko) 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법
CN114529010A (zh) 一种机器人自主学习方法、装置、设备及存储介质
Fabisch et al. Accounting for task-difficulty in active multi-task robot control learning
Yusof et al. Formulation of a lightweight hybrid ai algorithm towards self-learning autonomous systems
Hussein et al. Deep imitation learning with memory for robocup soccer simulation
KR20220090732A (ko) 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템
Galashov et al. Importance weighted policy learning and adaptation
Nguyen et al. Vision memory for target object navigation using deep reinforcement learning: An empirical study
Tanaka et al. An optimal control approach for exploratory actions in active tactile object recognition
CN113537318B (zh) 一种仿人脑记忆机理的机器人行为决策方法及设备
Ueda et al. Particle filter on episode for learning decision making rule
CN110532320B (zh) 基于区块链的训练数据管理方法及装置