KR20230075497A - 파레토 프론트 최적화를 사용한 제약된 강화 학습 신경망 시스템 - Google Patents

파레토 프론트 최적화를 사용한 제약된 강화 학습 신경망 시스템 Download PDF

Info

Publication number
KR20230075497A
KR20230075497A KR1020237014254A KR20237014254A KR20230075497A KR 20230075497 A KR20230075497 A KR 20230075497A KR 1020237014254 A KR1020237014254 A KR 1020237014254A KR 20237014254 A KR20237014254 A KR 20237014254A KR 20230075497 A KR20230075497 A KR 20230075497A
Authority
KR
South Korea
Prior art keywords
neural network
preference
value
action selection
action
Prior art date
Application number
KR1020237014254A
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 KR20230075497A publication Critical patent/KR20230075497A/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
    • 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/045Combinations of networks
    • 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/096Transfer learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

하나 이상의 제약조건에 따라 작업을 수행하도록 에이전트를 제어하는 시스템 및 방법이다. 시스템은 어떤 선호도(기본 설정)가 제약조건 충족 액션 선택 정책을 생성하는지 학습하는 선호도 신경망을 트레이닝한다. 따라서 시스템은 선호도 정책과 선호도-조건(preference-conditioned) 액션 선택 정책의 산물인 계층적 정책을 최적화한다. 따라서 시스템은 작업 중에 받은 보상 및 비용과 관련된 목적 세트를 공동으로 최적화하는 방법을 학습하는 동시에 선호도, 즉 제약 조건을 충족하는 정책을 생성할 가능성이 가장 높은 보상과 비용 간의 절충을 학습한다.

Description

파레토 프론트 최적화를 사용한 제약된 강화 학습 신경망 시스템
본 출원은 2020년 10월 2일에 출원된 미국 가출원 번호 63/087,123에 대한 우선권을 주장한다. 선행 출원의 개시 내용은 본 출원의 개시 내용의 일부로 간주되고 참조로 포함된다.
본 명세서는 신경망을 사용하여 에이전트들을 제어하는 것에 관한 것이다.
신경망은 수신된 입력에 대한 출력을 예측하기 위해 비선형 단위의 하나 이상의 계층을 사용하는 기계 학습 모델이다. 일부 신경망에는 출력 계층 외에 하나 이상의 은닉 계층이 포함된다. 각 은닉 계층의 출력은 네트워크의 다음 계층, 즉 다음 은닉 계층 또는 출력 계층의 입력으로 사용된다. 네트워크의 각 계층은 개별 파라미터 세트의 현재 값에 따라 수신된 입력으로부터 출력을 생성한다.
본 명세서는 하나 이상의 제약조건에 따라 작업(task)을 수행하도록 에이전트를 제어하는 하나 이상의 위치에 있는 하나 이상의 컴퓨터 상의 컴퓨터 프로그램으로 구현되는 시스템 및 방법을 기술한다.
이는 어떤 선호도(preference, 기본 설정)가 제약조건을 충족하는 액션 선택 정책을 생성하는지 학습하는 선호도 신경망을 트레이닝함으로써 달성된다. 보다 구체적으로 시스템은 선호도 정책과 선호도-조건(부)(preference-conditioned) 액션 선택 정책의 산물인 계층적 정책을 최적화한다. 따라서 시스템은 작업 중에 받은 보상 및 비용과 관련된 목표 세트를 공동으로 최적화하는 방법을 학습하는 동시에 선호도, 즉 제약조건을 충족하는 정책을 생성할 가능성이 가장 높은 보상과 비용 간의 절충(trade-offs)을 학습한다.
일반적으로, 작업은 에이전트 제어 작업이다. 하나의 예로서 작업은 실세계 환경 내에서 에이전트가 목표를 달성하도록 기계적 에이전트를 제어하는 것을 포함할 수 있다. 예를 들어 에이전트는 로봇 또는 자율 또는 반자율 차량일 수 있으며, 작업은 에이전트가 환경의 다른 위치로 이동하게 하는 것, 에이전트가 다른 객체를 찾게 하는 것, 에이전트의 하나 이상의 부분이 움직이게 하는 것, 예를 들어 객체를 집거나 객체를 지정된 위치로 이동시키기 위해 에이전트가 객체를 조작하게 하는 것 등을 포함할 수 있다. 제약조건의 예에는 작업을 수행하는 동안 소비되는 에너지, 작업 중에 액추에이터가 가하는 힘 또는 작업 중에 발생하는 물리적 소모 측정에 대한 제약과 같은 에이전트의 움직임에 대한 물리적 제약이 포함된다.
본 명세서에 기술된 주제는 다음의 이점 중 하나 이상을 실현하기 위해 특정 실시예로 구현될 수 있다.
설명된 시스템의 일부 구현은 작업을 수행할 때 더 큰 보상을 얻을 수 있고 및/또는 제약조건을 더 잘 충족할 수 있다는 점에서 기존 접근 방식보다 더 나은 성능을 발휘하는 액션 선택 정책을 식별할 수 있다. 시스템의 구현은 또한 기존 기술보다 샘플 효율적, 즉, 기존 기술보다 더 적은 트레이닝 데이터에서 더 빠르게 학습할 수 있다. 이것은 제약조건에 따라 작업을 학습하는데 필요한 계산 및 메모리 요구 사항을 줄일 수 있다. 이는 또한 방법 및 시스템이 예를 들어 작업을 수행하기 위한 정책의 파레토 프론트(Pareto front)가 오목한 경우 다른 접근 방식이 제대로 학습하지 못하거나 전혀 학습하지 않는 제한된 작업을 수행하는 방법을 학습할 수 있다.
설명된 시스템은 보상(들)과 비용(들)이 충돌할 때 작업을 수행하는 방법을 학습할 수 있다. 제약조건을 충족시키기가 어려울수록 작업 수행 및 보상 획득과 더 많이 충돌한다. 기존의 일부 접근 방식은 제약조건을 충족하기 위해 탐색을 금지하기 때문에 최적이 아닌 작업 성능에만 도달한다. 설명된 시스템은 상이한 선호도에 대한 액션 선택 정책들에 대한 앙상블을 효과적으로 유지하여 로컬 최적해(optimum)에 걸릴 가능성을 줄이고 더 나은 탐색을 가능하게 한다. 이 시스템은 나중에 설명하는 바와 같이, 사용된 적합성 함수에 따라 다양한 종류의 제약조건을 수용할 수 있다.
기술된 시스템은 유연하며 다양한 제약조건을 충족하는 액션 선택 정책을 찾을 수 있다. 따라서 시스템은 선호도 설정의 분포에 걸쳐 단일 액션 선택 정책을 학습하고 동시에 제약조건(들)을 충족하는 선호도 설정들에 대한 분포를 학습할 수 있다. 이것은 또한 사용할 특정 액션 선택 정책에 대한 사용자 결정을 알리는데 도움이 될 수 있다.
시스템의 구현은 실제 로봇 또는 다른 기계적 에이전트에 의해 수행되며 종종 특정 제약조건을 충족하는 액션 선택 정책이 필요한 작업에 특히 유용하다. 또한 환경과의 반복적인 상호 작용으로 인한 소모 및 기계적 고장 위험이 감소될 수 있다.
설명된 기술의 구현은 임의의 특정 강화 학습 알고리즘과 함께 사용하도록 제한되지 않으며 다양한 강화 학습 알고리즘 범위에 적용될 수 있다. 이 기술은 하나 또는 다수의 제약조건에 따라 단일 작업을 학습하는데 사용될 수 있거나 다수의 상이한 제약조건에 따라 다수의 작업을 학습하는데 사용될 수 있다.
본 명세서의 주제의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 아래의 설명에서 설명된다. 본 발명의 다른 특징, 양태 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 액션 선택 시스템의 예를 도시한다.
도 2는 액션 선택 시스템의 특정 예의 세부 사항을 도시한다.
도 3은 액션 선택 시스템을 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 액션 선택 정책 신경망의 파라미터를 업데이트하는 예시적인 프로세스의 흐름도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
도 1은 하나 이상의 위치에 있는 하나 이상의 컴퓨터 상의 하나 이상의 컴퓨터 프로그램으로 구현될 수 있는 액션 선택 시스템(100)의 예를 도시한다. 액션 선택 시스템(100)은 강화 학습 기술을 사용하여 하나 이상의 작업(task)을 수행하기 위해 환경과 상호 작용하는 에이전트를 제어하는데 사용된다.
액션 선택 시스템(100)은 환경의 상태를 특징짓는 환경으로부터 데이터, 예를 들어 하나 이상의 환경 센서의 데이터를 수신하기 위한 하나 이상의 입력을 갖는다. 환경의 상태를 특징짓는 데이터는 본 명세서에서 관찰(106)로 지칭된다.
환경으로부터의 데이터는 또한 작업 보상을 포함할 수 있다. 일반적으로 작업 보상(108)은 작업 목표를 향한 에이전트의 진행을 특징짓는 스칼라 수치 값으로 표현되며 환경의 임의의 이벤트 또는 환경의 임의의 측면을 기반으로 할 수 있다. 작업 보상은 작업이 진행됨에 따라 또는 예를 들어, 작업의 성공적인 완료를 나타내기 위해 작업이 끝날 때만 받을 수 있다.
환경으로부터의 데이터는 또한 하나 이상의 작업 비용(110), 예를 들어 액션(행동)을 수행하기 위한 에너지 비용 또는 에이전트와 객체의 충돌로 인해 발생하는 비용을 포함할 수 있다. 본 명세서에서 사용된 바와 같이 비용은 음의 보상과 동일하다.
이하에서 더 설명되는 바와 같이, 액션 선택 시스템(100)은 하나 이상의 개별 비용에 대한 하나 이상의 제약조건에 따라 하나 이상의 작업을 수행하도록 구성된다. 제약조건은 비용이 제약되는 임계치 또는 한계치를 제공하는 값일 수 있다. 설명된 시스템 및 방법의 일반적인 구현은 제약조건(들) 내에서 비용(들)을 유지하면서 보상(들)을 최대화하도록 에이전트를 제어하는 것을 목표로 한다.
액션 선택 시스템(100)은 또한 환경(104)에서 에이전트의 액션들을 제어하기 위해 에이전트(102)에 제어 신호를 제공하는 출력을 갖는다. 일반적으로, 에이전트가 액션을 수행할 때 환경은 현재 상태에서 새로운 상태로 전환(transitions)되고, 에이전트(102)가 환경(104)에서 반복적으로 액션하게 함으로써 액션 선택 시스템(100)은 작업(들)을 수행하도록 에이전트(102)를 제어할 수 있다. 에이전트 액션(행동)은 가능한 액션 세트 또는 연속 액션, 즉 모터 토크 등과 같은 연속 변수로 정의되는 액션으로부터 선택된 이산 액션일 수 있다. 액션 선택 시스템(100)은 환경의 상태에 대한 관찰, 보상 및 비용을 수신하고, 이들을 처리하여 에이전트에 제어 신호를 제공하여 에이전트가 작업(들)을 수행하게 한다.
보다 상세하게는, 액션 선택 시스템(100)은 작업(들)을 수행하기 위해 다수의 시간 단계 각각에서 에이전트(102)에 의해 수행될 액션(112)을 선택한다. 각 시간 단계에서, 액션 선택 시스템(100)은 관찰(106), 예를 들어 환경의 이미지를 수신하고, 수신된 관찰에 응답하여 에이전트(114)에 의해 수행될 액션(112)을 선택한다. 각 시간 단계에서 관찰로 특징지어지는 시간 단계의 환경 상태는 이전 시간 단계의 환경 상태와 이전 시간 단계에서 에이전트에 의해 수행된 작업에 따라 달라진다. 각 시간 단계에서, 액션 선택 시스템(100)은 환경의 현재 상태 및 그 시간 단계에서의 에이전트의 액션에 기초하여 보상(108) 및/또는 비용(110)을 수신할 수 있다. 액션 선택 시스템(100)은 수신된 보상 및 비용을 사용하여 트레이닝된다.
예를 들어, 에이전트는 환경 내에서 움직이거나 환경에서 객체를 물리적으로 조작함으로써 실세계 환경과 상호 작용하는 로봇 에이전트일 수 있다. 이어서 관찰에는 관절 또는 에이전트의 다른 부분의 위치 또는 움직임 상태에 대한 관찰, 및 예를 들어 하나 이상의 이미지 또는 센서 데이터와 같이 환경에 있는 하나 이상의 객체의 위치 또는 움직임 상태에 대한 관찰이 포함될 수 있다. 액션 선택 시스템(100)은 예를 들어 에이전트 및/또는 에이전트의 일부를 이동시키기 위해 액션을 수행하도록 에이전트를 제어하기 위한 제어 신호를 제공한다. 보상은 작업의 완료 또는 작업의 완료를 향한 진행 상황을 나타낼 수 있고, 비용은 예를 들어 에이전트의 에너지 소비 또는 소모(wear), 또는 제약할 유형의 환경과 에이전트의 상호 작용을 나타낼 수 있다. 액션이 수행된 후 다음 관찰은 환경의 후속 상태, 즉 액션의 효과를 특징짓는다.
액션 선택 시스템(100)은 액션 선택 정책에 따라 관찰(106)에 응답하여 액션(112)을 선택하기 위한 복수의 액션 선택 정책 신경망 파라미터를 갖는 액션 선택 정책 신경망(120)을 포함한다. 액션 선택 정책 신경망은 조건부, 즉, 선호도(preference, 기본 설정) 설정 벡터(132)를 포함하는 선호도 벡터 입력에 의존하는 출력을 생성하고, 각 선호도 설정은 보상 또는 비용 중 하나의 다른 것에 대한 상대적 우선 순위, 즉, 대응하는 타겟(대상) 목적 세트의 상대적 우선 순위를 정의한다.
하나 이상의 보상(108) 각각과 하나 이상의 비용(110) 각각은 대응하는 타겟 목적를 갖는다. 타겟 목적는 에이전트가 예를 들어 개별 Q-값으로 표시되는 것과 같이 다수의 시간 단계에 걸쳐 환경과 상호 작용할 때 받는 보상 또는 비용의 추정된 누적 측정값과 관련되거나 이를 포함할 수 있다. 누적 측정값은 기대 수익으로 지칭될 수 있다. 보상의 경우, 타겟 목적는 기대 수익을 최대화하는 것일 수 있다. 비용의 경우 타겟 목적는 마찬가지로 부정적인 보상에 대한 기대 수익을 최대화하는 것, 즉 예상 누적 비용을 최소화하는 것일 수 있다.
액션 선택 시스템(100)은 또한 복수의 선호도 신경망 파라미터를 갖는 선호도 신경망(130)을 포함한다. 선호도 신경망(130)은 예를 들어 분포에서 샘플링함으로써 선호도 설정 벡터(132)를 생성하기 위한 선호도 분포를 정의한다. 일부 구현에서 선호도 신경망(130)은 또한 환경의 상태, 즉 도 1에 점선으로 표시된 바와 같이 상태의 관찰에 대해 조건화될 수 있다.
각 시간 단계에서 액션 선택 시스템(100)은 액션 선택 정책 신경망(120)의 출력을 사용하여 에이전트(102)에 의해 수행될 액션(112)을 선택한다. 이것은 여러 가지 방법으로 수행될 수 있다. 예를 들어 출력은 액션을 직접 정의할 수 있는데, 이것은 예를 들어 토크 또는 속도와 같은 액션에 대한 연속 값을 정의하는데 사용되는 값을 포함할 수 있거나, 액션을 정의하는 값이 선택될 수 있는 연속적 또는 범주적 분포를 정의할 수 있거나, 액션 선택에 사용하기 위해 가능한 액션 세트의 각 액션에 대해 하나씩 스코어 세트를 정의할 수 있다.
각 시간 단계에서 액션 선택 정책 신경망(120)은 관찰(106)로부터의 데이터 및 선호도 신경망(130)의 출력에 의해 정의된 분포로부터 샘플링된 선호도 설정 벡터(132)를 수신하고 처리, 예를 들어 시간 단계에서 선호도 설정 벡터를 샘플링한다. 선택적으로, 선호도 설정의 동일한 샘플링된 벡터는 다수의 시간 단계에서 사용될 수 있다. 액션 선택 정책 신경망(120)의 출력은 에이전트에 의해 수행될 액션을 선택하고 하나 이상의 보상과 하나 이상의 비용을 수신하는데 사용된다. 액션에 응답하여 환경으로부터 하나 이상의 보상이 수신된다. 하나 이상의 비용은 환경으로부터 수신될 수 있거나, 예를 들어 에너지 소비에 대한 근사치로 간주될 수 있는 액션을 정의하는 벡터의 음의 L2-놈(norm)으로부터 액션에 기초하여 결정될 수 있다. 일부, 잠재적으로 많은 시간 단계에서 보상 또는 비용은 0이거나 null일 수 있다.
액션 선택 시스템(100)은 시스템을 트레이닝하도록 구성된 트레이닝 엔진(140)을 포함한다. 시스템을 트레이닝하는 것은 특히 선호도 설정 벡터에 의해 정의된 선호도(우선 순위)에 따라 타겟 목적 세트를 공동으로 최적화하기 위해, 선호도 신경망 파라미터를 고정하는 것 및 액션 선택 정책 신경망 파라미터를 조정하는 것을 포함한다. 트레이닝하는 것은 액션 선택 정책 신경망 파라미터를 고정하는 것 및 하나 이상의 제약조건 각각이 하나 이상의 개별 비용에 의해 충족되는지 여부에 따라 제약 목적를 최적화하기 위해 선호도 신경망 파라미터를 조정하는 것을 더 포함한다. 구현에서 제약 목적은 하나 이상의 제약조건이 충족되는 정도를 나타내며 하나 이상의 적합성 값으로 정의될 수 있다.
따라서 시스템의 구현은 액션 선택 시스템(100), 특히 액션 선택 정책 신경망(120)이 선호도 설정 벡터에 의해 정의된 타겟 목적의 상대적 우선 순위에 기초하여 최적의 액션 선택 정책을 향하도록 타겟 목적 세트를 공동으로 최적화한다. 그런 다음 이러한 선호도는 현재 액션 선택 정책이 고정된 제약조건에 기초하여 조정된다. 따라서 시스템은 액션 선택 정책 개선과 타겟 목적 선호도 정책 개선 사이를 번갈아 가며 수행할 수 있으며, 반복적으로 최적이고 제약조건을 충족하는 액션 선택 정책으로 수렴할 수 있다.
일부 구현에서, 트레이닝 단계는 액션 선택 정책 신경망(120)을 트레이닝하기 위해 한 단계를 취하고 이어서 선호도 신경망(130)을 트레이닝하기 위해 한 단계를 번갈아 수행하지만, 일반적으로 트레이닝 시간 척도는 다를 수 있다. 예를 들어 액션 선택 정책 신경망(120)은 초기 선호도 분포에 기초하여 일부 최적성(optimality) 조건이 충족될 때까지 트레이닝될 수 있고, 이어서 선호도 신경망(130)은 선호도 분포에 대한 최적성 조건이 충족될 때까지 트레이닝될 수 있다. 일반적으로 여기에는 각 트레이닝 단계에 대해 다수의 액션 선택 시간 단계가 있다.
선호도 조건부 액션 선택 정책을 트레이닝할 수 있는 임의의 다목적 강화 학습 프로세스가 액션 선택 정책 신경망(120)을 트레이닝하는데 사용될 수 있다. 유사하게 임의의 단일 또는 다목적 강화 학습 프로세스가 선호도 신경망(130)을 트레이닝하는데 사용될 수 있다. 단일 목적 강화 학습 프로세스가 사용되고 다수의 제약조건이 존재하는 경우(예를 들어, 다수의 개별 적합성 값으로 정의되는 경우), 제약조건들은 결합될 수 있으며, 예를 들어 적합성 값들은 결합된 적합성 값을 얻기 위해 합산될 수 있다.
시스템의 구현은 제약조건을 만족하는 최적의 액션 선택 정책이 파레토 최적(Pareto optimal)이라는 인식에 기초한다. 파레토 프론트(Pareto front)는 파레토 최적 정책 세트로 정의될 수 있다. 파레토 최적 정책은 액션 선택 정책의 하나의 타겟 목적로부터의 수익이 다른 타겟 목적로부터의 수익 감소, 예를 들어 비용 증가(음의 수익)없이는 개선될 수 없는 액션 선택 정책으로 정의될 수 있다. 제약이 없는 다목적 강화 학습에는 단일 최적 정책은 없지만 파레토 프론트를 정의하는 세트가 있다.
반직관적으로, 제약 목적에 따라 최적화를 직접 시도하는 대신, 시스템의 구현은 다목적 강화 학습을 사용하여 파레토 프론트를 학습하고, 별도의 문제로서 순차적으로 또는 동시에 해결하기 위해 제약조건을 충족할 가능성이 있는 파레토 프론트의 일부를 식별한다. 이것은 최적의 제약조건을 충족하는 액션 선택 정책이 파레토 프론트 상에 있다는 인식에 기반한다(마치 파레토 프런트 정의와 모순되는 더 높은 수익을 제공하는 다른 제약조건-충족 정책이 없는 것처럼). 따라서 시스템의 구현은 사실상 수익을 최대화하는 제약조건을 충족하는 액션 선택 정책을 찾기 위해 파레토 프론트을 따라 검색한다.
따라서 트레이닝의 효과는 타겟 목적 세트가 파레토 프론트를 향해(towards) 최적화되도록 액션 선택 정책 신경망 파라미터들이 조정되고, 타겟 목적 세트가 제약조건이 충족되는 파레토 프런트 영역, 즉 선호도 분포로 정의된 영역을 향해 최적화되도록 선호도 신경망 파라미터들이 조정된다는 것이다.
구현에서 제약 목적은 하나 이상의 제약조건 각각에 대한 개별 제약 피팅(fitting) 함수의 값을 결정함으로써 정의된다. 제약 목적에 대한 제약 피팅 함수의 값은 본 명세서에서 적합성(fitness) 값이라고도 지칭된다. 적합성 값은 선호도 설정 벡터에 의존하며 (현재 액션 선택 정책 신경망 파라미터가 주어지면) 개별 제약조건이 개별 비용에 의해 충족되는지 여부를 평가한다.
도 2는 액션 선택 시스템(100)의 특정 예의 세부사항을 도시한다. 시스템은 액션 선택 정책 신경망(120)에 의해 구현된 선호도 조건부 액션 선택 정책을 트레이닝하기 위한 다목적 강화 학습 프로세스를 구현하도록 구성된다.
도 2의 액션 선택 시스템(100)은 전환(transition), 즉 에이전트가 각 시간 단계에서 환경과 상호 작용한 결과로서 생성한 관찰-액션-보상 궤적을 저장하는 재생 버퍼(150)를 유지한다. 각 전환은 현재 관찰을 정의하는 튜플(tuple), 관찰에 응답하여 에이전트가 수행하는 액션(행동), 환경의 다음 상태를 특징짓는 다음 관찰, 에이전트가 현재 액션을 수행하는 것에 응답하여 받은 보상(들), 및 해당 비용(들)을 포함한다. 그러나 일부 다른 구현에서 학습은 온라인으로 수행될 수 있으며 재생 버퍼는 생략될 수 있다.
시스템은 또한 Q-값 신경망(160) 세트를 유지하는데, 각 타겟 목적에 대해 하나씩, 즉 하나 이상의 보상(108) 각각에 대해 하나 및 하나 이상의 비용(110) 각각에 대해 하나씩이다. 실제로 Q-값 신경망(160)은 다수의 머리를 가진 공통 신경망 몸통(torso)으로 구현될 수 있다. 각각의 Q-값 신경망은 복수의 Q-값 신경망 파라미터를 가지며 액션(행동)에 대한 액션-값(가치) 점수를 정의하기 위한 Q-값 출력을 생성하기 위해 액션, 관찰 및 선호도 설정 벡터를 포함하는 입력을 처리하도록 구성된다. Q-값 출력은 액션-값 점수를 직접 정의할 수 있거나 예를 들어 액션-값 점수가 도출될 수 있는 대각선 공분산 행렬을 갖는 분포, 예를 들어 가우시안 분포를 파라미터화할 수 있다.
Q-값 신경망은 재생 버퍼(150)의 전환을 사용하여 트레이닝될 수 있다. 구현에서 선호도 설정의 벡터는 재생 버퍼에 저장되지 않으며 이 벡터의 값은 각 전환에 추가된다. 이는 각각의 전환에 대해, 현재 선호도 신경망 파라미터들을 사용하여 선호도 신경망(130)의 출력에 의해 정의된 선호도 분포로부터 샘플링함으로써 행해질 수 있다. 저장된 전환들에 대한 이러한 후견적 재라벨링(re-labelling)은 트레이닝을 안정화하고 샘플 효율성을 개선하는데 도움이 될 수 있다.
Q-값 신경망은 임의의 Q-학습 기술을 사용하여 트레이닝될 수 있다. 예를 들어 분포 Q-값 및 N-단계(예를 들어, 5 단계) 수익의 경우, arXiv:1804.08617(D4PG)에 설명된 접근 방식이 사용될 수 있다. 일반적으로 현재 파라미터 세트를 갖는 현재 버전과 이전 파라미터 세트를 갖는 타겟 버전이라는 2가지 버전의 Q-값 신경망이 유지되며, Q-값 신경망은 타겟 버전을 사용하여 계산된 시간차 오차(temporal difference error)에 기초하여 트레이닝된다. 주기적으로 이전 파라미터 세트는 현재 파라미터 세트로 대체된다.
구현에서 시스템은 제약 조건에 의해 제약되는 비용의 타겟 목적에 대응하는 Q-값 신경망의 Q-값 출력으로부터, 제약에 대한 제약 피팅 함수의 적합성 값을 결정하도록 구성된다. Q-값 출력은 선호도 설정의 벡터에 따라 다르다. 일부 구현에서 이것은 선호도 신경망(130)의 출력에 의해 정의된 선호도 분포로부터, 예를 들어, 에이전트가 작업을 수행하려고 시도하는 작업 에피소드의 시작에서(및 적합성 값은 상태에 대한 기대치임) 획득될 수 있다. 일부 다른 구현에서 선호도 신경망(130)은 환경의 상태, 즉 관찰에 조건화되고 선호도 설정 벡터는 각 시간 단계에서 샘플링될 수 있다.
앞서 언급한 바와 같이 제약 목적은 하나 이상의 제약 조건이 충족되는 정도를 나타내며, 하나 이상의 적합성 값에 의해 정의될 수, 즉 이를 사용하여 결정될 수 있다. 임의의 단일 목적 또는 다목적 강화 학습 프로세스는 하나 이상의 적합성 값을 최적화, 예를 들어 최대화하기 위해 선호도 신경망(130)을 트레이닝하는데 사용될 수 있다. 예를 들어 제약 목적이 목적 세트를 포함하는 경우, 각각의 제약에 대해 하나씩, 예를 들어 MO-MPO(arXiv:2005.07513)와 같은 다목적 강화 학습 기술이 사용될 수 있다. 선택적으로 선호도 신경망 파라미터는 신뢰 영역, 즉 선호도 분포가 변경될 수 있는 정도에 대한 한계(bound)에 따라 조정될 수 있다.
특정 예에서, k번째 비용에 대한 등식(equality) 제약(ck)에 대한 제약 피팅(적합) 함수 또는 적합성 함수(
Figure pct00001
)의 값은 다음을 평가함으로써 결정된다.
Figure pct00002
여기서 ε는 선호도의 벡터이고, s는 재생 버퍼(150)로부터 샘플링된 전환의 상태(즉, 관찰)이고,
Figure pct00003
는 k번째 비용에 대해 Q-값 신경망에 의해 정의된 Q-값이다.
Figure pct00004
는 액션 선택 정책 신경망(120)에 의해 선택된 액션들에 대한 기대치를 나타낸다. 실제로 기대치(
Figure pct00005
)는 액션 선택 정책 신경망(120)을 사용하여, 즉 πold(a|s,ε)에 따라 상태(s)에 대한 M개, 예를 들어 20개의 액션을 샘플링함으로써 평가될 수 있다. 각 액션(a)에 대해 새로운 선호도 벡터가 샘플링할 수 있다. 적합성 함수(
Figure pct00006
)는 재생 버퍼에서 샘플링된 하나 이상의 상태(s)로부터 확률적으로 평가, 관찰들 및 액션들에 대해 평균화될 수 있다. 등식 적합성 함수(
Figure pct00007
)는 음수이므로 k번째 비용이 ck에서 멀어질수록 등식 적합성 함수의 값은 낮아진다. 따라서 이 적합성 함수는 비용(타겟 목적)이 제약 값과 같을 때 최대값을 갖는다.
여기서, 그리고 일반적으로 본 명세서에서, 위첨자 또는 아래첨자 old는 신경망 파라미터 세트의 현재 값을 나타낸다. 이후 new는 old 세트를 업데이트하여 얻은 신경망 파라미터 세트의 새로운 값을 나타낸다.
Figure pct00008
Figure pct00009
를 평가하는 현재 트레이닝된 Q-값 신경망 파라미터 또는 Q-값 신경망을 트레이닝하는 동안 사용된 "이전 파라미터 세트"를 지칭할 수 있다.
다른 특정 예에서 k번째 비용에 대한 부등식 제약조건(ck)에 대한 제약 피팅 함수 또는 적합성 함수(
Figure pct00010
)의 값은 다음을 평가함으로써 결정된다.
Figure pct00011
여기서 다시
Figure pct00012
는 재생 버퍼로부터 샘플링된 하나 이상의 상태, 즉 관찰로부터 확률적으로 평가될 수 있다. 이 부등식 제약조건은 Q-값이 ck로 정의된 임계값 아래로 떨어지는 양에 페널티를 부과한다. 즉, 이것은 Q-값이 임계값에서 멀어질수록 더 음수가 되는 값을 정의한다. 제약조건(ck)은 일반성을 잃지 않고 하한으로 표현될 수 있다.
다른 유형의 적합성 함수는 다른 유형의 제약조건에 사용될 수 있다. 예를 들어 선호도 신경망이 관찰로부터 데이터를 처리하고 따라서 선호도 분포가 관찰에 따라 달라지는 경우(관찰에 의존적인 경우), 제약 조건은 관찰, 즉 시간 단계에서 환경 상태에 의존할 수 있다. 일반적으로 제약 목적은 선호도 신경망에 의해 정의된 선호도 분포에 대한 선호도 설정의 벡터에 의존하는 제약 피팅 함수를 통합함으로써 획득될 수 있 있다.
Q-값은 관찰에 의해 특징지워지는 상태에서 액션(행동)을 취한 후 액션 선택 정책 신경망 파라미터의 현재 값으로 정의된 액션 선택 정책에 따라 행동하기 위한 값 또는 기대 수익으로 정의될 수 있다. 위에서 설명한 Q 값은 선호도 설정 벡터에 의존한다. 위에서 설명한 바와 같이, 시스템의 구현에서 제약 피팅 함수의 값, 즉 적합성 값은 제약조건에 의해 제약된 비용의 타겟 목적에 대한 Q-값 신경망의 Q-값 출력과 제약조건에 대한 제약 값 간의 차이에 의존한다.
구현에서 제약 값은 예상되는 에피소드당 비용에 기초하여 정의될 수 있다. 또한 또는 그 대신에, 예를 들어 실제 제약 조건이 정확히 알려지지 않은 경우, 평균 에피소드당 작업 보상은 액션 선택 정책을 선택하기 위해 다양한 제약 값의 범위에 대한 평균 에피소드당 누적 비용에 대해 플롯(plot)될 수 있다.
액션 선택 시스템(100)은 선호도 신경망 파라미터가 고정되는 동안 선호도 신경망(130)에 의해 정의된 선호도 분포로부터 선호도 설정 벡터를 샘플링하도록 구성된다. 트레이닝하는 동안 액션 선택 정책 신경망 파라미터는 샘플링된 선호도 설정 벡터에 의해 설정된 대로, 해당 보상 또는 제약 조건의 상대적 우선 순위에 의해 정의된 이들 사이의 상대적 선호도에 따라 타겟 목적 세트를 공동으로 최적화하도록 조정된다.
도 2는 다목적 강화 학습을 사용하여 선호도 조건부 액션 선택 정책을 트레이닝하도록 구성된 액션 선택 시스템(100)의 예시적인 구현을 도시한다. 도 2의 시스템은 정책 평가 단계와 정책 개선 단계를 포함하는 2-단계 프로세스를 구현하도록 구성된다. 이 예에서 정책 평가 단계에는
Figure pct00013
Figure pct00014
로 정의된 현재 액션 선택 정책을 평가하기 위해 타겟 목적별로 별도의 Q-함수를 트레이닝하는 것이 포함된다. 정책 개선 단계는 각각의 타겟 목적에 대해, 개선된 액션 선택 정책(180)을 찾는 것 및 이어서 지도 학습을 사용하여 이러한 정책을 새로운 선호도 조건부 액션 선택 정책으로 추출하는 것(distilling)을 포함한다.
구현에서 목적에 대한 개선된 액션 선택 분포를 찾는 것은 선호도 설정 벡터에 조건화된 목적에 대한 온도 함수를 유지하는 것을 포한한다. 따라서 시스템은 선호도 설정 벡터를 조건으로 하는 하나 이상의 온도 신경망(170)을 유지한다. 구현에서는 선호도 설정 벡터에 조건화된 단일 온도 신경망(170)이 유지되며, 이는 모든 타겟 목적에 대한 공유 파라미터를 갖는다.
도 2의 액션 선택 시스템(100)은 전체 파레토 프론트가 공통 액션 선택 정책으로 표현되도록 하여, 제약조건을 충족하는 파레토 프론트의 영역에 수렴하는 액션 선택 정책을 용이하게 한다.
도 3은 하나 이상의 개별 비용에 대한 하나 이상의 제약 조건에 따라 태스크를 수행하도록 에이전트를 제어하기 위해 도 1의 액션 선택 시스템(100)을 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
일부 구현에서 액션 선택 시스템(100)은 다수의 시간 단계 각각에 사용되는 선호도 신경망에 의해 정의된 선호도 분포로부터 선호도 설정 벡터를 샘플링한다(300). 그런 다음 시스템은 현재 시간 단계(302)에 대한 관찰을 환경으로부터 수신하고(302), 그 관찰 및 선호도 설정 벡터는 액션 선택 정책 신경망에 제공된다(304). 액션 선택 정책 신경망의 출력은 하나 이상의 보상과 하나 이상의 비용을 획득하는 것에 응답하여 에이전트에 의해 수행될 액션을 선택하는데 사용된다(306). 일부 구현에서 비용은 부분적으로 또는 전체적으로 액션 선택 시스템에 의해 내부적으로, 예를 들어 환경으로부터 획득되는 것이 아니라 선택된 액션으로부터 결정될 수 있다. 액션 선택 시스템은 또한 액션이 수행된 후 환경의 다음 상태를 특징짓는 다음 관찰을 획득한다(308). 그런 다음 경험 튜플이 전술한 바와 같이 재생 버퍼(150)에 저장된다(310).
이들 단계는 액션 선택 시스템을 트레이닝시키기 위한 경험을 수집하기 위해 다수의 시간 단계 각각에 대해 수행된다. 예를 들어 단계들은 에이전트가 작업을 수행하려고 시도하는 동안 작업 에피소드에 대해 수행될 수 있다. 일부 구현에서 다수의 액터 시스템은 간격을 두고 액션 선택 시스템의 파라미터의 복사본을 각각 획득하고, 재생 버퍼에 저장되는 전환을 생성하기 위해 개별 에이전트를 각각 (비동기적으로) 제어한다.
그런 다음 프로세스는 액션 선택 정책 신경망 파라미터를 업데이트하여 현재 선호도 분포, 즉 선호도 신경망(130)에 의해 정의된 타겟 목적들의 상대적 우선순위가 주어진, 타겟 목적 세트를 공동으로 최적화한다(312). 아래에 기술된 바와 같이 일부 구현에서, 프로세스는 목적에 대한 Q-값을 최대화함으로써 각 목적에 대한 개선된 선호도-조건부 액션 선택 분포를 결정하고, 이어서 이들을 결합하여 액션 선택 정책 신경망 파라미터를 업데이트하여 개선된 액션 선택 정책을 획득한다.
그런 다음, 각각의 제약 조건에 대한 적합성 함수(제약 피팅 함수)의 값이 결정된다(314). 구현에서 적합성 함수의 값을 결정하는 것은 재생 버퍼(150)로부터 상태들을 샘플링하는 것, 이들 각각에 대해 현재 액션 선택 정책에 따라 액션 선택 신경망으로부터 액션 세트를 샘플링하는 것, 및 각 상태-액션 조합에 대해 현재 선호도 분포로부터 선호도 설정 벡터를 샘플링하는 것을 포함한다. 적합성 함수는 이전에 설명한 대로 평가될 수 있다. 샘플링에 대한 다른 접근 방식이 사용될 수 있다.
그런 다음 프로세스는 적합성 함수 값을 최대화하기 위해, 임의의 강화 학습 기술을 사용하여 선호도 신경망의 파라미터를 업데이트하기 위해 적합성 함수의 값을 사용한다(316).
단계(312 및 314-316)의 트레이닝 프로세스는 어느 순서로든 수행될 수 있다. 도 3의 단계는 예를 들어 고정된 반복 횟수 동안 또는 시스템이 제약조건(들)을 충족하면서 작업을 만족스럽게 수행하는 방법을 학습할 때까지 반복될 수 있다.
도 4는 타겟 목적 세트를 공동으로 최적화하기 위해 액션 선택 정책 신경망 파라미터를 업데이트하기 위한 예시적인 프로세스의 흐름도이다. 이 프로세스에는 정책 평가 단계와 정책 개선 단계의 2가지 주요 단계가 있다. 정책 평가 단계는 각 타겟 목적에 대해 별도의 Q-값 신경망을 유지 관리하는 것을 포함한다. 정책 개선 단계는 액션 선택 정책 신경망에 의해 정의된 선호도-조건부 액션 선택 정책을 개선하기 위해 각 타겟 목적에 대한 Q-값 신경망을 사용하는 것을 포함한다.
프로세스는 재생 버퍼(150)로부터 전환 세트를 샘플링한다(400). 타겟 목적(k)에 대한 Q-값 신경망은 선호도 설정 벡터를 조건으로 하는 Q-값(
Figure pct00015
)을 생성한다. 따라서 각각의 전환은 선호도 신경망(130)에 의해 정의된 현재 선호도 분포로부터 샘플링된 선호도 설정 벡터로 증강된다(402). 따라서 각 전환(i)은 관찰 또는 상태(si), 선호도 설정 벡터(
Figure pct00016
), 액션(ai), 보상/비용 세트(
Figure pct00017
)(여기서 비용은 음의 보상임) 및 다음 관찰 또는 상태(si')로 구성된다. 예시적인 구현에는 (K+1)개의 보상/비용, 보상(r0) 및 K개의 제한된 보상(비용)이 있으므로 여기에는 (K+1)개의 Q-값 신경망도 있다.
프로세스는 샘플링된 전환들을 사용하여 (K+1) Q-값 신경망(160)을 트레이닝하는데, 보다 구체적으로는 샘플링된 전환들에서 k번째 보상/비용(
Figure pct00018
)를 사용하여 k번째 Q-값 신경망을 트레이닝한다(404). 구현에서 이 트레이닝은 Q-값 신경망의 Q-값 출력과 개별 Q-값 목표 간의 차이 측정치에 따라 Q-학습 목적을 최적화하기 위해 각 Q-값 신경망의 Q-값 신경망 파라미터를 조정하는 것을 포함한다. 일부 구현에서 Q-값 신경망은 수익(returns)에 대한 분포를 각각 정의할 수 있다. Q-값 목표는 학습을 안정화하기 위해 이전, 즉 이전 파라미터 세트를 갖는 Q-값 신경망 버전에 의해 정의될 수 있다. 각각의 Q-값 목표는 액션 선택 정책 신경망 파라미터의 현재 값에 의해 정의된 액션 선택 정책에 따라, 즉 액션 선택 정책에 의해 선택된 액션을 사용하여 결정될 수 있다. 즉, Q-값 신경망은 현재 선호도-조건부 액션 선택 정책(
Figure pct00019
)을 평가하는 Q-값(
Figure pct00020
)을 생성할 수 있다. 그런 다음 액션 선택 정책 신경망 파라미터는 아래에서 자세히 설명하는 것처럼 각 Q-값 신경망의 Q-값 출력을 사용하여 조정될 수 있다.
구현에서 정책 개선 단계는 먼저 특히 각 타겟 목적에 대해 개선된 액션 분포(
Figure pct00021
), 즉 타겟 목적(406)에 대한 Q-값을 개선하는 액션 분포를 계산함으로써, 개별 타겟 목적를 최적화하기 위해 각 Q-값 신경망의 Q-값 출력을 사용하는 것을 포함한다(406). 이것은 타겟 목적에 대한 개선된 액션 선택 정책으로 지칭될 수 있으며 관찰(상태)(s) 및 현재 선호도 분포의 선호도 설정 벡터(ε)를 조건으로 한다.
타겟 목적에 대한 개선된 액션 분포(
Figure pct00022
)를 계산하는 것은 타겟 목적(
Figure pct00023
)에 대한 Q-값 신경망으로부터의 Q-값 출력에 의존하는 타겟 목적에 대한 정책 개선 인자(factor)로 현재 액션 선택 정책 신경망(
Figure pct00024
)의 출력을 스케일링하는 것을 포함할 수 있다.
정책 개선 인자는 액션 확률에 대한 가중치로 볼 수 있다. 구현에서 타겟 목적에 대한 정책 개선 인자는 온도 신경망(170)에 의해 생성된 선호도 종속 온도 파라미터에 의존한다. 예를 들어, 온도 신경망(170)은 출력 η(ε)을 생성할 수 있고,
Figure pct00025
로 표시되는 이 출력의 k번째 성분은 k번째 타겟 목적에 대한 온도 파라미터로서 사용될 수 있다.
구현에서 정책 개선 인자는 타겟 목적(
Figure pct00026
) 및 온도 파라미터(
Figure pct00027
)에 대한 Q-값 출력 비율의 지수 인자를 포함한다. 온도 파라미터는 정책 개선 인자에 기여하는 액션의 다양성을 제어하는 것으로 볼 수 있으며, 단지 일부 구현에서 예시로서 이것은 차수 1-10의 값을 가질 수 있다. 예를 들어 일부 구현에서 개선된 액션 분포는 다음에 따라 결정된다.
Figure pct00028
이것은
Figure pct00029
Figure pct00030
사이의 KL 발산 상태에 대한 기대치가 선호도 설정 벡터의 k번째 성분인 εk보다 작도록 제한한다.
각 온도 파라미터(
Figure pct00031
)에 대한 값은 온도 신경망(170)에 의해 생성된다. 일부 구현에서 개별 신경망은 각각의 타겟 목적에 대한 선호도 종속 온도 파라미터를 생성하기 위해 유지될 수 있다. 온도 파라미터는 온도 신경망(170)의 온도 목적 함수를 최적화, 예를 들어 최소화함으로써 획득될 수 있다.
구현에서 온도 목적 함수는 각 타겟 목적에 대해, 타겟 목적(
Figure pct00032
)에 대한 Q-값 신경망의 Q-값 출력, 선호도 분포에서 샘플링된 선호도 설정에 대한 평균, 환경으로부터 받은 관찰, 및 현재 액션 선택 정책에서 샘플링된 관찰에 대한 액션에 의존한다. 평균화는 재생 버퍼(150)로부터 샘플을 추출함으로써 수행될 수 있다.
하나의 특정한 예에서, 프로세스는 재생 버퍼(150)로부터의 L개(예를 들어 20개)의 관찰들(상태들)을 샘플링하고, 각각의 관찰(si)에 대해 i) 선호도 신경망 파라미터(
Figure pct00033
)의 현재 값에 의해 정의된 선호도 분포로부터 선호도 설정 벡터(
Figure pct00034
)를 샘플링하고, 그리고 (ii) 샘플링된 선호도 설정 벡터를 조건으로 하는 M개의 액션 세트(aij)를 현재 작업 선택 정책(
Figure pct00035
)으로부터 샘플링한다. 그런 다음 프로세스는 각 액션에 대해, 샘플링된 선호도 설정 벡터를 조건으로 하는, 각 타겟 목적(k)에 대한 Q 값(
Figure pct00036
)을 결정한다. 이어서 프로세스는 다음과 같이 예시적인 온도 목적 함수에 따라 온도 신경망(170)의 파라미터(ω)에 대한 업데이트(
Figure pct00037
)를 결정할 수 있다:
Figure pct00038
여기서 [k]는 온도 신경망(170)으로부터 출력된 온도 파라미터의 성분을 인덱싱한다(명시적으로 도시된 ω에 대한 종속성을 가짐).
이 프로세스는 임의의 기울기(gradient, 구배) 기반 최적화기를 사용하여
Figure pct00039
에 기초하여 하나 이상의 기울기 하강 단계를 수행함으로써 온도 신경망의 현재 파라미터들(ω)을 업데이트한다. 온도 신경망의 파라미터는 개선된 액션 분포를 결정하기 전이나 후에 업데이트될 수 있다.
그런 다음 정책 개선 단계가 개선된 액션 분포를 사용하여 수행된다(408). 넓은 의미에서 개선된 액션 분포는 액션 선택 정책 신경망 파라미터를 업데이트함으로써 새로운 선호도-조건부 액션 선택 정책으로 추출된다. 보다 구체적으로 액션 선택 정책 신경망 파라미터는 결합된 정책 개선 목적을 액션 선택 정책 신경망의 현재 파라미터에 의해 정의된 현재 액션 선택 정책과 각 타겟 목적에 대한 개선된 액션 정책(개선된 액션 분포) 간의 차이 측정치에 따라 최적화하도록 조정된다.
구현에서 현재 액션 선택 정책 및 각 타겟 목적에 대한 개선된 액션 정책은 관찰 및 선호도 설정에 따라 액션들에 대한 분포를 각각 정의한다. 따라서 개선된 액션 분포 중 하나와 현재 액션 선택 정책의 분포 사이의 각각의 차이 측정치는 두 분포 사이의 차이 측정치(예를 들어, KL(쿨백-라이블러) 발산 또는 다른 측정치)일 수 있다. 차이 측정치는 선호도 분포에 대해 및/또는 상태 방문에 대해, 예를 들어 재생 버퍼로부터 샘플링된 관찰들에 대해 평균화될 수 있다. 액션 선택 정책 신경망 파라미터는 두 분포 사이의 차이를 제한하는 신뢰 영역 경계에 따라 조정될 수 있다.
이전의 특정 예를 계속하면, 프로세스는 KL-발산을 기반으로 하는 결합된 정책 개선 목적의 예에 따라 액션 선택 신경망(120)의 현재 파라미터들(θ)에 대한 업데이트(
Figure pct00040
)를 다음과 같이 결정할 수 있다.
Figure pct00041
여기서
Figure pct00042
이다. 그런 다음 액션 선택 신경망(120)의 파라미터들(θ)은 임의의 기울기 기반 최적화기를 사용하여
Figure pct00043
에 기초한 하나 이상의 기울기 하강 단계를 수행함으로써 업데이트될 수 있다.
일부 구현에서 업데이트는 학습 안정화를 돕기 위해, 현재 액션 선택 정책 신경망에 의해 정의된 액션 분포와 업데이트된 액션 선택 정책 신경망에 의해 정의된 액션 분포 사이의 차이를 제한하는 신뢰 영역 경계의 적용을 받는다. 예를 들어 업데이트는
Figure pct00044
이며, 여기서 β>0, 예를 들어 β=10-3 이하이다. 이러한 조건에 적용을 받는 업데이트는 예를 들어 arXiv: 2005.07513에 설명된 바와 같이 라그랑주 곱셈기 방법을 사용하여 구현될 수 있다.
전술한 바와 같이, 임의의 강화 학습 프로세스는 하나 이상의 적합성 값을 최대화하기 위해 선호도 신경망의 파라미터들(ψ)을 업데이트하는데 사용될 수 있다. 하나의 특정 구현에서 MO-MPO(Multi-Objective Maximum a Postiori Policy Optimization) 기술이 예를 들어 arXiv: 2005.07513에 설명된 바와 같이 사용된다.
이것은 각각의 K개의 적합성 함수에 대해, 개별 적합성 함수 온도 변수(
Figure pct00045
) 및 선호도 분포 KL 경계(αk)를 유지하는 것을 포함할 수 있으며, 여기서 예를 들어 각각의 적합성 함수에 대해 αk=0.1이다. 각각의 적합성 함수(k=1,..,K)에 대한 하나의 예시적인 구현에서, 선호도 설정 벡터의 M개의 샘플(εi)은 선호도 신경망 파라미터(
Figure pct00046
)의 현재 값으로 정의된 선호도 분포에서 도출되며, 적합성 함수(fk)에 대한
Figure pct00047
에 대한 업데이트(
Figure pct00048
)는 다음과 같이 결정될 수 있다.
Figure pct00049
그런 다음 각 적합성 함수 온도 변수(
Figure pct00050
)의 현재 값은 임의의 편리한 최적화기를 사용하여
Figure pct00051
에 기초하여 한 단계 또는 몇 단계의 기울기 하강법을 수행하여 업데이트될 수 있다. 그런 다음 프로세스는
Figure pct00052
값을 결정하고, 선호도 신경망의 파라미터들(ψ)에 대한 업데이트(
Figure pct00053
)를 다음과 같이 결정할 수 있다.
Figure pct00054
일부 구현에서, 업데이트는 예를 들어 액션 선택 정책에 대해 위에서 설명한 것과 유사하게, 업데이트된 선호도 분포와 현재 선호도 분포 사이의 차이를 제한하는 추가 KL 경계에 적용을 받는다.
이 방법의 구현은 시스템이 트레이닝된 후, 즉 배포 중에 에이전트의 액션들을 제한한다. 이러한 액션들은 선호도 분포에서 샘플링된 선호도 설정의 샘플링된 벡터가 보상(들)을 최대화하는 것보다 비용(들)을 최소화하는 것을 우선시할 가능성이 있도록 선호도 분포를 초기화함으로써 액션 선택 정책 신경망이 트레이닝되는 동안 어느 정도 제한될 수 있다. 다른 예에서, 선호도 정책은 예를 들어 10-5와 0.15 사이의 100개의 이산 선형 간격 값에 대한 균일 분포로 초기화될 수 있거나 εk=0.1의 디폴트값이 사용될 수 있다.
일부 구현에서, 재생 버퍼를 사용하는 대신에, 시스템은 Q-값 추정이 아닌 이점(advantage) 값 추정을 사용하여 온라인으로 트레이닝될 수 있다(여기서 이점 값 추정치는 현재 시간 단계에서 Q-값과 상태 값 간의 차이 추정이다).
이전에 설명된 바와 같이, 구현에서 환경은 실세계 환경이고, 제약 조건은 에이전트가 작업을 수행하기 위해 실세계에서 액션을 수행할 때 발생하는 비용에 대한 제약 조건이다. 에이전트는 작업을 수행하기 위해 환경과 상호 작용하는 로봇과 같은 기계적 에이전트일 수 있거나 환경을 탐색하는 자율 또는 반자율 육상 또는 항공 또는 수상 차량일 수 있다.
일반적으로, 관찰은 예를 들어 이미지, 객체 위치 데이터, 및 에이전트가 환경과 상호 작용할 때 관찰을 캡처하기 위한 센서 데이터(예를 들어, 이미지, 거리 또는 위치 센서 또는 액추에이터로부터의 센서 데이터) 중 하나 이상을 포함할 수 있다. 로봇 또는 기타 기계적 에이전트 또는 차량의 경우, 관찰은 유사하게 에이전트의 하나 이상의 부분에 대한 위치, 선형 또는 각속도, 힘, 토크 또는 가속도, 전역 또는 상대적 자세 중 하나 이상을 포함할 수 있다. 관찰은 1차원, 2차원 또는 3차원으로 정의될 수 있으며 절대적 및/또는 상대적 관찰일 수 있다. 예를 들어, 로봇의 경우, 관찰은 로봇의 현재 상태를 특징짓는 데이터, 예를 들어 관절 위치, 관절 속도, 관절 힘, 토크 또는 가속도, 팔 및/또는 로봇이 들고 있는 항목과 같은 로봇의 일부의 전역 또는 상대적 자세 중 하나 이상을 포함할 수 있다. 관찰은 또한 예를 들어 모터 전류 또는 온도 신호와 같은 감지된 전자 신호 및/또는 예를 들어 카메라 또는 라이다(LIDAR) 센서로부터의 이미지 또는 비디오 데이터, 예를 들어 에이전트의 센서로부터의 데이터 또는 환경에서 에이전트와 별도로 위치한 센서로부터의 데이터를 포함할 수 있다.
액션들은 기계적 에이전트(예를 들어, 로봇)의 물리적 거동을 제어하기 위한 제어 입력, 예를 들어 로봇의 관절에 대한 토크 또는 더 높은 수준의 제어 명령, 또는 자율 또는 반자율 육상 또는 항공 또는 해상 차량을 제어하기 위한 제어 입력, 예를 들어 차량의 제어 표면 또는 기타 제어 요소에 대한 토크 또는 더 높은 수준의 제어 명령을 포함할 수 있다. 다시 말해, 액션들에는 예를 들어 로봇의 하나 이상의 관절 또는 다른 기계적 에이전트의 일부에 대한 위치, 속도 또는 힘/토크/가속도 데이터를 포함할 수 있다. 액션 데이터는 이러한 동작들에 대한 데이터 및/또는 모터 제어 데이터와 같은 전자 제어 데이터, 또는 더 일반적으로는 환경의 관찰된 상태에 영향을 미치는 제어가 있는 환경 내의 하나 이상의 전자 장치를 제어하기 위한 데이터를 포함할 수 있다. 예를 들어, 자율 또는 반자율 육상 또는 항공 또는 해상 차량의 경우, 액션에는 내비게이션(예를 들어, 조향) 및 이동(예를 들어, 차량의 제동 및/또는 가속)을 제어하기 위한 액션이 포함될 수 있다.
이러한 애플리케이션에서 보상 및/또는 비용은 예를 들어 위치 또는 자세에 도달하거나 로봇 팔의 움직임을 제한하는 것에 대해 로봇 팔에 보상하기 위해, 하나 이상의 목표 위치, 하나 이상의 목표 자세, 또는 하나 이상의 다른 목표 구성에 접근하거나 달성하기 위한 하나 이상의 보상 또는 비용을 포함하거나 이에 기초하여 정의될 수 있다. 보상 또는 비용은 또한 객체나 벽 또는 장벽과 같은 엔티티와 기계적 에이전트의 일부의 충돌과 연관될 수 있다. 하나 이상의 보상 또는 비용은 이전에 언급한 임의의 관찰(예를 들어, 로봇 또는 차량 위치 또는 자세)에 의존한다. 예를 들어 로봇의 경우, 보상 또는 비용은 예를 들어 동작 스피드, 엔드 이펙터(end-effector) 위치, 질량 중심 위치, 또는 몸체 부위 그룹의 위치 및/또는 방향을 제한하기 위해 관절 방향(각도) 또는 스피드/속도에 의존한다. 보상 또는 비용은 또한 액추에이터 또는 엔드 이펙터에 의해 적용되는 힘, 예를 들어 객체와 상호 작용할 때 임계값 또는 최대 적용 힘에 의존하거나 기계적 에이전트의 일부에 의해 적용되는 토크와 연관될 수 있거나 대신 연관될 수 있다.
다른 예에서, 보상 또는 비용은 에너지 또는 전력 사용량, 과도한 모션 속도, 예를 들어 움직임을 제한하기 위한 하나 이상의 로봇 몸체 부분의 하나 이상의 위치 등에 의존할 수 있다. 이러한 비용 각각에 대해 해당 제약조건이 정의될 수 있다. 다수의 제약조건이 에이전트에 대한 작동 엔빌로프(envelope)를 정의하는데 사용될 수 있다.
에이전트 또는 로봇이 자율 또는 반자율 이동 차량을 포함하는 경우 유사한 보상 및 비용이 적용될 수 있다. 또한 또는 대신에 이러한 에이전트 또는 로봇은 예를 들어 최대 또는 평균 에너지 사용, 이동 속도, 이동할 때 취한 경로를 정의하기 위해(예컨대, 거리나 시간으로 측정된 두 지점 사이의 짧은 경로에 비해 긴 경로에 페널티를 부과하기 위해) 예를 들어 이동 중에 에너지 또는 전력 사용에 의존하는 차량의 물리적 이동과 관련된 하나 이상의 보상 또는 비용을 가질 수 있다. 이러한 에이전트 또는 로봇은 창고, 물류 또는 공장 자동화와 같은 작업, 예를 들어, 보관된 상품이나 제조하는 동안 상품 또는 상품의 일부를 수집, 배치 또는 이동을 수행하는데 사용될 수 있으며, 수행되는 작업은 패키지 배달 제어 작업을 포함할 수 있다. 따라서 하나 이상의 보상 또는 비용은 이러한 작업과 관련될 수 있고, 액션은 조향 또는 기타 방향 제어 액션과 관련된 액션을 포함할 수 있으며, 관찰은 다른 에이전트, 예를 들어 다른 차량 또는 로봇의 위치 또는 모션에 대한 관찰을 포함할 수 있다.
전술한 애플리케이션에서, 동일한 관찰, 액션, 보상 및 비용이 실세계 환경의 시뮬레이션에서 에이전트의 시뮬레이션에 적용될 수 있다. 일단 시스템이 시뮬레이션에서 트레이닝되면, 예를 들어 일단 시스템/방법의 신경망이 트레이닝되면, 시스템/방법은 실세계 환경에서 실제 에이전트를 제어하는데 사용될 수 있다. 즉, 시스템/방법에 의해 생성된 제어 신호는 실제 환경으로부터의 관찰에 응답하여 실제 환경에서 작업을 수행하도록 실제 에이전트를 제어하는데 사용될 수 있다. 선택적으로 시스템/방법은 실제 환경에서 트레이닝을 계속할 수 있다.
따라서 일부 경우에 시스템은 실제 환경의 시뮬레이션에서 기계적 에이전트의 시뮬레이션을 사용하여 적어도 부분적으로 트레이닝되고, 이후 시뮬레이션의 대상이 된 실제 환경에서 기계적 에이전트를 제어하기 위해 배치된다. 이러한 경우에 시뮬레이션 환경에서의 관찰은 실세계 환경과 관련된 것으로 설명될 수 있고, 시뮬레이션 환경에서 선택된 동작은 실제 환경에서 기계 에이전트에 의해 수행되는 동작과 관련하여 설명될 수 있다.
일부 애플리케이션에서, 에이전트는 정적 또는 모바일 소프트웨어 에이전트, 즉 작업을 수행하기 위해 자율적으로 및/또는 다른 소프트웨어 에이전트 또는 사람과 함께 작동하도록 구성된 컴퓨터 프로그램일 수 있다. 예를 들어 환경은 회로 또는 집적 회로 라우팅 환경일 수 있고 에이전트는 회로 또는 집적 회로(예를 들어 ASIC)의 상호 연결(interconnection) 라인을 라우팅하기 위한 라우팅 작업을 수행하도록 구성될 수 있다. 그런 다음 보상(들) 및/또는 비용(들)은 인터커넥트 길이, 저항, 커패시턴스, 임피던스, 손실, 속도 또는 전파 지연, 및 또는 폭, 두께 또는 형상 및 설계 규칙과 같은 물리적 라인 파라미터와 같은 하나 이상의 라우팅 메트릭에 의존할 수 있다. 보상(들) 및/또는 비용(들)은 또한 라우팅된 회로의 전역 속성, 예를 들어 구성요소 밀도, 작동 속도, 전력 소비, 재료 사용, 냉각 요구 사항, 전자파 방출 수준 등과 관련된 하나 이상의 보상(들) 및/또는 비용(들)을 포함하거나 대신 포함할 수 있다. 하나 이상의 비용과 관련하여 하나 이상의 제약 조건이 정의될 수 있다. 관찰은 예를 들어 구성 요소 위치 및 상호 연결의 관찰일 수 있고, 액션은 예를 들어 구성요소 위치 또는 배향을 정의하기 위한 구성요소 배치 액션 및/또는 인터커넥트 라우팅 액션, 예를 들어 인터커넥트 선택 및/또는 배치 액션을 포함할 수 있다.
일부 애플리케이션에서 에이전트는 전자 에이전트일 수 있으며, 관찰에는 전류, 전압, 전력, 온도 및 기타 센서 및/또는 장비의 전자 및/또는 기계 항목의 기능을 나타내는 전자 신호와 같은 공장(plant) 또는 서비스 시설의 일부를 모니터링하는 하나 이상의 센서로부터의 데이터가 포함될 수 있다. 에이전트는 예를 들어 데이터 센터, 서버 팜, 그리드 메인 전력 또는 급수 시스템과 같은 시설, 또는 제조 공장 또는 서비스 시설과 같은 시설의 장비 항목을 포함하는 실제 환경에서 액션들을 제어할 수 있다. 그런 다음 관찰은 공장 또는 시설의 작동과 관련될 수 있는데, 예를 들어, 여기에는 장비에 의한 전력 또는 물 사용에 대한 관찰, 발전 또는 분배 제어에 대한 관찰 또는 자원 사용 또는 폐기물 생성에 대한 관찰이 포함될 수 있다. 관찰에는 공장/시설의 장비 항목에 대한 작동 조건을 제어하거나 부과하는 액션 및/또는 예를 들어 공장/시설의 구성 요소를 조정하거나 켜고/끄기 위해 공장/시설의 작동 설정을 변경하는 액션이 포함될 수 있다. 최대화되고 제한될 보상 및/또는 비용은 효율성(예를 들어, 자원 이용율) 측정, 환경에서 동작에 대한 환경 영향 측정(예를 들어, 폐기물 배출), 전기 또는 기타 전력 또는 에너지 소비, 난방/냉방 요건, 시설 내 자원 사용(예를 들어, 물 사용), 시설 또는 시설 내 장비 항목의 온도, 시설 내 항목의 특성 수 중 하나 이상을 포함할 수 있다.
일부 애플리케이션에서 환경은 데이터 패킷 통신 네트워크 환경일 수 있고, 에이전트는 통신 네트워크를 통해 데이터 패킷을 라우팅하는 라우터를 포함할 수 있다. 액션은 데이터 패킷 라우팅 액션을 포함할 수 있고, 관찰은 예를 들어 라우팅 경로 길이, 대역폭, 로드(load), 홉 카운트, 경로 비용, 지연, 최대 전송 단위(MTU) 및 신뢰도의 메트릭과 같은 라우팅 메트릭을 포함하는 라우팅 테이블의 관찰을 포함할 수 있다. 보상(들) 및 비용(들)/제약(들)은 라우팅 메트릭 중 하나 이상과 관련하여, 즉 하나 이상의 라우팅 메트릭을 최대화하거나 제한하도록 정의될 수 있다.
일부 다른 애플리케이션에서, 에이전트는 컴퓨팅 리소스에서, 예를 들어 모바일 디바이스 및/또는 데이터 센터에서 작업의 배포를 관리하는 소프트웨어 에이전트이다. 이러한 구현에서, 관찰에는 컴퓨팅 및/또는 메모리 용량, 또는 인터넷 액세스 가능 리소스와 같은 컴퓨팅 리소스의 관찰이 포함될 수 있고, 액션에는 특정 컴퓨팅 리소스에 작업을 할당하는 것이 포함될 수 있다. 보상(들) 및 비용(들)/제약(들)은 컴퓨팅 리소스, 전력, 대역폭 및 계산 속도의 활용 중 하나 이상을 최대화하거나 제한할 수 있다.
일부 다른 애플리케이션에서, 환경은 인실리코(in silico) 약물 설계 환경, 예를 들어 분자 도킹 환경일 수 있고, 에이전트는 약물의 화학 구조 또는 성분을 결정하기 위한 컴퓨터 시스템일 수 있다. 약물은 소분자 또는 생물학적 약물일 수 있다. 관찰은 약물과 약물 타겟의 시뮬레이션된 조합의 관찰일 수 있다. 액션은 약물과 약물 타겟의 상대적 위치, 자세 또는 형태를 수정하는 액션(또는 이는 자동으로 수행될 수 있음) 및/또는 약물의 화학적 조성을 수정하고 및/또는 후보자 라이브러리에서 후보 약물을 선택하는 액션일 수 있다. 하나 이상의 보상 또는 비용은 약물과 약물 표적 사이의 상호작용의 척도, 예를 들어, 약물과 약물 표적 사이의 적합성 또는 결합의 척도, 약물의 예상 효능, 약물의 추정된 선택성, 약물의 예상 독성, 약물의 추정 약동학적 특성, 약물의 추정 생체이용률, 예상되는 약물 합성 용이성, 및 약물의 하나 이상의 기본적인 화학적 특성 중 하나 이상에 기초하여 정의될 수 있다. 약물과 약물 표적 사이의 상호작용의 척도는 예를 들어 단백질-리간드(protein-ligand) 결합, 반 데르 발스(van der Waal) 상호작용, 정전기적 상호작용 및/또는 접촉 표면 영역 또는 에너지에 의존할 수 있으며, 이는 예를 들어 도킹 점수를 포함할 수 있다. 비용에는 해당 제약조건이 있을 수 있다. 시뮬레이션에서 약물의 성분 또는 화학 구조를 식별한 후, 방법은 약물을 만드는 단계를 추가로 포함할 수 있다. 약물은 자동 화학 합성 시스템에 의해 부분적으로 또는 완전히 만들어질 수 있다.
일부 다른 애플리케이션에서, 환경은 인터넷 또는 모바일 통신 환경이고, 에이전트는 사용자에 대한 개인화된 추천을 관리하는 소프트웨어 에이전트이다. 관찰은 사용자가 취한 이전 액션, 예를 들어 액션들을 특징짓는 특징을 포함할 수 있고, 액션은 컨텐츠 아이템과 같은 아이템을 사용자에게 추천하는 액션을 포함할 수 있다. 보상 및 비용/제약은 사용자가 (컨텐츠) 아이템 추천에 호의적으로 반응할 것으로 예상되는 가능성, 하나 이상의 추천 아이템에 대한 적합성 부적합, 추천 아이템(들)의 비용, 및 선택적으로 시간 범위 내에서 사용자가 받은 여러 권장 사항중 하나 이상을 최대화하거나 제한할 수 있다
선택적으로, 임의의 위의 구현에서, 임의의 주어진 시간 단계에서의 관찰은 예를 들어, 이전 시간 단계에서 수행된 액션과 같은 환경을 특징짓는데 유익할 수 있는 이전 시간 단계의 데이터를 포함할 수 있다.
본 명세서는 시스템 및 컴퓨터 프로그램 구성요소와 관련하여 "구성된(configured)"이라는 용어를 사용한다. 특정 동작 또는 액션을 수행하도록 구성되는 하나 이상의 컴퓨터로 구성된 시스템은 그 시스템이 프트웨어, 펌웨어, 하드웨어 또는 작동시 시스템으로 하여금 동작 또는 액션을 수행하게 하는 이들의 조합을 설치했음을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정 동작 또는 액션을 수행하도록 구성된다는 것은 하나 이상의 프로그램이 데이터 처리 장치에 의해 실행될 때 그 장치로 하여금 동작 또는 액션을 수행하게 하는 명령들을 포함한다는 것을 의미한다.
본 명세서에 기술된 주제 및 기능적 동작의 실시예는 디지털 전자 회로, 가시적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 본 명세서에 개시된 구조 및 이들의 구조적 등가물을 포함하는 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 유형의 비-일시적 저장 매체에 인코딩된 하나 이상의 컴퓨터 프로그램 명령 모듈로 구현될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령들은 인공적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하도록 생성된 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다.
"데이터 처리 장치"라는 용어는 데이터 처리 하드웨어를 지칭하며 예를 들어 프로그래밍 가능 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 비롯하여 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 장치는 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)일 수 있거나 이를 더 포함할 수 있다. 장치는 선택적으로 하드웨어에 추가하여 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일 언어 또는 해석 언어, 선언적 또는 절차적 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램 또는 모듈, 구성 요소, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하여 모든 형태로 배포될 수 있다. 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 문제의 프로그램 전용 단일 파일, 또는 다수의 조정 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드 부분을 저장하는 파일)을 보유하는 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되어 데이터 통신 네트워크로 상호 연결된 다수의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서, "데이터베이스"라는 용어는 임의의 데이터 모음(collection)을 지칭하기 위해 광범위하게 사용되며, 데이터는 임의의 특정 방식으로 구조화되거나 전혀 구조화될 필요가 없으며, 하나 이상의 위치에 있는 저장 디바이스에 저장될 수 있다. 따라서, 예를 들어, 인덱스 데이터베이스는 각각 다르게 구성되고 액세스될 수 있는 다수의 데이터 모음을 포함할 수 있다.
유사하게, 본 명세서에서 "엔진"이라는 용어는 하나 이상의 특정 기능을 수행하도록 프로그래밍된 소프트웨어 기반 시스템, 서브시스템 또는 프로세스를 지칭하기 위해 광범위하게 사용된다. 일반적으로, 엔진은 하나 이상의 위치에 있는 하나 이상의 컴퓨터상에 설치된 하나 이상의 소프트웨어 모듈 또는 구성 요소로 구현된다. 일부 경우 하나 이상의 컴퓨터는 특정 엔진 전용이고, 다른 경우에는 다수의 엔진이 동일한 컴퓨터 또는 컴퓨터들 상에 설치되고 실행될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하여 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 또는 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 범용 또는 특수 목적의 마이크로프로세서 또는 둘 모두 또는 임의의 다른 종류의 중앙 처리 장치에 기초할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하거나 실행하는 중앙 처리 장치와 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 중앙 처리 장치와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스(예를 들어, 자기, 광자기 디스크 또는 광학 디스크)로부터 데이터를 수신하거나 데이터를 전송하도록 또는 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나, 컴퓨터에는 이러한 디바이스가 필요하지 않다. 또한, 컴퓨터는 다른 디바이스, 예를 들어 휴대폰, 개인용 디지털 어시스턴트(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기, 또는 범용 직렬 버스(USB) 플래시 드라이브와 같은 휴대용 저장 디바이스에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광자기 디스크, 및 CD-ROM 및 DVD-ROM 디스크를 비롯하여 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 디바이스를 포함한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시예는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스를 사용하여 사용자와의 상호 작용도 제공할 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 게다가, 컴퓨터는 예를 들어 웹 브라우저로부터 수신된 요청에 대한 응답으로 사용자 디바이스의 웹 브라우저로 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스로 문서를 보내고 그 디바이스로부터 문서를 수신함으로써 사용자와 상호 작용할 수 있다. 또한, 컴퓨터는 문자 메시지 또는 다른 형태의 메시지를 개인 디바이스(예를 들어, 메시징 애플리케이션을 실행하는 스마트폰)로 전송하고 사용자로부터 응답 메시지를 수신함으로써 사용자와 상호 작용할 수 있다.
기계 학습 모델을 구현하기 위한 데이터 처리 장치는 또한 예를 들어 기계 학습 트레이닝 또는 생산의 일반적이고 계산 집약적인 부분, 즉 추론, 워크로드를 처리하기 위한 특수 목적 하드웨어 가속기 유닛을 포함할 수 있다.
기계 학습 모델은 기계 학습 프레임워크, 예를 들어, 텐서플로우 프레임워크응 사용하여 구현 및 배포될 수 있다.
본 명세서에 기술된 주제의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 프론트엔드 컴포넌트(예를 들어, 그래픽 사용자 인터페이스가 있는 클라이언트 컴퓨터, 웹 브라우저 또는 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 앱)를 포함하거나, 또는 하나 이상의 백엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 통신 네트워크와 같은 디지털 데이터 통신의 모든 형태 또는 매체에 의해 상호 연결될 수 있다. 통신 네트워크의 예로는 LAN 및 WAN, 예를 들어 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램 덕분에 발생한다. 일부 실시예에서, 서버는 예를 들어 클라이언트 역할을 하는 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하기 위해 데이터, 예를 들어 HTML 페이지를 사용자 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터, 예를 들어, 사용자 상호 작용의 결과는 디바이스로부터 서버에서 수신될 수 있다.
본 명세서에는 많은 구체적인 구현 세부 정보가 포함되어 있지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징의 설명으로 해석되어야 한다. 별도의 실시예의 맥락에서 본 명세서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합에서 작용하는 것으로 위에서 기술될 수 있고 심지어 초기에도 그렇게 청구될지라도, 청구된 조합으로부터의 하나 이상의 특징은 경우에 따라 조합으로부터 제외될 수 있고 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에 묘사되고 특정 순서로 청구 범위에서 인용되지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 예시된 모든 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 전술한 실시예에서 다양한 시스템 모듈 및 구성요소의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 여러 소프트웨어 제품으로 패키징될 수 있음을 이해해야 한다.
주제의 특정 실시예가 설명되었다. 다른 실시예는 다음의 청구 범위 내에 있다. 예를 들어, 청구 범위에 인용된 동작들은 다른 순서로 수행될 수 있으며 여전히 원하는 결과를 얻을 수 있다. 일 예로서, 첨부된 도면에 묘사된 프로세스는 원하는 결과를 얻기 위해 표시된 특정 순서 또는 순차적인 순서를 반드시 요구하지는 않는다. 일부 경우 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (15)

  1. 환경과 상호작용하는 동안 하나 이상의 작업(task)을 수행하도록 에이전트를 제어하는 컴퓨터 구현 방법으로서, 각각의 작업은 작업의 수행과 관련된 적어도 하나의 개별 보상을 갖고, 그리고 하나 이상의 작업을 수행하는 것은 하나 이상의 개별 비용에 대한 하나 이상의 제약 조건이 적용되며, 상기 방법은,
    환경으로부터의 관찰에 응답하여 액션을 선택하기 위한, 복수의 액션 선택 정책 신경망 파라미터를 갖는 액션 선택 정책 신경망을 유지하는 단계와, 상기 액션 선택 정책 신경망은 보상 또는 비용 중 하나의 상대적 우선 순위를 다른 것들에 대해 각각 정의하는 선호도 설정 벡터를 포함하는 선호도 벡터 입력을 조건으로 하고;
    선호도 설정 벡터에 대한 선호도 분포를 정의하는, 복수의 선호도 신경망 파라미터를 갖는 선호도 신경망을 유지하는 단계와;
    복수의 시간 단계 각각에서, 환경으로부터의 관찰과 선호도 신경망에 의해 정의된 선호도 분포로부터 샘플링된 선호도 설정 벡터를 수신하고, 선호도 설정 벡터 및 관찰로부터의 데이터를 액션 선택 정책 신경망에 제공하고, 에이전트에 의해 수행될 액션을 선택하기 위해 액션 선택 정책 신경망의 출력을 사용하고, 그리고 하나 이상의 보상과 하나 이상의 비용을 수신함으로써 환경에서 에이전트에 의해 수행될 액션을 선택하는 단계와;
    타겟 목적 세트를 공동으로 최적화하기 위해 선호도 신경망 파라미터를 고정하고 액션 선택 정책 신경망 파라미터를 조정하는 단계와, 상기 하나 이상의 보상 각각과 하나 이상의 비용 각각은 개별 타겟 목적을 갖고; 그리고
    하나 이상의 제약 조건 각각이 하나 이상의 개별 비용에 의해 충족되는지 여부에 따라 제약 목적을 최적화하기 위해 액션 선택 정책 신경망 파라미터를 고정하고 선호도 신경망 파하미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 액션 선택 정책 신경망 파라미터는,
    파레토 프론트(Pareto front)를 향해 타겟 목적 세트를 공동으로 최적화하도록 조정되고, 그리고 목적 세트는 제약 조건이 충족되는 파레토 프론트의 영역을 향해 최적화되는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제1항 또는 제2항에 있어서,
    하나 이상의 제약 각각에 대해, 개별 제약 조건이 개별 비용에 의해 충족되는지 여부를 평가하는 선호도 설정 벡터에 의존하는, 개별 제약 피팅 함수의 값을 결정함으로써 제약 목적을 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제1항, 제2항 또는 제3항에 있어서,
    각각의 타겟 목적에 대해, 동작, 관찰 및 선호도 설정 벡터에 의존하는 액션-값 점수를 정의하기 위한 Q-값 출력, 및 복수의 Q-값 신경망 파라미터를 갖는 개별 Q-값 신경망을 유지하는 단계와;
    관찰 및 행동에 대해 평균화된, 제약조건에 의해 제약되는 비용의 타겟 목적에 대한 Q-값 신경망의 Q-값 출력으로부터 제약조건에 대한 제약 피팅 함수의 값을 결정하는 단계와; 그리고
    제약 목적을 결정하는 것에 각 제약 조건에 대한 제약 피팅 함수를 사용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 제약 피팅 함수의 값은,
    제약조건에 의해 제약되는 비용의 타겟 목적에 대한 Q-값 신경망의 Q-값 출력과 상기 제약조건에 대한 제약 값 간의 차이에 의존하는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    선호도 신경망 파라미터가 고정되는 동안 선호도 신경망에 의해 정의된 선호도 분포로부터 선호도 설정 벡터를 샘플링하는 단계와; 그리고
    샘플링된 선호도 설정 벡터에 의해 정의되는 타겟 목적과 관련된 보상 또는 제약 조건의 상대적 우선순위로 정의되는 타겟 목적들 사이의 상대적 선호도에 따라 타겟 목적 세트를 공동으로 최적화하기 위해 액션 선택 정책 신경망 파라미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    각각의 타겟 목적에 대해, 액션, 관찰 및 선호도 설정 벡터에 의존하는 동작-값 점수를 정의하기 위한 Q-값 출력, 및 복수의 Q-값 신경망 파라미터를 갖는 개별 Q-값 신경망을 유지하는 단계와; 그리고
    하나 이상의 보상 및 하나 이상의 비용 각각에 대해 개별 타겟 목적를 최적화하기 위해 각각의 Q-값 신경망을 사용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 제7항에 있어서,
    타겟 목적 세트를 공동으로 최적화하기 위해 액션 선택 정책 신경망 파라미터를 조정하는 단계는,
    선호도 신경망 파라미터가 고정되는 동안 선호도 신경망에 의해 정의된 선호도 분포로부터 선호도 설정 벡터를 샘플링하는 단계와;
    샘플링된 선호도 설정 벡터를 각 Q-값 신경망에 제공하는 단계와;
    Q-값 출력과 개별 Q-값 목표 간의 차이 측정치에 따라 Q-학습 목적을 최적화하기 위해 각 Q-값 신경망의 Q-값 신경망 파라미터를 조정하는 단계와, 상기 재별 Q-값 목표는 액션 선택 정책 신경망 파라미터의 현재 값에 의해 정의된 액션 선택 정책에 따라 결정되고; 그리고
    Q-값 신경망 파라미터가 조정된 후 각 Q-값 신경망의 Q-값 출력을 사용하여 액션 선택 정책 신경망 파라미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 Q-값 신경망의 Q-값 출력을 사용하여 액션 선택 정책 신경망 파라미터를 조정하는 단계는,
    각각의 타겟 목적에 대해, 개선된 액션 선택 정책을 결정하는 단계와, 상기 개선된 액션 선택 정책은 타겟 목적에 대한 Q-값 신경망으로부터의 Q-값 출력에 의존하는 타겟 목적에 대한 정책 개선 인자로 액션 선택 정책 신경망의 출력을 스케일링함으로써 결정되고; 그리고
    액션 선택 정책 신경망의 현재 파라미터에 의해 정의된 현재 액션 선택 정책과 각각의 타겟 목적에 대한 개선된 액션 정책 사이의 차이 측정치에 따라 결합된 정책 개선 목표를 최적화하기 위해 상기 액션 선택 정책 신경망 파라미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 현재 액션 선택 정책과 각각의 타겟 목적에 대한 개선된 액션 정책 각각은 관찰 및 선호도 설정에 의존하는 액션에 대한 분포로 정의되고, 그리고 상기 차이 측정치는 분포 사이의 차이 측정치를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 타겟 목적에 대한 정책 개선 인자는 온도 파라미터에 의존하고, 그리고
    상기 방법은,
    각각의 타겟 목적에 대해, 선호 분포로부터 샘플링된 선호 설정, 환경으로부터 수신된 관찰, 및 현재 액션 선택 정책으로부터 샘플링된 관찰에 대한 액션에 대해 평균화된 타겟 목적에 대한 Q-값 신경망의 Q-값 출력에 의존하는 온도 목적 함수를 최적화함으로써 온도 파라미터를 획득하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  12. 선행하는 청구항들 중 어느 하나에 있어서,
    선호도 분포로부터 샘플링된 샘플링된 선호도 설정 벡터가 보상보다 비용을 우선시할 가능성이 있도록 선호도 분포를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  13. 선행하는 청구항들 중 어느 하나에 있어서,
    상기 환경은 실세계 환경이고, 그리고 상기 제약조건은 에이전트가 작업을 수행하기 위해 실세계에서 액션을 수행할 때 발생하는 비용에 대한 제약 조건인 것을 특징으로 하는 컴퓨터 구현 방법.
  14. 하나 이상의 컴퓨터 및 하나 이상의 컴퓨터에 의해 실행될 때 그 하나 이상의 컴퓨터로 하여금 제1항 내지 제13항 중 어느 한 항의 개별 방법의 동작들을 수행하게 하는 명령을 저장하는 하나 이상의 저장 디바이스를 포함하는 시스템.
  15. 하나 이상의 컴퓨터에 의해 실행될 때 그 하나 이상의 컴퓨터로 하여금 제1항 내지 제13항 중 어느 한 항의 개별 방법의 동작들을 수행하게 하는 명령으로 인코딩된 컴퓨터 저장 매체.
KR1020237014254A 2020-10-02 2021-10-01 파레토 프론트 최적화를 사용한 제약된 강화 학습 신경망 시스템 KR20230075497A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063087123P 2020-10-02 2020-10-02
US63/087,123 2020-10-02
PCT/EP2021/077177 WO2022069743A1 (en) 2020-10-02 2021-10-01 Constrained reinforcement learning neural network systems using pareto front optimization

Publications (1)

Publication Number Publication Date
KR20230075497A true KR20230075497A (ko) 2023-05-31

Family

ID=78078260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237014254A KR20230075497A (ko) 2020-10-02 2021-10-01 파레토 프론트 최적화를 사용한 제약된 강화 학습 신경망 시스템

Country Status (5)

Country Link
US (1) US20230368037A1 (ko)
EP (1) EP4205033A1 (ko)
JP (1) JP7516666B2 (ko)
KR (1) KR20230075497A (ko)
WO (1) WO2022069743A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023217868A1 (en) * 2022-05-11 2023-11-16 Deepmind Technologies Limited Negotiating contracts for agent cooperation in multi-agent systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200104715A1 (en) 2018-09-28 2020-04-02 Xilinx, Inc. Training of neural networks by including implementation cost as an objective

Also Published As

Publication number Publication date
US20230368037A1 (en) 2023-11-16
WO2022069743A1 (en) 2022-04-07
JP2023545021A (ja) 2023-10-26
JP7516666B2 (ja) 2024-07-16
EP4205033A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
JP7436688B2 (ja) 目的別行動価値関数を使用する多目的強化学習
Chang et al. Reinforcement based mobile robot path planning with improved dynamic window approach in unknown environment
US20220366245A1 (en) Training action selection neural networks using hindsight modelling
US20220366247A1 (en) Training action selection neural networks using q-learning combined with look ahead search
KR20210011422A (ko) 모델 없는 강화 학습을 위한 스택형 컨볼루션 장단기 메모리
JP2023512722A (ja) 適応リターン計算方式を用いた強化学習
JP7448683B2 (ja) マルチタスク強化学習におけるメタ勾配を用いたアクション選択のための学習オプション
KR20230075497A (ko) 파레토 프론트 최적화를 사용한 제약된 강화 학습 신경망 시스템
Zhang et al. A fully distributed multi-robot navigation method without pre-allocating target positions
JP2024522051A (ja) 重み付けされたポリシー投影を使用した多目的強化学習
KR20230153481A (ko) 판별기 모델의 앙상블을 사용한 강화 학습
Wang et al. Motion planning of space robot
Bharathi et al. Path planning of unmanned mobile robot in unknown obstacle environments for multi switching control tracking using deep reinforcement learning
Oh Network Offloading Policies for Cloud Robotics: Enhanced Situation Aware Robot Navigation Using Deep Reinforcement Learning
EP4288905A1 (en) Neural network reinforcement learning with diverse policies
Tan et al. Path Planning Method of Garbage Cleaning Robot Based on Mobile Communication Network
WO2024068789A1 (en) Learning tasks using skill sequencing for temporally-extended exploration