KR20230147710A - 제조 환경에서의 모방 학습 - Google Patents

제조 환경에서의 모방 학습 Download PDF

Info

Publication number
KR20230147710A
KR20230147710A KR1020237032454A KR20237032454A KR20230147710A KR 20230147710 A KR20230147710 A KR 20230147710A KR 1020237032454 A KR1020237032454 A KR 1020237032454A KR 20237032454 A KR20237032454 A KR 20237032454A KR 20230147710 A KR20230147710 A KR 20230147710A
Authority
KR
South Korea
Prior art keywords
trajectory
task
examples
updated
control system
Prior art date
Application number
KR1020237032454A
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 나노트로닉스 이미징, 인코포레이티드
Publication of KR20230147710A publication Critical patent/KR20230147710A/ko

Links

Classifications

    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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
    • 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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40391Human to robot skill transfer

Abstract

컴퓨팅 시스템은 인간 작업자에 의해 생성된 궤적 예제를 식별한다. 궤적 예제는 컴퓨팅 시스템의 제어 시스템에 의해 학습될 작업을 수행하는 동안의 인간 작업자의 궤적 정보를 포함한다. 궤적 예제를 기반으로, 컴퓨팅 시스템은 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시킨다. 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함한다. 컴퓨팅 시스템은 작업을 수행하는 로봇의 궤적 예제와 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별한다. 업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템은 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시킨다.

Description

제조 환경에서의 모방 학습
관련 출원에 대한 교차 참조
본 출원은 2021년 2월 25일 출원된 미국 가출원 제63/153,811호의 우선권을 주장하며, 그 전체가 본원에 참조로 포함된다.
본 개시는 일반적으로 제조 환경에서 모방 학습을 구현하기 위한 시스템 및 방법에 관한 것이다.
18세기 산업 혁명 이래로, 자동화는 상품 생산을 지배해 왔다. 오늘날의 공장은 로봇이 고속 생산 환경에서 많은 반복 가능한 작업을 수행하는 자동화를 핵심 원칙으로 완전히 받아들였지만, 많은 조립 작업은 계속해서 인간에 의해 수행되고 있다. 이러한 작업은 작업을 수행하기 위해 로봇 시스템을 배치하는 데 필요한 비용, 중대한 고장의 위험, 또는 물류 때문에 자동화하기 어렵다.
컴퓨팅 시스템은 인간 작업자에 의해 생성된 궤적 예제(trajectory example)를 식별한다. 궤적 예제는 컴퓨팅 시스템의 제어 시스템에 의해 학습될 작업을 수행하는 동안의 인간 작업자의 궤적 정보를 포함한다. 궤적 예제를 기반으로, 컴퓨팅 시스템은 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시킨다. 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함한다. 컴퓨팅 시스템은 작업을 수행하는 로봇의 궤적 예제와 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별한다. 업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템은 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시킨다.
일부 실시형태에서, 비일시적 컴퓨터 판독 가능 매체가 본원에 개시된다. 비일시적 컴퓨터 판독 가능 매체는 하나 이상의 명령 시퀀스를 포함하고, 하나 이상의 명령 시퀀스는, 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금 작동을 수행하도록 한다. 작동은, 컴퓨팅 시스템에 의해, 인간 작업자에 의해 생성된 궤적 예제를 식별하는 단계를 포함한다. 궤적 예제는 컴퓨팅 시스템의 제어 시스템에 의해 학습될 작업을 수행하는 동안의 인간 작업자의 궤적 정보를 포함한다. 작동은, 궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시키는 단계를 더 포함한다. 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함한다. 작동은, 컴퓨팅 시스템, 작업을 수행하는 로봇의 궤적 예제와 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별하는 단계를 더 포함한다. 작동은, 업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 더 포함한다.
일부 실시형태에서, 시스템이 본원에 개시된다. 시스템은 프로세서와 메모리를 포함한다. 메모리에는 프로그래밍 명령이 저장되고, 프로그래밍 명령은, 프로세서에 의해 실행될 때, 시스템으로 하여금 작동을 수행하도록 한다. 작동은 인간 작업자에 의해 생성된 궤적 예제를 식별하는 단계를 포함한다. 궤적 예제는 제어 시스템에 의해 학습될 작업을 수행하는 동안의 인간 작업자의 궤적 정보를 포함한다. 작동은, 궤적 예제를 기반으로, 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시키는 단계를 더 포함한다. 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함한다. 작동은 작업을 수행하는 로봇의 궤적 예제와 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별하는 단계를 더 포함한다. 작동은, 업데이트된 궤적 예제를 기반으로, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 더 포함한다.
본 개시의 상기한 특징이 상세하게 이해될 수 있는 방식으로, 위에서 간략히 요약된 본 개시의 보다 자세한 설명은 일부가 첨부된 도면에 예시되어 있는 실시형태를 참조함으로써 얻을 수 있다. 그러나, 첨부된 도면은 본 개시의 일반적인 실시형태만을 예시하는 것이며 따라서 본 개시의 범위를 제한하는 것으로 간주되어서는 안 된다는 점에 유의해야 하는데, 본 개시가 다른 동일하게 유효한 실시형태를 허용할 수 있기 때문이다.
도 1은 예시적인 실시형태에 따른 컴퓨팅 환경을 도시하는 블록도이다.
도 2는 예시적인 실시형태에 따른 제어 시스템을 도시하는 블록도이다.
도 3은 예시적인 실시형태에 따른 순방향-역방향-데이터 데이거(forward-backward-data DAGGER)의 개략도를 도시하는 블록도이다.
도 4는 예시적인 실시형태에 따른 프로세스를 수행하도록 제어 시스템을 훈련시키는 방법을 도시하는 흐름도이다.
도 5는 예시적인 실시형태에 따른 교사와 학생의 행동 공간을 도시하는 블록도이다.
도 6은 예시적인 실시형태에 따른 모방 학습 프로세스를 도시하는 흐름도이다.
도 7A는 예시적인 실시형태에 따른 컴퓨팅 시스템을 도시하는 블록도이다.
도 7B는 예시적인 실시형태에 따른 컴퓨팅 시스템을 도시하는 블록도이다.
이해를 돕기 위하여, 도면에 공통되는 동일한 구성요소를 지시하기 위해 가능한 한 동일한 참조번호를 사용하였다. 하나의 실시형태에 개시된 요소는 구체적인 언급이 없어도 다른 실시형태에서 유리하게 이용될 수 있다고 생각된다.
모방 학습은 인간의 작업 활동을 밀접하게 모방하도록 로봇 시스템을 훈련시키는 다양한 방법들이 포괄적으로 성장하는 분야로서, 이를 통해 모션(motion)의 인코딩을 빠르고, 더 일반적으로, 그리고 기존 프로세스에 대해 수행할 수 있다. 모방 학습은 인간 기반의 표준 작업 프로토콜을 로봇 프로그래밍 논리로 변환하는 전통적인 변환 단계를 피한다. 그러나 이러한 변환은 불완전하며, 각각의 행동 프레임에서 주요 모션 구성요소를 식별하고 특정 모션의 의도를 결정하는 데 본질적인 어려움을 가지고 있다.
산업 응용 분야에서, 행동 공간은 예를 들어 자율 주행에서의 행동 공간보다 좁다; 그러나 더 높은 효율과 수율을 달성해야 하는 필요성은 산업 응용 분야에서 더 크다. 예를 들어 산업 환경에서의 목표는 로봇이 생산 라인에서 사람의 개입 없이도 동일한 절차를 수행할 수 있도록 기존의 또는 능동적으로 수집된 프로세스로부터 로봇 모션을 인코딩하는 것일 수 있다. 또한, 목표는 다운스트림 또는 업스트림 프로토콜을 변경하거나 제품 체크아웃에 예외를 추가할 필요가 없도록 하는 것이다. 로봇 시스템이 인간 작업자를 대체할 수 있도록 하는 프로세스는 높은 정확도의 작동을 필요로 하고, 본질적으로 알려지지 않은 많은 상황을 고려해야 할 수도 있다. 시뮬레이션 환경은 학습 전략 개발에 효과적일 수 있지만, 실제 프로세스와 관련된 무수히 많은 변수를 포착하기에는 적합하지 않으며, 실제 절차에 대한 실용적인 개선에는 제한적으로 사용된다.
모방 학습에서의 현재의 제한 사항을 고려하여, 본원에 기술된 하나 이상의 기술은 인간 작업자(예를 들어, 교사)가 고유한 행동 공간에서 역동적이 되도록 하고, 로봇 작업자(예를 들어, 학생)의 제한 사항에 따라 작업 프로토콜(SOP) 조정하도록 함으로써 상기한 일련의 문제에 대한 새로운 접근법을 제공한다. 현재의 접근법은 전통적인 교사-학생 관계의 지침을 사용할 수 있으며, 이에 따라 성공하지 못한 교사는 "자신에게 가르치고" 실제 학생이 소유하지 않은 일련의 기술, 선행 지식 및 경험을 취하는 사람으로 정의된다. 대신, 성공적인 교사-학생 관계는 동일한 교사가 학생의 한계에 대한 직관적 이해 및 학생의 성과를 기반으로 절차와 접근법을 조정하는 것으로 정의될 수 있다.
일부 실시형태에서, 본원에 기술된 하나 이상의 기술은 SOP에 의해 정의된 바와 같이 처리 스테이션의 가장 중요한 정적 입력과 출력을 유지할 수 있고, 대략적인 작업에 대한 접근법을 변경하도록 인간 작업자에게 피드백을 제공할 수 있다. 도구를 잡을 때의 접근 각도, 사용되는 도구의 유형, 작동의 순서, 및 습관적으로 수행되고 전략적 요소만큼 중요하지 않은 과정의 다른 부분과 같은 유동적인 행동은 효율성을 희생하지 않고 변경될 수 있으며, 동시에 로봇 작동의 학습 속도와 정확도를 향상시킬 수 있다.
일부 실시형태에서, 작업자는 자신의 행동 공간을 로봇 시스템의 행동 공간에 반복적으로 다시 매핑할 수 있다. 하이브리드 능동 훈련/능동 학습 접근법은 로봇 시스템의 본질적인 한계에 보다 밀접하게 일치하도록 인간 작업자의 모션 프로필을 지속적으로 조정하는 것과 동시에 로봇 시스템의 성능을 지속적으로 개선하는 방법을 제안할 수 있다.
이러한 접근법은 이중 보상 구조(dual-reward structure)를 생성할 수 있으며, 이를 통해 작업자는 SOP 고수(adherence) 및 준수(compliance)에 의해 측정되는 주요 작업의 완료 및 로봇 조작기(robotic manipulator)에 의해 이해될 수 있는 행동 능력에 대해 보상을 받을 수 있다. 훈련 중인 로봇 시스템으로부터의 피드백을 작업자에게 지속적으로 제공함으로써, 현재의 접근법은 작업자의 행동에 직접적인 변화를 적용하여 성공적인 로봇 훈련을 제한하는 환경 소음과 분류 문제를 줄이고자 한다. 본 프로세스는 보조 작동을 위해 기존 생산 라인에 로봇 조작기를 도입하고, 인계 작업을 개선하며, 새로운 제품 및 절차에 대한 재훈련을 위해 사용될 수 있다. 현재의 접근법은 작업자를 로봇으로 교체할 필요가 없지만, 대신 훈련 프로세스를 간소화함으로써 두 자원의 효율적인 사용을 가능하게 한다.
도 1은 예시적인 실시형태에 따른 컴퓨팅 환경(100)을 도시하는 블록도이다. 도시된 바와 같이, 컴퓨팅 환경(100)은 하나 이상의 통신 채널을 통해 교사 컴퓨팅 시스템(102)과 학생 컴퓨팅 시스템(104)을 포함할 수 있다. 일부 실시형태에서, 하나 이상의 통신 채널은 셀룰러 또는 와이파이(Wi-Fi) 네트워크와 같은 인터넷을 통한 개별 연결에 해당할 수 있다. 일부 실시형태에서, 하나 이상의 통신 채널은 무선 주파수 식별(radio frequency identification, RFID), 근거리 무선 통신(near-field communication, NFC), 블루투스(Bluetooth™), 저에너지 블루투스(low-energy Bluetooth™, BLE), 와이파이(Wi-Fi™), 지그비(ZigBee™), 주변 후방산란 통신(ambient backscatter communication, ABC) 프로토콜, USB, WAN 또는 LAN과 같은 직접 연결을 사용하여 단말기, 서비스 및 모바일 장치를 연결할 수 있다.
교사 컴퓨팅 시스템(102)은 사용자 또는 관리자에 의해 작동될 수 있다. 예를 들어, 교사 컴퓨팅 시스템(102)은 모바일 장치, 태블릿, 데스크톱 컴퓨터, 또는 본원에 기술된 기능을 갖는 임의의 컴퓨팅 시스템일 수 있다. 보다 구체적으로, 교사 컴퓨팅 시스템(102)은 교사-학생 모방 학습 패러다임에서 "교사"와 관련될 수 있다.
교사 컴퓨팅 시스템(102)은 적어도 데이터 수집 모듈(106)과 훈련 모듈(108)을 포함할 수 있다. 데이터 수집 모듈(106)과 훈련 모듈(108) 각각은 하나 이상의 소프트웨어 모듈로 구성될 수 있다. 하나 이상의 소프트웨어 모듈은 하나 이상의 알고리즘 단계를 구현하는 일련의 기계 명령(예를 들어, 프로그램 코드)에 해당하는 매체(예를 들어, 교사 컴퓨팅 시스템(102)과 관련된 컴퓨팅 시스템의 메모리)에 저장된 코드 또는 명령의 모음일 수 있다. 이러한 기계 명령은 프로세서가 명령을 구현하기 위해 해석하는 실제 컴퓨터 코드일 수도 있고, 대안적으로 실제 컴퓨터 코드를 얻기 위해 해석되는 명령의 더 높은 수준의 코딩일 수 있다. 하나 이상의 소프트웨어 모듈은 또한 하나 이상의 하드웨어 구성요소를 포함할 수 있다. 예시적인 알고리즘의 하나 이상의 양태는 명령의 결과로서가 아니라 하드웨어 구성요소(예를 들어, 회로) 자체에 의해 수행될 수 있다.
데이터 수집 모듈(106)은 교사 컴퓨팅 시스템(102)과 통신하는 하나 이상의 센서(110)로부터 데이터를 수신하거나 검색하도록 구성될 수 있다. 예를 들어, 센서(110)는 학생 컴퓨팅 시스템(104)에 의해 학습될 프로세스를 수행하는 인간 작업자 또는 교사를 모니터링하도록 구성될 수 있다. 보다 구체적인 예를 사용하면, 센서(110)는 검사 시스템의 받침대에 기판을 배치하는 인간 작업자를 모니터링하도록 구성될 수 있다. 센서(110)는 인간 작업자의 이미지 또는 비디오, 인간 작업자의 관절과 관련된 각도, 인간 작업자와 관련된 모션 데이터 등과 같은 프로세스와 관련된 다양한 데이터를 수집할 수 있지만 이에 제한되지 않는다. 일반적으로, 센서(110)는 동일한 프로세스를 다수의 다양한 방식으로 여러 번 수행하는 인간 작업자와 관련된 데이터를 수집할 수 있다.
훈련 모듈(108)은 학생 컴퓨팅 시스템(104)에 배치하기 위해 신경망을 훈련시키도록 구성될 수 있다. 예를 들어, 훈련 모듈(108)은 교사 정책을 생성하도록 구성될 수 있고, 이로부터 학생 컴퓨팅 시스템(104)은 목표 프로세스를 수행하는 것을 학습할 수 있다.
학생 컴퓨팅 시스템(104)은 에이전트(agent)와 관련될 수 있다. 일부 실시형태에서 에이전트는 로봇을 의미할 수 있다. 학생 컴퓨팅 시스템(104)은 모바일 장치, 태블릿, 데스크톱 컴퓨터, 또는 본원에 기술된 기능을 갖는 임의의 컴퓨팅 시스템일 수 있다. 보다 구체적으로, 학생 컴퓨팅 시스템(104)은 교사-학생 모방 학습 패러다임에서 "학생"과 관련될 수 있다.
학생 컴퓨팅 시스템(104)은 적어도 데이터 수집 모듈(116)과 제어 시스템(118)을 포함할 수 있다. 데이터 수집 모듈(116)과 제어 시스템(118) 각각은 하나 이상의 소프트웨어 모듈로 구성될 수 있다. 하나 이상의 소프트웨어 모듈은 하나 이상의 알고리즘 단계를 구현하는 일련의 기계 명령(예를 들어, 프로그램 코드)에 해당하는 매체(예를 들어, 학생 컴퓨팅 시스템(104)과 관련된 컴퓨팅 시스템의 메모리)에 저장된 코드 또는 명령의 모음일 수 있다. 이러한 기계 명령은 프로세서가 명령을 구현하기 위해 해석하는 실제 컴퓨터 코드일 수도 있고, 대안적으로 실제 컴퓨터 코드를 얻기 위해 해석되는 명령의 더 높은 수준의 코딩일 수 있다. 하나 이상의 소프트웨어 모듈은 또한 하나 이상의 하드웨어 구성요소를 포함할 수 있다. 예시적인 알고리즘의 하나 이상의 양태는 명령의 결과로서가 아니라 하드웨어 구성요소(예를 들어, 회로) 자체에 의해 수행될 수 있다.
데이터 수집 모듈(116)은 학생 컴퓨팅 시스템(104)과 통신하는 하나 이상의 센서(112)로부터 데이터를 수신하거나 검색하도록 구성될 수 있다. 예를 들어, 센서(112)는 교사의 프로세스로부터 추론된 프로세스를 실행하는 에이전트 또는 로봇을 모니터링하도록 구성될 수 있다. 보다 구체적인 예를 사용하면, 센서(112)는 검사 시스템의 받침대에 기판을 배치하는 인간 작업자의 단계를 모방하는 로봇을 모니터링하도록 구성될 수 있다. 센서(112)는 에이전트의 이미지 또는 비디오, 에이전트의 구성요소와 관련된 각도, 에이전트와 관련된 모션 데이터 등과 같은 프로세스와 관련된 다양한 데이터를 수집할 수 있지만 이에 제한되지 않는다.
제어 시스템(118)은 교사에 의해 수행되는 프로세스를 모방하는 방법을 학습하도록 구성될 수 있다. 제어 시스템(118)은 예를 들어 작업 도중 센서(112)에 의해 수신되거나 검색된 데이터를 기반으로 로봇에게 특정 행동을 수행하도록 지시할 수 있다. 예를 들어, 로봇이 기판을 픽업했다는 센서(112)로부터의 표시를 기반으로, 제어 시스템(118)은 기판을 검사 시스템의 받침대에 놓는 과정에서 로봇에게 다음 단계를 수행하도록 신호를 전송할 수 있다.
상기한 바와 같이, 교사 컴퓨팅 시스템(102)과 학생 컴퓨팅 시스템(104)은 양방향 교사 학생 훈련 프로세스를 사용할 수 있다. 예를 들어, 학습 프로세스는 순방향 구성요소(forward component)와 역방향 구성요소(backward component)를 포함할 수 있다. 순방향 구성요소는 교사 본연의 행동 공간에서 표현된 교사의 행동으로부터 학생 본연의 행동 공간에서 표현된 학생의 행동으로의 변환을 수행할 수 있다. 역방향 구성요소는 교사가 학생에게 제공할 수 있는 훈련 데이터세트를 반복적으로 수정하는 피드백을 학생으로부터 교사에게 제공할 수 있으며, 이는 학생이 발견할 수 있는 상태 하위 공간(state subspace)을 개방한다.
양방향 교사 학생 훈련 프로세스의 일부로서, 학생 컴퓨팅 시스템(104)은 원래의 데이거 알고리즘(DAGGER algorithm)을 기반으로 하는 순방향-역방향-데이거 알고리즘을 사용할 수 있다. 순방향-역방향-데이거 알고리즘은 교사의 고차원 행동 공간과 학생의 저차원 행동 공간 사이의 불일치를 해결함으로써 원래 데이거 알고리즘을 개선하는데, 이는 고차원 행동 공간에서 교사가 전문가 정책(expert policy)을 가르치거나 제공할 수 있다는 점에서 대부분의 실제 상황에서 사실이다.
순방향-역방향-데이거에서, 각각의 행동 공간에 포함된 교사 및 학생 정책은 함수 근사기(function approximator)에서 인코딩된다. 초기 학생 정책은 예를 들어 적절한 행동 공간을 갖는 정책에서 무작위로 선택된다.
행동 공간이 제한된 환경에서 잘 학습하고 수행하도록 학생 컴퓨팅 시스템(104)을 훈련시키기 위해, 순방향-역방향-데이거는 학생의 행동 공간에서의 데이터의 집계를 안내할 수 있다. 이러한 집계된 데이터는 학생 컴퓨팅 시스템(104)을 개선하기 위해 사용될 수 있다. 중요한 점은 학생으로부터의 피드백이 교사에게 보고될 수 있다는 점이다. 이러한 피드백은 교사가 학생을 도와 미래 반복에서 새롭고 더 나은 데이터를 집계하도록 이끌 수 있으며, 이는 학생의 학습을 이끌 수 있다.
산업용 로봇 제어의 맥락에서, 인간은 고차원 행동 공간에서 행동을 생성하는 것으로 알려져 있다. 로봇에게 특정 작업(예를 들어, 소다 캔을 여는 작업)을 훈련시키려고 할 때, 인간은 이러한 행동을 재현하는 로봇의 능력에 더 가까운 일련의 행동을 수행한다. 종종, 로봇의 행동은 예상되는 인간 행동을 재현하는 데 크게 부족하다. 이는 인간의 행동이 종종 로봇의 행동 공간과 더 가까운 차원으로 이산화되는 더 높은 차원의 행동 공간에서 나오기 때문이다.
로봇이 인간의 원래 행동을 학습하도록 돕기 위해, 인간은 자신의 행동을 수정할 필요가 있다. 이러한 과정은 로봇으로부터의 피드백이 필요하다. 그 결과 수정된 인간 행동은, 로봇과 공유될 때, 로봇이 인간을 더 성공적으로 모방하는 행동으로 이끌 수 있다.
현재의 맥락에서, 교사 컴퓨팅 시스템(102)이 학생 컴퓨팅 시스템(104)의 행동 공간에서 재현 가능한 행동 또는 행위에 더 밀접하게 일치하는 정책을 생성하거나 일련의 단계를 수행할 수 있도록, 학생 컴퓨팅 시스템(104)은 교사 컴퓨팅 시스템(102)에 피드백을 제공할 수 있다.
도 2는 예시적인 실시형태에 따른 순방향-역방향-데이거를 도시하는 블록도이다.
높은 수준에서, 순방향-역방향-데이거는 학생과 교사의 행동 공간이 구별될 때 가치를 제공하기 위한 것이다. 환경에서 샘플링된 모든 가능한 궤적에 대해, 강화 학습 문제의 보상과 유사한 보상이 관찰될 수 있다. 전체 궤적의 보상 합계는 R을 사용하여 계산될 수 있다.
고차원 행동 공간을 갖는 전문가 정책은 함수 근사기를 사용하여 인코딩될 수 있다. 주어진 반복에서의 학생 정책은 전문가 정책 및 이전 반복에서 학생 정책에 의해 관찰된 학습을 사용하여 초기화될 수 있다. 업데이트된 학생 정책은 데이터 버퍼에 집계된 새 궤적을 샘플링하기 위해 사용될 수 있다. 이러한 데이터 버퍼에 대한 새로운 이해는 분류기(classifier)를 사용하여 근사화될 수 있다. 일부 실시형태에서, 분류기는 상태 행동 궤적의 스코어링 모델(scoring model)/가치 함수(value function)를 나타낼 수 있다.
전문가 정책의 가우시안 분포는 다음 버전의 전문가 정책 네트워크로 사용될 수 있다. 이 단계는 학생에게 도움이 될 수 있는 탐색적 측면으로 작용할 수 있다. 이러한 주기는, 초기 전문가 정책에 더 가까우면서도 더 높은 보상을 확보한 학생이, 저차원 행동 공간을 사용하여 잘 수행할 수 있는 최상의 후보로 선택될 때까지 반복될 수 있다.
반복될 때마다 전문가 정책이 제공하는 지침은 신경망에서 드롭아웃(dropout) 기능으로 구현된 가우시안 분포를 사용할 수 있다. 가우시안 분포는 전문가 정책 탐색을 유발할 수 있는 다른 함수로 대체될 수 있다.
일부 실시형태에서, 순방향-역방향-데이거는 네 개의 상이한 신경망을 포함하는 단일 그래프로서 구현될 수 있다: .
초기 전문가 정책 네트워크()는 인간으로부터 초기 전문가 궤적 데이터를 수집하고 초기 전문가 궤적 데이터를 초기 전문가 정책 네트워크()로 인코딩함으로써 생성될 수 있다. 예를 들어, 일부 실시형태에서, 센서(110)는 목표 프로세스를 수행하는 인간으로부터 초기 전문가 궤적 데이터를 캡처할 수 있다. 교사 컴퓨팅 시스템(102)은 학생 컴퓨팅 시스템(104)에 초기 전문가 궤적 데이터를 제공할 수 있다. 일부 실시형태에서, 센서(110)가 교사 컴퓨팅 시스템(102)에 초기 전문가 궤적 데이터를 제공하는 대신에, 센서(110)는 학생 컴퓨팅 시스템(104)에 직접 초기 전문가 궤적 데이터를 제공할 수 있다. 초기 전문가 정책 네트워크()는 학생 컴퓨팅 시스템(104)과 관련된 메모리에 저장될 수 있다. 예를 들어, 더 쉽고 빠른 가중치 전달을 가능하게 하기 위해, 초기 전문가 정책 네트워크()의 가중치는 메모리에 유지될 수 있다. 일부 실시형태에서, 전문가 정책에 의한 전문가 궤적의 재현성은 순방향-역방향-데이거에 적용 전에 검증될 수 있다.
현재 전문가 정책()은 초기 전문가 정책()으로 초기화될 수 있다. 주어진 반복에서, 현재 전문가 정책()은 현재 전문가 정책()의 이전 반복과 초기 전문가 정책() 모두로부터의 가중치 정보를 공유하도록 진화할 수 있다. 이러한 접근법은 인간 교사가 지시한 초기 전문가 정책()을 중심으로 진행하면서 현재 전문가 정책에 의해 수행된 탐색에 대한 집단적 이해를 제공할 수 있다. 또한, 현재 전문가 정책()은 학생이 저차원 행동 공간에서 환경을 학습하는 데 도움이 되는 탐색 궤적의 핵심 생성기일 수 있다.
현재 정책()은 학생 정책에 해당할 수 있다. 예를 들어, 현재 정책()은 환경에 적응하고 환경과 상호작용하기 위해 제어 시스템(118)에 의해 사용될 수 있다. 일부 실시형태에서, 현재 정책()은 탐색적인 현재 전문가 정책() 및 일반화된 현재 정책()으로부터 정보를 상속받을 수 있다. 현재 정책()은 환경을 샘플링하고 데이터 집계 과정에 참여하도록 설계될 수 있다. 그러나, 현재 정책()은 인간 또는 전문가 라벨을 생성하지 않으므로 순방향-역방향-데이거 알고리즘의 자동화를 용이하게 한다.
일반화된 현재 정책()은 집계된 데이터세트 상에서 일반화하는 실제 학습자에 해당할 수 있다. 검증 시 최고의 성능을 보이는 네트워크가 저차원 상태에서 잘 수행하는 학생으로 반환될 것이다.
도 3은 예시적인 실시형태에 따른 순방향-역방향-데이터 데이거의 개략도(300)를 도시하는 블록도이다. 도 4는 예시적인 실시형태에 따른 프로세스를 수행하도록 제어 시스템(118)을 훈련시키는 방법(400)을 도시하는 흐름도이다.
작동 시, 일반적으로 교사와 학생이 서로 다른 행동 공간을 갖는 것으로 가정한다. 이 토론을 위해, 교사 정책은 로 나타낼 수 있고, 학생 정책은 로 나타낼 수 있다. 따라서 교사의 행동 공간은 로 나타낼 수 있고, 학생의 행동 공간은 로 나타낼 수 있다. 주어진 정책을 검증하기 위해, 보상 합계 함수(sum-of-rewards function; R)이 사용될 수 있다. 입력으로서, 보상 합계 함수(R)는 해당 정책에 의해 유도된 궤적의 데이터 세트를 수신할 수 있고; 출력으로서, 보상 합계 함수(R)는 입력 궤적에 누적된 실수(real number)의 보상 합계일 수 있다. 주어진 정책 설정에서, 관리자 또는 운영자는 최소 및 최대 가능한 보상 합계(R min R max )를 선험적으로 알 수 있다.
프로세스는 단계 402에서 초기 교사 정책()으로 시작될 수 있다. 초기 교사 정책은 두 개의 혼합 매개변수()를 포함할 수 있다. α 매개변수는 현재 교사 정책()과 현재 학생 정책()이 현재 하이브리드 정책()에 결합되는 방식을 제어할 수 있다. α 매개변수는 지수 감소 함수(exponential decay function, )의 기반으로 사용될 수 있으며, 이 함수는 한 반복에서 다음 반복으로 넘어갈 때, 학생 정책()에 대한, 하이브리드 정책()에서의 교사 정책()의 급격하게 감소하는 중요성을 특정할 수 있다. γ 매개변수는 각각의 초기 교사 정책()과 현재 교사 정책()이 다음 교사 정책()에 결합될 수 있는 방법을 선형적으로 제어할 수 있다.
단계 404에서, 제어 시스템(118)은 궤적 데이터 세트(D)를 비어 있는 상태로 초기화할 수 있다. 제어 시스템(118)은 학생 정책 세트()로부터 초기 교사 정책()과 초기 학생 정책()을 설정할 수 있다.
단계 406에서, 제어 시스템(118)은 초기 교사 정책()에 의해 전달된 작업을 수행하는 방법을 학습할 수 있다. 예를 들어, 제어 시스템(118)은 이후 i에 대한 인덱싱을 N회 반복할 수 있으며, 여기서 i는 1의 초기 값을 가질 수 있다. 단계 406은 단계 408 내지 단계 422를 포함할 수 있다.
단계 408에서, 제어 시스템(118)은 현재 지수 혼합 계수(exponential mixture coefficient, )(여기서 )를 계산할 수 있다. 단계 410에서, 제어 시스템(118)은 현재 교사 정책()과 현재 학생 정책()의 지수 가중 혼합(exponentially weighted mixture)으로부터 현재 하이브리드 교사-학생 정책()을 생성할 수 있다.
단계 412에서, 제어 시스템(118)은 현재 하이브리드 정책()에 의해 유도된 T-단계 궤적 세트를 생성할 수 있다. 단계 414에서, 제어 시스템(118)은 현재 하이브리드 정책()의 상태로부터 상태-행동 쌍의 현재 궤적 데이터 세트(D i )를 생성할 수 있다. 단계 416에서, 제어 시스템(118)은 현재 궤적 데이터 세트(D i )를 통합 궤적 데이터 세트(D)에 추가할 수 있다.
단계 418에서, 제어 시스템(118)은 D에 대해 훈련된 분류기로부터 다음 학생 정책()을 생성할 수 있다. D i 을 기반으로 하는 정규화된 보상 합계라고 하자. 이는 현재 하이브리드 정책()이 교사의 원래 정책()을 어떻게 성공적으로 모방했는지를 나타내는 확률로서 취급될 수 있다. φρR min 으로 잘 거동하도록 1→0로 완만하게 감소하는 의 시그모이드 함수(sigmoid function)라고 하자.
단계 420에서, 제어 시스템(118)은 초기 교사 정책()과 현재 교사 정책()의 선형 가중 혼합으로부터 현재 하이브리드 원래-교사-현재-교사 정책()을 생성할 수 있다. 이러한 공식화를 통해 교사 정책의 진화에서 원래 교사 정책의 지속성을 지정할 수 있다.
단계 422에서, 제어 시스템(118)은 현재 하이브리드 교사-학생 정책()이 얼마나 잘 수행되었는지를 기반으로 현재 하이브리드 원래-교사-현재-교사 정책() 주변의 공간에서 무작위로 선택함으로써 다음 교사 정책()을 생성할 수 있는데, 이는 위에서 설명한 ρφ로 정량화되며, 가우시안 샘플링된 승수(Gaussian-sampled multiplier, )를 특징으로 한다. 일부 실시형태에서, 가우시안 샘플링된 승수는 교사 정책에 주입된 잡음의 추가에 해당할 수 있다. 예를 들어, i가 반복될 때마다 교사 정책()에 가우시안 잡음이 주입될 수 있다. 예를 들어, 를 사용한 데이터 샘플링은 불안정성과 관련된 문제를 극복할 것으로 예상된다. 를 사용하여 데이터 집계가 이루어질 수 있으므로 교사에 주입된 가우시안 잡음은 학생 정책에 탐색 효과를 일으킬 것으로 예상할 수 있다. 이러한 탐색 효과로 인해, 자체 행동 공간 차원에 의해 제약을 받는 학생 정책이 가 낮은 상태를 방문할 것으로 예상할 수 있다.
1에서 N까지의 i에 대한 반복이 완료되면, 단계 424에서 제어 시스템(118)은 최대 보상 합계()를 주는 궤적 데이터 세트()를 갖는 인덱스 값()을 계산할 수 있다. 단계 426에서 제어 시스템(118)은 인덱스가 인 교사 및 학생 정책을 반환할 수 있다.
도 5는 예시적인 실시형태에 따른 교사와 학생의 행동 공간을 도시하는 블록도(500)이다. 도시된 바와 같이, 블록도(500)는 고차원 행동 공간()(502)과, 저차원 행동 공간()(504) 및 상태 공간(S)(506)을 포함할 수 있다. 종래의 모방 학습 시나리오에서, 교사()와 학생() 모두에 대해 동일한 주어진 행동 공간(A) 내에서 전문가 정책이 모방된다. 이에 비해, 도 5에 도시된 현재 접근법은 고차원 행동의 모방을 사용하여 저차원 행동 공간에 대한 정책을 학습할 수 있다. 상태 공간(S)과 고차원 행동 공간() 사이의 알려진 매핑을 통해, 저차원 행동 공간()의 탐색을 안내하기 위해 피드백을 사용하여 좋은 정책을 찾을 수 있다.
도 6은 예시적인 실시형태에 따른 모방 학습 프로세스(600)를 도시하는 흐름도이다.
도시된 바와 같이, 단계 602에서, 학생 및 교사 정책은 시작 상태를 위해 초기화될 수 있다. 일부 실시형태에서, 학생 및 교사 정책은 서로 다른 행동 공간에서 작동하는 것으로 가정된다.
단계 604에서, 학생은 정해진 횟수만큼 학생의 환경을 반복할 수 있다. 반복할 때마다, 학생은 후대를 위해 상태-행동-보상 튜플(tuple)을 수집할 수 있다.
단계 606에서, 학생 정책은 최대 보상에 대해 최적화될 수 있다.
단계 608에서, 환경에 대한 학생 및 교사 모두에 대한 궤적이 생성된다.
단계 610에서, 교사와 비교하여 학생의 잘못된 행동을 따르는 궤적의 모든 행동에 대해, 학생 정책의 가중치는 교사 궤적으로부터의 편차를 최소화하도록 최적화될 수 있다.
단계 612에서, 시스템은 다음 교사 정책을 반복할 수 있다. 이러한 반복은 최상 또는 최적의 교사-학생 정책이 반환될 때까지 계속될 수 있다.
도 7A는 예시적인 실시형태에 따른 컴퓨팅 시스템(700)의 시스템 버스 아키텍처를 도시하고 있다. 시스템(700)은 학생 컴퓨팅 시스템(104)의 적어도 일부에 해당할 수 있다. 시스템(700)의 하나 이상의 구성요소는 버스(705)를 사용하여 서로 전기 통신할 수 있다. 시스템(700)은 읽기 전용 메모리(read only memory, ROM)(720)와 랜덤 액세스 메모리(random access memory, RAM)(725)와 같은 시스템 메모리(715)를 포함하는 다양한 시스템 구성요소를 프로세서(710)에 연결하는 처리 장치(CPU 또는 프로세서)(710) 및 시스템 버스(705)를 포함할 수 있다. 시스템(700)은, 프로세서(710)에 직접 연결되거나, 프로세서(710)에 근접하거나, 프로세서(710)의 일부로 통합된 고속 메모리 캐시를 포함할 수 있다. 시스템(700)은 프로세서(710)에 의한 빠른 액세스를 위해 메모리(715) 및/또는 저장 장치(730)로부터 캐시(712)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시(712)는 데이터를 기다리는 동안 프로세서(710) 지연을 피하는 성능 향상을 제공할 수 있다. 이러한 및 기타 모듈은 다양한 행동을 수행하도록 프로세서(710)를 제어할 수 있거나 제어하도록 구성될 수 있다. 다른 시스템 메모리(715)도 사용 가능할 수 있다. 메모리(715)는 서로 다른 성능 특성을 갖는 다수의 다양한 유형의 메모리를 포함할 수 있다. 프로세서(710)는, 소프트웨어 명령이 실제 프로세서 설계에 통합된 프로세서(710) 및 특수 목적 프로세서를 제어하도록 구성된, 저장 장치(730)에 저장된 서비스 1(732), 서비스 2(734) 및 서비스 3(736)과 같은, 범용 프로세서 및 하드웨어 모듈 또는 소프트웨어 모듈을 포함할 수 있다. 프로세서(710)는 본질적으로 다수의 코어 또는 프로세서, 버스, 메모리 컨트롤러, 캐시 등을 포함하는 완전히 독립적인 컴퓨팅 시스템일 수 있다. 다중 코어 프로세서는 대칭 또는 비대칭일 수 있다.
컴퓨팅 시스템(700)과의 사용자 상호작용을 가능하게 하기 위해, 입력 장치(745)는 음성 입력을 위한 마이크, 제스처 또는 그래픽 입력을 위한 터치 감지 스크린, 키보드, 마우스, 모션 입력, 음성 등과 같은 임의의 수의 입력 메커니즘에 해당할 수 있다. 출력 장치(735)(예를 들어, 디스플레이)는 또한 본 기술 분야의 숙련자 알려진 다수의 출력 메커니즘 중 하나 이상일 수 있다. 일부 예에서, 다중 모드 시스템은 사용자가 컴퓨팅 시스템(700)과 통신하기 위해 여러 유형의 입력을 제공할 수 있게 할 수 있다. 통신 인터페이스(740)는 일반적으로 사용자 입력 및 시스템 출력을 통제하고 관리할 수 있다. 특정 하드웨어 배열 상의 작동에 대한 제한이 없으므로, 개발될 때 기본 기능은 개선된 하드웨어 또는 펌웨어 배열로 쉽게 대체될 수 있다.
저장 장치(730)는 비휘발성 메모리일 수 있고, 자기 카세트, 플래시 메모리 카드, 반도체 메모리 장치, 디지털 범용 디스크, 카트리지, 랜덤 액세스 메모리(RAM)(725), 읽기 전용 메모리(ROM)(720) 및 이들의 하이브리드와 같은, 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 하드 디스크 또는 다른 유형의 컴퓨터 판독 가능 매체일 수 있다.
저장 장치(730)는 프로세서(710)를 제어하기 위한 서비스(732, 734 및 736)를 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈이 고려된다. 저장 장치(730)는 시스템 버스(705)에 연결될 수 있다. 일 양태에서, 특정 기능을 수행하는 하드웨어 모듈은, 해당 기능을 수행하기 위해 프로세서(710), 버스(705), 출력 장치(735) 등과 같은 필수 하드웨어 구성요소와 함께 컴퓨터 판독 가능 매체에 저장된 소프트웨어 구성요소를 포함할 수 있다.
도 7B는 학생 컴퓨팅 시스템(104)의 적어도 일부에 해당할 수 있는 칩셋 아키텍처를 갖는 컴퓨터 시스템(750)을 도시하고 있다. 컴퓨터 시스템(750)은 개시된 기술을 구현하는 데 사용될 수 있는 컴퓨터 하드웨어, 소프트웨어 및 펌웨어의 예일 수 있다. 시스템(750)은 식별된 계산을 수행하도록 구성된 소프트웨어, 펌웨어 및 하드웨어를 실행할 수 있는 임의의 수의 물리적 및/또는 논리적으로 구별되는 리소스에 해당하는 프로세서(755)를 포함할 수 있다. 프로세서(755)는 프로세서(755)에 대한 입력과 출력을 제어할 수 있는 칩셋(760)과 통신할 수 있다. 이 예에서, 칩셋(760)은 디스플레이와 같은 출력(765)에 정보를 출력하고, 예를 들어 자기 매체 및 반도체 매체를 포함할 수 있는 저장 장치(770)에 정보를 판독하고 기록할 수 있다. 칩셋(760)은 또한 RAM(775)으로부터 데이터를 판독하고 RAM에 데이터를 기록할 수 있다. 다양한 사용자 인터페이스 구성요소(785)와 인터페이스하기 위한 브리지(780)가 칩셋(760)과 인터페이스하기 위해 제공될 수 있다. 이러한 사용자 인터페이스 구성요소(785)는 키보드, 마이크, 터치 감지 및 처리 회로, 마우스와 같은 포인팅 장치 등을 포함할 수 있다, 일반적으로, 시스템(750)에 대한 입력은 다양한 소스, 기계 생성 및/또는 인간 생성 중 임의의 것으로부터 올 수 있다.
칩셋(760)은 또한 서로 다른 물리적 인터페이스를 가질 수 있는 하나 이상의 통신 인터페이스(790)와 인터페이스할 수 있다. 이러한 통신 인터페이스는 유선 및 무선 근거리 통신망, 광대역 무선 네트워크, 및 개인 통신망을 위한 인터페이스를 포함할 수 있다. 본원에 개시된 GUI를 생성하고, 디스플레이하며 사용하기 위한 방법의 일부 응용 프로그램은 물리적 인터페이스를 통해 정렬된 데이터세트를 수신하는 것을 포함하거나, 저장 장치(770) 또는 RAM(775)에 저장된 데이터를 분석하는 프로세서(755)에 의해 기계 자체에 의해 생성될 수 있다. 또한, 기계는 사용자 인터페이스 구성요소(785)를 통해 사용자로부터 입력을 수신할 수 있고, 프로세서(755)를 사용하여 이러한 입력을 해석함으로써 브라우징 기능과 같은 적절한 기능을 실행할 수 있다.
예시적인 시스템(700 및 750)이 하나 이상의 프로세서(710)를 가질 수 있거나, 더 큰 처리 능력을 제공하도록 함께 네트워크화된 컴퓨팅 장치의 그룹 또는 클러스터의 일부일 수 있음을 알 수 있다.
상기 내용은 본원에 기술된 실시형태에 관한 것이지만, 이의 기본 범위를 벗어나지 않고 다른 추가적인 실시형태가 고안될 수 있다. 예를 들어, 본 개시의 양태는 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 본원에 기술된 일 실시형태는 컴퓨터 시스템과 함께 사용하기 위한 프로그램 제품으로 구현될 수 있다. 프로그램 제품의 프로그램(들)은 (본원에 기술된 방법 포함하는) 실시형태의 기능을 정의하고, 다양한 컴퓨터 판독 가능 저장 매체에 포함될 수 있다. 예시적인 컴퓨터 판독 가능 저장 매체는 다음을 포함하지만 이에 제한되지 않는다: (i) 정보가 영구적으로 저장되는, 기록 불가능한 저장 매체(예를 들어, CD-ROM 드라이브에 의해 판독 가능한 CD-ROM 디스크와 같은 컴퓨터 내의 읽기 전용 메모리(ROM) 장치, 플래시 메모리, ROM 칩 또는 모든 유형의 반도체 비휘발성 메모리); 및 (ii) 변경 가능한 정보가 저장되는, 기록 가능한 저장 매체(예를 들어, 디스켓 드라이브 또는 하드 디스크 드라이브 내의 플로피 디스크 또는 모든 유형의 반도체 랜덤 액세스 메모리). 이러한 컴퓨터 판독 가능 저장 매체는 개시된 실시형태의 기능을 지시하는 컴퓨터 판독 가능 명령을 전달할 때 본 개시의 실시형태이다.
상기한 예는 예시적인 것이며 제한적이지 않음을 본 기술 분야의 숙련자는 이해할 것이다. 모든 순열, 향상, 등가물 및 개선은 명세서를 읽고 도면을 연구할 때 본 기술 분야의 숙련자에게 명백할 것이며 본 발명의 진정한 사상 및 범위 내에 포함된다. 따라서 다음의 첨부된 청구범위는 이러한 교시의 진정한 사상 및 범위 내에 속하는 모든 수정, 순열 및 등가물을 포함하는 것이다.

Claims (20)

  1. 제어 시스템을 훈련시키기 위한 방법으로서,
    컴퓨팅 시스템에 의해, 인간 작업자에 의해 생성된 궤적 예제를 식별하는 단계로서, 궤적 예제는 컴퓨팅 시스템의 제어 시스템에 의해 학습될 작업을 수행하는 동안의 인간 작업자의 궤적 정보를 포함하는, 단계;
    궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시키는 단계로서, 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함하는, 단계;
    컴퓨팅 시스템, 작업을 수행하는 로봇의 궤적 예제와 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별하는, 단계; 및
    업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    컴퓨팅 시스템에 의해, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계는:
    작업을 수행하는 로봇의 업데이트된 출력 궤적을 출력하는 단계를 포함하는, 방법.
  3. 제 2 항에 있어서,
    컴퓨팅 시스템, 작업을 수행하는 로봇의 궤적 예제, 출력 궤적, 업데이트된 궤적 예제 및 업데이트된 출력 궤적을 기반으로 인간 작업자에 의해 생성된 추가 업데이트된 궤적 예제를 식별하는 단계; 및
    추가 업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 추가 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    궤적 예제는 인간 작업자가 작업을 수행하는 제 1 환경으로부터 로봇이 작업을 수행하는 제 2 환경으로 투영되며, 제 1 환경은 제 2 환경보다 고차원 환경인, 방법.
  5. 제 4 항에 있어서,
    업데이트된 궤적 예제는 인간 작업자가 작업을 수행하는 제 1 환경으로부터 로봇이 작업을 수행하는 제 2 환경으로 투영되는, 방법.
  6. 제 1 항에 있어서,
    인간 작업자에 의해 수행되는 작업과 로봇에 의해 수행되는 작업 사이의 거리를 최소화하는 단계를 더 포함하는, 방법.
  7. 제 1 항에 있어서,
    작업은 제조 작업인, 방법.
  8. 시스템으로서,
    프로세서; 및
    이에 저장된 프로그래밍 명령을 구비한 메모리를 포함하고,
    프로그래밍 명령은, 프로세서에 의해 실행될 때, 시스템이:
    인간 작업자에 의해 생성된 궤적 예제를 식별하는 단계로서, 궤적 예제는 시스템의 제어 시스템에 의해 학습될 작업을 수행하는 동안에 인간 작업자의 궤적 정보를 포함하는, 단계;
    궤적 예제를 기반으로, 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시키는 단계로서, 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함하는, 단계;
    작업을 수행하는 로봇의 궤적 예제 및 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별하는 단계; 및
    업데이트된 궤적 예제를 기반으로, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 포함하는 작동을 수행하도록 하는, 시스템.
  9. 제 8 항에 있어서,
    업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계는:
    작업을 수행하는 로봇의 업데이트된 출력 궤적을 출력하는 단계를 포함하는, 시스템.
  10. 제 9 항에 있어서,
    작동은:
    작업을 수행하는 로봇의 궤적 예제, 출력 궤적, 업데이트된 궤적 예제 및 업데이트된 출력 궤적을 기반으로 인간 작업자에 의해 생성된 추가 업데이트된 궤적 예제를 식별하는 단계; 및
    추가 업데이트된 궤적 예제를 기반으로, 추가 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 더 포함하는, 시스템.
  11. 제 8 항에 있어서,
    궤적 예제는 인간 작업자가 작업을 수행하는 제 1 환경으로부터 로봇이 작업을 수행하는 제 2 환경으로 투영되며, 제 1 환경은 제 2 환경보다 고차원 환경인, 시스템.
  12. 제 11 항에 있어서,
    업데이트된 궤적 예제는 인간 작업자가 작업을 수행하는 제 1 환경으로부터 로봇이 작업을 수행하는 제 2 환경으로 투영되는, 시스템.
  13. 제 8 항에 있어서,
    작동은:
    인간 작업자에 의해 수행되는 작업과 로봇에 의해 수행되는 작업 사이의 거리를 최소화하는 단계를 더 포함하는, 시스템.
  14. 제 8 항에 있어서,
    작업은 제조 작업인, 시스템.
  15. 하나 이상의 명령 시퀀스를 포함하는 비일시적 컴퓨터 판독 가능 매체로서, 하나 이상의 명령 시퀀스는, 프로세서에 의해 실행될 때, 컴퓨팅 시스템이:
    컴퓨팅 시스템에 의해, 인간 작업자에 의해 생성된 궤적 예제를 식별하는 단계로서, 궤적 예제는 컴퓨팅 시스템의 제어 시스템에 의해 학습되는 작업을 수행하는 동안의 인간 작업자의 궤적 정보를 포함하는, 단계;
    궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 훈련시키는 단계로서, 제어 시스템을 훈련시키는 단계는 작업을 수행하는 로봇의 출력 궤적을 생성하는 단계를 포함하는, 단계;
    컴퓨팅 시스템, 작업을 수행하는 로봇의 궤적 예제 및 출력 궤적을 기반으로 인간 작업자에 의해 생성된 업데이트된 궤적 예제를 식별하는 단계; 및
    업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 포함하는 작동을 수행하도록 하는, 비일시적 컴퓨터 판독 가능 매체.
  16. 제 15 항에 있어서,
    컴퓨팅 시스템에 의해, 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계는:
    작업을 수행하는 로봇의 업데이트된 출력 궤적을 출력하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  17. 제 16 항에 있어서,
    컴퓨팅 시스템, 작업을 수행하는 로봇의 궤적 예제, 출력 궤적, 업데이트된 궤적 예제 및 업데이트된 출력 궤적을 기반으로 인간 작업자에 의해 생성된 추가 업데이트된 궤적 예제를 식별하는 단계; 및
    추가 업데이트된 궤적 예제를 기반으로, 컴퓨팅 시스템에 의해, 추가 업데이트된 궤적 예제에 예시된 작업을 수행하도록 제어 시스템을 계속 훈련시키는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  18. 제 15 항에 있어서,
    궤적 예제는 인간 작업자가 작업을 수행하는 제 1 환경으로부터 로봇이 작업을 수행하는 제 2 환경으로 투영되며, 제 1 환경은 제 2 환경보다 고차원 환경인, 비일시적 컴퓨터 판독 가능 매체.
  19. 제 18 항에 있어서,
    업데이트된 궤적 예제는 인간 작업자가 작업을 수행하는 제 1 환경으로부터 로봇이 작업을 수행하는 제 2 환경으로 투영되는, 비일시적 컴퓨터 판독 가능 매체.
  20. 제 15 항에 있어서,
    인간 작업자에 의해 수행되는 작업과 로봇에 의해 수행되는 작업 사이의 거리를 최소화하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
KR1020237032454A 2021-02-25 2022-02-25 제조 환경에서의 모방 학습 KR20230147710A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163153811P 2021-02-25 2021-02-25
US63/153,811 2021-02-25
PCT/US2022/017943 WO2022183016A1 (en) 2021-02-25 2022-02-25 Imitation learning in a manufacturing environment

Publications (1)

Publication Number Publication Date
KR20230147710A true KR20230147710A (ko) 2023-10-23

Family

ID=82900707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237032454A KR20230147710A (ko) 2021-02-25 2022-02-25 제조 환경에서의 모방 학습

Country Status (6)

Country Link
US (1) US20220269254A1 (ko)
EP (1) EP4298562A1 (ko)
JP (1) JP2024508805A (ko)
KR (1) KR20230147710A (ko)
CN (1) CN116964593A (ko)
WO (1) WO2022183016A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220226994A1 (en) * 2020-07-20 2022-07-21 Georgia Tech Research Corporation Heterogeneous graph attention networks for scalable multi-robot scheduling

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI427558B (zh) * 2010-12-06 2014-02-21 Ind Tech Res Inst 遮蔽骨架之位置估算系統、遮蔽骨架之位置估算方法及遮蔽骨架之重建方法
US9346167B2 (en) * 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US9592608B1 (en) * 2014-12-15 2017-03-14 X Development Llc Methods and systems for providing feedback during teach mode
CN107921634B (zh) * 2015-08-25 2021-04-02 川崎重工业株式会社 机器人系统
US9776323B2 (en) * 2016-01-06 2017-10-03 Disney Enterprises, Inc. Trained human-intention classifier for safe and efficient robot navigation
CN112088070A (zh) * 2017-07-25 2020-12-15 M·奥利尼克 用于操作机器人系统并执行机器人交互的系统及方法
US10828775B2 (en) * 2017-09-26 2020-11-10 Siemens Aktiengesellschaft Method and system for automatic robot control policy generation via CAD-based deep inverse reinforcement learning
US11214268B2 (en) * 2018-12-28 2022-01-04 Intel Corporation Methods and apparatus for unsupervised multimodal anomaly detection for autonomous vehicles
CN113677485A (zh) * 2019-01-23 2021-11-19 谷歌有限责任公司 使用基于元模仿学习和元强化学习的元学习的用于新任务的机器人控制策略的高效自适应
EP3747604B1 (en) * 2019-06-07 2022-01-26 Robert Bosch GmbH Robot device controller, robot device arrangement and method for controlling a robot device
JP7124797B2 (ja) * 2019-06-28 2022-08-24 トヨタ自動車株式会社 機械学習方法および移動ロボット
US20230089978A1 (en) * 2020-01-28 2023-03-23 Five AI Limited Planning in mobile robots
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data

Also Published As

Publication number Publication date
JP2024508805A (ja) 2024-02-28
WO2022183016A1 (en) 2022-09-01
EP4298562A1 (en) 2024-01-03
CN116964593A (zh) 2023-10-27
US20220269254A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
Radev et al. BayesFlow: Learning complex stochastic models with invertible neural networks
US11941719B2 (en) Learning robotic tasks using one or more neural networks
CN108932549B (zh) 倾听、交互和交谈:通过交互学习说话
WO2017159614A1 (ja) 学習サービス提供装置
US11651214B2 (en) Multimodal data learning method and device
US10810018B2 (en) Device with extensibility
Balakrishnan et al. Structured reward shaping using signal temporal logic specifications
JP6614466B2 (ja) 能力付与データ生成装置
US10650315B2 (en) Automatic segmentation of data derived from learned features of a predictive statistical model
EP4163833A1 (en) Deep neural network model design enhanced by real-time proxy evaluation feedback
Yin et al. Synthesizing robotic handwriting motion by learning from human demonstrations
JP2019101907A (ja) 物体間関係認識装置、学習済みモデル、認識方法及びプログラム
KR20230147710A (ko) 제조 환경에서의 모방 학습
Langsfeld Learning task models for robotic manipulation of nonrigid objects
Nazarczuk et al. V2A-Vision to Action: Learning robotic arm actions based on vision and language
CN116968024A (zh) 获取用于生成形封闭抓取位姿的控制策略的方法、计算设备和介质
WO2023167817A1 (en) Systems and methods of uncertainty-aware self-supervised-learning for malware and threat detection
Yin et al. Learning cost function and trajectory for robotic writing motion
KR20230068989A (ko) 멀티-태스크 모델의 학습을 수행하는 방법 및 전자 장치
US20220207413A1 (en) Loss augmentation for predictive modeling
CN112840353B (zh) 自动生成图像并在训练中输入图像的系统、方法和介质
Altmann et al. Challenges for Reinforcement Learning in Quantum Computing
KR102324634B1 (ko) 모바일 앱 사용자의 빅데이터 분석 모델 실시간 생성을 위한 딥러닝 오차 최소화 시스템 및 그 제어방법
Grosvenor et al. Simulation Workflows in Minutes, at Scale for Next-Generation HPC
Danielsen Vision-based robotic grasping in simulation using deep reinforcement learning