JP6721785B2 - ロボット操作のための深層強化学習 - Google Patents

ロボット操作のための深層強化学習 Download PDF

Info

Publication number
JP6721785B2
JP6721785B2 JP2019514301A JP2019514301A JP6721785B2 JP 6721785 B2 JP6721785 B2 JP 6721785B2 JP 2019514301 A JP2019514301 A JP 2019514301A JP 2019514301 A JP2019514301 A JP 2019514301A JP 6721785 B2 JP6721785 B2 JP 6721785B2
Authority
JP
Japan
Prior art keywords
robot
policy
episode
given
robots
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019514301A
Other languages
English (en)
Other versions
JP2019529135A (ja
Inventor
セルゲイ・レヴァイン
イーサン・ホーリー
シシアン・グ
ティモシー・リリクラップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2019529135A publication Critical patent/JP2019529135A/ja
Application granted granted Critical
Publication of JP6721785B2 publication Critical patent/JP6721785B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • 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/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/32Operator till task planning
    • G05B2219/32335Use of ann, neural network
    • 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/33Director till display
    • G05B2219/33033Identification neural controller copies weight to system neural controller
    • 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/33Director till display
    • G05B2219/33034Online learning, training
    • 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/39001Robot, manipulator control
    • 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/40499Reinforcement learning algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Fuzzy Systems (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、ロボット操作のための深層強化学習に関する。
多くのロボットが、1つまたは複数の物体を操作するために1つまたは複数のエンドエフェクタを利用するようにプログラムされる。たとえば、ロボットは、物体に力を加えて移動させるのにエンドエフェクタを利用する場合がある。たとえば、ロボットは、その物体を必ずしも握ることなく変位させるのに、把持エンドエフェクタまたは他のエンドエフェクタを利用する場合がある。また、たとえばロボットは、物体を第1の位置から取り上げ、第2の位置へ移動させてそこにおろすために「衝撃」グリッパまたは「進入」グリッパ(たとえば、ピン、ニードルなどを使用して物体に物理的に侵入するもの)などの把持エンドエフェクタを利用してもよい。
以下で説明される実装形態は、1つまたは複数のタスクを実行するときの1つまたは複数のロボットの動作性能における改善を提供する。本明細書で説明されるように、強化学習プロセスを使用して1つまたは複数のロボットの性能が改善され、強化学習プロセスにより、1つまたは複数のロボットを使用して特定の物理的タスクを実施するための最適な手法またはポリシーの迅速な学習が促進される。ロボットは、習得したポリシーを使用して、タスクの実施における効率の利益を得ることができる。説明された強化学習プロセスが行われるとき、物理的タスクは、ロボットによって、たとえばより迅速に、かつ/またはより少ない電力消費量で実施されてもよい。それに加えてまたはその代わりに、そのような物理的タスクは、より安全に実施されてもよく、もしくは、ロボットの性能の他の態様が学習プロセスに伴って改善しながら、定義された安全パラメータの範囲内で実行され続ける場合がある。
以下の開示から明らかなように、学習プロセスは繰り返されてもよい。新規の繰返しがロボットの物理的作用の制御を担うコンピュータ装置を通るとき、1つまたは複数のロボットが、特定のタスクのためのポリシー/手法のそれぞれの新規の改善された繰返しに従って動作してもよい。そのため、学習プロセスが続行されるにつれて、ロボットによって実施される物理的作用の点から、上記で言及された効率の利益がたびたび生じる場合がある。全体として、もたらされる効率の利益と併せて、ロボットの性能の改善が特に高速であってよく、その結果、ロボットは、物理的タスクを、他の学習手法を用いる場合よりも短い時間において最適なやり方で実行することになってもよい。このことにより、ロボットの改善された消費電力など前述の利点が初期段階においてもたらされることが理解されよう。これは、たとえば別々のコンピュータプロセッサにおける、1つまたは複数のロボット用のトレーニングスレッドと経験スレッドの間の分離の説明の一部分として以下で説明される。詳細には、ポリシーの更新を非同期でプールする複数のロボットにわたるトレーニングアルゴリズムを並行処理すると、トレーニングの所与の回数の繰返しの後に、より正確で、かつ/またはロバストなポリシーのニューラルネットワークをもたらすことができることが説明される。
強化学習の目的は、ロボットスキル(本明細書ではタスクとも称される)の状況では、ユーザから与えられた、ロボットが達成するべきものの定義を表す報酬関数を最大化しようとするエージェントを制御することである。時間tにおける状態xtにおいて、エージェントは、そのポリシーπ(ut|xt)に従ってアクションutを選択かつ実行し、ロボットのダイナミクスp(xt|xt, ut)に従って新規の状態xtへ遷移し、報酬r(xt, ut)を受信する。強化学習の目的は、初期状態の分布から、報酬の予期される合計を最大化する最適なポリシーπ*を発見することである。報酬は、前述のように、達成されるべきロボットのタスクに依拠する報酬関数に基づいて判定される。したがって、ロボット工学の状況における強化学習は、所与のロボットのタスクの実施のために最適なポリシーを学習しようとする。
本明細書で開示される実装形態は、現在の状態に基づいてロボットのアクションを決定するためのポリシーをパラメータ化するポリシーネットワークをトレーニングするために、深層強化学習を利用する。現在の状態は、ロボットの状態(たとえばロボットの関節の角度、ロボットのエンドエフェクタの位置、および/またはそれらの時間微分)、および/またはロボットの環境における1つまたは複数の構成要素の現在の状態(たとえばロボットの環境におけるセンサの現在の状態、ロボットの環境における対象物体の現在の姿勢)を含むことができる。ポリシーネットワークは深層ニューラルネットワークなどのニューラルネットワークであることが可能である。たとえば、ポリシーネットワークはニューラルネットワークであることが可能であり、これは現在の状態を入力として受信し、入力および学習したニューラルネットワークのポリシーパラメータに基づいて、実施されるべきアクションを指示する出力を生成する。たとえば、出力は、ロボットのアクチュエータの各々に与えられる速度コマンド、またはロボットのアクチュエータの各々に印加されるトルクを指示することができる。ロボットは、ロボットの各制御サイクルにおいてポリシーニューラルネットワークに現在の状態を適用し、ポリシーニューラルネットワークを使用して現在の状態を処理することにより出力を生成して、出力によって指示されたアクションを有効にするために制御コマンドを実施することにより、ポリシーニューラルネットワークを利用することができる。次いで、制御コマンドを実施することに続く状態が、次の制御サイクルにおける現在の状態として利用されることが可能である。
本明細書で開示される実装形態は、同時に動作する複数のロボットから経験データを収集する。各ロボットが、エピソードの繰返し実施の間の経験データのインスタンスを生成し、エピソードのそれぞれが、タスク実施の探査であり、ポリシーネットワークと、エピソード中のポリシーネットワーク向けの現在のポリシーパラメータとに基づいて導かれる。たとえば、エピソード中に、ロボットは、そのエピソード中のロボットの複数の制御サイクルの各制御サイクルにおいて、経験データのインスタンスを生成することができる。経験データの各インスタンスは、対応する現在の/初期の状態、初期の状態から遷移した後続の状態、初期の状態から後続の状態に遷移するために実行されたロボットのアクション(アクションは、ポリシーネットワークに対して初期の状態および現在のポリシーパラメータを適用することに基づく)を指示することができ、アクションに対する報酬(報酬関数に基づいて決定される)をオプションで指示することができる。収集された経験データは、エピソード中に生成され、収集された経験データのバッチに基づきポリシーネットワークのポリシーパラメータを繰り返し更新することによってポリシーネットワークをトレーニングするために使用される。さらに、複数のエピソードの各々がロボットによって実施されるのに先立って、現在の更新されたポリシーパラメータが、エピソードを実施するのに利用するために供給されることが可能である(または取り出されることが可能である)。たとえば、各ロボットは、そのエピソードの各々を実施するのに先立って、トレーニングのつい最近の繰返しから更新されたポリシーパラメータを取得して、エピソードを実施するのに更新されたポリシーパラメータを使用することができる。したがって、各エピソードの経験データは、トレーニングの(エピソードの開始に対して)つい最近の繰返しからの更新されたポリシーパラメータを伴うポリシーネットワークに基づく。
多くの実装形態において、ポリシーネットワークのトレーニングは、複数のロボットからの経験データの生成および収集に対して非同期である。すなわち、ポリシーネットワークをトレーニングする/更新するスレッドは、複数のロボットからの経験データを生成する、および/または収集するスレッドから分離される。たとえば、トレーニング/更新スレッドは、1つまたは複数のプロセッサ上で動作することができ、経験スレッドは、トレーニング/更新スレッドを動作させる1つまたは複数のプロセッサとは別の1つまたは複数の追加のプロセッサ上で動作することができる。トレーニングスレッドと経験スレッドを分離すると、固定周波数で制御を送信しなければならないことが多い、経験データを生成するロボットの制御プログラムをトレーニングの速度と経験を収集する速度の差によって停止させることのないように保証することができる。言い換えれば、分離することにより、トレーニングのためのスレッドを停止させることなく、対応する経験スレッドを通じて経験データを収集し続けることができる。さらに、分離すると、トレーニングスレッドを経験スレッドと並行して動作させること、ポリシーネットワークのポリシーパラメータを非同期で繰り返し更新すること、およびエピソード向けの更新されたポリシーパラメータを繰り返し供給することが可能になる。また、多くの実装形態において、トレーニングスレッドは、ロボットの制御周波数(たとえば20Hz)のうちの1つまたは複数(たとえばすべて)よりも高い周波数(たとえば60Hz)で動作することができる。それらの実装形態では、並行して動作する複数のロボットから経験データを取得し、個別のスレッドにおいて非同期でトレーニングすることにより、(複数のロボットからの経験データを利用しない技術と比較して)現実の(たとえば実時間の(clock on the wall))トレーニング時間を短縮することができる。たとえば、利用可能な新規の経験データがバッファにないことによるいかなる(またはわずかな)遅延もなく、トレーニングすることができる。また、たとえば個別のスレッドは、トレーニングを可能にするために経験データの収集を停止する必要性を防止することができ、その逆も同様である。
その上、複数のロボットからの経験データを利用し、トレーニングスレッドと経験収集スレッドを分離すると、トレーニングを所与の回数だけ繰り返した後には、そのような技術を利用しない場合よりも正確かつ/またはロバストなモデルをもたらすことができる。これは、たとえばロボットによって、所与のエピソードにおいて、このロボットからの経験データの過去のインスタンスと、並行動作している他のロボットからの経験データの過去のインスタンスとの両方を基に更新されたポリシーパラメータに基づいて生成される経験データによることが可能である。たとえば、ロボットの第3のエピソードでは、第3のエピソードにおいて利用されるポリシーパラメータは、そのロボットの第1のエピソードおよび/または第2のエピソードからの経験データだけでなく、並行動作しているロボットの第1のエピソードおよび/または第2のエピソードからの経験データに基づくことが可能である。このように、第3のエピソードにおいて生成される経験データは、たった2つの従前のエピソードよりも多くからの経験データを考慮してトレーニングされた更新されたポリシーパラメータを伴うポリシーネットワークに基づき、2つの従前のエピソードからの経験データを考慮して更新のポリシーパラメータをトレーニングするのみの場合よりも速い収斂をもたらす経験データが、第3のエピソードにおいて生成されることが可能である。
本明細書で説明される様々な実装形態では、経験データを生成する複数のロボットのうちの1つまたは複数が、互いに非同期で動作すること、および/またはエピソードを実施するのに先立って更新されたポリシーパラメータをロボットによって非同期で供給する(または取り出す)ことが可能である。このように、複数のロボットの各々に供給される更新されたポリシーパラメータが互いに対して変化することができる。たとえば、第1のロボットは、第1の時間において、第1のロボットによって実施されるべきエピソードに用いる更新されたポリシーパラメータを取得することができる。第1の時間において、第2のロボットは、引き続き従前のエピソードを実施することができる。次いで、第1の時間の後の第2の時間において、第2のロボットは、従前のエピソードの直後に第2のロボットによって実施されるべきエピソードに用いるさらに更新されたポリシーパラメータを取得することができる。第2の時間において、取得されるさらに更新されたポリシーパラメータは、(第1の時間と第2の時間の間に行われたさらなるトレーニングのために)第1の時間において第1のロボットによって取得された更新されたポリシーパラメータとは異なることが可能である。このように、第1の時間において第1のロボットによって取得された更新されたポリシーパラメータは、第2のロボットが利用するように供給されることはない。むしろ、より最新のさらに更新されたポリシーパラメータが取得される。
いくつかの実装形態では、複数のロボットの各々による複数のエピソードの実施中であり、エピソードの各々が、タスクに関する強化学習ポリシーを表現するポリシーニューラルネットワークに基づいてタスクを実施する探査である、該実施中において、エピソード中にロボットによって生成されたロボット経験データのインスタンスをバッファに記憶するステップであって、ロボット経験データのインスタンスの各々が、複数のエピソードのうちの対応するエピソード中に生成され、対応するエピソード向けのポリシーニューラルネットワークの対応するポリシーパラメータを伴うポリシーニューラルネットワークを使用して生成される対応する出力上に少なくとも部分的に生成される、ステップと、ポリシーニューラルネットワークの更新されたポリシーパラメータを繰り返し生成するステップであって、繰り返し生成するステップの繰返しの各々が、繰返し中に、バッファの中のロボット経験データのインスタンスのうちの1つまたは複数のもののグループを使用して更新されたポリシーパラメータを生成することを含む、ステップと、ロボットが実施する複数のエピソードの各々の開始と同時に、ロボットの各々によって、エピソードにおいてロボットが使用するポリシーニューラルネットワークを更新するステップであって、更新されたポリシーパラメータを繰り返し生成するステップの直近の繰返しの更新されたポリシーパラメータを使用することを含む、ステップとの実施を含む方法が提供される。
本明細書で開示されたこれらの実装形態および他の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
更新されたポリシーパラメータの各々が、ポリシーニューラルネットワークの対応する層の対応するノード向けの対応する値を定義することができる。
各ロボットの所与のロボットのロボット経験データのインスタンスは、更新されたポリシーパラメータを繰り返し生成する生成周波数よりも低い周波数である第1の周波数においてバッファに記憶されることが可能である。
ロボットの各々のロボット経験データのインスタンスは、更新されたポリシーパラメータを繰り返し生成する生成周波数よりもそれぞれ低い周波数である対応する周波数においてバッファに記憶されることが可能である。
ロボット経験データのインスタンスをバッファに記憶するステップは、第1のスレッドにおいて1つまたは複数のプロセッサによって実施されることが可能であり、繰り返し生成するステップは、第1のスレッドとは別個の第2のスレッドにおいて、各プロセッサのうちの1つまたは複数によって実施されることが可能である。たとえば、第1のスレッドは、プロセッサのうちの1つまたは複数の第1のグループによって実施されることが可能であり、第2のスレッドは、第1のグループとオーバラップしない、プロセッサのうちの1つまたは複数の第2のグループによって実施されることが可能である。
繰り返し生成するステップの繰返しの各々が、この生成する繰返し中に、バッファの中のロボット経験データのインスタンスのうちの1つまたは複数のグループを考慮して損失関数を最小化することに基づいて更新されたポリシーパラメータを生成するステップを含むことができる。
繰り返し生成するステップの繰返しの各々が、この生成する繰返し中に、バッファの中のロボット経験データのインスタンスのうちの1つまたは複数のグループを考慮するオフポリシー型の学習を含むことができる。たとえば、オフポリシー型の学習は、正規化された利益関数(NAF)アルゴリズムまたは深層決定論的ポリシー勾配(DDPG)アルゴリズムを利用するQ学習などのQ学習であることができる。
経験データのインスタンスの各々が、対応する、開始ロボット状態と、開始ロボット状態から遷移した後続ロボット状態と、開始ロボット状態から後続ロボット状態へ遷移するために実行されるアクションと、アクションに対する報酬とを指示することができる。開始ロボット状態から後続ロボット状態へ遷移するために実行されるアクションは、対応するエピソード向けの更新されたポリシーパラメータを伴うポリシーニューラルネットワークを使用して開始ロボット状態を処理することに基づいて生成されることが可能である。アクションに対する報酬は、強化学習ポリシーの報酬関数に基づいて生成されることが可能である。
本方法は、1つまたは複数の基準に基づき、複数のエピソードを実施するのを停止して、繰り返し生成するのを停止するステップと、1つまたは複数の追加のロボットが使用するように直近に生成されたバージョンの更新されたポリシーパラメータをポリシーニューラルネットワークに供給するステップとをさらに含むことができる。
いくつかの実装形態では、所与のロボットの1つまたは複数のプロセッサによって、第1のポリシーパラメータのグループを有するポリシーネットワークに基づいてタスクを実施する探査の所与のエピソードを実施するステップと、所与のエピソード中に、ポリシーネットワークに基づいて生成された第1のロボット経験データのインスタンスを供給するステップと、ポリシーネットワークに基づいてタスクを実施する後続のエピソードを所与のロボットによって実施するのに先立って、第1のグループのポリシーパラメータのうちの1つまたは複数を更新されたポリシーパラメータで置換するステップであって、更新されたポリシーパラメータは、追加のロボットによってタスクを実施する探査の追加のロボットのエピソード中に追加のロボットによって生成されたロボット経験データの追加のインスタンスに基づいて生成され、後続のエピソードは第1のエピソードのすぐ後に続く、ステップとを含む方法であって、後続のエピソードにおいてポリシーネットワークに基づいてタスクを実施するステップが、置換されたポリシーパラメータの代わりに更新されたポリシーパラメータを使用することを含む、方法が提供される。
本明細書で開示されたこれらの実装形態および他の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
いくつかの実装形態では、本方法は、後続のエピソードの実施中に、1つまたは複数の追加のプロセッサによって、第1のエピソード中に生成された第1のロボット経験データのインスタンスのうちの1つまたは複数に基づいて、さらに更新されたポリシーパラメータを生成するステップをさらに含むことができる。本方法は、追加のロボットによる対応するエピソードの実施において追加のロボットが使用するためのさらに更新されたポリシーパラメータを供給するステップをさらに含むことができる。それらの実装形態のうちのいくつかでは、所与のロボットによる後続のエピソードの実施中に、追加のロボットが、対応するエピソードの実施を開始し、および/または所与のロボットによる任意のエピソードの実施において、さらに更新されたポリシーパラメータが所与のロボットによって利用されない。それらの実装形態のうちのいくつかでは、本方法は、追加のプロセッサのうちの1つまたは複数によって、またさらに更新されたポリシーパラメータを生成するステップであって、またさらに更新されたポリシーパラメータが、さらに更新されたポリシーパラメータの生成の後に、後続のエピソードの実施中に生成される、ステップと、またさらに更新されたポリシーパラメータを、ポリシーネットワークに基づいてタスクを実施するさらなる後続のエピソードの所与のロボットによる実施において所与のロボットが使用するように供給するステップとをさらに含むことができる。さらなる後続のエピソードは、後続のエピソードのすぐ後に続く。それらの実装形態のうちのいくつかバージョンでは、追加のロボットによる対応するエピソードの実施中に、所与のロボットが、さらなる後続のエピソードの実施を開始し、更新されたポリシーパラメータと、またさらに更新されたポリシーパラメータとは、追加のロボットによる任意のエピソードの実施において追加のロボットによって利用されることはなく、および/または追加のロボットによる任意のエピソードの実施において、更新されたポリシーパラメータが追加のロボットによって利用されない。
ポリシーネットワークは、ニューラルネットワークモデルを含むことができ、またはニューラルネットワークモデルからなることができ、更新されたポリシーパラメータの各々が、ニューラルネットワークモデルの対応する層の対応するノード向けの対応する値を定義することができる。
いくつかの実装形態では、本方法は、タスクを実施する所与のエピソードの実施中に、ポリシーネットワークからの出力の所与の繰返しにおいて、所与のロボットの1つまたは複数の基準の違反を判定するステップと、1つまたは複数の基準がもはや違反されることのないように、所与の繰返しの出力を修正するステップと、修正された出力に基づいて、経験データのインスタンスの所与のインスタンスを生成するステップとをさらに含む。基準は、関節位置の制限と、関節速度の制限と、エンドエフェクタの位置の制限とのうちの1つまたは複数を含むことができる。
いくつかの実装形態では、本方法は、所与のエピソード中に、ポリシーネットワークに対する入力として現在の状態表現を適用するステップであって、現在の状態表現が、少なくとも所与のロボットの現在の状態を指示する、ステップと、ポリシーネットワークを使用して入力を処理することにより、出力を生成するステップと、出力に基づいて、所与のロボットの1つまたは複数のアクチュエータに対して制御コマンドを供給するステップとによって、探査のうちの所与の探査を生成するステップをさらに含む。出力に基づいてアクチュエータに対して制御コマンドを供給するステップは、出力にノイズを付加することによって修正された出力を生成するステップと、修正された出力に基づいて制御コマンドを供給するステップとを含むことができる。出力は、ロボットの複数のアクチュエータの各々向けの速度またはトルクを含むことができ、制御コマンドを供給するステップは、アクチュエータが速度またはトルクを印加する制御コマンドセットを供給するステップを含むことができる。
経験データの第1のインスタンスの各々が、対応する、開始ロボット状態と、開始ロボット状態から遷移した後続ロボット状態と、開始ロボット状態から後続ロボット状態へ遷移するために実行されるアクションと、アクションに対する報酬とを指示することができる。
いくつかの実装形態では、複数のロボットのうちの所与のロボットによって生成されたロボット経験データの所与のインスタンスを受信するステップを含む方法が提供される。ロボット経験データの所与のインスタンスは、タスクを実施する探査の所与のエピソード中に、所与のロボットによって所与のインスタンスを生成するのに利用されるポリシーネットワークのポリシーパラメータの所与のバージョンに基づいて生成される。本方法は、複数のロボットのうちの追加のロボットから、ロボット経験データの追加のインスタンスを受信するステップをさらに含む。追加のインスタンスは、追加のロボットによって、ポリシーネットワークに基づいてタスクを実施する探査のエピソード中に生成される。本方法は、所与のロボットおよび追加のロボットがタスクを実施する探査のエピソードを継続している間に、所与のインスタンスおよび追加のインスタンスに少なくとも部分的に基づくポリシーネットワークのトレーニングに基づいて、ポリシーネットワークのポリシーパラメータの新バージョンを生成するステップをさらに含む。本方法は、所与のロボットが、タスクを実施する探査の直後のエピソードをポリシーパラメータの新バージョンに基づいて実施するように、所与のロボットに対してポリシーパラメータの新バージョンを供給するステップをさらに含む。
本明細書で開示されたこれらの実装形態および他の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。
所与のインスタンスを受信するステップは、所与のロボットから経験データのインスタンスを受信する複数の経験データの繰返しのうちの1つの繰返しにおいて生じることができ、複数の経験データの繰返しは第1の周波数において生じる。更新されたパラメータを生成するように強化モデルをトレーニングするステップは複数のトレーニングの繰返しを実施するステップを含むことが可能であり、この複数のトレーニングの繰返しを実施するステップは、所与のインスタンスおよび追加のインスタンスに少なくとも部分的に基づくポリシーネットワークのトレーニングの、第1のトレーニングの繰返しと、複数のロボットからの経験データのまたさらなるインスタンスに基づく、ポリシーネットワークのトレーニングの1つまたは複数の追加のトレーニングの繰返しとを含む。トレーニングの繰返しは、経験データの繰返しよりも高い周波数である第2の周波数において生じることができる。
いくつかの実装形態では、非同期で同時に動作する複数のロボットによって生成された経験データのインスタンスを繰り返し受信するステップを含む方法が提供される。経験データのインスタンスの各々が、ポリシーニューラルネットワークに基づくタスク探査の対応するエピソード中に、複数のロボットのうちの対応するロボットによって生成される。本方法は、トレーニングの繰返しの各々においてポリシーネットワークの1つまたは複数の更新されたパラメータを生成するために、複数のロボットから受信された経験データに基づいてポリシーネットワークを繰り返しトレーニングするステップをさらに含む。本方法は、経験データのインスタンスが基づくタスク探査のエピソードに先立って、ロボットのポリシーニューラルネットワークを更新するために、更新されたパラメータのインスタンスをロボットに対して非同期で繰り返し供給するステップをさらに含む。
他の実装形態は、上記の方法および/または本明細書の他のところで説明される方法のうちの1つまたは複数などの方法を実施するために1つまたは複数のプロセッサ(たとえば1つもしくは複数の中央処理装置(CPU)、1つもしくは複数のグラフィック処理ユニット(GPU)、および/または1つもしくは複数のテンソル処理ユニット(TPU))によって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体を含む場合がある。もう1つの実装形態は、1つまたは複数のコンピュータのシステム、ならびに/あるいは上記および/または本明細書の他のところで説明された方法のうちの1つまたは複数などの方法を実施するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のロボットを含む場合がある。
本明細書でより詳細に説明される前述の概念および追加の概念のすべての組合せは、本明細書で開示された主題の一部分として企図されていることを理解されたい。たとえば、この開示の最後に出現する特許請求された主題のすべての組合せは、本明細書で開示された主題の一部分として企図される。
本明細書で開示された実装形態が実施されてもよい例示的な環境を示す図である。 図1のロボットのうちの1つと、ロボットの把持エンドエフェクタの経路に沿った移動の一例とを示す図である。 ロボットによってエピソードを実施する一例を示す流れ図である。 経験データのインスタンスを記憶する例示的な方法を示す流れ図である。 ポリシーネットワークのパラメータを更新するためのトレーニングの例示的な方法を示す流れ図である。 ロボットの例示的な構造を表す概略図である。 コンピュータシステムの例示的な構造を表す概略図である。
ロボットの強化学習のアプリケーションは、実際の物理的システムの実用的なトレーニング時間を達成することを優先して、学習プロセスの自律性を損なうことが多い。強化学習プロセスのこの妥協は、手作業のポリシー表現および/または人手による実演を導入することによる場合がある。
この説明の実装形態は、1つまたは複数のロボットの動作性能を改善するための深層強化学習の方法の拡張を対象とする。以前に説明されたように、この実装形態は、ロボットによって実行される物理的作用における効率の利益などの動作上の利点をもたらし、また従前のロボットの強化学習のアプリケーションの短所を軽減する。これらは、人手による実演の必要性を軽減すること、および/または手作業のポリシー表現(たとえば「モデルベースの」ポリシー表現)の必要性を軽減することを含む場合がある。本明細書で説明されるいくつかの実装形態では、ポリシーをパラメータ化するポリシーニューラルネットワークが深層強化学習によってトレーニングされ、手作業のポリシー表現の必要性が軽減される。その上、ポリシーニューラルネットワークは、ロボットの環境のモデルを明示的に学習しないという点で「モデルなし」であることが可能である。特定の例の1つとして、いくつかの実装形態では、深層Q関数のオフポリシー型のトレーニングに基づく深層強化学習アルゴリズムは、複雑な3D操作タスクに合わせて調整することができ、実際の物理的ロボットによって生成された経験データに基づいて深層ニューラルネットワークポリシーをトレーニングするように十分効率的に学習することができる。それらの実装形態のうちのいくつかでは、それ自体のポリシー更新を非同期でプールする複数のロボットにわたってアルゴリズムを並行処理することにより、現実の(たとえば実時間の)トレーニング時間を短縮することができる。それらの実装形態のうちのいくつかでは、それ自体のポリシー更新を非同期でプールする複数のロボットにわたってアルゴリズムを並行処理すると、トレーニング時間を短縮することに加えてまたはその代わりに、トレーニングを所与の回数だけ繰り返した後には、そのような並行処理を利用しない場合よりも正確かつ/またはロバストなポリシーニューラルネットワークをもたらすことができる。これは、たとえばロボットによって、所与のインスタンスにおいて、このロボットからの経験データの過去のインスタンスと、並行動作している他のロボットからの経験データの過去のインスタンスとの両方に基づいて更新されたポリシーパラメータに基づいて生成される経験データによることが可能である。その上、本明細書で開示された技術のいくつかの実装形態により、いかなる従前の実演または手作業で設計された(たとえば「モデルベースの」)ポリシー表現も必要なく、実際のロボットにおける3次元("3D")ロボット操作タスク(たとえばドアを開くタスク、ピックアンドプレースタスク)の学習が可能になる。
以下でより詳細に説明されるように、様々な実装形態において、オフポリシー型の強化学習方法(たとえば深層Q関数のオフポリシー型のトレーニングに基づくQ学習)は、複雑な操作ポリシーをゼロから学習するように拡張される。それらの様々な実装形態のうちのいくつかでは、複雑な操作ポリシーが、ユーザの実演なしで学習され、かつ/またはタスクに特有の分野の知見を必要としないニューラルネットワーク表現を使用して学習される。また、それらの様々な実装形態のうちのいくつかでは、ポリシーは、深層決定論的ポリシー勾配アルゴリズム(DDPG)または正規化利益関数アルゴリズム(NAF)などのオフポリシー型の深層Q関数アルゴリズムを使用して学習される。たとえば、複数の実際の物理的ロボットにわたる並列NAFアルゴリズムを使用する非同期の深層強化学習などの非同期の深層強化学習が利用される場合がある。これにより、実際のロボットのプラットフォーム上のサンプル効率がよいトレーニング、トレーニングする際に複数のロボットの共有経験を使用することによる高い時間効率、ならびに/あるいは複数のロボットおよび/またはそれらの環境の間の多様性による、よりロバストなトレーニングが可能になる場合がある。トレーニングの時間効率が改善されると、たとえば改善されたポリシーを使用する実際の物理的ロボットが、物理的タスクをより早期に実行するようになる。これは、たとえば初期段階におけるロボットの消費電力の改善、ならびに/あるいはたとえばロボットのポリシーおよびもたらされる物理的作用における早期の改善によるロボットの関節に対する摩耗の全体的な速度の低下といった形の技術的利益をもたらす。
複数のロボットからの経験をプールするいくつかの過去のアプリケーション(集合的なロボットの学習)は、シミュレーション時間が低コストであり、トレーニングがニューラルネットワークの逆伝搬によって支配されるという想定の下で、全体的なトレーニング時間を短縮しようとする。対照的に、この説明のいくつかの実装形態は、経験が割高であってニューラルネットワークの逆伝搬が比較的安価である実際の物理的ロボットからのデータに基づいてトレーニングするときのトレーニング時間を最小化しようとする。たとえば、本明細書で開示される様々な実装形態は、互いに非同期で動作する複数のロボットから経験データを収集する。その上、様々な実装形態は、複数のロボットの動作とは非同期で(しかし同時に)ポリシーニューラルネットワークをトレーニングするのに、収集された経験データを利用する。たとえば、各ロボットのうちの1つのロボットのエピソードから収集された経験データのバッファは、ポリシーニューラルネットワークを更新するのに利用されることが可能であり、更新されたポリシーニューラルネットワークからの更新されたポリシーパラメータは、複数のロボットのうちの1つまたは複数による実施のために、対応する次のエピソードを実施する前に供給される。このように、経験データの収集は、複数のロボットの間で非同期であることが可能であり、ポリシーニューラルネットワークの更新に対して非同期であることが可能である。しかしながら、複数のロボットのそれぞれが、各エピソードにおいて、そのロボットの過去のエピソードからの経験データと他のロボットの過去のエピソードとに基づく更新されたポリシーパラメータを利用することができる。そのような非同期の実行およびニューラルネットワークのトレーニングは、複数のロボットのプラットフォームにわたって経験を同時に収集することの結果として、全体的なトレーニング時間のスピードアップを達成する場合がある。
実際のロボットの環境、特に接触イベントを伴う環境では、大抵の場合環境ダイナミクスは利用不可能であるか、または正確にモデル化することができない。この点からみて、本明細書で開示される実装形態は、ポリシー探索方法および価値反復方法を含む、モデルなしの強化学習に注目する。ポリシー探索方法は、真の目的を最適化する直接的なやり方を供するが、オンポリシー型の学習のために、価値反復方法よりもかなり多くのデータを必要とすることが多い。したがって、本明細書で開示されるいくつかの実装形態は、関数近似を伴うQ学習に基づく価値反復方法などの価値反復方法に特に注目する。DDPGおよびNAFは価値反復方法の2つの例であり、深層Q学習を連続した行動空間へと拡張し、たとえばリプレイバッファによるオフポリシー型の学習のために、匹敵するポリシー探索方法よりもサンプル効率がよい。
強化学習の目的は、ロボットスキル(本明細書でタスクとも称される)の状況では、ユーザから与えられた、ロボットが達成するべきものの定義を表す報酬関数を最大化しようとするエージェントを制御することである。時間tにおける状態xtにおいて、エージェントは、そのポリシーπ(ut|xt)に従ってアクションutを選択して実行し、ダイナミクスp(xt|xt, ut)に従って新規の状態xtへ遷移し、報酬r(xt, ut)を受信する。本明細書で説明される実装形態では、無限計画対象期間の割引累積報酬問題が考慮に入れられる。無限計画対象期間の割引累積報酬問題の目的は、以下で与えられる時間tからTまでの割引率γの将来の報酬である。
Figure 0006721785
目的は、初期状態の分布から、以下で与えられる、予期される報酬の合計を最大化する最適なポリシーπ*を発見することである。
Figure 0006721785
強化学習方法の中でも、Q学習などのオフポリシー型の方法は、オンポリシー型の変形形態と比較してデータ効率の利益を供する場合がある。これは、ロボットのアプリケーションにとって有益な場合がある。Q学習は、ポリシーのQ関数
Figure 0006721785
を学習するステップと、Q関数
Figure 0006721785
を貪欲に最大化することによってポリシーを更新するステップとの間を繰り返すことにより、貪欲な決定論的ポリシーπ(ut|xt)=δ(ut=μ(xt))を学習する。
Figure 0006721785
はアクション値の関数をパラメータ化し、βは任意の探査ポリシーであり、pβはβによって誘起される状態到達であり、学習目的は、目標ytが以下のように固定された状況でベルマン誤差を最小化することである。
Figure 0006721785
連続アクション問題については、ポリシー更新ステップが、深層ニューラルネットワークによってパラメータ化されたQ関数のために至難である可能性がある。したがって、本明細書で説明された様々な実装形態では、関数近似を用いるQ学習の拡張が利用される場合がある。DDPGおよびNAFは、関数近似を用いるQ学習の拡張の2つの例である。DDPGはアクタークリティック法(actor-critic method)を採用することによって至難問題を回避するが、NAFは、離散アクションの場合と同様に閉形式の更新を可能にするために、以下の式に対するQ関数のクラスを制限する。探査中に、時間的に関連付けられたノイズが、オプションでポリシーネットワーク出力に追加されてもよい。
Figure 0006721785
この強化学習構成は、報酬関数によって定義された様々なロボットのスキルを学習するようにロボットシステムに適用することができる。しかしながら、学習プロセスは一般的には時間がかかる。したがって、本明細書で開示された実装形態では、これらの問題の一方または両方を緩和するために、NAFの並行処理される変形形態またはDDPGの並行処理されるバージョンが利用されてもよい。これにより、複雑な実際のロボットタスクに関して、ニューラルネットワークによってパラメータ化されたQ関数をゼロから学習することが可能になる場合がある。実用的なロボットの深層学習のアプリケーションでは、学習時間は実際のロボットのデータ収集レートによって、ネットワークのトレーニング速度ではなく実時間に制限される制約を加えられる。したがって、本明細書で開示される様々な実装形態は、データ収集のために複数の実際のロボットを効果的に使用して学習の現実の速度を増すために、非同期NAFの使用を提案する。これは、もちろん、物理的タスクを実行するロボットが習得されたポリシーを実施するとき、以前に論じられたような対応する効率の利益とともに、現実のロボット性能において、より迅速な改善を達成する。その上、本明細書で開示された様々な実装形態は、Q学習中に(たとえば探査の程度を向上するために、ポリシーネットワーク出力に対して、時間的に関連付けられた大きなノイズを付加することにより)アクティブな探査を達成し、これはゼロから学習するときに必要とされ、かつ/または有益な場合がある。それらの実装形態のうちのいくつかでは、探査を実施するロボットの1つまたは複数の基準(たとえば安全基準および/または他の基準)の違反を最小化するかまたは防止しながら、アクティブな探査を達成するための技術が採用される場合がある。
本明細書で開示された非同期NAFの実装形態では、(ポリシーニューラルネットワークを更新する/トレーニングする)トレーニングスレッドは、(探査中に1つまたは複数のロボットからそれぞれ経験データを収集する)経験収集スレッドから分離されている。それらの実装形態のうちのいくつかでは、トレーニングスレッドと収集スレッドを分離すると、固定周波数で制御を送信しなければならないことが多い、経験データを生成するロボットの制御プログラムが、トレーニングの速度と収集の速度の差によって停止することのないように保証される場合がある。トレーニングスレッドが、(経験収集スレッドが存在する)リプレイバッファからのトレーニングを続けている間に、各エピソードの始まりにおいてそれぞれのポリシーパラメータをトレーニングスレッドと同期させる(たとえば、トレーニングスレッドのつい最近の繰返しにおいて生成された、更新されたパラメータを用いてそれ自体のポリシーニューラルネットワークを更新する)経験収集スレッドは、ロボットに対するコマンドを実行して、リプレイバッファに経験データのインスタンスを押し込む。
N個の収集スレッドおよび1つのトレーニングスレッドを用いて非同期NAFを実施するためのアルゴリズムの一例の概要が以下に示される。例示のアルゴリズムは1つのトレーニングスレッドを伴って示されるが、いくつかの実装形態では、複数のトレーニングスレッド(たとえば複数のスレッドにわたって分配されたトレーニング)が用意されてよい。
Figure 0006721785
本明細書で説明されたように、様々な実装形態において、ニューラルネットワークはアクション値関数およびポリシーをパラメータ化してもよい。それらの実装形態のうちのいくつかでは、ポリシーに基づいて実施されるアクションを表す出力を生成する際にモデルに対する入力として様々な状態表現が利用される場合がある。状態表現は、ロボットの状態と、オプションの1つまたは複数の環境物体の状態とを指示することができる。一例として、ロボットの状態表現は、関節角度およびエンドエフェクタの位置、ならびにそれらの時間微分を含む場合がある。いくつかの実装形態では、成功信号(たとえば目標位置)が、ロボットの状態表現に添付される場合がある。本明細書で説明されたように、成功信号は、アクションに対する報酬を判定する際に、および/または他の目的のために利用される場合がある。特定の成功信号は、強化学習が目的とするタスクに依拠することになる。たとえば、到達するタスクについては、成功信号はエンドエフェクタの目的位置/目標位置でもよい。別の例として、ドアを開くタスクについては、ドアが閉まっているときには、成功信号は、取っ手位置およびドア枠に取り付けられたセンサ(たとえばドア枠に取り付けられた慣性計測ユニット)の四元数測定値を含む場合がある。様々な実装形態において、アクション値関数とポリシーとをパラメータ化するためのポリシーニューラルネットワークとして、標準的なフィードフォワードネットワークが利用されることが可能である。一例として、m(x)、L(x)(P(x)のコレスキー分解)、NAFにおけるV(x)、ならびにDDPGにおけるm(x)およびQ(x;u)の各々をパラメータ化するのに、それぞれが100ユニットのサイズを有する2つの隠れ層のネットワークが使用されてもよい。DDPGにおけるQ(x; u)については、線形予測が続く第2の隠れ層に対する別の入力として、アクションベクトルuが追加される場合がある。隠れアクティブ化としてReLUが使用されてもよく、最終層のアクティブ化のためにアクションスケールに対する境界を示すのに、双曲正接(Tanh)がポリシーネットワークm(x)においてのみ使用されてもよい。
本明細書で説明されたように、いくつかの実装形態では、探査を実施するロボットの1つまたは複数の基準(たとえば安全基準および/または他の基準)の違反を最小化するかまたは防止しながら、アクティブな探査を達成するための技術が採用される場合がある。それらの実装形態のうちのいくつかでは、基準は、ロボットの各関節に対する速度制限、ロボットの各関節の位置制限、ならびに/あるいはロボットの他の運動学の制約および/または動的制約を含む場合がある。たとえば、ロボットによる探査中に(たとえば利用されているポリシーネットワークによって)コマンドされた出力が、関節の速度制限を超える速度を指示する場合、その速度は、出力の実施に先立って修正されてもよく(たとえば速度制限まで低下されてもよく)、または代わりに誤差を明らかにして、探査の新規のエピソードを開始してもよい。
いくつかの実装形態では、エンドエフェクタの位置の境界を示す球体(または境界を示す他の形状)が基準として利用される場合がある。ロボットによる探査中に、コマンドされた出力によってロボットのエンドエフェクタが境界を示す球体の外部へ送られると、コマンドされた速度にいくらかの補正速度を加えて球体の表面に投射するのに、ロボットの順運動学が利用される場合がある。追加の基準および/または代替の基準が利用されてもよい。たとえば、ドアの開/閉などの特定のタスクを学習するために探査が実施されているときには、ロボットが特定の物体(たとえばドア)を強く押しすぎるのを防止するための基準が設けられてもよい。たとえば、ドアの閉位置の先の数センチメートルのところに、追加の境界を示す面が追加されてもよく、かつ/または(たとえばドアまたは取っ手との接触のために、コマンドされた速度を達成することができない場合、ロボットが過剰なトルクを加えることのないように)ロボットの1つまたは複数の関節にトルク限界が追加されてもよい。
次に、図を参照しながら、上記のさらなる説明およびさらなる実装形態が提供される。図1は、本明細書で開示された実装形態が実施されてもよい例示的な環境を示す。図1には例示のロボット180Aおよび180Bが含まれる。ロボット180Aおよび180Bは、ロボットの運動によって、把持エンドエフェクタ182Aおよび182Bを複数の可能な経路のうちの任意のものに沿って移動させて所望の場所に位置決めすることを可能にする、多自由度を有する「ロボットアーム」である。たとえば図2を参照すると、それのエンドエフェクタを経路201に沿って移動させるロボット180Aの一例が示される。図2は、経路201に沿って移動するときのロボット180Aおよびそのエンドエフェクタの姿勢のセットの2つの別々の姿勢を示す、ロボット180Aのファントム画像および非ファントム画像を含む。図1を再び参照して、ロボット180Aおよび180Bのそれぞれが、対応する把持エンドエフェクタ182A、182Bの2つの対向した「爪」を、少なくとも開位置と閉位置(および/またはオプションの複数の「部分的に閉じた」位置)との間で、作動させるようにさらに制御する。
図1には例示の視覚センサ184Aおよび184Bも示される。図1において、視覚センサ184Aは、ロボット180Aのベースまたは他の静止した基準点に対して一定の姿勢で取り付けられる。視覚センサ184Bも、ロボット180Bのベースまたは他の静止した基準点に対して一定の姿勢で取り付けられる。図1に示されるように、ロボット180Aに対する視覚センサ184Aの姿勢は、ロボット180Bに対する視覚センサ184Bの姿勢とは異なる。本明細書で説明されたように、いくつかの実装形態では、これは(視覚センサ184Aおよび184Bからのセンサデータによって経験データが少なくとも部分的に影響を受ける場合に)ロボット180Aおよび/または180Bの各々によって生成された経験データの多様性をもたらすのに有益な場合がある。視覚センサ184Aおよび184Bは、画像あるいは形状、色、奥行き、および/またはセンサの見通し線における物体の他の特徴に関係のある他の視覚データを生成することができるセンサである。視覚センサ184Aおよび184Bは、たとえばモノグラフのカメラ、立体画法のカメラ、および/または3Dレーザスキャナでもよい。3Dレーザスキャナは、光を放射する1つまたは複数のレーザと、放射光の反射に関係のあるデータを収集する1つまたは複数のセンサとを含む。3Dレーザスキャナは、たとえば飛行時間の3Dレーザスキャナまたは三角測量ベースの3Dレーザスキャナでもよく、位置敏感型検知器(PSD)または他の光位置センサを含む場合がある。
視覚センサ184Aは、例示のへら191Aを含む作業空間の部分などのロボット180Aの作業空間の少なくとも一部分の視野を有する。図1にはへら191Aを置く面は示されないが、へら191Aは、テーブル、ビン、および/または他の面に置かれてもよい。他の実装形態では、本明細書で説明されたようにロボット180Aによって実施される1つまたは複数のエピソード中に、より多数の物体、より少数の物体、追加物体、および/または代替物体が与えられる場合がある。エピソードの各々は、へら191Aおよびホッチキス191Bのうちの対応するものを包含しているタスク(たとえば物体への接触、物体の「ピックアンドプレース」)を実施する際の探査でもよい。追加物体および/または代替物体が与えられてもよい。たとえば、「ドアを開ける」タスクについては、ロボット180Aおよび180Bの各々の環境にドアが与えられてもよい。視覚センサ184Bは、例示のホッチキス191Bを含む作業空間の部分などのロボット180Bの作業空間の少なくとも一部分の視野を有する。図1にはホッチキス191Bを置く面は示されないが、ホッチキス191Bは、テーブル、ビン、および/または他の面に置かれてもよい。他の実装形態では、本明細書で説明されたようにロボット180Bによって実施される1つまたは複数のエピソード中に、より多数の物体、より少数の物体、追加物体、および/または代替物体が与えられる場合がある。
図1には特定のロボット180Aおよび180Bが示されるが、ロボット180Aおよび180Bに類似の追加のロボットアーム、他のロボットアームの形態を有するロボット、人型ロボット、動物型ロボット、1つまたは複数のホイールによって移動するロボット(たとえば自動均衡のロボット)、水中作業ロボット、無人飛行機("UAV")などを含む追加のロボットおよび/または代替のロボットが利用されてもよい。また、図1には特定の把持エンドエフェクタが示されるが、追加のエンドエフェクタおよび/または代替エンドエフェクタが利用される場合がある。たとえば、把持することができないエンドエフェクタが利用されてもよい。加えて、図1には視覚センサ184Aおよび184Bの特定の台が示されるが、追加の台または代替の台が利用されてもよく、あるいは視覚センサが省略されてもよい。たとえば、いくつかの実装形態では、視覚センサは、ロボットの非可動構成要素またはロボットの可動構成要素(たとえばエンドエフェクタ、またはエンドエフェクタに近接した構成要素)などにおいてロボットに直接取り付けられる場合がある。また、たとえばいくつかの実装形態では、視覚センサは、関連するロボットとは別個の静止していない構造に取り付けられてもよく、かつ/または関連するロボットとは別個の構造に対して静止していないやり方で取り付けられてもよい。
それぞれがモデルなしの強化学習ネットワークに基づいてタスクを実施する探査である複数のエピソードを実施するのに、ロボット180A、180B、および/または他のロボットが利用される場合がある。たとえば、ロボット180Aおよびロボット180Bは、それぞれが、決定論的なポリシー関数を表現する深層ニューラルネットワークなどのポリシーネットワークを含む場合がある。エピソードの始まりにおいて、ロボットの現在の状態(たとえば疑似ランダム的に選択された起動状態)が、成功信号(たとえば到達タスクについてはエンドエフェクタの目標位置)、および入力に基づいてポリシーネットワークにわたって生成された出力とともに、ポリシーネットワークに対する入力として適用されてもよい。ポリシーネットワークの出力は、ロボットの次の制御サイクルにおいて実施されるアクションを指示する。たとえば、ポリシーネットワークの出力は、ロボットのアクチュエータの各々に対する関節空間における速度コマンドでもよい。別の例として、ポリシーネットワーク出力は、ロボットのアクチュエータの各々に関するモータのトルクでもよい。次いで、そのアクションがロボットによって実施される。次いで、アクションを実施した後のロボットの状態が、成功信号、および入力に基づきネットワークにわたって生成された追加の出力とともに、ポリシーネットワークに対する入力として適用されることが可能である。これは、(たとえばロボットの各制御サイクルにおいて)成功信号が達成される(たとえば報酬が基準を満たすことに基づいて判定される)、かつ/または他の基準が満たされるまで、繰り返し実施され続けてもよい。他の基準は、たとえばエピソードの時間的な期間が閾値(たとえばX秒)を満たすこと、また制御サイクルの閾値量が生じることであることが可能である。成功信号の後、および/または他の基準が満たされた後に、新規のエピソードを開始してもよい。
図1に示され、本明細書でより詳細に説明されたように、経験収集エンジン112は、エピソードを実施している間に、ロボット180Aおよびロボット180B(およびオプションの追加のロボット)によって生成された経験データのインスタンスを受信する。たとえば、ロボット180Aは、その制御サイクルの各々において、エピソードを実施しながら、経験データの新規のインスタンスを経験収集エンジン112に供給してもよい。別の例として、ロボット180Aは、エピソードの終了において、エピソード中に生成された経験データのすべてのインスタンスを経験収集エンジン112に供給することができる。さらに別の例として、ロボット180Aは、0.2秒ごとに、または他の通常もしくは非通常の間隔において、経験データの新規のインスタンスを供給することができる。経験データの各インスタンスは、対応する繰返しにおいて、ロボットのポリシーネットワークに与えられた入力および/またはロボットのポリシーネットワークにわたって生成された出力に基づいて、対応するロボットによって生成される。たとえば、経験データの各インスタンスは、ロボットの現在の状態、ポリシーネットワークの出力に基づいて実施されるアクション、アクションを実施した後のロボットの状態、および/またはアクションに対する報酬(ポリシーネットワークにわたって生成された出力および/または個別の報酬関数によって指示されるもの)を指示してもよい。
経験収集エンジン112は、経験データの受信されたインスタンスをリプレイバッファ122に記憶する。リプレイバッファ122は、トレーニングエンジン114にアクセス可能なメモリおよび/またはデータベースを含むことができる。示される経験収集エンジン112は1つであるが、複数の経験収集エンジン112が設けられる場合があることが理解される。たとえば、各ロボットが、独自の経験収集エンジンを含むかまたはこれに関連付けられてもよく、すべてのエンジンが、経験データのインスタンスをリプレイバッファ122に記憶してもよい。
トレーニングエンジン114は、本明細書で説明されたものなどの技術(たとえばNAFおよび/またはDDPGの変形形態などのQ学習に関係のあるもの)を利用して、ポリシーネットワーク124の1つまたは複数のパラメータを繰り返しトレーニングする。トレーニングエンジン114は、トレーニングのそれぞれの繰返しにおいて、リプレイバッファ122の経験データの1つまたは複数のインスタンスのグループを利用して、更新されたポリシーパラメータを生成してもよい。利用されたインスタンスは、トレーニングエンジン114によってリプレイバッファ122からオプションでクリアされてもよく、かつ/または別のやり方で(たとえば先入れ先出し方式で)クリアされてもよい。
ロボットは、ロボット180Aと180Bのいずれかによる新規のエピソードのそれぞれの実施に先立って、トレーニングエンジン114によってつい最近生成されたポリシーパラメータを用いて、そのポリシーネットワークを更新してもよい。いくつかの実装形態では、ポリシーパラメータは、トレーニングエンジン114によってロボット180Aおよび180Bへ「プッシュ」されてもよい。いくつかの他の実装形態では、ポリシーパラメータは、ロボット180Aおよび180Bによって「プル」されてもよい。したがって、図1の実装形態では、ロボット180Aと、ロボット180Bと、オプションの追加のロボットとが、それぞれ同一のモデルなしの強化ポリシーネットワークに基づいて複数のエピソードを実施しながら並行して動作する場合がある。しかしながら、ロボットのうちの1つまたは複数が利用するポリシーパラメータは、1つまたは複数の時間において、ロボットの他の1つまたは複数が利用するものから異なる場合がある。たとえば、所与のエピソードの開始に先立つ時間T1において、ロボット180Aは、そのポリシーパラメータを直近更新されたポリシーパラメータに同期させてもよい。しかしながら、ロボット180Bは、時間T1において1つのエピソードにあって、依然として、トレーニングエンジン114の従前の繰返し(直前の繰返しまたは従前の複数の繰返し)から更新の少ないポリシーパラメータの下で動作している可能性がある。時間T2において、ロボット180Bは、そのポリシーパラメータを、またさらに更新されたポリシーパラメータと同期させてもよく、しかし、ロボット180Aは、時間T2において、依然として所与のエピソードにあって、依然として時間T1の(より少ない)更新のポリシーパラメータの下で動作している可能性がある。
本明細書で説明されたように、ロボット180A、180B、および/または他のロボットの各々の経験データのインスタンスは、ロボットの並行運転中に生成されるので、経験収集エンジン112によってリプレイバッファ122に追加されてもよい。いくつかの実装形態では、ロボットの各々の経験データは、(たとえばロボットの制御サイクル周波数における)各ロボットの対応する周波数において(オプションで同一の周波数で)リプレイバッファ122に追加されてもよい。たとえば、あるロボットは、60Hzの制御周波数を有し、経験データを60Hzで供給する(すなわち経験データのインスタンスを毎秒60回供給する)ことができる。それらの実装形態のうちのいくつかでは、トレーニングエンジン114は、ロボットの周波数のうちの1つまたは複数(たとえばすべて)よりも高い周波数でトレーニングの繰返しを実施してよく、それらの繰返しを、ロボットがエピソードに基づく経験データを並行動作で生成し続けている間に実施してもよい。これらの技術のうちの1つまたは複数を採用すれば、不採用の場合よりも、ポリシーネットワークがより迅速に収斂する可能性がある。
図1において、経験収集エンジン112、リプレイバッファ122、トレーニングエンジン114、およびポリシーネットワーク124は、ロボット180Aおよび180Bから分離して示される。しかしながら、いくつかの実装形態では、それらの構成要素のすべて、あるいはそれらの構成要素のうちの1つまたは複数のものの態様が、ロボット180Aおよび/またはロボット180B上で(たとえばロボット180Aおよび180Bの1つまたは複数のプロセッサによって)実施される場合がある。たとえば、ロボット180Aおよび180Bのそれぞれが経験収集エンジン112のインスタンスを含む場合がある。いくつかの実装形態では、それらの構成要素のすべて、あるいはそれらの構成要素のうちの1つまたは複数のものの態様が、ロボット180Aおよび180Bから分離されてこれらとネットワーク通信する1つまたは複数のコンピュータシステム上で実施される場合がある。それらの実装形態のうちのいくつかでは、経験データはロボットから1つまたは複数のネットワークを通じて構成要素に伝送されることが可能であり、更新されたポリシーパラメータは、構成要素から、ネットワークのうちの1つまたは複数を通じてロボットに伝送されることが可能である。
図3は、物体運動の試みを実施するステップと、物体運動の試みに関連したデータを記憶するステップとの例示的な方法300を示す流れ図である。便宜上、流れ図の動作は、動作を実施するシステムを参照しながら説明される。このシステムは、プロセッサなどロボットの1つまたは複数の構成要素、ならびに/あるいはロボット180A、180B、640、および/または他のロボットのロボット制御システムを含む場合がある。その上、方法300の動作は特定の順序で示されるが、これは限定することを意味するわけではない。1つまたは複数の動作が、並べ替えられてよく、省略されてよく、または追加されてもよい。
ブロック352において、エピソードはタスクの実施を開始する。
ブロック354において、システムは、利用可能な更新されたパラメータがあれば、更新されたパラメータに基づいてシステムによって使用されるポリシーネットワークのポリシーパラメータを同期させる。たとえば、システムは、図5の方法500に基づいて生成された1つまたは複数の最近更新されたポリシーパラメータでポリシーネットワークの1つまたは複数のポリシーパラメータを置換してもよい。いくつかの実装形態では、ポリシーパラメータを別のポリシーパラメータで置換するステップは、ニューラルネットワークモデルのノードの値を別の値で置換するステップを含む。
ブロック356において、システムはタスク探査のためのランダムプロセスを初期化する。本明細書で使用されるように、ランダムは真ランダムばかりでなく疑似ランダムも含む。一例として、システムは、ロボットのエンドエフェクタをランダムな開始位置へ移動させてもよい。別の例として、システムは、ロボットの関節の各々に、それぞれの特定の運動状態(たとえば特定の位置、速度、および/または加速度)を想定してもよい。
ブロック358において、システムは現在の状態を識別する。現在の状態は、現在のロボット状態ならびに/あるいは1つまたは複数の環境物体の現在の状態を含むことができる。環境物体の現在の状態は、それらの環境物体に取り付けられたセンサおよび/またはロボットからのセンサデータに基づいて判定されることが可能である。たとえば、環境物体の現在の状態は、ドアを開くタスクのときには、ドアに取り付けられた慣性測定ユニット("IMU")など1つまたは複数のセンサからのセンサデータに基づくことが可能である。また、たとえば環境物体の現在の状態は、ロボットの視覚センサによって捕捉された視覚センサデータに基づくことが可能である(たとえば、物体の現在の位置は、ロボットの視覚センサからの視覚センサデータに基づいて判定されることが可能である))。ブロック358の第1の繰返しでは、現在のロボット状態は、ブロック356の初期化後の初期のロボット状態になる。たとえば、初期のロボット状態は、関節および/またはエンドエフェクタの各々の位置、速度、および/または加速度などのロボットの1つまたは複数の構成要素の現在の状態を含む場合がある。
ブロック360において、システムは、現在の状態およびポリシーネットワークに基づいて、実施するアクションを選択する。たとえば、システムは強化学習ポリシーモデルに対する入力として現在の状態を適用してよく、入力に基づき、実施するべきアクションを指示する出力をモデルにわたって生成してもよい。システムは、出力を基にアクションを選択してもよい。いくつかの実装形態では、出力は、ロボットのアクチュエータに印加するべきトルク値および/または他の値を含み、アクションを選択するステップは、それらの値をアクションとして選択するステップを含む場合がある。ブロック358において追加または代替の現在の観測が識別される実装形態では、これらの観測もポリシーネットワークに対する入力として印加される場合がある。
ブロック362において、システムはアクションを実行して、アクションに由来する報酬および後続の状態を観測する。たとえば、システムは、アクチュエータのうちの1つまたは複数を動かしてアクションを有効にするための1つまたは複数の運動コマンドを生成してもよい。システムは、報酬関数と、オプションのシステムに供給された成功信号とに基づいて報酬を観測してもよい。たとえば、エンドエフェクタの目標の姿勢に達するタスクに対する報酬関数は、エンドエフェクタのアクションに由来する姿勢と、(成功信号として供給される)目標の姿勢の間の差に基づいてもよい。後続の状態は、後続ロボット状態ならびに/あるいは1つまたは複数の環境物体の後続の状態を含むことができる。たとえば、後続ロボット状態は、関節および/またはエンドエフェクタの各々の位置、速度、および/または加速度などのロボットの1つまたは複数の構成要素のアクションの結果としての状態を含む場合がある。いくつかの実装形態では、ブロック362において、システムは、それに加えてまたはその代わりに、アクションを実施した後のロボットの視覚センサが捕捉した視覚センサデータおよび/または他のセンサからの他のセンサデータなどの他の観測をアクションの結果として識別する。
ブロック364において、システムは、経験データのインスタンスをリプレイバッファに送信する。たとえば、システムは、それ自体がインスタンスをリプレイバッファに記憶してもよく、またはインスタンスをリプレイバッファに記憶する個別の構成要素にインスタンスを供給してもよい。図5の方法500に関して説明されたように、ポリシーパラメータを更新するためのトレーニング中に、インスタンスおよび他のロボットからの他のインスタンスが使用されてもよい。いくつかの実装形態では、経験データは、ブロック358の現在の状態、ブロック360のアクション、および/または観測された報酬および/またはブロック362の後続の状態を指示するデータを含む場合がある。
ブロック366において、システムは、成功したかどうか、または他の基準が満たされたかどうかを判定する。たとえば、ブロック362において観測された報酬が閾値を満たす場合には、システムは成功と判定してもよい。また、たとえば基準は、ブロック358、360、362、および364の繰返しの閾値時間および/または閾値回数が満たされることといった別のものでもよい。
システムは、成功したことまたは他の基準が満たされたことを判定すると、ブロック352へ進んで新規のエピソードを開始する。新規のエピソードでは、システムは、新規のエピソードのブロック354において、ポリシーパラメータを、直前のエピソードにおけるパラメータに関連して(図5の方法500および/または他の方法によるパラメータの同時更新の結果として)更新された、1つまたは複数の更新されたパラメータと同期させることができることに留意されたい。たとえば、更新されたパラメータは、図3の方法300に従って非同期で経験データを生成している1つまたは複数の他のロボットからの経験データを利用して、図5の方法500によって更新されることが可能である。これらおよび他のやり方では、図3のそれぞれのエピソードは、他のロボットからの経験データに基づいて更新されたポリシーパラメータを利用することができる。これは、より効率のよいトレーニングを可能にする経験データを生成するそれぞれのエピソードをもたらすことができる。方法300を利用するシステムによって、複数のエピソードが、(図5の方法500および/または他の方法による)トレーニングが終了するまで、および/または(たとえば誤差が生じて)他の何らかの信号が受信されるまで、実施されてもよい。
システムは、不成功であることまたは他の基準が満たされていないことを判定すると、ブロック358へ進んで、ブロック358、360、362、および364の追加の繰返しを実施する。
図3にはブロック370、372、および374も示されており、これらが表すオプションのブロックは、ブロック360のアクションのうちのいずれかがロボットの1つまたは複数の基準に違反するかどうか判定して、違反する場合には、ブロック362におけるアクションの実行に先立って訂正動作を採用するように実施されてもよい。ブロック370において、システムは、ブロック360のアクションが1つまたは複数のロボットの基準に違反するかどうか判定する。違反しなければ、システムはブロック362へ進んでアクションを実行する。
システムは、ブロック360のアクションが1つまたは複数のロボットの基準に違反すると判定した場合には、ブロック372またはブロック374へ進む。システムは、ブロック372において、基準に違反しないようにアクションを修正し、ブロック362において、元のアクションの代わりに実行するように修正されたアクションを供給してもよい。たとえば、速度の制約に違反する場合、もはや速度の制約に違反しないようにアクションを修正してもよい。修正されたアクションは、経験データのインスタンスにおいて未修正のアクションの代わりに供給されることが可能である。
ブロック374において、システムは、ロボットの基準の特定の違反に応答して、オプションでエピソードを停止してもよい。システムは、ブロック374においてエピソードを停止するとブロック352へ戻り、かつ/または介入(たとえば人間の介入)を待つ。
本明細書で説明されたように、多くの実装形態では、図3の方法300は、方法300のそれぞれの繰返しのうちの1つまたは複数(たとえばすべて)を通じて並行動作する複数のロボットの各々において実施されてもよい。たとえば、第1のロボットの1つまたは複数のプロセッサは方法300のインスタンス化を実施することができ、第2のロボットの1つまたは複数のプロセッサは方法300のインスタンス化を実施することができるなどである。これによって、ロボットが1台だけで方法300を操業する場合よりも、所与の期間において経験データのより多くのインスタンスが生成されることを可能にしてよい。これにより、所与のロボットによる経験データの生成よりも高い周波数でポリシーニューラルネットワークのトレーニングが生じる実装形態において、ポリシーニューラルネットワークが時間的に効率よくトレーニングされるようになることが可能である。加えて、これにより、所与のロボットによる方法300の各エピソードは、他のロボットからの経験データに基づいて更新された経験データを利用することができるようになる。これは、非同期の経験データに基づく非同期のトレーニングを利用しない場合よりも少数の繰返しで収斂するポリシーニューラルネットワークのトレーニングをもたらすことができる。その上、複数のロボットのエンドエフェクタ、センサ、アクチュエータ、および/または他のハードウェア構成要素が一様でない、かつ/または別な風に摩耗する実装形態、ならびに/あるいは様々なロボットが、様々な環境(たとえば様々な表面、様々な照明、様々な環境障害物)において様々な物体(たとえば様々なサイズ、様々な重さ、様々な形状、様々な透光性、様々な材料の物体)と相互作用する実装形態では、トレーニングにおいて、複数のロボットによって生成された経験データを利用すると、トレーニングされたポリシーネットワークにおいて、様々なロボットの構成および/または環境の構成にロバスト性がもたらされる場合がある。
図4は、経験データのインスタンスを記憶する例示的な方法400を示す流れ図である。便宜上、流れ図の動作は、動作を実施するシステムを参照しながら説明される。このシステムは、1つまたは複数のコンピュータシステムのプロセッサなどの1つまたは複数の構成要素を含んでよく、かつ/または1つもしくは複数のロボットのプロセッサおよび/またはロボット制御システムなどのロボットの1つまたは複数の構成要素を含んでもよい。その上、方法400の動作は特定の順序で示されるが、これは限定することを意味するわけではない。1つまたは複数の動作が、並べ替えられてよく、省略されてよく、または追加されてもよい。
ブロック452において経験データの収集が始まる。
ブロック454において、システムは、ロボットの経験データのインスタンスを受信する。ロボットは、システムおよび/または他のシステムに経験データを並行して(オプションで異なる周波数において)供給する複数のロボットのうちの1つである。たとえば、各ロボットが図3の方法300を実施してもよく、方法300のブロック364を実施することのそれぞれのインスタンスに応答してブロック454が実施されてもよい。
ブロック456において、システムは、経験データのインスタンスをリプレイバッファに記憶する。ブロック458において、システムは、トレーニングが完了したかどうか判定する。システムは、リプレイバッファに記憶された経験データに基づいてポリシーパラメータを更新しているオプションで分離されたトレーニングシステムからの信号に応答して、トレーニングが完了したと判定してもよい。
システムは、ブロック458においてトレーニングが完了していないと判定した場合にはブロック454へ戻って、(同一のロボットまたは異なるロボットからの)経験データのさらなるインスタンスを受信する。複数のロボットからの経験データの同時受信を可能にするために、方法400のブロックの1つまたは複数のものの複数のスレッドが実施される場合があることが理解される。
システムが、ブロック458において、トレーニングが完了していると判定すると、ブロック460において経験データの収集が終了する。
本明細書では、方法300と方法400は、明瞭さのために個別の図に示されるが、方法300の1つまたは複数のブロックを実施するものと同じ構成要素によって方法400の1つまたは複数のブロックが実施されてもよいことが理解される。たとえば、方法300および方法400のブロックのうちの1つまたは複数が(たとえばすべてが)ロボットのプロセッサによって実施される場合がある。また、方法400の1つまたは複数のブロックが、方法300の1つまたは複数のブロックに先行して、または続いて、またはそれと組み合わせて実施される場合があることが理解される。
図5は、ポリシーネットワークのパラメータを更新するためのトレーニングの例示的な方法500を示す流れ図である。便宜上、流れ図の動作は、動作を実施するシステムを参照しながら説明される。このシステムは、トレーニングエンジン114のプロセッサ(たとえばGPUおよび/またはCPU)などのコンピュータシステムおよび/または他のコンピュータシステムの1つまたは複数の構成要素を含む場合がある。その上、方法500の動作は特定の順序で示されるが、これは限定することを意味するわけではない。1つまたは複数の動作が、並べ替えられてよく、省略されてよく、または追加されてもよい。
ブロック552においてトレーニングが始まる。
ブロック554において、システムは、ランダムに初期化されたQ関数推定をパラメータ化する正規化Qネットワークなどの正規化Qネットワークを初期化する。たとえば、システムは正規化Qネットワーク
Figure 0006721785
を初期化してもよく、ここで
Figure 0006721785
である。
ブロック556においてシステムによって初期化された対象のポリシーネットワークが、ブロック554において、初期化された正規化Qネットワークに対する入力であるアクションを出力する。たとえば、システムは、対象のポリシーネットワーク
Figure 0006721785
を、ウェイト
Figure 0006721785
を用いて初期化してもよい。
ブロック558において、システムは、リプレイバッファからの経験データのバッチをサンプリングする。たとえば、システムは、図3の方法300および/または図4の方法400に基づいて、リプレイバッファに記憶された経験データの1つまたは複数のインスタンスのバッチをサンプリングしてもよい。
いくつかの実装形態では、システムは、経験データに関して次のように設定する。
Figure 0006721785
ブロック560において、システムは、ブロック558においてサンプリングされた経験データに基づいて正規化Qネットワークを更新する。たとえば、システムは、損失関数に基づき、Qネットワーク上で逆伝搬および/または他の技術を実施してもよい。たとえば、システムは、損失
Figure 0006721785
を最小化することによってQネットワークのウェイト
Figure 0006721785
を更新してもよい。
ブロック562において、システムは、正規化Qネットワークに対する更新に基づいて対象のポリシーネットワークを更新する。たとえば、システムは、ネットワークパラメータに対する損失関数の勾配に基づいて対象のポリシーネットワークを更新してもよい。たとえば、システムは、
Figure 0006721785
に基づいて対象のポリシーネットワークを更新してもよい。
ブロック564において、システムは、来たるべきエピソードにおいてロボットが使用するための更新を供給する。たとえば、システムは、来たるべきエピソードにおいてロボットが使用するための更新されたポリシーパラメータおよび/または他のパラメータを供給してもよい。
ブロック566において、システムは、トレーニングが完了したかどうか判定する。いくつかの実装形態では、トレーニングが完了したと判定することは、収斂したと判定すること、ブロック558〜564の繰返しの閾値量が生じること、すべての利用可能な経験データが処理されること、閾値時間が経過すること、および/または他の基準が満たされることに基づく場合がある。
システムが、トレーニングが完了したと判定すると、ブロック568においてトレーニングが終了する。システムは、トレーニングが完了していないと判定すると、ブロック558へ進む。本明細書で説明されたように、方法500は、本明細書で説明された方法300および方法400と同時に実施されてもよい。それらの実装形態のうちのいくつかでは、方法500を繰り返し実施する周波数は、方法300および/または方法400を繰り返し実施する周波数よりも高い場合がある。1つの非限定的な例として、方法500が100Hzのレートで実施されてよく、方法300が20Hzのレートで実施されてもよい。いくつかの実装形態では、方法300、方法400、および/または方法500は、経験データが1つまたは複数の現実のロボットによって連続的に生成されて、対象のポリシーネットワークを更新するために連続的に利用されるという点で、「連続的に」実施されてもよいことに留意されたい。
本明細書で説明された実装形態に関していくつかの付加的な詳細を提供するために、本明細書で開示された強化学習技術によって学習されてもよいいくつかの例示のタスクを、より詳細に説明する。タスクのいくつかの例には、ランダムな目標到達、ドアの押し引き、およびピックアンドプレースが含まれる。たとえば、到達するタスクでは、ロボットアームは、一定の初期構成から、空間におけるランダムな目標に達しようとする場合がある。ランダムな目標は、1つのエピソードごとに、ポイントのあたりに中心がある0.2mのサイズの立方体から、サンプリングポイントによって均一に生成される。ランダムな目標は成功信号として供給されてもよい。エンドエフェクタの位置eおよび目標位置yを所与として、報酬関数は、r(x;u)=c1d(y;e(x))c2uTuであってよい。
また、たとえばドアを押し引きするタスクでは、ロボットアームは、ドアの取っ手を押すかまたは引くことによってドアを開けようとする場合がある。取っ手は下向きに90度まで旋回することができ、ドアは両方向に90度まで開くことができる。ドアは、力が加わらないとき徐々に閉じるように、ばねを有する。ドアは、取っ手が約60度を超えて旋回されなければ開けられないように、ラッチを有する。ドアに取り付けられたIMUセンサがドア角を測定するのに使用されることが可能であり、IMUセンサからの四元数の読取り値が損失を計算するのに使用されることが可能である。たとえば、報酬関数は、取っ手に対するエンドエフェクタの近さと、ドアが正しい方向に開かれている程度との2つの部分から成ることができる。報酬関数の第1の部分は、エンドエフェクタの位置eと、取っ手の中立状態における位置hとの間の距離に依拠する。報酬関数の第2の部分は、取っ手の四元数qと、取っ手が旋回されてドアが開いたときのその値q0との間の距離に依拠する。状態の特徴は、ロボットアームの関節角度およびそれらの時間微分、エンドエフェクタの位置、静止しているドア取っ手の位置、ドア枠の位置、ドア角度、および取っ手角度を含むことができる。
図6は、ロボット640の例示的な構造を概略的に表す。ロボット640は、ロボット制御システム660、1つまたは複数の動作コンポーネント640a〜640n、および1つまたは複数のセンサ642a〜642mを含む。センサ642a〜642mは、たとえば視覚センサ、光センサ、圧力センサ、圧力波センサ(たとえばマイクロフォン)、近接センサ、加速度計、ジャイロスコープ、温度計、バロメータなどを含んでもよい。センサ642a〜642mはロボット620と一体になって表されているが、これは限定することを意味するわけではない。いくつかの実装形態では、センサ642a〜642mは、たとえばスタンドアロンのユニットとしてロボット620の外部に配置されてもよい。
動作コンポーネント640a〜640nは、たとえばロボットの1つまたは複数の構成要素の運動を有効にするための1つまたは複数のエンドエフェクタおよび/または1つまたは複数のサーボモータもしくは他のアクチュエータを含む場合がある。たとえば、ロボット620は複数の自由度を有する場合があり、アクチュエータの各々が、制御コマンドに応答して、自由度のうちの1つまたは複数の範囲内でロボット620の作動を制御してもよい。本明細書で使用されるように、アクチュエータという用語には、アクチュエータに関連付けられて、受信した制御コマンドを、アクチュエータを駆動するための1つまたは複数の信号に変換する場合がある何らかの駆動回路に加えて、運動を生成する機械デバイスまたは電気デバイス(たとえばモータ)が包含される。したがって、アクチュエータに制御コマンドを供給するステップは、電気デバイスまたは機械デバイスを駆動して所望の運動を生成するために制御コマンドを適切な信号に変換する駆動回路に対して制御コマンドを供給するステップを含む場合がある。
ロボット制御システム660は、CPU、GPU、および/またはロボット620の他のコントローラなどの1つまたは複数のプロセッサにおいて実施されてもよい。いくつかの実装形態では、ロボット620は、制御システム660のすべてまたは態様を含む場合がある「コンピュータ」を備える場合がある。たとえば、コンピュータは、動作コンポーネント640a〜640nにデータのリアルタイムバーストを供給してもよく、リアルタイムバーストの各々に含まれる1つまたは複数の制御コマンドのセットが、とりわけ、動作コンポーネント640a〜640nのうちの1つまたは複数の各々に関する運動のパラメータを(もしあれば)規定する。いくつかの実装形態では、ロボット制御システム660は、本明細書で説明された方法300、400、および/または500の1つまたは複数の態様を実施してもよい。
本明細書で説明されたように、いくつかの実装形態では、ロボットの1つまたは複数の構成要素を動かす際に制御システム660によって生成される制御コマンドのすべてまたは態様は、現在のロボット状態および/または他の観測に基づいて、ポリシーネットワークにわたって生成された出力に基づいてもよい。図6では、制御システム660はロボット620の一体部品として示されるが、いくつかの実装形態では、制御システム660のすべてまたは態様が、ロボット620から分離されているが、ロボット620と通信する構成要素において実施されてもよい。たとえば、制御システム660のすべてまたは態様は、ロボット620と有線および/またはワイヤレスで通信するコンピュータデバイス710などの1つまたは複数のコンピュータデバイス上で実施される場合がある。
図7は、本明細書で説明された技術の1つまたは複数の態様を実施するためにオプションで利用される場合がある例示のコンピュータデバイス710のブロック図である。コンピュータデバイス710は、一般的には、バスサブシステム712を介して複数の周辺機器と通信する少なくとも1つのプロセッサ714を含む。これらの周辺機器は記憶サブシステム724を含んでよく、この記憶サブシステム724は、たとえばメモリサブシステム725およびファイル記憶サブシステム726と、ユーザインターフェース出力デバイス720と、ユーザインターフェース入力デバイス722と、ネットワークインターフェースサブシステム716とを含む。入力デバイスおよび出力デバイスにより、ユーザは、コンピュータデバイス710と相互作用することができる。ネットワークインターフェースサブシステム716は、外部ネットワークに対するインターフェースをもたらし、他のコンピュータデバイスの対応するインターフェースデバイスに結合される。
ユーザインターフェース入力デバイス722は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックスタブレットなどのポインティングデバイス、スキャナ、表示器に内蔵されたタッチスクリーン、音声認識システムなどの音声入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含む場合がある。一般に、「入力デバイス」という用語の使用は、コンピュータデバイス710または通信ネットワークに情報を入力するためのすべての可能なタイプのデバイスおよびやり方を含むように意図される。
ユーザインターフェース出力デバイス720は、表示サブシステム、プリンタ、ファックス、または音声出力デバイスなどの非視覚的表示を含む場合がある。表示サブシステムは、ブラウン管(CRT)、液晶表示器(LCD)などの平面パネルデバイス、投影デバイス、または可視画像を生成するための他の何らかの機構を含む場合がある。表示サブシステムは、音声出力デバイスなどを介して非視覚的表示も供給する場合がある。一般に、「出力デバイス」という用語の使用は、コンピュータデバイス710からの情報を、ユーザまたは別のマシンもしくはコンピュータデバイスに出力するためのすべての可能なタイプのデバイスおよびやり方を含むように意図される。
記憶サブシステム724は、本明細書で説明されたモジュールのいくつかまたはすべての機能をもたらすプログラムおよびデータ構造を記憶する。たとえば、記憶サブシステム724は、図3、図4、および/または図5の方法の選択された態様を実施するための論理を含む場合がある。
これらのソフトウェアモジュールは、一般にプロセッサ714によって、単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム724において使用されるメモリ725は複数のメモリを含んでよく、この複数のメモリは、プログラムの実行中に命令およびデータを記憶するための主要なランダムアクセスメモリ(RAM)730と、一定の命令を記憶する読取り専用メモリ(ROM)732とを含む。ファイル記憶サブシステム726は、プログラムファイルおよびデータファイルのための持続的な記憶をもたらし、ハードディスクドライブ、関連するリムーバブル媒体に加えたフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、またはリムーバブル媒体カートリッジを含む場合がある。特定の実装形態の機能を実施するモジュールは、ファイル記憶サブシステム726によって、記憶サブシステム724またはプロセッサ714によるアクセスが可能な他のマシンに記憶されてもよい。
バスサブシステム712は、コンピュータデバイス710の様々な構成要素とサブシステムが目的通りに互いに通信するための機構をもたらす。バスサブシステム712は、概略的に1つのバスとして示されるが、バスサブシステムの代替実装形態は複数のバスを使用する場合がある。
コンピュータデバイス710は、ワークステーション、サーバ、計算クラスタ、ブレードサーバ、サーバファーム、または何らかの他のデータ処理システムもしくはコンピュータデバイスを含む様々なタイプであることが可能である。コンピュータおよびネットワークの常に変化する特質のために、図7に表されたコンピュータデバイス710の説明は、いくつかの実装形態を例証する目的のための特定の例としてしか意図されていない。図7に表されたコンピュータデバイスよりも多数または少数の構成要素を有する、コンピュータデバイス710の他の多くの構成が可能である。
本明細書ではいくつかの実装形態が説明され、かつ例証されてきたが、機能を実施するため、および/または結果を取得するための様々な他の手段および/または構造、ならびに/あるいは本明細書で説明された利益のうちの1つまたは複数が利用される場合があり、そのような変形形態および/または修正形態の各々が、本明細書で説明された実装形態の範囲内にあると見なされる。より一般的には、本明細書で説明されたすべてのパラメータ、寸法、材料、および構成は例示的であり、実際のパラメータ、寸法、材料、および/または構成は、本教示が使用される特定の用途に依拠することになる。当業者なら、せいぜい型通りの実験作業をするだけで、本明細書で説明された特定の実装形態に対する多くの等価物を理解するはずであり、または確認することができるであろう。したがって、前述の実装形態は例としてのみ示されており、実装形態は、添付の特許請求の範囲および等価物の範囲内で、明確に説明されて特許請求されたものと別様に実施される場合があることを理解されたい。本開示の実装形態は、本明細書で説明されたそれぞれの個別の特徴、システム、物品、材料、キット、および/または方法を対象にする。加えて、そのような特徴、システム、物品、材料、キット、および/または方法の2つ以上のものの任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾していなければ、本開示の範囲内に含まれる。
112 経験収集エンジン
114 トレーニングエンジン
122 リプレイバッファ
124 ポリシーネットワーク
180A ロボット
180B ロボット
182A 把持エンドエフェクタ
182B 把持エンドエフェクタ
184A 視覚センサ
184B 視覚センサ
191A へら
191B ホッチキス
201 経路
620 ロボット
640 ロボット
640a 動作コンポーネント
640n 動作コンポーネント
642a センサ
642b センサ
642m センサ
654
660 ロボット制御システム
710 コンピュータデバイス
712 バスサブシステム
714 プロセッサ
716 ネットワークインターフェースサブシステム
720 ユーザインターフェース出力デバイス
722 ユーザインターフェース入力デバイス
724 記憶サブシステム
725 メモリサブシステム
726 ファイル記憶サブシステム
730 ランダムアクセスメモリ(RAM)
732 読取り専用メモリ(ROM)

Claims (33)

1つまたは複数のプロセッサによって実施される方法であって、
実施複数のエピソードの各々が、タスクに関する強化学習ポリシーを表現するポリシーニューラルネットワークに基づいて前記タスクを実施する探査である、複数のロボットの各々による前記複数のエピソードの実施中において、
前記エピソード中に前記複数のロボットによって生成されたロボット経験データのインスタンスをバッファに記憶するステップであって、前記ロボット経験データの前記インスタンスの各々が、前記エピソードのうちの対応するエピソード中に生成され、かつ前記対応するエピソード向けの前記ポリシーニューラルネットワークの対応するポリシーパラメータを伴う前記ポリシーニューラルネットワークを使用して生成される対応する出力上に少なくとも部分的に生成され、前記複数のロボットのうちの所与のロボットの前記ロボット経験データの前記インスタンスが、第1の周波数において前記バッファに記憶される、ステップと、
前記第1の周波数よりも高い第2の周波数において前記ポリシーニューラルネットワークの更新されたポリシーパラメータを繰り返し生成するステップであって、前記繰り返し生成するステップの繰返しの各々が、前記繰返し中に、前記バッファの中の前記ロボット経験データの前記インスタンスのうちの1つまたは複数のもののグループを使用して前記更新されたポリシーパラメータを生成するステップを含む、ステップと、
前記ロボットが実施する複数のエピソードの各々の開始と同時に、前記複数のロボットの各々によって、前記エピソードにおいて前記ロボットが使用する前記ポリシーニューラルネットワークを更新するステップであって、前記更新されたポリシーパラメータを前記繰り返し生成するステップの直近の繰返しの前記更新されたポリシーパラメータを使用するステップを含む、ステップと
を含む、方法。
前記更新されたポリシーパラメータの各々が、前記ポリシーニューラルネットワークの対応する層の対応するノード向けの対応する値を定義する、請求項1に記載の方法。
前記複数のロボットの各々の前記ロボット経験データの前記インスタンスが、前記第2の周波数よりもそれぞれ低い周波数である対応する周波数において前記バッファに記憶される、請求項1または2に記載の方法。
前記ロボット経験データの前記インスタンスを前記バッファに記憶するステップが、第1のスレッドにおいて前記複数のプロセッサのうちの1つまたは複数によって実施され、前記繰り返し生成するステップが、前記第1のスレッドとは別個の第2のスレッドにおいて、前記複数のプロセッサのうちの1つまたは複数によって実施される、請求項1から3のいずれか一項に記載の方法。
前記第1のスレッドが、前記複数のプロセッサのうちの1つまたは複数の第1のグループによって実施され、前記第2のスレッドが、前記第1のグループとオーバラップしない、前記複数のプロセッサのうちの1つまたは複数の第2のグループによって実施される、請求項4に記載の方法。
前記繰り返し生成するステップの前記繰返しの各々が、前記生成する繰返し中に、前記バッファの中の前記ロボット経験データの前記インスタンスのうちの1つまたは複数のグループを考慮して損失関数を最小化することに基づいて前記更新されたポリシーパラメータを生成するステップを含む、請求項1から5のいずれか一項に記載の方法。
前記繰り返し生成するステップの前記繰返しの各々が、前記生成する繰返し中に、前記バッファの中の前記ロボット経験データの前記インスタンスのうちの1つまたは複数のグループを考慮するオフポリシー型の学習を含む、請求項1から6のいずれか一項に記載の方法。
前記オフポリシー型の学習がQ学習である、請求項7に記載の方法。
前記Q学習が正規化利益関数(NAF)アルゴリズムまたは深層決定論的ポリシー勾配(DDPG)アルゴリズムを利用する、請求項8に記載の方法。
前記ロボット経験データの前記インスタンスの各々が、対応する、開始ロボット状態と、前記開始ロボット状態から遷移した後続ロボット状態と、前記開始ロボット状態から前記後続ロボット状態へ遷移するために実行されるアクションと、前記アクションに対する報酬とを指示し、
前記開始ロボット状態から前記後続ロボット状態へ遷移するために実行される前記アクションが、前記対応するエピソード向けの前記更新されたポリシーパラメータを伴う前記ポリシーニューラルネットワークを使用して前記開始ロボット状態を処理することに基づいて生成され、
前記アクションに対する前記報酬が、前記強化学習ポリシーの報酬関数に基づいて生成される、
請求項1から9のいずれか一項に記載の方法。
1つまたは複数の基準に基づいて、前記複数のエピソードの前記実施を停止しかつ、前記繰り返し生成するステップを停止するステップと、
1つまたは複数の追加のロボットが使用するように直近生成されたバージョンの前記更新されたポリシーパラメータを前記ポリシーニューラルネットワークに供給するステップと
をさらに含む、請求項1から10のいずれか一項に記載の方法。
複数のロボットのうちの所与のロボットの1つまたは複数のプロセッサによって、
第1のポリシーパラメータのグループを有するポリシーネットワークに基づいてタスクを実施する探査の所与のエピソードを実施するステップと、
前記所与のロボットからロボット経験データを提供する複数の経験データの繰返しのうちの1つの繰返しにおいて、前記所与のエピソード中に、前記ポリシーネットワークに基づいて生成されたロボット経験データの第1のインスタンスを供給するステップであって、前記複数のロボット経験データの繰返しが第1の周波数において生じる、ステップと、
前記ポリシーネットワークに基づいて前記タスクを実施する後続のエピソードを前記所与のロボットによって実施するのに先立って、
前記第1のポリシーパラメータのグループのうちの1つまたは複数を更新されたポリシーパラメータで置換するステップであって、前記更新されたポリシーパラメータが、追加のロボットによって前記タスクを実施する探査の前記追加のロボットのエピソード中に前記追加のロボットによって生成されたロボット経験データの追加のインスタンスに基づく前記ポリシーネットワークのトレーニングに基づいて生成され、前記追加のロボットによって前記タスクを前記実施するステップが前記ポリシーネットワークに基づき、前記ポリシーネットワークの前記トレーニングが前記第1の周波数よりも高い第2の周波数において生じる複数のトレーニングの繰返しを含み、前記複数のトレーニングの繰返しが、
前記第1のインスタンスおよび前記追加のインスタンスに少なくとも部分的に基づく前記ポリシーネットワークのトレーニングの第1のトレーニングの繰返しと、
前記複数のロボットからの経験データのまたさらなるインスタンスに基づく、前記ポリシーネットワークの1つまたは複数の追加のトレーニングの繰返しと
を含む、ステップ
を含み、
前記後続のエピソードが前記所与のエピソードのすぐ後に続き、前記後続のエピソードにおいて前記ポリシーネットワークに基づいて前記タスクを実施するステップが、前記置換されたポリシーパラメータの代わりに前記更新されたポリシーパラメータを使用するステップを含む、
方法。
1つまたは複数の追加のプロセッサによって、前記後続のエピソードの前記実施中に、さらに更新されたポリシーパラメータを生成するステップであって、前記所与のエピソード中に生成されたロボット経験データの前記第1のインスタンスのうちの1つまたは複数に基づく、ステップと、
前記追加のロボットによる対応するエピソードの実施において前記追加のロボットが使用するように前記さらに更新されたポリシーパラメータを供給するステップと
をさらに含む、請求項12に記載の方法。
前記所与のロボットによる前記後続のエピソードの実施中に、前記追加のロボットが前記対応するエピソードの実施を開始する、請求項13に記載の方法。
前記所与のロボットによる任意のエピソードの実施において、前記さらに更新されたポリシーパラメータが前記所与のロボットによって利用されない、請求項13に記載の方法。
前記追加のプロセッサのうちの1つまたは複数によって、またさらに更新されたポリシーパラメータを生成するステップであって、前記またさらに更新されたポリシーパラメータが、前記さらに更新されたポリシーパラメータの生成の後に、前記後続のエピソードの前記実施中に生成される、ステップと、
前記またさらに更新されたポリシーパラメータを、前記ポリシーネットワークに基づいて前記タスクを実施するさらなる後続のエピソードの前記所与のロボットによる実施において前記所与のロボットが使用するように供給するステップであって、前記さらなる後続のエピソードが前記後続のエピソードのすぐ後に続く、ステップと
をさらに含む、請求項13から15のいずれか一項に記載の方法。
前記追加のロボットによる前記対応するエピソードの実施中に、前記所与のロボットが、前記さらなる後続のエピソードの実施を開始する、請求項16に記載の方法。
前記更新されたポリシーパラメータと、前記またさらに更新されたポリシーパラメータとが、前記追加のロボットによる任意のエピソードの実施において前記追加のロボットによって利用されない、請求項16に記載の方法。
前記追加のロボットによる任意のエピソードの実施において、前記更新されたポリシーパラメータが前記追加のロボットによって利用されない、請求項12から17のいずれか一項に記載の方法。
前記ポリシーネットワークがニューラルネットワークモデルを備える、請求項12から19のいずれか一項に記載の方法。
前記更新されたポリシーパラメータの各々が、前記ニューラルネットワークモデルの対応する層の対応するノード向けの対応する値を定義する、請求項20に記載の方法。
前記タスクを実施する前記所与のエピソードの実施中に、
前記ポリシーネットワークからの出力の所与の繰返しにおいて、前記所与のロボットの1つまたは複数の基準の違反を判定するステップと、
前記1つまたは複数の基準がもはや違反されることのないように、前記所与の繰返しの前記出力を修正するステップと、
前記修正された出力に基づいて、経験データの前記インスタンスの所与のインスタンスを生成するステップと
をさらに含む、請求項12に記載の方法。
前記基準が、関節位置の制限と、関節速度の制限と、エンドエフェクタの位置の制限とのうちの1つまたは複数を含む、請求項22に記載の方法。
前記所与のエピソード中に、
前記ポリシーネットワークに対する入力として現在の状態表現を適用するステップであって、前記現在の状態表現が、少なくとも前記所与のロボットの現在の状態を指示する、ステップと、
前記ポリシーネットワークを使用して前記入力を処理することにより、出力を生成するステップと、
前記出力に基づいて、前記所与のロボットの1つまたは複数のアクチュエータに対して制御コマンドを供給するステップと
によって、前記探査のうちの所与の探査を生成するステップ
をさらに含む、請求項12から23のいずれか一項に記載の方法。
前記出力に基づいて前記アクチュエータに前記制御コマンドを供給するステップが、
前記出力にノイズを付加することにより、修正された出力を生成するステップと、
前記修正された出力に基づいて前記制御コマンドを供給するステップと
を含む、請求項24に記載の方法。
前記出力が、前記ロボットの複数のアクチュエータの各々向けの速度またはトルクを含み、前記制御コマンドを供給するステップが、前記アクチュエータが前記速度またはトルクを印加するように前記制御コマンドを供給するステップを含む、請求項24に記載の方法。
前記ロボット経験データの前記第1のインスタンスの各々が、対応する、開始ロボット状態と、前記開始ロボット状態から遷移した後続ロボット状態と、前記開始ロボット状態から前記後続ロボット状態へ遷移するために実行されるアクションと、前記アクションに対する報酬とを指示する、請求項12から26のいずれか一項に記載の方法。
1つまたは複数のプロセッサによって実施される方法であって、
複数のロボットのうちの所与のロボットから経験データを受信する複数の経験データの繰返しのうちの1つの繰返しにおいて、前記所与のロボットによって生成されたロボット経験データの所与のインスタンスを受信するステップであって、前記ロボット経験データの前記所与のインスタンスが、タスクを実施する探査の所与のエピソード中に、前記所与のロボットによって前記所与のインスタンスを生成するのに利用されるポリシーネットワークのポリシーパラメータの所与のバージョンに基づいて生成され、前記複数の経験データの繰返しが第1の周波数において生じる、ステップと、
前記複数のロボットのうちの追加のロボットからロボット経験データの追加のインスタンスを受信するステップであって、前記追加のインスタンスが、前記追加のロボットによって、前記ポリシーネットワークに基づいて前記タスクを実施する探査のエピソード中に生成される、ステップと、
前記所与のロボットおよび前記追加のロボットが前記タスクを実施する前記探査のエピソードを継続している間に、前記所与のインスタンスおよび前記追加のインスタンスに少なくとも部分的に基づく前記ポリシーネットワークのトレーニングに基づいて、前記ポリシーネットワークの前記ポリシーパラメータの新バージョンを生成するステップであって、前記ポリシーネットワークの前記トレーニングが前記第1の周波数よりも高い第2の周波数において生じる複数のトレーニングの繰返しを含み、前記複数のトレーニングの繰返しが、
前記所与のインスタンスおよび前記追加のインスタンスに少なくとも部分的に基づく前記ポリシーネットワークのトレーニングの第1のトレーニングの繰返しと、
前記複数のロボットからの経験データのまたさらなるインスタンスに基づく、前記ポリシーネットワークの1つまたは複数の追加のトレーニングの繰返しと
を含む、ステップと、
前記所与のロボットが前記ポリシーパラメータの前記新バージョンに基づいて前記タスクを実施する探査の直後のエピソードを実施するように、前記所与のロボットに対して前記ポリシーパラメータの前記新バージョンを供給するステップと
を含む、方法。
1つまたは複数のプロセッサによって実施される方法であって、
非同期かつ同時に動作する複数のロボットによって生成された経験データのインスタンスを繰り返し受信するステップであって、前記経験データのインスタンスの各々が、ポリシーニューラルネットワークに基づくタスク探査の対応するエピソード中に、前記複数のロボットのうちの対応するロボットによって生成され、前記複数のロボットのうちの所与のロボットによって生成された前記経験データのインスタンスが、第1の周波数において受信される、ステップと、
トレーニングの繰返しの各々において前記ポリシーニューラルネットワークの1つまたは複数の更新されたパラメータを生成するために、前記複数のロボットからの前記受信された経験データに基づいて第2の周波数において前記ポリシーニューラルネットワークを繰り返しトレーニングするステップであって、前記第2の周波数は前記第1の周波数よりも高い、ステップと、
さらなる経験データのインスタンスが基づく前記タスク探査の後続のエピソードに先立って、前記ロボットの前記ポリシーニューラルネットワークを更新するために、前記更新されたパラメータのインスタンスを前記ロボットに対して非同期かつ繰り返し供給するステップと
を含む、方法。
前記複数のロボットのうちの少なくとも1つのロボットの1つまたは複数のアクチュエータを動かしてアクションを有効にするように、前記更新されたポリシーパラメータを繰り返し生成するステップの直近の繰返しの前記更新されたポリシーパラメータを使用して、1つまたは複数の運動コマンドを生成するステップをさらに含む、請求項1から11のいずれか一項に記載の方法。
前記所与のロボットによって、前記ポリシーパラメータの前記新バージョンに基づいて前記所与のロボットによって前記タスクを実施する探査の直後のエピソードを実施するステップをさらに含む、請求項28に記載の方法。
前記ロボットにおいて、前記経験データのインスタンスが基づく前記タスク探査のエピソードを実施するステップをさらに含む、請求項29に記載の方法。
コンピュータ可読命令であって、コンピュータ装置によって実行されたとき、請求項1から32のいずれか一項に記載の方法が実施される、コンピュータ可読命令。
JP2019514301A 2016-09-15 2017-09-14 ロボット操作のための深層強化学習 Active JP6721785B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662395340P 2016-09-15 2016-09-15
US62/395,340 2016-09-15
PCT/US2017/051646 WO2018053187A1 (en) 2016-09-15 2017-09-14 Deep reinforcement learning for robotic manipulation

Publications (2)

Publication Number Publication Date
JP2019529135A JP2019529135A (ja) 2019-10-17
JP6721785B2 true JP6721785B2 (ja) 2020-07-15

Family

ID=59966886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019514301A Active JP6721785B2 (ja) 2016-09-15 2017-09-14 ロボット操作のための深層強化学習

Country Status (7)

Country Link
US (3) US11400587B2 (ja)
EP (1) EP3504034A1 (ja)
JP (1) JP6721785B2 (ja)
KR (1) KR102211012B1 (ja)
CN (2) CN115338859A (ja)
DE (1) DE202017105598U1 (ja)
WO (1) WO2018053187A1 (ja)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836650B2 (en) 2016-01-27 2023-12-05 Microsoft Technology Licensing, Llc Artificial intelligence engine for mixing and enhancing features from one or more trained pre-existing machine-learning models
US11841789B2 (en) 2016-01-27 2023-12-12 Microsoft Technology Licensing, Llc Visual aids for debugging
US11868896B2 (en) 2016-01-27 2024-01-09 Microsoft Technology Licensing, Llc Interface for working with simulations on premises
US10733532B2 (en) 2016-01-27 2020-08-04 Bonsai AI, Inc. Multiple user interfaces of an artificial intelligence system to accommodate different types of users solving different types of problems with artificial intelligence
US11775850B2 (en) * 2016-01-27 2023-10-03 Microsoft Technology Licensing, Llc Artificial intelligence engine having various algorithms to build different concepts contained within a same AI model
CN115338859A (zh) 2016-09-15 2022-11-15 谷歌有限责任公司 机器人操纵的深度强化学习
CN117521725A (zh) * 2016-11-04 2024-02-06 渊慧科技有限公司 加强学习系统
US11062207B2 (en) * 2016-11-04 2021-07-13 Raytheon Technologies Corporation Control systems using deep reinforcement learning
CN117709426A (zh) * 2017-02-24 2024-03-15 渊慧科技有限公司 训练机器学习模型的方法、系统和计算机存储介质
WO2018201151A1 (en) * 2017-04-28 2018-11-01 Google Llc Neural network optimizer search
JP2019057093A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報処理装置及びプログラム
US10754308B2 (en) * 2017-11-09 2020-08-25 International Business Machines Corporation Decomposed perturbation approach using memory based learning for compliant assembly tasks
JP6680748B2 (ja) * 2017-11-17 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
US11494632B1 (en) * 2017-12-07 2022-11-08 X Development Llc Generating simulated training examples for training of machine learning model used for robot control
JP6810087B2 (ja) 2018-03-29 2021-01-06 ファナック株式会社 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
JP7035734B2 (ja) * 2018-03-30 2022-03-15 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置
JP7087632B2 (ja) * 2018-04-26 2022-06-21 セイコーエプソン株式会社 ロボット制御装置
WO2018172593A2 (es) * 2018-05-25 2018-09-27 Erle Robotics, S.L Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo
CN108481328B (zh) * 2018-06-04 2020-10-09 浙江工业大学 六关节工业机器人关节空间轨迹跟踪柔性迭代学习控制方法
US20190385091A1 (en) * 2018-06-15 2019-12-19 International Business Machines Corporation Reinforcement learning exploration by exploiting past experiences for critical events
WO2019241680A1 (en) * 2018-06-15 2019-12-19 Google Llc Deep reinforcement learning for robotic manipulation
WO2020009139A1 (ja) * 2018-07-04 2020-01-09 株式会社Preferred Networks 学習方法、学習装置、学習システム及びプログラム
US11285607B2 (en) 2018-07-13 2022-03-29 Massachusetts Institute Of Technology Systems and methods for distributed training and management of AI-powered robots using teleoperation via virtual spaces
WO2020029095A1 (zh) * 2018-08-07 2020-02-13 中国科学院深圳先进技术研究院 强化学习网络的训练方法、装置、训练设备及存储介质
US11823039B2 (en) 2018-08-24 2023-11-21 International Business Machines Corporation Safe and fast exploration for reinforcement learning using constrained action manifolds
WO2020047657A1 (en) * 2018-09-04 2020-03-12 Kindred Systems Inc. Real-time real-world reinforcement learning systems and methods
US10821603B2 (en) * 2018-09-05 2020-11-03 The Boeing Company Methods and apparatus for robot control
CN109212476B (zh) * 2018-09-18 2023-03-14 广西大学 一种基于ddpg的rfid室内定位算法
GB2577312B (en) * 2018-09-21 2022-07-20 Imperial College Innovations Ltd Task embedding for device control
US11292133B2 (en) * 2018-09-28 2022-04-05 Intel Corporation Methods and apparatus to train interdependent autonomous machines
DE102019006725B4 (de) * 2018-10-02 2023-06-01 Fanuc Corporation Steuereinrichtung und Steuersystem
JP6508691B1 (ja) 2018-10-15 2019-05-08 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
KR102611952B1 (ko) * 2018-10-30 2023-12-11 삼성전자주식회사 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치
US11292129B2 (en) * 2018-11-21 2022-04-05 Aivot, Llc Performance recreation system
CN109543199B (zh) * 2018-11-28 2022-06-10 腾讯科技(深圳)有限公司 一种文本翻译的方法以及相关装置
CN109657800A (zh) * 2018-11-30 2019-04-19 清华大学深圳研究生院 基于参数噪声的强化学习模型优化方法及装置
KR102619004B1 (ko) 2018-12-14 2023-12-29 삼성전자 주식회사 로봇 장치 및 로봇의 작업 기술을 학습하는 방법
KR102559552B1 (ko) * 2018-12-17 2023-07-26 한국전자통신연구원 다매체 다중경로 네트워크의 최적 경로 선택 시스템 및 그 방법
CN109760046A (zh) * 2018-12-27 2019-05-17 西北工业大学 基于强化学习的空间机器人捕获翻滚目标运动规划方法
CN109693239A (zh) * 2018-12-29 2019-04-30 深圳市越疆科技有限公司 一种基于深度强化学习的机器人抓取方法
US11787050B1 (en) * 2019-01-01 2023-10-17 Sanctuary Cognitive Systems Corporation Artificial intelligence-actuated robot
WO2020154542A1 (en) * 2019-01-23 2020-07-30 Google Llc Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
WO2020170304A1 (ja) * 2019-02-18 2020-08-27 日本電気株式会社 学習装置及び方法、予測装置及び方法、並びにコンピュータ可読媒体
US11410023B2 (en) 2019-03-01 2022-08-09 International Business Machines Corporation Lexicographic deep reinforcement learning using state constraints and conditional policies
US11308362B2 (en) * 2019-03-26 2022-04-19 Shenzhen Keya Medical Technology Corporation Method and system for generating a centerline for an object, and computer readable medium
DE102019205359B4 (de) * 2019-04-12 2022-05-05 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ansteuern einer technischen Einrichtung
KR102143757B1 (ko) * 2019-05-07 2020-08-12 오토시맨틱스 주식회사 딥러닝을 포함한 인공지능을 적용시킨 풍력 발전장치
US11345030B2 (en) * 2019-05-28 2022-05-31 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives
EP3748551A1 (de) * 2019-06-07 2020-12-09 Robert Bosch GmbH Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
EP3987478B1 (en) * 2019-06-21 2024-03-27 Services Pétroliers Schlumberger Field development planning based on deep reinforcement learning
CN110400345B (zh) * 2019-07-24 2021-06-15 西南科技大学 基于深度强化学习的放射性废物推抓协同分拣方法
KR20210012730A (ko) 2019-07-26 2021-02-03 삼성전자주식회사 인공지능 모델의 학습 방법 및 전자 장치
CA3088674A1 (en) * 2019-07-31 2021-01-31 Royal Bank Of Canada Devices and methods for reinforcement learning visualization using immersive environments
US11676064B2 (en) * 2019-08-16 2023-06-13 Mitsubishi Electric Research Laboratories, Inc. Constraint adaptor for reinforcement learning control
US11400592B2 (en) * 2019-08-19 2022-08-02 Wipro Limited Method and system for task execution in dynamic heterogeneous robotic environment
CN110333739B (zh) * 2019-08-21 2020-07-31 哈尔滨工程大学 一种基于强化学习的auv行为规划及动作控制方法
CN110394804B (zh) * 2019-08-26 2022-08-12 山东大学 一种基于分层线程框架的机器人控制方法、控制器及系统
JP7263980B2 (ja) * 2019-08-27 2023-04-25 富士通株式会社 強化学習方法、強化学習プログラム、および強化学習装置
CN110502034B (zh) * 2019-09-04 2022-08-09 中国人民解放军国防科技大学 一种基于深度强化学习的固定翼无人机群集控制方法
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
DE102019213676B3 (de) * 2019-09-10 2020-09-17 Kuka Deutschland Gmbh Robotersteuerung
US20220331962A1 (en) * 2019-09-15 2022-10-20 Google Llc Determining environment-conditioned action sequences for robotic tasks
DE102019214400A1 (de) * 2019-09-20 2021-03-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren eines künstlichen neuronalen Netzwerks
KR102233739B1 (ko) 2019-09-24 2021-03-31 한국생산기술연구원 강화학습과 인공신경망을 이용한 보행 로봇 자세 제어방법
CN112580795B (zh) * 2019-09-29 2024-09-06 华为技术有限公司 一种神经网络的获取方法以及相关设备
US11389957B2 (en) 2019-09-30 2022-07-19 Mitsubishi Electric Research Laboratories, Inc. System and design of derivative-free model learning for robotic systems
WO2021066794A1 (en) * 2019-09-30 2021-04-08 Siemens Aktiengesellschaft Machine learning enabled visual servoing with dedicated hardware acceleration
US11775860B2 (en) * 2019-10-15 2023-10-03 UiPath, Inc. Reinforcement learning in robotic process automation
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
CN110728368B (zh) * 2019-10-25 2022-03-15 中国人民解放军国防科技大学 一种仿真机器人深度强化学习的加速方法
US20210133591A1 (en) * 2019-11-04 2021-05-06 Baidu Usa Llc Reducing training times of deep neural networks through efficient hybrid parallelism
US20240118667A1 (en) * 2019-11-15 2024-04-11 Google Llc Mitigating reality gap through training a simulation-to-real model using a vision-based robot task model
CN110930379B (zh) * 2019-11-18 2023-04-07 湖北工业大学 基于ddpg-ram算法的复杂光照条件下织物缺陷检测方法
US12109701B2 (en) * 2019-11-20 2024-10-08 Nvidia Corporation Guided uncertainty-aware policy optimization: combining model-free and model-based strategies for sample-efficient learning
CN110929532B (zh) * 2019-11-21 2023-03-21 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质
KR102281119B1 (ko) 2019-11-27 2021-07-26 한국생산기술연구원 강화학습을 이용한 7축 로봇 제어 방법
CN110909859B (zh) * 2019-11-29 2023-03-24 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
DE102019220478A1 (de) * 2019-12-20 2021-06-24 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren und Vorrichtung zum Ermitteln von Schneidparametern für eine Laserschneidmaschine
CN111191399B (zh) * 2019-12-24 2021-11-05 北京航空航天大学 机器鱼的控制方法、装置、设备及存储介质
DE102019135810B3 (de) * 2019-12-27 2020-10-29 Franka Emika Gmbh Erzeugung eines Steuerprogramms für einen Robotermanipulator
CN111223141B (zh) * 2019-12-31 2023-10-24 东华大学 基于强化学习的自动化流水线作业效率优化系统及方法
CN111263332A (zh) * 2020-03-02 2020-06-09 湖北工业大学 基于深度强化学习的无人机轨迹及功率联合优化方法
KR20210121790A (ko) 2020-03-31 2021-10-08 한국외국어대학교 연구산학협력단 강화학습 기반의 분류기 학습 장치 및 방법
DE102020204388A1 (de) 2020-04-03 2021-10-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Ansteuern eines Agenten
CN111716352B (zh) * 2020-05-13 2022-04-29 中国电力科学研究院有限公司 一种配电网带电作业机械臂导航避障方法及系统
CN111552183B (zh) * 2020-05-17 2021-04-23 南京大学 一种基于自适应权重强化学习的六足机器人避障方法
CN111633647B (zh) * 2020-05-26 2021-06-22 山东大学 一种基于深度强化学习的多模融合机器人缝制方法及系统
CN112327821A (zh) * 2020-07-08 2021-02-05 东莞市均谊视觉科技有限公司 一种基于深度强化学习的智能清洁机器人路径规划方法
DE102020209685B4 (de) 2020-07-31 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
CN112171660B (zh) * 2020-08-18 2021-11-23 南京航空航天大学 一种基于深度强化学习的空间双臂系统约束运动规划方法
DE102020210823A1 (de) 2020-08-27 2022-03-03 Robert Bosch Gesellschaft mit beschränkter Haftung Maschinen-Steueranordnung
TWI739604B (zh) * 2020-09-18 2021-09-11 英業達股份有限公司 訓練機器動物的運動控制器的方法
US20220105626A1 (en) * 2020-10-05 2022-04-07 Autodesk, Inc. Techniques for force and torque-guided robotic assembly
US12017352B2 (en) * 2020-10-29 2024-06-25 Nvidia Corporation Transformation of joint space coordinates using machine learning
US11992945B2 (en) * 2020-11-10 2024-05-28 Google Llc System and methods for training robot policies in the real world
CN112356031B (zh) * 2020-11-11 2022-04-01 福州大学 一种基于Kernel采样策略在不确定性环境下的在线规划方法
DE102020214231A1 (de) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
WO2022102100A1 (en) 2020-11-13 2022-05-19 Nec Corporation Information processing apparatus, information processing method, and computer readable medium
CN112338921A (zh) * 2020-11-16 2021-02-09 西华师范大学 一种基于深度强化学习的机械臂智能控制快速训练方法
CN112498334B (zh) * 2020-12-15 2022-03-11 清华大学 智能网联混合动力汽车的鲁棒能量管理方法及系统
CN114684293B (zh) * 2020-12-28 2023-07-25 成都启源西普科技有限公司 一种机器人行走仿真算法
CN112801149B (zh) * 2021-01-15 2024-06-11 江苏大学 一种基于深度强化学习的多车队列控制方法
CN112801290B (zh) * 2021-02-26 2021-11-05 中国人民解放军陆军工程大学 一种多智能体深度强化学习方法、系统及应用
CN112975977B (zh) * 2021-03-05 2022-08-09 西北大学 一种高效的机械臂抓取深度强化学习奖励训练方法及系统
CN113093727B (zh) * 2021-03-08 2023-03-28 哈尔滨工业大学(深圳) 一种基于深度安全强化学习的机器人无地图导航方法
CN113128699B (zh) * 2021-03-12 2022-11-15 合肥工业大学 快速收敛的多无人机协同对抗强化学习方法
EP4075337A1 (en) * 2021-03-15 2022-10-19 Honeywell Limited Process controller with meta-reinforcement learning
US20220305649A1 (en) * 2021-03-25 2022-09-29 Naver Corporation Reachable manifold and inverse mapping training for robots
US20210229281A1 (en) * 2021-03-26 2021-07-29 Venkat Natarajan Collaborative multi-robot tasks using action primitives
CN112990361B (zh) * 2021-04-20 2021-07-27 北京动亮健康科技有限公司 基于Q-Learning算法的调整运动速度的方法、跑步机及提示装置
DE102021204846B4 (de) 2021-05-12 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
CN113135532B (zh) * 2021-05-12 2022-03-11 吉林大学 一种自平衡高空作业台及其控制方法
DE102021204961B4 (de) 2021-05-17 2023-06-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung einer Robotervorrichtung
CN113326872A (zh) * 2021-05-19 2021-08-31 广州中国科学院先进技术研究所 一种多机器人轨迹规划方法
CN113290557A (zh) * 2021-05-21 2021-08-24 南京信息工程大学 一种基于数据驱动的蛇形机器人控制方法
CN113340324B (zh) * 2021-05-27 2022-04-29 东南大学 一种基于深度确定性策略梯度的视觉惯性自校准方法
US11845190B1 (en) * 2021-06-02 2023-12-19 Google Llc Injecting noise into robot simulation
CN113467248A (zh) * 2021-07-22 2021-10-01 南京大学 基于强化学习的无人机传感器故障时容错控制方法
KR102346900B1 (ko) * 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법
CN113524196A (zh) * 2021-08-10 2021-10-22 南京深一科技有限公司 一种基于平面视觉深度强化学习的机械臂抓取控制方法
CN113459109B (zh) * 2021-09-03 2021-11-26 季华实验室 机械臂路径规划方法、装置、电子设备及存储介质
CN113967909B (zh) * 2021-09-13 2023-05-16 中国人民解放军军事科学院国防科技创新研究院 基于方向奖励的机械臂智能控制方法
US20230109398A1 (en) * 2021-10-06 2023-04-06 Giant.Ai, Inc. Expedited robot teach-through initialization from previously trained system
KR20230061612A (ko) 2021-10-28 2023-05-09 아이둡 주식회사 머신 러닝을 이용한 물체의 피킹 자동화 시스템 및 그 제어 방법
DE102021212494B4 (de) 2021-11-05 2024-07-04 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung
CN114089633B (zh) * 2021-11-19 2024-04-26 江苏科技大学 一种水下机器人多电机耦合驱动控制装置及方法
KR102664200B1 (ko) 2021-12-20 2024-05-10 주식회사 현대케피코 가속도센서를 이용한 보행 로봇의 강화 학습 방법
CN114454160B (zh) * 2021-12-31 2024-04-16 中国人民解放军国防科技大学 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及系统
KR102631984B1 (ko) * 2022-02-14 2024-01-30 경희대학교 산학협력단 사람형 로봇 손의 처리 시스템
CN114734443B (zh) * 2022-04-27 2023-08-04 东南大学 基于生成对抗模仿学习的人机协作机器人技能识别方法
CN114905510B (zh) * 2022-04-29 2023-07-28 南京邮电大学 基于自适应近端优化的机器人动作方法
CN114952828B (zh) * 2022-05-09 2024-06-14 华中科技大学 一种基于深度强化学习的机械臂运动规划方法和系统
CN114721409B (zh) * 2022-06-08 2022-09-20 山东大学 一种基于强化学习的水下航行器对接控制方法
CN115366099B (zh) * 2022-08-18 2024-05-28 江苏科技大学 基于正向运动学的机械臂深度确定性策略梯度训练方法
CN115674191B (zh) * 2022-10-08 2024-05-10 广东工业大学 一种基于数字孪生的机械臂控制方法及系统
KR20240109625A (ko) 2023-01-04 2024-07-12 한국전자기술연구원 강화학습을 이용한 원격 로봇 제어 방법 및 시스템
US12103182B1 (en) 2023-10-20 2024-10-01 Tacta Systems Inc. Tactile robotic training platform
CN117875407B (zh) * 2024-03-11 2024-06-04 中国兵器装备集团自动化研究所有限公司 一种多模态持续学习方法、装置、设备及存储介质
CN118051063B (zh) * 2024-04-16 2024-06-14 中国民用航空飞行学院 一种低空无人机避障飞行的训练方法
CN118114746B (zh) * 2024-04-26 2024-07-23 南京邮电大学 基于贝尔曼误差的方差最小化强化学习机械臂训练加速方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005238422A (ja) 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
ES2306161T3 (es) * 2004-06-15 2008-11-01 Abb Ab Metodo y sistema para la programacion fuera de linea de multiples robots interactuantes.
US8060251B2 (en) * 2004-12-06 2011-11-15 Honda Motor Co., Ltd. Interface for robot motion control
JP2008542859A (ja) * 2005-05-07 2008-11-27 エル ターラー、ステフエン 有用な情報を自律的にブートストラッピングする装置
US11159909B2 (en) * 2008-02-05 2021-10-26 Victor Thomas Anderson Wireless location establishing device
US8805110B2 (en) * 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
JP2011204036A (ja) 2010-03-25 2011-10-13 Institute Of National Colleges Of Technology Japan 経験強化型強化学習システム、経験強化型強化学習方法および経験強化型強化学習プログラム
CN102402712B (zh) * 2011-08-31 2014-03-05 山东大学 基于神经网络的机器人强化学习初始化方法
US8788439B2 (en) * 2012-12-21 2014-07-22 InsideSales.com, Inc. Instance weighted learning machine learning model
US9056396B1 (en) * 2013-03-05 2015-06-16 Autofuss Programming of a robotic arm using a motion capture system
US9776325B1 (en) * 2013-03-13 2017-10-03 Hrl Laboratories, Llc Method for tele-robotic operations over time-delayed communication links
WO2014190208A2 (en) * 2013-05-22 2014-11-27 Neurala, Inc. Methods and apparatus for early sensory integration and robust acquisition of real world knowledge
US9186795B1 (en) * 2013-06-24 2015-11-17 Redwood Robotics, Inc. Programming and execution of force-based tasks with torque-controlled robot arms
US9679258B2 (en) 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US9533413B2 (en) * 2014-03-13 2017-01-03 Brain Corporation Trainable modular robotic apparatus and methods
US9302393B1 (en) * 2014-04-15 2016-04-05 Alan Rosen Intelligent auditory humanoid robot and computerized verbalization system programmed to perform auditory and verbal artificial intelligence processes
US10445641B2 (en) * 2015-02-06 2019-10-15 Deepmind Technologies Limited Distributed training of reinforcement learning systems
US9855658B2 (en) * 2015-03-19 2018-01-02 Rahul Babu Drone assisted adaptive robot control
US9676098B2 (en) * 2015-07-31 2017-06-13 Heinz Hemken Data collection from living subjects and controlling an autonomous robot using the data
US9981381B1 (en) * 2016-06-08 2018-05-29 X Development Llc Real time generation of phase synchronized trajectories
CN115338859A (zh) * 2016-09-15 2022-11-15 谷歌有限责任公司 机器人操纵的深度强化学习
EP3566824B1 (en) * 2018-05-11 2023-06-28 Siemens Aktiengesellschaft Method, apparatus, computer-readable storage media and a computer program for robotic programming
US11554482B2 (en) * 2020-07-16 2023-01-17 Hitachi, Ltd. Self-learning industrial robotic system

Also Published As

Publication number Publication date
CN109906132A (zh) 2019-06-18
DE202017105598U1 (de) 2018-05-24
WO2018053187A1 (en) 2018-03-22
US20220388159A1 (en) 2022-12-08
KR20190040506A (ko) 2019-04-18
US20190232488A1 (en) 2019-08-01
US11400587B2 (en) 2022-08-02
KR102211012B1 (ko) 2021-02-03
EP3504034A1 (en) 2019-07-03
CN115338859A (zh) 2022-11-15
JP2019529135A (ja) 2019-10-17
US20240131695A1 (en) 2024-04-25
US11897133B2 (en) 2024-02-13
CN109906132B (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
JP6721785B2 (ja) ロボット操作のための深層強化学習
US12083678B2 (en) Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
EP3621773B1 (en) Viewpoint invariant visual servoing of robot end effector using recurrent neural network
US20210237266A1 (en) Deep reinforcement learning for robotic manipulation
JP6586532B2 (ja) ロボットの把持のための深層機械学習方法および装置
US9914213B2 (en) Deep machine learning methods and apparatus for robotic grasping
US11823048B1 (en) Generating simulated training examples for training of machine learning model used for robot control
US20240173854A1 (en) System and methods for pixel based model predictive control
CN112135716A (zh) 数据高效的分层强化学习
US11992945B2 (en) System and methods for training robot policies in the real world
US20240033904A1 (en) Simulating multiple robots in virtual environments
US11685045B1 (en) Asynchronous robotic control using most recently selected robotic action data
WO2022192132A1 (en) Controlling multiple simulated robots with a single robot controller
CN112313044B (en) Deep reinforcement learning for robotic manipulation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190530

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200618

R150 Certificate of patent or registration of utility model

Ref document number: 6721785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250