KR20200048808A - 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치 - Google Patents

로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치 Download PDF

Info

Publication number
KR20200048808A
KR20200048808A KR1020180131313A KR20180131313A KR20200048808A KR 20200048808 A KR20200048808 A KR 20200048808A KR 1020180131313 A KR1020180131313 A KR 1020180131313A KR 20180131313 A KR20180131313 A KR 20180131313A KR 20200048808 A KR20200048808 A KR 20200048808A
Authority
KR
South Korea
Prior art keywords
robot
policy
behavior
updating
training data
Prior art date
Application number
KR1020180131313A
Other languages
English (en)
Other versions
KR102611952B1 (ko
Inventor
장준원
김경록
하태신
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180131313A priority Critical patent/KR102611952B1/ko
Priority to US16/439,994 priority patent/US11631028B2/en
Publication of KR20200048808A publication Critical patent/KR20200048808A/ko
Application granted granted Critical
Publication of KR102611952B1 publication Critical patent/KR102611952B1/ko

Links

Images

Classifications

    • 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]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49065Execute learning mode first for determining adaptive control parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (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)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

로봇의 행동을 제어하는 정책을 갱신하기 위한 방법 및 장치가 제공된다. 로봇의 행동의 경향은 훈련에 이용되는 학습 데이터에 따라 달라진다. 로봇의 태스크와 동일 또는 유사한 태스크를 수행하는 에이전트에 의해 학습 데이터가 생성된다. 복수의 이종의 에이전트들에 의해 생성된 복수의 학습 데이터 세트들을 이용하여 로봇의 정책을 갱신하는 경우, 로봇은 예상하지 못한 환경에서도 적절하게 행동할 수 있다.

Description

로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치{METHOD FOR UPDATING A POLICY FOR CONTROLLING AN ACTION OF A ROBOT AND AN ELECTONIC DEVICE PERFORMING THE METHOD}
아래의 실시예들은 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 전자 장치에 관한 것으로, 보다 상세하게는 강화 학습을 통해 정책을 갱신하는 방법 및 전자 장치에 관한 것이다.
로봇은 통상적으로 스스로 보유한 능력에 의해 주어진 태스크(task)를 자동으로 처리하거나 동작하는 기계를 의미하고, 최근에는 특정한 기능을 수행하는 소프트웨어 또는 명령체계(chain of command)에 따라 동작하여 특정한 결과를 산출하는 것도 로봇에 포함시키고 있다. 예를 들어 웹 싸이트의 검색 색인어 작성을 위해 전세계의 웹을 돌아다니며 웹 문서에서 검색어를 모아오는 소프트웨어 또는 명령체계도 로봇이라 불리고 있다. 로봇에 다양한 센서들이 부착됨에 따라, 로봇은 로봇 주변의 환경을 판단하고, 판단된 환경에 따라 행동한다. 구체적으로, 판단된 환경에 대한 행동은 로봇의 정책에 의해 결정될 수 있다.
일 측면에 따른, 로봇의 행동을 제어하는 정책을 갱신하는 방법은, 복수의 이종 에이전트들(heterogeneous agents)에 의해 생성된 복수의 학습 데이터 세트들을 수신하는 단계, 복수의 학습 데이터 세트들 및 상기 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성하는 단계, 및 상기 가중된 학습 데이터 베이스에 기초하여 로봇의 행동을 제어하는 정책(policy)을 갱신하는 단계를 포함한다.
상기 복수의 학습 데이터 세트들의 제1 학습 데이터 세트는 제1 에이전트에 의해 생성되고, 상기 제1 학습 데이터 세트는 복수의 학습 데이터들을 포함하고, 상기 복수의 학습 데이터들의 각각은 현재 상태, 행동, 및 보상을 포함하고, 상기 현재 상태는 상기 제1 에이전트에 의해 측정된 상기 제1 에이전트의 주변 환경(environment)에 대한 정보이고, 상기 행동은 상기 현재 상태에 대한 상기 제1 에이전트의 행동을 나타내고, 상기 보상은 상기 행동에 대한 평가 값을 나타낼 수 있다.
상기 가중된 학습 데이터 베이스를 생성하는 단계는, 상기 복수의 학습 데이터 세트들의 제1 학습 데이터 세트로부터 제1 에이전트에 대해 설정된 제1 가중치에 대응하는 개수를 결정함으로써 적어도 하나의 제1 가중된 학습 데이터를 생성하는 단계 - 상기 제1 학습 데이터 세트는 상기 제1 에이전트에 의해 생성됨 -, 상기 복수의 학습 데이터 세트들의 제2 학습 데이터 세트로부터 제2 에이전트에 대해 설정된 제2 가중치에 대응하는 개수를 결정함으로써 적어도 하나의 제2 가중된 학습 데이터를 생성하는 단계 - 상기 제2 학습 데이터 세트는 상기 제2 에이전트에 의해 생성됨 -, 및 상기 제1 가중된 학습 데이터 및 상기 제2 가중된 학습 데이터를 포함하는 상기 가중된 학습 데이터 베이스를 생성하는 단계를 포함할 수 있다.
상기 제1 가중된 학습 데이터들을 생성하는 단계는, 상기 제1 에이전트에 대해 설정된 제1 가중치에 대응하는 개수를 계산하는 단계, 및 상기 제1 학습 데이터 세트로부터 상기 결정된 개수를 임의적으로 결정함으로써 상기 적어도 하나의 제1 가중된 학습 데이터를 생성하는 단계를 포함할 수 있다.
상기 정책을 갱신하는 단계는, 상기 로봇의 행동에 대한 보상의 값이 최대화되도록 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 로봇의 행동을 제어하는 정책을 갱신하는 방법은, 상기 갱신된 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계, 상기 직접 학습 데이터를 포함하는 직접 학습 데이터 베이스를 생성하는 단계, 및 상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계를 더 포함할 수 있다.
상기 가중된 학습 데이터 베이스는 상기 직접 학습 데이터 베이스를 포함하고, 상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계는, 상기 가중된 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계는, 상기 직접 학습 데이터가 미리 설정된 개수만큼 생성된 경우, 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계는, 상기 정책에 의해 계산된 보상의 값이 미리 설정된 값 이상인 경우, 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 갱신된 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계는, 상기 로봇의 적어도 하나의 센서를 이용하여 상기 로봇의 현재 상태를 생성하는 단계, 상기 갱신된 정책을 이용하여 상기 로봇의 행동을 제어하는 단계, 상기 로봇의 행동에 대한 보상을 계산하는 단계, 및 상기 로봇의 현재 상태, 상기 로봇의 행동 및 상기 로봇의 행동에 대한 보상을 포함하는 상기 직접 학습 데이터를 생성하는 단계를 포함할 수 있다.
다른 일 측면에 따른, 로봇의 행동을 제어하는 정책을 갱신하는 전자 장치는, 로봇의 행동을 제어하는 정책을 갱신하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 복수의 이종 에이전트들(heterogeneous agents)에 의해 생성된 복수의 학습 데이터 세트들을 수신하는 단계, 상기 복수의 학습 데이터 세트들 및 상기 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성하는 단계, 상기 가중된 학습 데이터 베이스 및 상기 로봇의 행동을 제어하는 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계, 및 상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계를 수행한다.
상기 정책을 갱신하는 단계는, 상기 직접 학습 데이터가 미리 설정된 개수만큼 생성된 경우, 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 정책을 갱신하는 단계는, 상기 정책에 의해 계산된 보상의 값이 미리 설정된 값 이상인 경우, 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 정책을 갱신하는 단계는, 상기 로봇의 행동에 대한 보상의 값이 최대화되도록 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 직접 학습 데이터를 획득하는 단계는, 상기 로봇의 적어도 하나의 센서를 이용하여 상기 로봇의 현재 상태를 생성하는 단계, 상기 정책을 이용하여 상기 로봇의 행동을 제어하는 단계, 상기 로봇의 행동에 대한 보상을 계산하는 단계, 및 상기 로봇의 현재 상태, 상기 행동 및 상기 보상을 포함하는 상기 직접 학습 데이터를 생성하는 단계를 포함할 수 있다.
또 다른 일 측면에 따른, 로봇의 행동을 제어하는 정책을 갱신하는 방법은, 복수의 이종 에이전트들(heterogeneous agents)에 의해 생성된 복수의 학습 데이터 세트들을 수신하는 단계, 상기 복수의 학습 데이터 세트들 및 상기 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성하는 단계, 상기 가중된 학습 데이터 베이스 및 로봇의 행동을 제어하는 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계, 및 상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계를 포함한다.
상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계는, 상기 가중된 학습 데이터 베이스 및 상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계를 포함할 수 있다.
상기 직접 학습 데이터를 획득하는 단계는, 상기 로봇의 적어도 하나의 센서를 이용하여 상기 로봇의 현재 상태를 생성하는 단계, 상기 정책을 이용하여 상기 로봇의 행동을 제어하는 단계, 상기 로봇의 행동에 대한 보상을 계산하는 단계, 및 상기 로봇의 현재 상태, 상기 행동 및 상기 보상을 포함하는 상기 직접 학습 데이터를 생성하는 단계를 포함할 수 있다.
도 1은 일 예에 따른 최종 목표를 위한 로봇의 행동을 도시한다.
도 2는 일 예에 따른 로봇의 정책을 갱신하기 위해 이용되는 복수의 이종 에이전트들에 의해 생성된 복수의 학습 데이터 세트들을 도시한다.
도 3은 일 실시예에 따른 로봇의 행동을 제어하는 정책을 갱신하는 전자 장치의 구성도이다.
도 4는 일 실시예에 따른 로봇의 행동을 제어하는 정책을 갱신하는 방법의 흐름도이다.
도 5는 일 예에 따른 가중된 학습 데이터 베이스를 생성하는 방법의 흐름도이다.
도 6은 일 예에 따른 복수의 학습 데이터들 및 가중된 학습 데이터 베이스를 도시한다.
도 7은 일 예에 따른 정책에 기초하여 생성된 로봇의 직접 학습 데이터를 획득하는 방법의 흐름도이다.
도 8은 일 예에 따른 직접 학습 데이터 베이스에 기초하여 정책을 갱신하는 방법의 흐름도이다.
도 9는 다른 일 실시예에 따른 직접 학습 데이터에 기초하여 정책을 갱신하는 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 예에 따른 최종 목표를 위한 로봇의 행동을 도시한다.
로봇이 주어진 태스크를 자동으로 처리하기 위해서는, 로봇의 행동(action)을 제어하는 정책(policy)이 요구된다. 예를 들어, 로봇의 행동은 기계적인 움직임일 수 있고, 다른 예로, 로봇의 행동은 특정 프로그램 또는 소프트웨어의 수행일 수 있으며, 기재된 실시예로 한정되지 않는다. 즉, 로봇의 행동은 입력에 의해 발생하는 로봇의 출력일 수 있다.
일 측면에 따르면, 로봇은 서비스 로봇일 수 있다. 서비스 로봇은 사용자에게 정보를 제공하거나 서비스를 제공하는 로봇일 수 있다. 서비스 로봇은 특정한 위치로 사용자를 안내하거나, 사용자를 따라다닐 수 있다. 예를 들어, 서비스 로봇은 안내 로봇, 물건을 운반하는 로봇, 마트의 카트 로봇, 자율 주행 차량일 수 있다. 다른 예로, 서비스 로봇은 그릇들을 닦거나, 미리 설정된 영역을 청소하는 기능을 수행하는 로봇일 수 있다.
다른 일 측면에 따르면, 로봇은 소셜 로봇(social robot)일 수 있다. 소셜 로봇은 사용자의 음성, 바디 랭귀지, 및 표정 등을 통해 사용자의 행동(action)을 이해하고, 행동에 대응하는 리액션(reaction)을 사용자에게 제공할 수 있다.
또 다른 일 측면에 따르면, 로봇은 로봇 암(robot arm)일 수 있다.
아직 또 다른 일측면에 따르면, 로봇은 상기에서 전술된 로봇의 기능들을 조합한 로봇일 수 있다. 예를 들어, 소셜 로봇이 서비스 로봇의 기능을 함께 수행할 수 있다.
일 실시예에 따라, 도 1에 도시된 로봇(110)은 목적지(105)로 이동하기 위한 태스크를 처리한다. 로봇(110)의 정책은, 로봇(110)을 로봇(110)의 현재 위치에서 목적지(105)까지 이동시키기 위해, 로봇(110)의 행동을 제어한다. 로봇(110)의 현재 위치에서 목적지(105)의 직선 거리 상에는 장애물(103)이 위치하므로, 장애물(103)을 우회하는 경로가 생성되어야 한다. 또한, 로봇(110) 주변에는 장애물(103) 이외에, 장애물들(101, 102, 및 104)이 더 존재하므로, 경로 생성에는 장애물들(101, 102, 및 104)도 고려되어야 한다. 예를 들어, 후보 경로들로서, 로봇(110)의 왼쪽 방향으로 시작하는 제1 후보 경로(120) 및 오른쪽 방향으로 시작하는 제2 후보 경로(130)가 고려될 수 있다. 로봇(110)을 제어하는 정책이 정교할수록 태스크가 정확하게 처리된다. 정책은 훈련(training)에 따라 정교해질 수 있다.
일 측면에 따르면, 로봇(100)의 현재 상황(current state)이 입력이고, 로봇(100)의 행동이 출력인 경우, 정책은 입력을 이용하여 출력을 생성하는 알고리즘일 수 있다. 예를 들어, 알고리즘은 노드들을 통해 연결된 복수의 네트워크 레이어들로 구성될 수 있다. 알고리즘은 복수의 네트워크 레이어들을 포함하는 신경망(neural network)을 이용하여 구성될 수 있으나, 기재된 실시예로 한정되지 않는다.
정책이 알고리즘인 경우, 정책의 훈련은 알고리즘의 갱신(update)과 동일한 의미일 수 있다. 알고리즘의 갱신은 복수의 네트워크 레이어들의 연결 관계를 조정하는 것일 수 있다. 예를 들어, 복수의 네트워크 레이어들을 연결하는 노드들의 가중치가 변경됨으로써 알고리즘이 갱신된다.
정책을 갱신하기 위해 학습 데이터가 이용되는데, 학습 데이터는 로봇(110)과 동일 또는 유사한 태스크를 미리 수행한 에이전트(agent)에 의해 생성된 데이터일 수 있다. 에이전트는 로봇(110)과 동일한 태스크를 수행하는 다른 로봇, 모션 플래너(motion planner), 사람의 교습(human demonstration or teaching), 사람의 직접 지휘(human direct command), 컴퓨터 시뮬레이션, HRI(human robot interface)를 통한 가상 환경의 로봇, 및 MRI(machine robot interface)를 통한 가상 환경의 로봇 등을 포함할 수 있으며 기재된 실시예로 한정되지 않는다. 에이전트는 로봇(110)의 태스크과 동일 또는 유사한 태스크를 수행할 수 있고, 태스크를 수행하는 과정에서 산출되는 데이터들을 기록할 수 있는 방법 또는 그 수단을 모두 지칭한다.
예를 들어, 에이전트가 사람의 교습인 경우, 사람이 위치 센서 및 가속도 센서 등을 부착한 상태로, 태스크를 수행함으로써 획득된 센서들의 값이 학습 데이터가 될 수 있다. 에이전트가 사람의 교습인 다른 예로, 사람이 로봇을 직접 움직이는 경우도 고려될 수 있다. 사람에 의해 발생한 움직임을 측정한 로봇의 센서들의 값이 학습 데이터가 될 수 있다. 상기의 경우, 로봇이 학습 데이터를 생성하지만 사람이 로봇의 행동을 유발시켰으므로 사람의 교습에 해당한다. 에이전트로부터 획득된 학습 데이터를 이용하여 로봇(100)의 정책이 갱신된다.
아래에서 도 2 내지 도 9를 참조하여 로봇의 행동을 제어하는 정책을 갱신하는 방법이 상세하게 설명된다.
도 2는 일 예에 따른 로봇의 정책을 갱신하기 위해 이용되는 복수의 이종 에이전트들에 의해 생성된 복수의 학습 데이터 세트들을 도시한다.
로봇을 훈련(또는, 로봇의 정책(210)을 갱신)하기 위해, 실제 환경에서 훈련하기 보다는 시뮬레이션을 통한 훈련이 이용된다. 시뮬레이션을 통한 훈련은 로봇의 파손을 방지할 수 있고, 짧은 시간 내에 많은 훈련을 수행할 수 있는 장점이 있다. 그러나, 시뮬레이션의 환경은 실제의 환경과 동일하지 않으므로, 시뮬레이션을 통해 훈련된 로봇이 실제의 환경에서는 적절하게 동작하지 않을 수 있다. 이에 따라, 로봇의 훈련은 실제의 환경에서도 수행되어야 한다. 실제의 환경에서 수행되는 로봇의 훈련은, 짧은 시간 내에 적은 시도(trial)를 통해 수행되어야 한다. 실제의 환경에서 로봇을 훈련시키기 위해서는 양질(high quality)의 학습 데이터가 제공되어 한다. 양질의 학습 데이터는, 태스크를 해결하기 위한 좋은 시도(good trial) 및 좋지 않은 시도(bad trial)를 명확하게 구분하여 포함하고, 학습 데이터의 생성원(generating source)이 특정 에이전트에 편향되지 않은 것일 수 있다.
일 측면에 따르면, 로봇을 훈련(로봇의 정책(210)을 갱신)하기 위해, 특정 에이전트의 학습 데이터가 이용되는 경우, 로봇의 행동은 특정 에이전트의 행동과 유사하게 나타난다. 예를 들어, 특정 에이전트는 사람의 교습에 대응하는 제1 에이전트(220), 모션 플래닝(motion planning)을 수행하는 모션 플래너인 제2 에이전트(230), 컴퓨터 시뮬레이션인 제3 에이전트(240) 또는 조이스틱(joystick)과 같은 컨트롤러를 통해 로봇을 직접적으로 제어하는 방식에 대응하는 제4 에이전트(250) 중 어느 하나일 수 있다.
예를 들어, 사람의 교습에 대응하는 제1 에이전트(220)에 의해 생성된 학습 데이터를 이용하여 로봇을 훈련한 경우, 로봇은 사람의 행동과 유사하게 행동한다. 위치 이동을 위한 태스크에 대해, 사람은 최단 거리 뿐만 아니라 다른 사람을 방해하지 않는 사회적(social)인 측면도 고려하여 이동 경로를 선택한다. 다른 예로, 모션 플래너인 제2 에이전트(230)에 의해 생성된 학습 데이터를 용하여 로봇을 훈련한 경우, 로봇은 모션 플래너와 유사하게 행동한다. 위치 이동을 위한 태스크에 대해, 모션 플래너는 최단 거리의 이동 경로를 선택한다. 또 다른 예로, 사람의 직접 지휘에 대응하는 제4 에이전트(250)에 의해 생성된 학습 데이터를 이용하여 로봇을 훈련한 경우, 로봇은 사람의 직접 지휘에 의해 나타난 행동과 유사하게 행동한다. 즉, 로봇을 훈련하기 위해 이용된 학습 데이터의 생성원에 따라, 로봇의 행동 경향이 달라질 수 있다. 또한, 복수의 사람들의 각각이 로봇의 행동을 지휘하는 경우, 복수의 사람들의 각각에 대해 서로 다른 에이전트들이 대응된다.
특정 에이전트에 의해 생성된 학습 데이터만을 이용하여 로봇이 훈련된 경우, 로봇은 훈련되지 않은 상황에 대해서는 적절하게 동작하지 않을 수 있다. 이러한 상황을 방지하기 위해, 이종 에이전트들(heterogeneous agents)에 의해 생성된 다양한 학습 데이터들이 로봇의 훈련을 위해 이용될 수 있다. 동일 또는 유사한 태스크에 대해, 이종 에이전트들에 의해 생성된 다양한 학습 데이터들은 서로 다른 행동들을 나타낼 수 있으므로, 로봇은 다양한 상황들에 대해 적절하게 행동할 수 있다.
이종 에이전트들에 의해 생성된 다양한 학습 데이터들의 구성 비율은 훈련의 의도에 따라 조정될 수 있다. 예를 들어, 사람의 행동과 유사하게 로봇의 행동을 제어하고 싶은 경우에는, 제1 에이전트(220)에 의해 생성된 학습 데이터의 비율이 다른 에이전트들(230, 240 및 250)에 의해 생성된 학습 데이터의 비율보다 크게 조정된다.
아래에서 도 3 내지 도 9를 참조하여 로봇의 행동을 제어하는 정책을 갱신하는 방법이 상세하게 설명된다.
도 3은 일 실시예에 따른 로봇의 행동을 제어하는 정책을 갱신하는 전자 장치의 구성도이다.
전자 장치(300)는 통신부(310), 프로세서(320) 및 메모리(330)를 포함한다. 통신부(310)는 프로세서(320) 및 메모리(330)와 연결되어 데이터를 송수신한다. 통신부(310)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신부(310)는 전자 장치(300) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(310)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(310)는 전자 장치(300)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(310)는 인터페이스(interface)일 수 있다. 통신부(310)는 외부의 장치로부터 데이터를 수신하여, 프로세서(320) 및 메모리(330)에 데이터를 전송할 수 있다.
프로세서(320)는 통신부(310)가 수신한 데이터 및 메모리(330)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(320)는 메모리(예를 들어, 메모리(330))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(320)에 의해 유발된 인스트럭션들을 실행한다.
메모리(330)는 통신부(310)가 수신한 데이터 및 프로세서(320)가 처리한 데이터를 저장한다. 예를 들어, 메모리(330)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 로봇의 행동을 제어하는 정책을 갱신할 수 있도록 코딩되어 프로세서(320)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(330)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(330)는 전자 장치(300)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 전자 장치(300)를 동작 시키는 명령어 세트는 프로세서(320)에 의해 실행된다.
통신부(310), 프로세서(320) 및 메모리(330)에 대해, 아래에서 도 4 내지 도 9를 참조하여 상세히 설명된다.
도 4는 일 실시예에 따른 로봇의 행동을 제어하는 정책을 갱신하는 방법의 흐름도이다.
아래의 단계들(410 내지 460)은 도 3을 참조하여 전술된 전자 장치(300)에 의해 수행된다.
단계(410)에서, 전자 장치(300)는 복수의 이종 에이전트들에 의해 생성된 복수의 학습 데이터들(또는 데이터 세트들)을 수신한다. 예를 들어, 복수의 이종 에이전트들은 도 2를 참조하여 전술된 제1 에이전트(220), 제2 에이전트(230), 제3 에이전트(240) 및 제4 에이전트(250) 중 적어도 두 개를 포함할 수 있다. 에이전트들(220 내지 250)의 각각은 태스크를 수행하고, 학습 데이터를 생성한다.
학습 데이터는 에이전트의 현재 상태(current state: s), 현재 상태에 대한 에이전트의 행동(action: a), 및 에이전트의 행동(a)에 대한 보상(reward: r)를 포함한다. 학습 데이터는 추가적으로 에이전트의 행동(a)에 의한 다음 상태(next state: s')를 더 포함할 수 있다.
현재 상태(s)는 에이전트의 하나 이상의 센서들에 의해 측정된 값들로 표현될 수 있다. 현재 상태(s)는 에이전트에 의해 측정된 에이전트의 주변 환경(environment)에 대한 정보일 수 있다. 예를 들어, 현재 상태(s)는 카메라에 의해 생성된 이미지, 레이더에 의해 생성된 레이더 맵, 관성 측정장치(Inertial Measurement Unit: IMU)의해 생성된 가속도 값, 모터의 각속도 및 각가속도 등을 포함할 수 있다. 또한, 상기의 1차적인 값들을 이용하여 분석된 2차적인 값들도 현재 상태(s)에 포함될 수 있다. 예를 들어, 카메라에 의해 생성된 이미지 내의 검출된 오브젝트에 대한 정보도, 2차적인 값으로서 현재 상태(s)에 포함될 수 있다.
에이전트의 행동(a)은, 현재 상태(s)에 대해 에이전트가 어떻게 행동(또는 동작)하였는지를 나타낸다. 예를 들어, 에이전트의 정면에 장애물이 존재하는 것이 현재 상태(s)인 경우, 에이전트가 왼쪽으로 방향을 전환하였다면, 에이전트의 행동(a)은 왼쪽으로 방향을 전환한 것 또는 전환하는 동안 에이전트의 하나 이상의 센서들에 의해 측정된 값들일 수 있다.
보상(r)은 행동(a)에 대한 평가 값이다. 보상(r)은 상기의 행동(a)으로 인하여 태스크가 얼마나 더 잘 진행되었는지를 나타낼 수 있다. 예를 들어, 특정 목적지로의 이동이 태스크인 경우, 목적지까지의 거리가 얼마나 줄어들었는지가 보상(r)이 될 수 있다.
다음 상태(s')는 행동(a)에 의해 측정되는 현재 상태(s)의 다음 상태이다. 다음 상태(s')는 에이전트의 하나 이상의 센서들에 의해 측정된 값들로 표현될 수 있다
동일한 에이전트에 의해 생성된 학습 데이터들은 학습 데이터 세트를 구성한다. 예를 들어, 제1 에이전트(220)에 의해 생성된 복수의 학습 데이터들은 제1 학습 데이터 세트로 명명된다.
단계(420)에서, 전자 장치(300)는 복수의 학습 데이터 세트들 및 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성한다. 예를 들어, 사람의 행동과 유사하게 로봇이 행동하기를 원한다면, 제1 에이전트(220)에 대한 제1 가중치가 다른 에이전트들(230, 240 및 250)의 가중치들 보다 크게 설정될 수 있다. 제1 가중치가 다른 가중치들 보다 큰 경우에도, 다른 가중치들이 0이 아니라면, 가중치가 0이 아닌 에이전트들의 학습 데이터들이 로봇의 훈련에 반영될 수 있다. 이러한 훈련 방법은 로봇이 다양한 상황에 대해 대처할 수 있게 한다. 가중된 학습 데이터 베이스를 생성하는 방법에 대해, 아래에서 도 5 및 6을 참조하여 상세히 설명된다.
단계(430)에서, 전자 장치(300)는 가중된 학습 데이터 베이스에 기초하여 로봇의 행동을 제어하는 정책을 갱신한다. 예를 들어, 로봇의 행동에 대한 보상의 값이 최대화되도록 정책이 갱신될 수 있다. 정책이 알고리즘인 경우, 알고리즘을 구성하는 복수의 레이어들의 연결 관계를 조정함으로써 정책이 갱신될 수 있다.
단계(430)의 정책의 갱신은, 로봇에 의해 실제로 생성된 데이터를 이용한 갱신이 아니므로, 사전-훈련(pre-training)으로 명명될 수 있다. 실시예에 따라, 단계(430)는 수행되지 않을 수 있다.
단계(440)에서, 전자 장치(300)는 갱신된 정책에 기초하여 생성된 로봇의 직접 학습 데이터를 획득한다. 직접 학습 데이터는 로봇이 실제로 태스크를 수행하면서 획득된 데이터일 수 있다. 직접 학습 데이터의 용어와 대비시키기 위해 에이전트들(220 내지 250)에 의해 생성된 학습 데이터는 간접 학습 데이터로서 이해될 수 있다.
단계(430)가 수행되지 않은 경우에는, 갱신되지 않은 정책 및 가중된 학습 데이터 베이스에 기초하여 로봇의 직접 학습 데이터가 획득될 수 있다. 갱신되지 않은 정책은 디폴트 정책일 수 있다.
일 측면에 따라, 전자 장치(300)가 로봇에 포함되지 않은 경우, 전자 장치(300)는 로봇으로부터 직접 학습 데이터를 수신할 수 있다. 다른 일 측면에 따라, 전자 장치(300)가 로봇에 포함되는 경우, 전자 장치(300)는 로봇을 이용하여 직접 학습 데이터를 생성할 수 있다. 전자 장치(300)가 직접 학습 데이터를 생성하는 방법에 대해, 아래에서 도 7을 참조하여 상세히 설명된다.
단계(450)에서, 전자 장치(300)는 직접 학습 데이터를 포함하는 직접 학습 데이터 베이스를 생성한다. 예를 들어, 직접 학습 데이터 베이스는 가중된 학습 데이터 베이스에 포함될 수 있다. 다른 예로, 직접 학습 데이터 베이스는 가중된 학습 데이터 베이스와 별개로 생성될 수 있다.
단계(460)에서, 전자 장치(300)는 직접 학습 데이터 베이스에 기초하여 정책을 갱신한다. 직접 학습 데이터를 이용하여 정책이 갱신되므로, 로봇이 태스크를 실제로 수행함으로써 획득된 데이터가 정책에 반영될 수 있다. 직접 학습 데이터는 로봇의 현재 상태(s), 액션(a) 및 다음 상태(s')를 포함한다. 전자 장치(300)는 로봇의 행동(a)에 대한 보상(r)의 값이 최대화되도록 정책을 갱신한다. 상기의 정책 갱신 방법은 강화 학습(reinforcement learning)을 이용한 방법이다. 강화 학습은 온-라인(on-line)으로 수행될 수 있다.
가중된 학습 데이터 베이스가 직접 학습 데이터 베이스를 포함하는 경우, 전자 장치(300)는 가중된 학습 데이터 베이스에 기초하여 정책을 갱신할 수 있다.
단계(470)에서, 전자 장치(300)는 정책의 갱신이 종료되는지 여부를 결정한다. 정책의 갱신이 종료되지 않는 것으로 결정된 경우, 전술된 단계(440)가 수행될 수 있다. 정책의 갱신이 종료되는지 여부를 결정하는 방법에 대해, 아래에서 도 8을 참조하여 상세히 설명된다.
도 5는 일 예에 따른 가중된 학습 데이터 베이스를 생성하는 방법의 흐름도이다.
일 측면에 따르면, 도 4를 참조하여 전술된 단계(420)는 아래의 단계들(510 내지 530)을 포함할 수 있다.
단계(510)에서, 전자 장치(300)는 복수의 학습 데이터 세트들의 제1 학습 데이터 세트로부터 제1 에이전트(220)에 대해 설정된 제1 가중치에 대응하는 개수를 결정함으로써 적어도 하나의 제1 가중된 학습 데이터를 생성한다. 제1 학습 데이터 세트는 제1 에이전트(220)에 의해 생성된다.
단계(520)에서, 전자 장치(300)는 복수의 학습 데이터 세트들의 제2 학습 데이터 세트로부터 제2 에이전트(230)에 대해 설정된 제2 가중치에 대응하는 개수를 결정함으로써 적어도 하나의 제2 가중된 학습 데이터를 생성한다. 제2 학습 데이터 세트는 제2 에이전트(230)에 의해 생성된다. 제1 에이전트(220) 및 제2 에이전트(230)는 서로 상이한 에이전트이다.
단계들(510, 520)을 통해 제1 가중된 학습 데이터 및 제2 가중된 학습 데이터만이 설명되었으나, 단계들(510, 520)에 대한 설명은 제n 가중된 학습 데이터에도 유사하게 적용될 수 있다.
단계(530)에서, 전자 장치(300)는 제1 가중된 학습 데이터 및 상기 제2 가중된 학습 데이터를 포함하는 가중된 학습 데이터 베이스를 생성한다.
도 6은 일 예에 따른 복수의 학습 데이터들 및 가중된 학습 데이터 베이스를 도시한다.
제1 에이전트(220)에 의해 생성된 학습 데이터들(611 내지 615)이 생성되고, 학습 데이터들(611 내지 615)은 제1 학습 데이터 세트(610)를 구성한다. 학습 데이터들(611 내지 615)은 모두 (s, a, r, s')로 표시되었으나, 학습 데이터들(611 내지 615) 각각의 (s, a, r, s')는 서로 동일할 수도 있고, 다를 수도 있다. 제2 에이전트(230)에 의해 생성된 학습 데이터들(621 내지 623)이 생성되고, 학습 데이터들(621 내지 623)은 제2 학습 데이터 세트(620)를 구성한다. 제3 에이전트(240)에 의해 생성된 학습 데이터들(631 내지 633)이 생성되고, 학습 데이터들(631 내지 633)은 제3 학습 데이터 세트(630)를 구성한다. 제4 에이전트(250)에 의해 생성된 학습 데이터들(641 내지 643)이 생성되고, 학습 데이터들(641 내지 643)은 제4 학습 데이터 세트(640)를 구성한다. 전자 장치(300)는 복수의 에이전트들(220 내지 250)로부터 복수의 학습 데이터 세트들(610 내지 640)을 수신한다.
로봇의 행동이 나타내는 경향성을 위해 복수의 에이전트들(220 내지 250)의 각각에 가중치가 설정될 수 있다. 예를 들어, 사람의 행동과 유사하게 로봇의 행동을 제어하고 싶은 경우에는, 제1 에이전트(220)에 대한 제1 가중치가 다른 에이전트들(230 내지 250)에 대한 가중치들 보다 크게 조정된다. 예를 들어, 제1 가중치가 0.7, 제2 가중치가 0.1, 제3 가중치가 0.1, 및 제4 가중치가 0.1로 설정될 수 있다.
전자 장치(300)는 가중치들에 기초하여 로봇의 훈련에 이용될 가중된 학습 데이터 베이스를 생성한다. 전자 장치(300)는 복수의 에이전트들(220 내지 250)의 각각에 대해 설정된 가중치에 대응하는 개수를 계산한다. 예를 들어, 가중된 학습 데이터 베이스가 1000개의 학습 데이터를 포함하고, 제1 가중치가 0.7, 제2 가중치가 0.1, 제3 가중치가 0.1, 제4 가중치가 0.1로 설정된 경우, 제1 가중치에 대응하는 개수는 700개, 제2 가중치에 대응하는 개수는 100개, 제3 가중치에 대응하는 개수는 100개, 제4 가중치에 대응하는 개수는 100개로 계산된다.
전자 장치(300)는 제1 학습 데이터 세트(610)로부터 상기에서 결정된 개수(예를 들어, 700개)를 임의적으로 결정함으로써 제1 가중된 학습 데이터(또는, 데이터 세트)를 생성한다. 예를 들어, 제1 학습 데이터 세트(610)가 300개의 학습 데이터들을 포함하는 경우에도, 전자 장치(300)는 300개의 학습 데이터들에서 임의적으로 어느 하나를 결정하고, 상기의 결정을 700번 반복함으로써 제1 가중된 학습 데이터를 생성할 수 있다. 제1 가중된 학습 데이터를 생성하는 과정에 대한 설명이 제2 가중된 학습 데이터, 제3 가중된 학습 데이터 및 제4 가중된 학습 데이터를 생성하는 과정에 대해 유사하게 적용될 수 있다.
예를 들어, 가중된 학습 데이터 베이스(650)는 700개의 학습 데이터들을 갖는 제1 가중된 학습 데이터, 100개의 학습 데이터들을 갖는 제2 가중된 학습 데이터, 100개의 학습 데이터들을 갖는 제3 가중된 학습 데이터, 및 100개의 학습 데이터들을 갖는 제4 가중된 학습 데이터를 포함한다.
도 7은 일 예에 따른 정책에 기초하여 생성된 로봇의 직접 학습 데이터를 획득하는 방법의 흐름도이다.
일 측면에 따르면, 도 4를 참조하여 전술된 단계(440)는 아래의 단계들(710 내지 740)을 포함한다. 전자 장치(300)가 로봇에 포함되고, 전자 장치(300)가 로봇을 제어할 수 있는 경우에 단계들(710 내지 740)이 수행될 수 있다.
단계(710)에서, 전자 장치(300)는 로봇의 적어도 하나의 센서를 이용하여 로봇의 현재 상태(s)를 생성한다.
단계(720)에서, 전자 장치(300)는 생성된 현재 상태(s) 및 로봇의 정책을 이용하여 로봇의 행동(a)을 제어한다. 로봇은 상기의 제어에 따라 움직일 수 있다.
로봇의 행동(a)에 의해 로봇의 주변 환경이 변화할 수 있다. 추가적으로, 전자 장치(300)는 로봇의 적어도 하나의 센서를 이용하여 변화한 상태(s')를 생성한다.
단계(730)에서, 전자 장치(300)는 로봇의 행동(a)에 대한 보상(r)을 계산한다.
단계(740)에서, 전자 장치(300)는 로봇의 현재 상태(s), 행동(a), 및 보상(r)을 포함하는 직접 학습 데이터를 생성한다. 추가적으로, 직접 학습 데이터는 다음 상태(s')를 더 포함할 수 있다.
도 8은 일 예에 따른 직접 학습 데이터 베이스에 기초하여 정책을 갱신하는 방법의 흐름도이다.
일 측면에 따르면, 도 4를 참조하여 전술된 단계(460)는 아래의 단계들(810 및 820)을 포함한다. 단계들(810 및 820)은 선택적으로 수행될 수 있다.
단계(810)에서, 전자 장치(300)는 직접 학습 데이터의 개수가 미리 설정된 개수만큼 생성된 경우 정책을 갱신한다. 생성된 직접 학습 데이터의 개수가 미리 설정된 개수 미만인 경우에는 정책이 갱신되지 않고, 직접 학습 데이터를 획득하기 위한 단계(440)가 수행될 수 있다.
단계(820)에서, 전자 장치(300)는 정책에 의해 계산된 보상(r)의 값이 미리 설정된 값 이상인 경우 정책을 갱신한다. 보상(r)의 값이 미리 설정된 값 미만인 경우, 이번의 액션(a)은 적절하지 못한 것으로 판단되어 정책에 반영되지 않을 수 있다.
도 9는 다른 일 실시예에 따른 직접 학습 데이터에 기초하여 정책을 갱신하는 방법의 흐름도이다.
아래의 단계들(910 내지 940)은 도 3 내지 8을 참조하여 전술된 전자 장치(300)에 의해 수행된다.
단계(910)에서, 전자 장치(300)는 복수의 이종 에이전트들에 의해 생성된 복수의 학습 데이터들 또는 복수의 학습 데이터 세트들을 수신한다. 예를 들어, 복수의 이종 에이전트들은 도 2를 참조하여 전술된 제1 에이전트(220), 제2 에이전트(230), 제3 에이전트(240) 및 제4 에이전트(250) 중 적어도 두 개를 포함할 수 있다. 에이전트들(220 내지 250)의 각각은 태스크를 수행하고, 학습 데이터를 생성한다. 단계(910)에 대한 설명은 전술된 단계(410)에 대한 설명으로 대체될 수 있다.
단계(920)에서, 전자 장치(300)는 복수의 학습 데이터 세트들 및 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성한다. 단계(920)에 대한 설명은 전술된 단계(420)에 대한 설명으로 대체될 수 있다.
단계(930)에서, 전자 장치(300)는 가중된 학습 데이터 베이스 및 로봇의 행동을 제어하는 정책에 기초하여 생성된 로봇의 직접 학습 데이터를 획득한다. 직접 학습 데이터를 획득하기 위해 이용되는 정책은 갱신(또는 훈련)되지 않은 디폴트 정책일 수 있다. 즉, 직접 학습 데이터를 획득하기 위해 이용되는 정책은 사전-훈련되지 않은 정책일 수 있다.
단계(940)에서, 전자 장치(300)는 직접 학습 데이터에 기초하여 정책을 갱신한다. 직접 학습 데이터를 이용하여 정책이 갱신되므로, 로봇이 태스크를 실제로 수행함으로써 획득된 데이터가 정책에 반영될 수 있다. 직접 학습 데이터는 로봇의 현재 상태(s), 액션(a) 및 다음 상태(s')를 포함한다. 전자 장치(300)는 로봇의 행동(a)에 대한 보상(r)의 값이 최대화되도록 정책을 갱신한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
300: 전자 장치
310: 통신부
320: 프로세서
330: 메모리

Claims (19)

  1. 로봇의 행동을 제어하는 정책을 갱신하는 방법에 있어서,
    복수의 이종 에이전트들(heterogeneous agents)에 의해 생성된 복수의 학습 데이터 세트들을 수신하는 단계;
    복수의 학습 데이터 세트들 및 상기 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성하는 단계; 및
    상기 가중된 학습 데이터 베이스에 기초하여 로봇의 행동을 제어하는 정책(policy)을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  2. 제1항에 있어서,
    상기 복수의 학습 데이터 세트들의 제1 학습 데이터 세트는 제1 에이전트에 의해 생성되고,
    상기 제1 학습 데이터 세트는 복수의 학습 데이터들을 포함하고,
    상기 복수의 학습 데이터들의 각각은 현재 상태, 행동, 및 보상을 포함하고,
    상기 현재 상태는 상기 제1 에이전트에 의해 측정된 상기 제1 에이전트의 주변 환경(environment)에 대한 정보이고,
    상기 행동은 상기 현재 상태에 대한 상기 제1 에이전트의 행동을 나타내고,
    상기 보상은 상기 행동에 대한 평가 값을 나타내는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  3. 제1항에 있어서,
    상기 가중된 학습 데이터 베이스를 생성하는 단계는,
    상기 복수의 학습 데이터 세트들의 제1 학습 데이터 세트로부터 제1 에이전트에 대해 설정된 제1 가중치에 대응하는 개수를 결정함으로써 적어도 하나의 제1 가중된 학습 데이터를 생성하는 단계 - 상기 제1 학습 데이터 세트는 상기 제1 에이전트에 의해 생성됨 -;
    상기 복수의 학습 데이터 세트들의 제2 학습 데이터 세트로부터 제2 에이전트에 대해 설정된 제2 가중치에 대응하는 개수를 결정함으로써 적어도 하나의 제2 가중된 학습 데이터를 생성하는 단계 - 상기 제2 학습 데이터 세트는 상기 제2 에이전트에 의해 생성됨 -; 및
    상기 제1 가중된 학습 데이터 및 상기 제2 가중된 학습 데이터를 포함하는 상기 가중된 학습 데이터 베이스를 생성하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  4. 제3항에 있어서,
    상기 제1 가중된 학습 데이터들을 생성하는 단계는,
    상기 제1 에이전트에 대해 설정된 제1 가중치에 대응하는 개수를 계산하는 단계; 및
    상기 제1 학습 데이터 세트로부터 상기 결정된 개수를 임의적으로 결정함으로써 상기 적어도 하나의 제1 가중된 학습 데이터를 생성하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  5. 제1항에 있어서,
    상기 정책을 갱신하는 단계는,
    상기 로봇의 행동에 대한 보상의 값이 최대화되도록 상기 정책을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  6. 제1항에 있어서,
    상기 갱신된 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계;
    상기 직접 학습 데이터를 포함하는 직접 학습 데이터 베이스를 생성하는 단계; 및
    상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계
    를 더 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  7. 제6항에 있어서,
    상기 가중된 학습 데이터 베이스는 상기 직접 학습 데이터 베이스를 포함하고,
    상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계는,
    상기 가중된 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  8. 제6항에 있어서,
    상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계는,
    상기 직접 학습 데이터가 미리 설정된 개수만큼 생성된 경우, 상기 정책을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  9. 제6항에 있어서,
    상기 직접 학습 데이터 베이스에 기초하여 상기 정책을 갱신하는 단계는,
    상기 정책에 의해 계산된 보상의 값이 미리 설정된 값 이상인 경우, 상기 정책을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  10. 제6항에 있어서,
    상기 갱신된 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계는,
    상기 로봇의 적어도 하나의 센서를 이용하여 상기 로봇의 현재 상태를 생성하는 단계;
    상기 갱신된 정책을 이용하여 상기 로봇의 행동을 제어하는 단계;
    상기 로봇의 행동에 대한 보상을 계산하는 단계; 및
    상기 로봇의 현재 상태, 상기 로봇의 행동 및 상기 로봇의 행동에 대한 보상을 포함하는 상기 직접 학습 데이터를 생성하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  11. 제1항 내지 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  12. 로봇의 행동을 제어하는 정책을 갱신하는 전자 장치는,
    로봇의 행동을 제어하는 정책을 갱신하는 프로그램이 기록된 메모리; 및
    상기 프로그램을 수행하는 프로세서
    를 포함하고,
    상기 프로그램은,
    복수의 이종 에이전트들(heterogeneous agents)에 의해 생성된 복수의 학습 데이터 세트들을 수신하는 단계;
    상기 복수의 학습 데이터 세트들 및 상기 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성하는 단계;
    상기 가중된 학습 데이터 베이스 및 상기 로봇의 행동을 제어하는 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계; 및
    상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계
    를 수행하는,
    전자 장치.
  13. 제12항에 있어서,
    상기 정책을 갱신하는 단계는,
    상기 직접 학습 데이터가 미리 설정된 개수만큼 생성된 경우, 상기 정책을 갱신하는 단계
    를 포함하는,
    전자 장치.
  14. 제12항에 있어서,
    상기 정책을 갱신하는 단계는,
    상기 정책에 의해 계산된 보상의 값이 미리 설정된 값 이상인 경우, 상기 정책을 갱신하는 단계
    를 포함하는,
    전자 장치.
  15. 제12항에 있어서,
    상기 정책을 갱신하는 단계는,
    상기 로봇의 행동에 대한 보상의 값이 최대화되도록 상기 정책을 갱신하는 단계
    를 포함하는,
    전자 장치.
  16. 제12항에 있어서,
    상기 직접 학습 데이터를 획득하는 단계는,
    상기 로봇의 적어도 하나의 센서를 이용하여 상기 로봇의 현재 상태를 생성하는 단계;
    상기 정책을 이용하여 상기 로봇의 행동을 제어하는 단계;
    상기 로봇의 행동에 대한 보상을 계산하는 단계; 및
    상기 로봇의 현재 상태, 상기 행동 및 상기 보상을 포함하는 상기 직접 학습 데이터를 생성하는 단계
    를 포함하는,
    전자 장치.
  17. 로봇의 행동을 제어하는 정책을 갱신하는 방법에 있어서,
    복수의 이종 에이전트들(heterogeneous agents)에 의해 생성된 복수의 학습 데이터 세트들을 수신하는 단계;
    상기 복수의 학습 데이터 세트들 및 상기 복수의 이종 에이전트들의 각각에 대해 설정된 가중치에 기초하여 가중된 학습 데이터 베이스를 생성하는 단계;
    상기 가중된 학습 데이터 베이스 및 로봇의 행동을 제어하는 정책에 기초하여 생성된 상기 로봇의 직접 학습 데이터를 획득하는 단계; 및
    상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  18. 제17항에 있어서,
    상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계는,
    상기 가중된 학습 데이터 베이스 및 상기 직접 학습 데이터에 기초하여 상기 정책을 갱신하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
  19. 제17항에 있어서,
    상기 직접 학습 데이터를 획득하는 단계는,
    상기 로봇의 적어도 하나의 센서를 이용하여 상기 로봇의 현재 상태를 생성하는 단계;
    상기 정책을 이용하여 상기 로봇의 행동을 제어하는 단계;
    상기 로봇의 행동에 대한 보상을 계산하는 단계; 및
    상기 로봇의 현재 상태, 상기 행동 및 상기 보상을 포함하는 상기 직접 학습 데이터를 생성하는 단계
    를 포함하는,
    로봇의 행동을 제어하는 정책 갱신 방법.
KR1020180131313A 2018-10-30 2018-10-30 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치 KR102611952B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180131313A KR102611952B1 (ko) 2018-10-30 2018-10-30 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치
US16/439,994 US11631028B2 (en) 2018-10-30 2019-06-13 Method of updating policy for controlling action of robot and electronic device performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180131313A KR102611952B1 (ko) 2018-10-30 2018-10-30 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20200048808A true KR20200048808A (ko) 2020-05-08
KR102611952B1 KR102611952B1 (ko) 2023-12-11

Family

ID=70327015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180131313A KR102611952B1 (ko) 2018-10-30 2018-10-30 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치

Country Status (2)

Country Link
US (1) US11631028B2 (ko)
KR (1) KR102611952B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12022696B2 (en) 2020-07-14 2024-06-25 Samsung Display Co., Ltd. Display device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11605026B2 (en) * 2020-05-15 2023-03-14 Huawei Technologies Co. Ltd. Methods and systems for support policy learning
CN111638646B (zh) * 2020-05-29 2024-05-28 平安科技(深圳)有限公司 四足机器人行走控制器训练方法、装置、终端及存储介质
US20210319367A1 (en) * 2021-06-25 2021-10-14 Rita H. Wouhaybi Diversified imitation learning for automated machines
US20230186145A1 (en) * 2021-12-13 2023-06-15 International Business Machines Corporation Knowledge augmented sequential decision-making under uncertainty

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008840B1 (en) * 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
WO2018053187A1 (en) * 2016-09-15 2018-03-22 Google Inc. Deep reinforcement learning for robotic manipulation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996177B2 (en) 2013-03-15 2015-03-31 Brain Corporation Robotic training apparatus and methods
US9242372B2 (en) * 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
JP6307822B2 (ja) 2013-09-19 2018-04-11 富士通株式会社 プログラム、コンピュータおよび訓練データ作成支援方法
JP6922159B2 (ja) 2016-05-30 2021-08-18 日本電気株式会社 情報提供装置、情報提供方法及びプログラム
US10839314B2 (en) 2016-09-15 2020-11-17 Infosys Limited Automated system for development and deployment of heterogeneous predictive models
KR101729694B1 (ko) 2017-01-02 2017-04-25 한국과학기술정보연구원 시뮬레이션 결과 예측 방법 및 장치
CN107180155B (zh) 2017-04-17 2019-08-16 中国科学院计算技术研究所 一种基于异构集成模型的疾病预测系统
KR101840832B1 (ko) 2017-08-29 2018-03-21 엘아이지넥스원 주식회사 동작 정보 기반 착용로봇 제어방법
US11709462B2 (en) * 2018-02-12 2023-07-25 Adobe Inc. Safe and efficient training of a control agent
WO2019241680A1 (en) * 2018-06-15 2019-12-19 Google Llc Deep reinforcement learning for robotic manipulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008840B1 (en) * 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
WO2018053187A1 (en) * 2016-09-15 2018-03-22 Google Inc. Deep reinforcement learning for robotic manipulation
US20190232488A1 (en) * 2016-09-15 2019-08-01 Google Llc Deep reinforcement learning for robotic manipulation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12022696B2 (en) 2020-07-14 2024-06-25 Samsung Display Co., Ltd. Display device

Also Published As

Publication number Publication date
US20200134505A1 (en) 2020-04-30
US11631028B2 (en) 2023-04-18
KR102611952B1 (ko) 2023-12-11

Similar Documents

Publication Publication Date Title
KR20200048808A (ko) 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치
WO2019111608A1 (ja) 制御装置、無人システム、制御方法及びプログラム
CN112034834B (zh) 使用强化学习来加速自动驾驶车辆的轨迹规划的离线代理
US11131992B2 (en) Multi-level collaborative control system with dual neural network planning for autonomous vehicle control in a noisy environment
US11467591B2 (en) Online agent using reinforcement learning to plan an open space trajectory for autonomous vehicles
US20210103286A1 (en) Systems and methods for adaptive path planning
WO2020119004A1 (en) Personal driving style learning for autonomous driving
Jesus et al. Deep deterministic policy gradient for navigation of mobile robots in simulated environments
Dobrevski et al. Adaptive dynamic window approach for local navigation
CN111487864A (zh) 一种基于深度强化学习的机器人路径导航方法及系统
KR102303126B1 (ko) 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템
KR102675698B1 (ko) 자율 주행 방법 및 장치
Argall Modular and adaptive wheelchair automation
US10410416B2 (en) Collective navigation for virtual reality devices
Herman et al. Inverse reinforcement learning of behavioral models for online-adapting navigation strategies
JPWO2020136978A1 (ja) 経路決定方法
Couceiro et al. A PSO multi-robot exploration approach over unreliable MANETs
De Jesus et al. Deep deterministic policy gradient for navigation of mobile robots
CN114667494A (zh) 机器人控制模型学习方法、机器人控制模型学习装置、机器人控制模型学习程序、机器人控制方法、机器人控制装置、机器人控制程序以及机器人
Kivrak et al. Waypoint based path planner for socially aware robot navigation
US10996069B2 (en) Adaptive, imitative navigational assistance
Kim et al. Transforming a quadruped into a guide robot for the visually impaired: Formalizing wayfinding, interaction modeling, and safety mechanism
Kashyap et al. Modified type-2 fuzzy controller for intercollision avoidance of single and multi-humanoid robots in complex terrains
US20240160548A1 (en) Information processing system, information processing method, and program
CN116339349A (zh) 路径规划方法、装置、电子设备及存储介质

Legal Events

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