(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-28
(54)【発明の名称】製造環境における模倣学習
(51)【国際特許分類】
G06N 20/00 20190101AFI20240220BHJP
【FI】
G06N20/00 130
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023551134
(86)(22)【出願日】2022-02-25
(85)【翻訳文提出日】2023-10-12
(86)【国際出願番号】 US2022017943
(87)【国際公開番号】W WO2022183016
(87)【国際公開日】2022-09-01
(32)【優先日】2021-02-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】511289471
【氏名又は名称】ナノトロニクス イメージング インコーポレイテッド
【氏名又は名称原語表記】NANOTRONICS IMAGING,INC.
【住所又は居所原語表記】2251 FRONT STREET,SUITE 110,P.O.BOX 306,CUYAHOGA FALLS,OHIO 44223,U.S.A.
(74)【代理人】
【識別番号】110002321
【氏名又は名称】弁理士法人永井国際特許事務所
(72)【発明者】
【氏名】プットマン,マシュー シー
(72)【発明者】
【氏名】サンドストローム,アンドリュー
(72)【発明者】
【氏名】リモージュ,ダマス
(72)【発明者】
【氏名】ピンスキー,バディム
(72)【発明者】
【氏名】ニルマルスワレン,アスウィン ラーギャフ
(72)【発明者】
【氏名】キム,ウンソル
(57)【要約】
コンピューティングシステムは、人間オペレータによって生成された軌跡例を識別する。軌跡例は、コンピューティングシステムの制御システムによって学習されるタスクを実行する間の人間オペレータの軌跡情報を含む。軌跡例に基づいて、コンピューティングシステムは、軌跡例に例示されたタスクを実行するように制御システムをトレーニングする。制御システムをトレーニングすることは、タスクを実行するロボットの出力軌跡を生成することを含む。コンピューティングシステムは、軌跡例と、タスクを実行するロボットの出力軌跡とに基づいて、人間オペレータによって生成された更新された軌跡例を識別する。更新された軌跡例に基づいて、コンピューティングシステムは、更新された軌跡例に例示されたタスクを実行するように制御システムをトレーニングすることを継続する。
【特許請求の範囲】
【請求項1】
制御システムをトレーニングするための方法であって、
人間オペレータによって生成された軌跡例をコンピューティングシステムによって識別することであって、前記軌跡例は、前記コンピューティングシステムの制御システムによって学習されるタスクを実行する間の前記人間オペレータの軌跡情報を含む、識別することと、
前記軌跡例に基づいて、前記軌跡例に例示された前記タスクを実行するように前記制御システムを前記コンピューティングシステムによってトレーニングすることであって、前記制御システムをトレーニングすることは、前記タスクを実行するロボットの出力軌跡を生成することを含む、トレーニングすることと、
前記軌跡例と、前記タスクを実行する前記ロボットの前記出力軌跡とに基づいて、前記人間オペレータによって生成された更新された軌跡例を前記コンピューティングシステムによって識別することと、
前記更新された軌跡例に基づいて、前記更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを前記コンピューティングシステムによって継続することと
を含む、方法。
【請求項2】
前記更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを前記コンピューティングシステムによって継続することは、
前記タスクを実行する前記ロボットの更新された出力軌跡を出力すること
を含む、請求項1に記載の方法。
【請求項3】
前記軌跡例と、前記出力軌跡と、前記更新された軌跡例と、前記タスクを実行する前記ロボットの前記更新された出力軌跡とに基づいて、前記人間オペレータによって生成されたさらなる更新された軌跡例を前記コンピューティングシステムによって識別することと、
前記さらなる更新された軌跡例に基づいて、前記さらなる更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを前記コンピューティングシステムによって継続することと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記軌跡例は、前記人間オペレータが前記タスクを実行する第1の環境から、前記ロボットが前記タスクを実行する第2の環境に射影され、前記第1の環境は、前記第2の環境よりも高次元の環境である、請求項1に記載の方法。
【請求項5】
前記更新された軌跡例は、前記人間オペレータが前記タスクを実行する前記第1の環境から、前記ロボットが前記タスクを実行する前記第2の環境に射影される、請求項4に記載の方法。
【請求項6】
前記人間オペレータによって実行される前記タスクと、前記ロボットによって実行される前記タスクとの間の距離を最小化すること
をさらに含む、請求項1に記載の方法。
【請求項7】
前記タスクは、製造タスクである、請求項1に記載の方法。
【請求項8】
システムであって、
プロセッサと、
メモリであって、前記プロセッサによって実行されるときに、
人間オペレータによって生成された軌跡例を識別することであって、前記軌跡例は、前記システムの制御システムによって学習されるタスクを実行する間の前記人間オペレータの軌跡情報を含む、識別することと、
前記軌跡例に基づいて、前記軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることであって、前記制御システムをトレーニングすることは、前記タスクを実行するロボットの出力軌跡を生成することを含む、トレーニングすることと、
前記軌跡例と、前記タスクを実行する前記ロボットの前記出力軌跡とに基づいて、前記人間オペレータによって生成された更新された軌跡例を識別することと、
前記更新された軌跡例に基づいて、前記更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを継続することと
を含む動作を前記システムに実行させるプログラミング命令をその上に記憶するメモリと、
を含む、システム。
【請求項9】
前記更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを継続することは、
前記タスクを実行する前記ロボットの更新された出力軌跡を出力すること
を含む、請求項8に記載のシステム。
【請求項10】
前記動作は、
前記軌跡例と、前記出力軌跡と、前記更新された軌跡例と、前記タスクを実行する前記ロボットの前記更新された出力軌跡とに基づいて、前記人間オペレータによって生成されたさらなる更新された軌跡例を識別することと、
前記さらなる更新された軌跡例に基づいて、前記さらなる更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを継続することと
をさらに含む、請求項9に記載のシステム。
【請求項11】
前記軌跡例は、前記人間オペレータが前記タスクを実行する第1の環境から、前記ロボットが前記タスクを実行する第2の環境に射影され、前記第1の環境は、前記第2の環境よりも高次元の環境である、請求項8に記載のシステム。
【請求項12】
前記更新された軌跡例は、前記人間オペレータが前記タスクを実行する前記第1の環境から、前記ロボットが前記タスクを実行する前記第2の環境に射影される、請求項11に記載のシステム。
【請求項13】
前記動作は、
前記人間オペレータによって実行される前記タスクと、前記ロボットによって実行される前記タスクとの間の距離を最小化すること
をさらに含む、請求項8に記載のシステム。
【請求項14】
前記タスクは、製造タスクである、請求項8に記載のシステム。
【請求項15】
プロセッサによって実行されるときに、
人間オペレータによって生成された軌跡例をコンピューティングシステムによって識別することであって、前記軌跡例は、前記コンピューティングシステムの制御システムによって学習されるタスクを実行する間の前記人間オペレータの軌跡情報を含む、識別することと、
前記軌跡例に基づいて、前記軌跡例に例示された前記タスクを実行するように前記制御システムを前記コンピューティングシステムによってトレーニングすることであって、前記制御システムをトレーニングすることは、前記タスクを実行するロボットの出力軌跡を生成することを含む、トレーニングすることと、
前記軌跡例と、前記タスクを実行する前記ロボットの前記出力軌跡とに基づいて、前記人間オペレータによって生成された更新された軌跡例を前記コンピューティングシステムによって識別することと、
前記更新された軌跡例に基づいて、前記更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを前記コンピューティングシステムによって継続することと
を含む動作を前記コンピューティングシステムに実行させる命令の1つまたは複数のシーケンスを含む、非一時的コンピュータ可読媒体。
【請求項16】
前記更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを前記コンピューティングシステムによって継続することは、
前記タスクを実行する前記ロボットの更新された出力軌跡を出力すること
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記軌跡例と、前記出力軌跡と、前記更新された軌跡例と、前記タスクを実行する前記ロボットの前記更新された出力軌跡とに基づいて、前記人間オペレータによって生成されたさらなる更新された軌跡例を前記コンピューティングシステムによって識別することと、
前記さらなる更新された軌跡例に基づいて、前記さらなる更新された軌跡例に例示された前記タスクを実行するように前記制御システムをトレーニングすることを前記コンピューティングシステムによって継続することと
をさらに含む、請求項16に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記軌跡例は、前記人間オペレータが前記タスクを実行する第1の環境から、前記ロボットが前記タスクを実行する第2の環境に射影され、前記第1の環境は、前記第2の環境よりも高次元の環境である、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記更新された軌跡例は、前記人間オペレータが前記タスクを実行する前記第1の環境から、前記ロボットが前記タスクを実行する前記第2の環境に射影される、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記人間オペレータによって実行される前記タスクと、前記ロボットによって実行される前記タスクとの間の距離を最小化すること
をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年2月25日に出願された米国仮出願第63/153,811号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、概して、製造環境における模倣学習を実装するためのシステムおよび方法に関する。
【背景技術】
【0003】
18世紀における産業革命の開始以来、自動化は商品の生産を支配してきた。今日の工場は、自動化を中核的な原理として十分に採用しており、ロボットが大量生産環境における多くの繰り返し可能なタスクを実行しているが、多くの組立てタスクは人間によって実行され続けている。これらのタスクは、コスト、致命的障害のリスク、またはタスクを実行するためのロボットシステムを配備するロジスティクスに起因して自動化が困難である。
【発明の概要】
【課題を解決するための手段】
【0004】
コンピューティングシステムは、人間オペレータによって生成された軌跡例(trajectory example)を識別する。軌跡例は、コンピューティングシステムの制御システムによって学習されるタスクを実行する間の人間オペレータの軌跡情報を含む。軌跡例に基づいて、コンピューティングシステムは、軌跡例に例示されたタスクを実行するように制御システムをトレーニングする。制御システムをトレーニングすることは、タスクを実行するロボットの出力軌跡を生成することを含む。コンピューティングシステムは、軌跡例と、タスクを実行するロボットの出力軌跡とに基づいて、人間オペレータによって生成された更新された軌跡例を識別する。更新された軌跡例に基づいて、コンピューティングシステムは、更新された軌跡例に例示されたタスクを実行するように制御システムをトレーニングすることを継続する。
【0005】
いくつかの実施形態では、非一時的コンピュータ可読媒体が本明細書に開示される。非一時的コンピュータ可読媒体は、プロセッサによって実行されるときに、コンピューティングシステムに動作を実行させる命令の1つまたは複数のシーケンスを含む。動作は、人間オペレータによって生成された軌跡例をコンピューティングシステムによって識別することを含む。軌跡例は、コンピューティングシステムの制御システムによって学習されるタスクを実行する間の人間オペレータの軌跡情報を含む。動作は、軌跡例に基づいて、軌跡例に例示されたタスクを実行するように制御システムをコンピューティングシステムによってトレーニングすることをさらに含む。制御システムをトレーニングすることは、タスクを実行するロボットの出力軌跡を生成することを含む。動作は、軌跡例と、タスクを実行するロボットの出力軌跡とに基づいて、人間オペレータによって生成された更新された軌跡例をコンピューティングシステムによって識別することをさらに含む。動作は、更新された軌跡例に基づいて、更新された軌跡例に例示されたタスクを実行するように制御システムをトレーニングすることをコンピューティングシステムによって継続することをさらに含む。
【0006】
いくつかの実施形態では、システムが本明細書に開示される。システムは、プロセッサと、メモリとを含む。メモリは、プロセッサによって実行されるときに、システムに動作を実行させるプログラミング命令をその上に記憶している。動作は、人間オペレータによって生成された軌跡例を識別することを含む。軌跡例は、制御システムによって学習されるタスクを実行する間の人間オペレータの軌跡情報を含む。動作は、軌跡例に基づいて、軌跡例に例示されたタスクを実行するように制御システムをトレーニングすることをさらに含む。制御システムをトレーニングすることは、タスクを実行するロボットの出力軌跡を生成することを含む。動作は、軌跡例と、タスクを実行するロボットの出力軌跡とに基づいて、人間オペレータによって生成された更新された軌跡例を識別することをさらに含む。動作は、更新された軌跡例に基づいて、更新された軌跡例に例示されたタスクを実行するように制御システムをトレーニングすることを継続することをさらに含む。
【0007】
本開示の上記の特徴が詳細に理解され得るように、上で簡単に概説された開示のより具体的な説明が実施形態を参照して行われることがあり、そのうちのいくつかは添付図面に示される。しかし、注意されるべきであるが、添付図面は、本開示の典型的な実施形態のみを示しているため、その範囲を限定すると考えられるべきではない。開示は他の等しく有効な実施形態を許容し得るからである。
【図面の簡単な説明】
【0008】
【
図1】例示的実施形態による、コンピューティング環境を示すブロック図である。
【0009】
【
図2】例示的実施形態による、制御システムを示すブロック図である。
【0010】
【
図3】例示的実施形態による、フォワードバックワードデータDAGGERの図式を示すブロック図である。
【0011】
【
図4】例示的実施形態による、プロセスを実行するように制御システムをトレーニングする方法を示す流れ図である。
【0012】
【
図5】例示的実施形態による、教師および学生の行動空間を示すブロック図である。
【0013】
【
図6】例示的実施形態による、模倣学習プロセスを示す流れ図である。
【0014】
【
図7A】例示的実施形態による、コンピューティングシステムを示すブロック図である。
【0015】
【
図7B】例示的実施形態による、コンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【0016】
理解を容易にするため、図面に共通である同一の要素を示すために、可能ならば同一の参照番号が使用されている。一実施形態に開示された要素が、特に詳説せずに他の実施形態で有益に利用され得ることが考えられる。
【0017】
模倣学習は、動作時の人間活動を精密にまねるようにロボットシステムをトレーニングするための方法の成長分野であり、これにより、動きの符号化が高速に、より一般的に、そして既存のプロセスに対して行われることが可能となる。模倣学習は、人間ベースの標準的な動作プロトコルをロボットプログラミング論理に変換する従来の翻訳ステップを免れている。しかし、この翻訳は不完全であり、各行動フレームにおける主要な動き成分を識別し、特定の動きの背後の意図を決定するという本質的困難をかかえている。
【0018】
産業的応用の場合、行動空間は、例えば自動運転の場合よりも狭いが、より高い効率および歩留まりを達成する需要は産業的応用の場合にはより大きい。産業的状況では、例えば、目標は、既存の、または能動的に収集されたプロセスからロボットの動きを符号化し、生産ラインへの人間の介入を必要とすることなく同じ手順をロボットが実行することができるようにすることであり得る。さらに、目標は、下流または上流のプロトコルが変更されること、または製品チェックアウトに例外が追加されることの必要性を防ぐことである。ロボットシステムが人間オペレータの同僚となることを可能にするプロセスは、動作の高い忠実度と、本質的に既知ではない可能性のある多くの条件に対する説明とを要求し得る。シミュレーション環境は、学習戦略の開発においては有効となり得るが、実世界プロセスに関連づけられた無数の変数を捕捉するには適しておらず、グラウンドトゥルース手順の実際的な改良に対する有用性は制限される。
【0019】
模倣学習における現在の制限を説明するため、本明細書に記載される1つまたは複数の技術は、固有の行動空間において動的であるように、およびロボットペレータ(例えば、学生)の制限に従ってそれらの動作プロトコル(SOP)を調整するように人間オペレータ(例えば、教師)を強制することによって、上記の問題のセットへの新たな手法を提供する。本手法は、従来の教師-学生関係の誘導を使用することが可能であり、それによって、不成功の教師は、「自分に教え」、実際の学生が所有していないスキル、事前知識、および経験のセットを仮定する教師と規定される。代わりに、成功した教師-学生関係は、学生のパフォーマンスと、学生の制限の直観的理解とに基づいて、同じ教師がそれらの手順および手法を調整すると規定され得る。
【0020】
いくつかの実施形態では、本明細書に記載される1つまたは複数の技術は、SOPによって規定されるように、処理ステーションの支配的な静的入力および出力を維持することが可能であり、略述されたタスクへのそれらの手法を変更するために人間オペレータにフィードバックを提供することが可能である。工具を把持するための接近角、使用される工具のタイプ、動作の順序、および習慣で実行され戦略的項目ほど重要ではないプロセスの他の部分などの流動的行動は、学習レートおよびロボット動作の忠実度を改善しながらも、効率を犠牲にすることなく変更され得る。
【0021】
いくつかの実施形態では、オペレータは、その固有の行動空間を、ロボットシステムの行動空間に反復的に再マッピングし得る。混成の能動教授/能動学習の手法は、ロボットシステムの本質的な制限により精密に一致するように人間オペレータの動きプロファイルを連続的に適応させるのと同時並行して、および相互依存して、ロボットシステムのパフォーマンスを連続的に改善する手段を示唆し得る。
【0022】
このような手法は、二重報酬構造を生成することが可能であり、それによって、オペレータは、それらの主なタスクの完了(SOPへの適合および準拠によって測定される)と、それらの行動がロボットマニピュレータによって理解される能力とに対して報酬を受けることが可能である。トレーニング中のロボットシステムからオペレータにフィードバックを連続的に提供することによって、本手法は、成功するロボットトレーニングを制限する環境ノイズおよび分類問題を低減するために、オペレータ挙動に直接の変更を適用しようとする。本プロセスは、補助的な動作のための既存の生産ラインへのロボットマニピュレータの導入に使用されることが可能であり、引き継ぎタスクと、新規の製品および手順のための再トレーニングとを改善する。本手法は、オペレータをロボットで置換することを必要とせず、代わりにトレーニングプロセスを合理化することによって両方の資源の効率的使用を容易にする。
【0023】
図1は、例示的実施形態による、コンピューティング環境100を示すブロック図である。図示のように、コンピューティング環境100は、1つまたは複数の通信チャネルを介して、教師コンピューティングシステム102および学生コンピューティングシステム104を含み得る。いくつかの実施形態では、1つまたは複数の通信チャネルは、セルラまたはWi-Fiネットワークなどの、インターネットを介した個別の接続を表し得る。いくつかの実施形態では、1つまたは複数の通信チャネルは、無線周波数識別(RFID)、近距離無線通信(NFC)、Bluetooth(商標)、低エネルギーBluetooth(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、環境後方散乱通信(ABC)プロトコル、USB、WAN、またはLANなどの直接接続を用いた端末、サービス、およびモバイルデバイスを接続し得る。
【0024】
教師コンピューティングシステム102は、ユーザまたはアドミニストレータによって運用され得る。例えば、教師コンピューティングシステム102は、モバイルデバイス、タブレット、デスクトップコンピュータ、または本明細書に記載される能力を有する任意のコンピューティングシステムであり得る。より具体的には、教師コンピューティングシステム102は、教師-学生模倣学習パラダイムにおける「教師」に関連づけられ得る。
【0025】
教師コンピューティングシステム102は、少なくともデータ収集モジュール106およびトレーニングモジュール108を含み得る。データ収集モジュール106およびトレーニングモジュール108の各々は、1つまたは複数のソフトウェアモジュールからなり得る。1つまたは複数のソフトウェアモジュールは、1つまたは複数のアルゴリズムステップを実装する一連の機械命令(例えば、プログラムコード)を表す、媒体(例えば、教師コンピューティングシステム102に関連づけられたコンピューティングシステムのメモリ)上に記憶されたコードまたは命令の集まりであり得る。このような機械命令は、命令を実装するためにプロセッサが解釈する実際のコンピュータコードであってもよく、または代替的に、実際のコンピュータコードを取得するために解釈される命令の高レベルのコーディングであってもよい。1つまたは複数のソフトウェアモジュールはまた、1つまたは複数のハードウェアコンポーネントを含み得る。例示的アルゴリズムの1つまたは複数の態様は、命令の結果としてではなく、ハードウェアコンポーネント(例えば、回路)自体によって実行され得る。
【0026】
データ収集モジュール106は、教師コンピューティングシステム102と通信する1つまたは複数のセンサ110からデータを受信しまたは取り込むように構成され得る。例えば、センサ110は、学生コンピューティングシステム104によって学習されるプロセスを実行する人間オペレータ、または教師を監視するように構成され得る。より具体的な例を用いると、センサ110は、検査システムのペデスタル上に基板を配置する人間オペレータを監視するように構成され得る。センサ110は、以下のものに限定されないが、人間オペレータの画像またはビデオ、人間オペレータの関節に関連する角度、人間オペレータに関連する動きデータなどのような、プロセスに関連するさまざまなデータを収集し得る。一般的に、センサ110は、複数の異なる手段で複数回、同じプロセスを実行する人間オペレータに関連するデータを収集し得る。
【0027】
トレーニングモジュール108は、学生コンピューティングシステム104への配備のためのニューラルネットワークをトレーニングするように構成され得る。例えば、トレーニングモジュール108は、学生コンピューティングシステム104が目標プロセスを実行することを学習し得る教師ポリシーを生成するように構成され得る。
【0028】
学生コンピューティングシステム104は、エージェントに関連づけられ得る。いくつかの実施形態では、エージェントは、ロボットを指し得る。学生コンピューティングシステム104は、モバイルデバイス、タブレット、デスクトップコンピュータ、または本明細書に記載される能力を有する任意のコンピューティングシステムを表し得る。より具体的には、学生コンピューティングシステム104は、教師-学生模倣学習パラダイムにおける「学生」に関連づけられ得る。
【0029】
学生コンピューティングシステム104は、少なくともデータ収集モジュール116および制御システム118を含み得る。データ収集モジュール116および制御システム118の各々は、1つまたは複数のソフトウェアモジュールからなり得る。1つまたは複数のソフトウェアモジュールは、1つまたは複数のアルゴリズムステップを実装する一連の機械命令(例えば、プログラムコード)を表す、媒体(例えば、学生コンピューティングシステム104に関連づけられたコンピューティングシステムのメモリ)上に記憶されたコードまたは命令の集まりであり得る。このような機械命令は、命令を実装するためにプロセッサが解釈する実際のコンピュータコードであってもよく、または代替的に、実際のコンピュータコードを取得するために解釈される命令の高レベルのコーディングであってもよい。1つまたは複数のソフトウェアモジュールはまた、1つまたは複数のハードウェアコンポーネントを含み得る。例示的アルゴリズムの1つまたは複数の態様は、命令の結果としてではなく、ハードウェアコンポーネント(例えば、回路)自体によって実行され得る。
【0030】
データ収集モジュール116は、学生コンピューティングシステム104と通信する1つまたは複数のセンサ112からデータを受信しまたは取り込むように構成され得る。例えば、センサ112は、教師のプロセスから推論されるプロセスを実行するエージェント、またはロボットを監視するように構成され得る。より具体的な例を用いると、センサ112は、検査システムのペデスタル上に基板を配置する人間オペレータのステップを模倣するロボットを監視するように構成され得る。センサ112は、以下のものに限定されないが、エージェントの画像またはビデオ、エージェントのコンポーネントに関連する角度、エージェントに関連する動きデータなどのような、プロセスに関連するさまざまなデータを収集し得る。
【0031】
制御システム118は、教師によって実行されるプロセスをいかに模倣するかを学習するように構成され得る。制御システム118は、例えば、動作中にセンサ112によって受信されまたは取り込まれたデータに基づいて特定の行動を実行するようにロボットに教示し得る。例えば、ロボットが基板を持ち上げたというセンサ112からの指示に基づいて、制御システム118は、検査システムのペデスタル上に基板を配置するプロセスにおける次のステップを実行するための信号をロボットに送信し得る。
【0032】
上記で提示されたように、教師コンピューティングシステム102および学生コンピューティングシステム104は、双方向教師学生トレーニングプロセスを使用し得る。例えば、学習プロセスは、フォワードコンポーネントおよびバックワードコンポーネントを含み得る。フォワードコンポーネントは、教師のネイティブ行動空間で表現された教師の挙動から、学生のネイティブ行動空間で表現された学生の挙動への翻訳を遂行し得る。バックワードコンポーネントは、教師が学生に提供し得るトレーニングデータセットを反復的に修正する、学生から教師へのフィードバックを提供することが可能であり、これは学生が発見する状態部分空間を解明する。
【0033】
双方向教師学生トレーニングプロセスの一部として、学生コンピューティングシステム104は、元のDAGGERアルゴリズムに基づくフォワードバックワードDAGGERアルゴリズムを使用し得る。フォワードバックワードDAGGERアルゴリズムは、教師はより高次元の行動空間でのみエキスパートポリシーを教え、または提供することができるという、ほとんどの実世界状況では真である条件下で、教師のより高次元の行動空間と、学生のより低次元の行動空間との間の差異に対処することによって、元のDAGGERアルゴリズムを改良する。
【0034】
フォワードバックワードDAGGERでは、教師および学生ポリシーは、それらのそれぞれの行動空間に埋め込まれ、関数近似器(function approximator)において符号化される。初期学生ポリシーは、例えば、適切な行動空間を有するポリシーからランダムにとられる。
【0035】
学生コンピューティングシステム104を、それらの制約された行動空間を有する環境において良好に学習および機能するようにトレーニングするため、フォワードバックワードDAGGERは、学生の行動空間においてデータの集約を誘導し得る。この集約されたデータは、学生コンピューティングシステム104を改良するために使用され得る。重要なこととして、学生からのフィードバックは教師に報告され得る。このフィードバックは、将来の反復における新しい、より良好なデータを集約するように学生を誘導するように教師を支援することが可能であり、これは学生の学習を誘導し得る。
【0036】
産業的ロボット制御の状況では、人間は、高次元行動空間において行動を生成することが知られている。人間が特定のタスク(例えば、ソーダの缶を開けること)をロボットに教えようとするとき、人間は、それらの行動を再現する際に、ロボットの能力により近い行動のシーケンスを実行する。しばしば、ロボットの行動は、期待される人間の挙動を再現するにははるかに及ばない。これは、人間の行動はより高次元の行動空間からのものであり、これはロボットの行動空間により近い次元にしばしば離散化されるためである。
【0037】
人間の元の挙動を学習するようにロボットを支援するため、人間は、自己の固有の挙動を修正する必要がある。このプロセスは、ロボットからのフィードバックを要求する。結果として得られる修正された人間の挙動は、ロボットと共有されるとき、人間をより首尾良く模倣する挙動にロボットを誘導することができる。
【0038】
現在の状況では、学生コンピューティングシステム104は、教師コンピューティングシステム102にフィードバックを提供することが可能であり、その結果、教師コンピューティングシステム102は、学生コンピューティングシステム104の行動空間において再現可能な行動または挙動とより精密に整合するポリシーを生成し、または一連のステップを実行することができる。
【0039】
図2は、例示的実施形態による、フォワードバックワードDAGGERを示すブロック図である。
【0040】
高レベルで、フォワードバックワードDAGGERは、学生および教師の行動空間が別個であるときに値を提供するように意図される。環境からサンプリングされたあらゆる可能な軌跡に対して、強化学習問題における報酬に類似の報酬が観測され得る。軌跡全体の報酬の和がRを用いて計算され得る。
【0041】
高次元行動空間を有するエキスパートポリシーは、関数近似器を用いて符号化され得る。所与の反復における学生ポリシーは、エキスパートポリシーと、前の反復で学生ポリシーによって観測された学習とを用いて初期化され得る。学生ポリシーは、更新されると、データバッファに集約された新しい軌跡をサンプリングするために使用され得る。このデータバッファの新しい理解は、分類器を用いて近似され得る。いくつかの実施形態では、分類器は、状態行動軌跡のスコアリングモデル/価値関数を表し得る。
【0042】
エキスパートポリシー分布のガウシアンが、エキスパートポリシーネットワークの次のバージョンとして使用され得る。このステップは、学生を助け得る探査態様として作用し得る。このサイクルは、初期エキスパートポリシーにより近い学生が、より高い報酬も確保しながら、より低次元の行動空間を用いて良好に機能し得る最良の候補として選択されるまで、反復され得る。
【0043】
毎回の反復でエキスパートポリシーによって提供される誘導は、ニューラルネットワーク上のドロップアウト関数として実装されたガウス分布を使用し得る。ガウス分布は、エキスパートポリシーの探査を引き起こし得る任意の他の関数と置換され得る。
【0044】
いくつかの実施形態では、フォワードバックワードDAGGERは、4つの異なるニューラルネットワークπ
*
1、π
*
i、π
i、および
【数1】
を含む単一のグラフとして実装され得る。
【0045】
初期エキスパートポリシーネットワークπ*
1は、人間から初期エキスパート軌跡データを収集し、その初期エキスパート軌跡データを初期エキスパートポリシーネットワークπ*
1に符号化することによって生成され得る。例えば、いくつかの実施形態では、センサ110が、目標プロセスを実行する人間から初期エキスパート軌跡データを捕捉し得る。教師コンピューティングシステム102は、初期エキスパート軌跡データを学生コンピューティングシステム104に提供し得る。いくつかの実施形態では、センサ110は、初期エキスパート軌跡データを教師コンピューティングシステム102に提供するのではなく、センサ110は、初期エキスパート軌跡データを直接に学生コンピューティングシステム104に提供し得る。初期エキスパートポリシーネットワークπ*
1は、学生コンピューティングシステム104に関連づけられたメモリに記憶され得る。例えば、より容易でより高速な重み転送を促進するため、初期エキスパートポリシーネットワークπ*
1の重みはメモリに保持され得る。いくつかの実施形態では、エキスパートポリシーによるエキスパート軌跡の再現性は、フォワードバックワードDAGGERにおける適用前に検証され得る。
【0046】
現在のエキスパートポリシーπ*
iは、初期エキスパートポリシーπ*
1を用いて初期化され得る。任意の所与の反復において、現在のエキスパートポリシーπ*
iは、現在のエキスパートポリシーπ*
iの前の反復と、初期エキスパートポリシーπ*
1との両方からの重み情報を共有するように発展し得る。このような手法は、人間の教師によって規定される初期エキスパートポリシーπ*
1の周りに依然として回転しながら、現在のエキスパートポリシーによって行われる探査の集団的な理解を提供し得る。追加的に、現在のエキスパートポリシーπ*
iは、学生がその低次元行動空間における環境を学習することを助けている探査的軌跡の主要なジェネレータであり得る。
【0047】
現在のポリシーπ
iは、学生ポリシーを表し得る。例えば、現在のポリシーπ
iは、環境と適合し相互作用するために制御システム118によって使用され得る。いくつかの実施形態では、現在のポリシーπ
iは、探査的な現在のエキスパートポリシーπ
*
iと、汎化した現在のポリシー
【数2】
とから情報を継承し得る。現在のポリシーπ
iは、環境をサンプリングし、データ集約プロセスに関与するように設計され得る。しかし、現在のポリシーπ
iは、いかなる人間またはエキスパートのラベルも生成しないため、フォワードバックワードDAGGERアルゴリズムの自動化を容易にする。
【0048】
汎化した現在のポリシー
【数3】
は、集約されたデータセット上に汎化した実際の学習者を表し得る。検証後に最も良く機能するネットワークは、その低次元状態において良好に機能する学生として返される。
【0049】
図3は、例示的実施形態による、フォワードバックワードデータDAGGERの図式300を示すブロック図である。
図4は、例示的実施形態による、プロセスを実行するように制御システム118をトレーニングする方法400を示す流れ図である。
【0050】
動作時に、教師および学生は別個の行動空間を有すると一般的に仮定される。この説明の目的のため、教師ポリシーはπ
*として表されることが可能であり、学生ポリシーは
【数4】
として表されることが可能である。したがって、教師の行動空間はA(π
*)として表されることが可能であり、学生の行動空間は
【数5】
として表されることが可能である。所与のポリシーを検証するため、報酬和関数Rが使用され得る。入力として、報酬和関数Rは、そのポリシーによって引き起こされる軌跡のデータセットを受信することが可能であり、出力として、報酬和関数Rは、入力軌跡に生じた実数の報酬和であることが可能である。所与のポリシー設定において、アドミニストレータまたはオペレータは、事前に、最小および最大の可能な報酬和R
minおよびR
maxを知り得る。
【0051】
プロセスは、ステップ402で、初期教師ポリシーπ
*から開始し得る。初期教師ポリシーは、2つの混合パラメータα,
【数6】
を含み得る。αパラメータは、現在の教師ポリシーπ
*
iおよび現在の学生ポリシー
【数7】
が現在の混成ポリシーπ
iにどのように組み合わされるかを制御し得る。αパラメータは、指数関数的減衰関数β
i=α
i-1の底として使用されることが可能であり、これは、ある反復から次の反復への、学生ポリシー
【数8】
に対する混成ポリシーπ
iにおける教師ポリシーπ
*
iの急減少する重要度を指定し得る。γパラメータは、それぞれの初期教師ポリシーπ
*
1および現在の教師ポリシーπ
*
iが次の教師ポリシーπ
*
i+1にどのように組み合わされ得るかを線形制御し得る。
【0052】
ステップ404で、制御システム118は、軌跡データセットDを空に初期化し得る。制御システム118は、初期教師ポリシーπ
*
1および初期学生ポリシー
【数9】
を学生ポリシーのセット
【数10】
から設定し得る。
【0053】
ステップ406で、制御システム118は、初期教師ポリシーπ*によって伝達されたように、タスクをどのように実行するかを学習し得る。例えば、制御システム118は、iでインデックスづけされた以下のことにわたってN回反復することが可能であり、ただし、iは初期値が1であり得る。ステップ406は、ステップ408~422を含み得る。
【0054】
ステップ408で、制御システム118は、現在の指数関数的混合係数β
i、ただしβ
i=α
i-1、を計算し得る。ステップ410で、制御システム118は続いて、現在の教師ポリシーβ
iπ
*
iおよび現在の学生ポリシー
【数11】
の指数関数的加重混合から、現在の混成教師-学生ポリシーπ
iを生成し得る。
【0055】
ステップ412で、制御システム118は、現在の混成ポリシーによって引き起こされるTステップ軌跡のセット
【数12】
を生成し得る。ステップ414で、制御システム118は、現在の混成ポリシーにおける状態
【数13】
から、状態-行動対の現在の軌跡データセットD
iを生成し得る。ステップ416で、制御システム118は、集約軌跡データセットDに現在の軌跡データセットD
iを追加し得る。
【0056】
ステップ418で、制御システム118は、D上でトレーニングされた分類器から次の学生ポリシー
【数14】
を生成し得る。
【数15】
を、D
iに基づく正規化された報酬和とすると、これは、現在の混成ポリシーπ
iが教師の元のポリシーπ
*
1をどのくらいうまく模倣したかを表す確率として扱われ得る。φを、ρ→R
minで良好に振る舞うように1→0に滑らかに減少する
【数16】
のシグモイド関数とする。
【0057】
ステップ420で、制御システム118は、初期教師ポリシーγπ
*
1と、現在の教師ポリシー(1-γ)π
*
iとの線形加重混合から、現在の混成元教師-現教師ポリシー
【数17】
を生成し得る。この定式化は、教師ポリシーの発展において元の教師ポリシーの持続性を指定することを可能にし得る。
【0058】
ステップ422で、制御システム118は、上記のρおよびφとして定量化され、ガウシアンサンプリングされた乗数N(1,φ)によって特徴づけられる、現在の混成教師-学生ポリシーπ
iがどのくらい良好に機能したかに基づいて、現在の混成元教師-現教師ポリシー
【数18】
の周りの空間からランダムに選択することによって、次の教師ポリシーπ
*
i+1を生成し得る。いくつかの実施形態では、ガウシアンサンプリングされた乗数は、教師ポリシーに注入されるノイズの追加を表し得る。例えば、毎回の反復iにおいて、教師ポリシーπ
*
iにはガウシアンノイズが注入され得る。例えば、
【数19】
を用いたデータサンプリングが、不安定性に関連する問題を克服するために期待される。教師に注入されるガウシアンノイズは、データ集約が
【数20】
を用いて行われ得るため、学生ポリシーに探査的な効果を生じることが期待され得る。これらの探査的効果は、その固有の行動空間次元によって制約される学生ポリシーに、
【数21】
の低い状態を訪れさせることが期待され得る。
【0059】
1からNまでのiに対する反復が完了すると、ステップ424で、制御システム118は、軌跡データセットD
i*が最大報酬和R(D
i*)を与えるインデックス値i
*を計算し得る。ステップ426で、制御システム118は、インデックスがi
*である教師および学生ポリシー
【数22】
を返し得る。
【0060】
図5は、例示的実施形態による、教師および学生の行動空間を示すブロック
図500である。図示のように、ブロック
図500は、高次元行動空間A(π
*)502と、低次元行動空間
【数23】
504と、状態空間S506とを含み得る。従来の模倣学習シナリオでは、エキスパートポリシーは、教師π
*および学生
【数24】
の両方に対して等価である所与の行動空間Aにおいて模倣される。これと比較して、
図5に示されるような現在の手法では、高次元行動の模倣は、低次元行動空間に対するポリシーを学習するために使用され得る。状態空間Sと高次元行動空間A(π
*)との間の既知のマッピングを用いて、低次元行動空間
【数25】
の探査を誘導して良好なポリシーを見つけるために、フィードバックが使用され得る。
【0061】
図6は、例示的実施形態による、模倣学習プロセス600を示す流れ図である。
【0062】
図示のように、ステップ602で、学生および教師ポリシーが開始状態に対して初期化され得る。いくつかの実施形態では、学生および教師ポリシーは、別個の行動空間上で動作すると仮定される。
【0063】
ステップ604で、学生は、設定された回数だけ学生の環境上で反復し得る。各反復に対して、学生は後のために状態-行動報酬の組を集め得る。
【0064】
ステップ606で、学生ポリシーは、最大報酬上で最適化され得る。
【0065】
ステップ608で、環境に対して学生および教師の両方について軌跡が生成される。
【0066】
ステップ610で、教師と比較して学生からの誤った行動に従う軌跡のすべての行動について、学生ポリシーの重みは、教師軌跡からの偏差を最小化するように最適化され得る。
【0067】
ステップ612で、システムは、次の教師ポリシーを反復し得る。このような反復は、最良または最適な教師-学生ポリシーが返されるまで継続し得る。
【0068】
図7Aは、例示的実施形態による、コンピューティングシステム700のシステムバスアーキテクチャを示す。システム700は、学生コンピューティングシステム104の少なくとも一部を表し得る。システム700の1つまたは複数のコンポーネントは、バス705を用いて互いに電気通信し得る。システム700は、処理ユニット(CPUまたはプロセッサ)710と、読み出し専用メモリ(ROM)720およびランダムアクセスメモリ(RAM)725などのシステムメモリ715を含むさまざまなシステムコンポーネントをプロセッサ710に結合するシステムバス705とを含み得る。システム700は、プロセッサ710に直接接続された、プロセッサ710に近接した、またはプロセッサ710の一部として統合された高速メモリのキャッシュを含み得る。システム700は、プロセッサ710による迅速なアクセスのためにメモリ715および/またはストレージデバイス730からキャッシュ712にデータをコピーし得る。このようにして、キャッシュ712は、データを待機する間のプロセッサ710の遅延を回避するパフォーマンス増強を提供し得る。これらおよび他のモジュールは、さまざまな行動を実行するためにプロセッサ710を制御し、または制御するように構成され得る。他のシステムメモリ715が同様に使用のために利用可能であり得る。メモリ715は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを含み得る。プロセッサ710は、任意の汎用プロセッサと、ストレージデバイス730に記憶され、プロセッサ710を制御するように構成された、サービス1 732、サービス2 734、およびサービス3 736などのハードウェアモジュールまたはソフトウェアモジュールと、ソフトウェア命令が実際のプロセッサ設計に組み込まれた専用プロセッサとを含み得る。プロセッサ710は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称型または非対称型であり得る。
【0069】
コンピューティングシステム700とのユーザインタラクションを可能にするため、入力デバイス745は、音声のためのマイクロフォン、ジェスチャまたはグラフィカル入力のためのタッチセンシティブスクリーン、キーボード、マウス、モーション入力、音声などのような任意個数の入力メカニズムを表し得る。出力デバイス735(例えば、ディスプレイ)もまた、当業者に既知のいくつかの出力メカニズムのうちの1つまたは複数であり得る。いくつかの事例では、マルチモーダルシステムは、コンピューティングシステム700と通信するためにユーザが複数のタイプの入力を提供することを可能にし得る。通信インタフェース740は、ユーザ入力およびシステム出力を一般的に統制および管理し得る。任意の特定のハードウェア構成上の動作に制限はないため、ここでの基本的特徴は、改良されたハードウェアまたはファームウェア構成が開発されるのに応じて容易に置換され得る。
【0070】
ストレージデバイス730は、不揮発性メモリであることが可能であり、ハードディスク、または、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)725、読み出し専用メモリ(ROM)720、およびそれらの混成などの、コンピュータによってアクセス可能なデータを記憶し得る他のタイプのコンピュータ可読媒体であり得る。
【0071】
ストレージデバイス730は、プロセッサ710を制御するためのサービス732、734、および736を含み得る。他のハードウェアまたはソフトウェアモジュールが考えられる。ストレージデバイス730は、システムバス705に接続され得る。一態様では、特定の機能を実行するハードウェアモジュールが、その機能を実行するためのプロセッサ710、バス705、出力デバイス735などのような必要なハードウェアコンポーネントと接続されたコンピュータ可読媒体に記憶されたソフトウェアコンポーネントを含み得る。
【0072】
図7Bは、学生コンピューティングシステム104の少なくとも一部を表し得るチップセットアーキテクチャを有するコンピュータシステム750を示す。コンピュータシステム750は、開示される技術を実装するために使用され得るコンピュータハードウェア、ソフトウェア、およびファームウェアの一例であり得る。システム750は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実施することが可能な、任意個数の物理的および/または論理的に別個のリソースを表すプロセッサ755を含み得る。プロセッサ755は、プロセッサ755への入力およびプロセッサ755からの出力を制御し得るチップセット760と通信し得る。この例では、チップセット760は、ディスプレイなどの出力765に情報を出力し、例えば磁気媒体、および固体媒体を含み得るストレージデバイス770に情報を読み書きし得る。チップセット760はまた、RAM775からデータを読み出し、RAM775にデータを書き込み得る。さまざまなユーザインタフェースコンポーネント785とインタフェースするためのブリッジ780が、チップセット760とインタフェースするために提供され得る。このようなユーザインタフェースコンポーネント785は、キーボード、マイクロフォン、タッチ検出および処理回路、マウスなどのポインティングデバイス、などを含み得る。一般的に、システム750への入力は、機械生成および/または人間生成のさまざまなソースのうちのいずれかに由来し得る。
【0073】
チップセット760はまた、異なる物理インタフェースを有し得る1つまたは複数の通信インタフェース790とインタフェースし得る。このような通信インタフェースは、有線および無線ローカルエリアネットワーク、ブロードバンド無線ネットワーク、およびパーソナルエリアネットワークのためのインタフェースを含み得る。本明細書に開示されるGUIを生成、表示、および使用するための方法のいくつかのアプリケーションは、物理インタフェースを通じて、順序づけられたデータセットを受信することを含むことが可能であり、またはストレージデバイス770もしくはRAM775に記憶されたデータを解析するプロセッサ755によってマシン自体によって生成され得る。また、マシンは、ユーザインタフェースコンポーネント785を通じてユーザから入力を受信し、プロセッサ755を用いてこれらの入力を解釈することによってブラウジング機能などの適切な機能を実行し得る。
【0074】
例示的なシステム700および750は、複数のプロセッサ710を有することが可能であり、または、より高い処理能力を提供するために一緒にネットワーク接続されたコンピューティングデバイスのグループもしくはクラスタの一部であることが可能であることが理解され得る。
【0075】
上記は本明細書に記載された実施形態に向けられているが、その基本的範囲から逸脱することなく、他の、およびさらなる実施形態が考案され得る。例えば、本開示の態様は、ハードウェアもしくはソフトウェアまたはハードウェアおよびソフトウェアの組合せにおいて実装され得る。本明細書に記載される一実施形態は、コンピュータシステムとともに使用するためのプログラム製品として実装され得る。プログラム製品のプログラムは、(本明細書に記載される方法を含む)実施形態の機能を規定し、さまざまなコンピュータ可読記憶媒体上に含まれ得る。例示的なコンピュータ可読記憶媒体は、以下のものに限定されないが、(i)情報が永続的に記憶された書き込み不可能な記憶媒体(例えば、CD-ROMドライブによって読み出し可能なCD-ROMディスク、フラッシュメモリ、ROMチップ、または任意のタイプの固体不揮発性メモリなどの、コンピュータ内の読み出し専用メモリ(ROM)デバイス)、および(ii)変更可能な情報が記憶された書き込み可能な記憶媒体(例えば、ディスケットドライブ内のフロッピーディスクもしくはハードディスクドライブまたは任意のタイプの固体ランダムアクセスメモリ)、を含む。このようなコンピュータ可読記憶媒体は、開示される実施形態の機能を指令するコンピュータ可読命令を伝達するとき、本開示の実施形態となる。
【0076】
当業者には理解されるように、上記の例は例示であって限定的ではない。それに対するすべての置換例、拡張例、均等例、および改良例は、本明細書を読み、図面を検討した当業者には明らかであり、本開示の真の思想および範囲内に含まれることが意図される。したがって、以下に添付される特許請求の範囲は、これらの教示の真の思想および範囲内に入るものとして、すべてのそのような修正例、置換例、および均等例を含むことが意図される。
【国際調査報告】