IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディープマインド テクノロジーズ リミテッドの特許一覧

特表2024-540848マルチモーダル入力を使用するインタラクティブエージェントの制御
<>
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図1
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図2
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図3
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図4
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図5
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図6
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図7
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図8A
  • 特表-マルチモーダル入力を使用するインタラクティブエージェントの制御 図8B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】マルチモーダル入力を使用するインタラクティブエージェントの制御
(51)【国際特許分類】
   G06N 3/045 20230101AFI20241029BHJP
   G06N 3/044 20230101ALI20241029BHJP
【FI】
G06N3/045
G06N3/044
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024521004
(86)(22)【出願日】2022-12-07
(85)【翻訳文提出日】2024-04-18
(86)【国際出願番号】 EP2022084780
(87)【国際公開番号】W WO2023104880
(87)【国際公開日】2023-06-15
(31)【優先権主張番号】63/286,999
(32)【優先日】2021-12-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョシュア・サイモン・アブラムソン
(72)【発明者】
【氏名】アルン・アフジャ
(72)【発明者】
【氏名】フェデリコ・ハビエル・カルネバーレ
(72)【発明者】
【氏名】ペトコ・イワノフ・ゲオルギエフ
(72)【発明者】
【氏名】チア-チュン・ハン
(72)【発明者】
【氏名】ティモシー・ポール・リリクラップ
(72)【発明者】
【氏名】アリステア・マイケル・マルダル
(72)【発明者】
【氏名】アダム・アンソニー・サントロ
(72)【発明者】
【氏名】タマラ・ルイーズ・フォン・グレン
(72)【発明者】
【氏名】ジェシカ・ペイジ・ランドン
(72)【発明者】
【氏名】グレゴリー・ダンカン・ウェイン
(72)【発明者】
【氏名】チェン・ヤン
(72)【発明者】
【氏名】ルイ・ジュ
(57)【要約】
エージェントを制御するための、コンピュータ記憶媒体上で符号化されたコンピュータプログラムを含む、方法、システム、および装置。詳細には、観測画像と自然言語テキスト系列の両方を含むマルチモーダル入力に基づいてインタラクティブエージェントが制御され得る。
【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータによって実行される、環境と相互作用するエージェントを制御するための方法であって、複数の時間ステップの各々において、
前記時間ステップにおける前記環境の状態を特徴づける観測画像を受信するステップと、
前記時間ステップにおいて前記環境の中で前記エージェントによって実行されているタスクを特徴づける、前記時間ステップに対する自然言語テキスト系列を受信するステップと、
前記観測画像を表す複数の画像埋め込みを生成するために、画像埋め込みニューラルネットワークを使用して前記観測画像を処理するステップと、
前記自然言語テキスト系列を表す複数のテキスト埋め込みを生成するために、テキスト埋め込みニューラルネットワークを使用して前記自然言語テキスト系列を処理するステップと、
集約型埋め込みを生成するために、マルチモーダルトランスフォーマニューラルネットワークを使用して前記画像埋め込みおよび前記テキスト埋め込みを備える入力を処理するステップであって、前記マルチモーダルトランスフォーマニューラルネットワークが、(i)少なくとも前記複数のテキスト埋め込みに対するそれぞれの更新済みの埋め込みを生成するために少なくとも前記テキスト埋め込みおよび前記画像埋め込みにわたってセルフアテンションを適用し、(ii)前記テキスト埋め込みに対する少なくとも前記それぞれの更新済みの埋め込みから前記集約型埋め込みを生成するように構成される、ステップと、
前記観測画像に応答して前記エージェントによって実行されるべき1つまたは複数のアクションを、前記集約型埋め込みを使用して選択するステップと、
前記1つまたは複数の選択されたアクションを前記エージェントに実行させるステップと
を備える、方法。
【請求項2】
前記マルチモーダルトランスフォーマニューラルネットワークが、1つまたは複数のセルフアテンションヘッドを各々が有する1つまたは複数のセルフアテンション層を備え、セルフアテンションを適用するステップが、前記1つまたは複数のセルフアテンション層を通じて前記入力を処理するステップを備える、請求項1に記載の方法。
【請求項3】
前記マルチモーダルトランスフォーマニューラルネットワークへの前記入力が、前記画像埋め込み、前記テキスト埋め込み、および1つまたは複数の専用埋め込みを備える、請求項2に記載の方法。
【請求項4】
セルフアテンションを適用するステップが、前記画像埋め込みを更新することなく前記テキスト埋め込みおよび前記専用埋め込みに対するそれぞれの更新済みの埋め込みを生成するステップを備える、請求項3に記載の方法。
【請求項5】
各セルフアテンション層の各セルフアテンションヘッドが、
(i)前記画像埋め込みニューラルネットワークによって生成される前記画像埋め込み、ならびに(ii)前記テキスト埋め込みおよび前記専用埋め込みに対するそれぞれの現在の埋め込みを備える、ヘッド入力を受信することと、
各テキスト埋め込みおよび各専用埋め込みに対応するそれぞれのクエリを前記それぞれの現在の埋め込みから生成することと、
各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのキーを、前記画像埋め込みおよび前記それぞれの現在の埋め込みから生成することと、
各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのバリューを、前記画像埋め込みおよび前記それぞれの現在の埋め込みから生成することと、
前記画像埋め込みを更新することなく各テキスト埋め込みおよび各専用埋め込みに対するそれぞれの初期更新済み埋め込みを生成するために、前記それぞれのクエリ、キー、およびバリューにわたってクエリキーバリューアテンションを適用することと
をするように構成される、請求項3または4に記載の方法。
【請求項6】
前記集約型埋め込みを生成するステップが、
初期集約型埋め込みを生成するために前記テキスト埋め込みおよび前記専用埋め込みに対する前記それぞれの更新済みの埋め込みを集約するステップと、
前記集約型埋め込みを生成するために前記専用埋め込みに対する前記それぞれの更新済みの埋め込みを前記初期集約型埋め込みと結合するステップと
を備える、請求項3から5のいずれか一項に記載の方法。
【請求項7】
前記結合するステップが、各専用埋め込みおよび前記初期集約型埋め込みに対する各それぞれの更新済みの埋め込みを連結するステップを備える、請求項6に記載の方法。
【請求項8】
前記観測画像に応答して前記エージェントによって実行されるべき1つまたは複数のアクションを、前記集約型埋め込みを使用して選択するステップが、
前記集約型埋め込みから状態表現を生成するステップと、
前記状態表現を使用して前記1つまたは複数のアクションを選択するステップと
を備える、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記状態表現を生成するステップが、メモリニューラルネットワークを使用して前記集約型埋め込みを処理するステップを備える、請求項8に記載の方法。
【請求項10】
前記メモリニューラルネットワークがリカレントニューラルネットワークである、請求項9に記載の方法。
【請求項11】
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記状態表現を処理するステップ
をさらに備える、請求項8から10のいずれか一項に記載の方法。
【請求項12】
前記自然言語テキスト系列が、前記環境の中の別のエージェントからの言語化された発話を転記することによって生成され、前記方法が、
前記時間ステップに対する前記出力テキスト系列を表す音声を生成するステップと、
前記生成された音声を前記エージェントに言語化させるステップと
をさらに備える、請求項11に記載の方法。
【請求項13】
前記時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記時間ステップに対する前記状態表現を処理するステップが、
前記時間ステップにおいてテキストが生成されるべきであることを前記表示が示すときのみ、前記出力テキスト系列を生成するステップ
を備える、請求項11または12のいずれか一項に記載の方法。
【請求項14】
前記状態表現を使用して前記1つまたは複数のアクションを選択するステップが、
画像観測に応答して実行されるべき単一のアクションを選択するために、アクションポリシーニューラルネットワークを使用して前記状態表現を処理するステップを備える、請求項8から13のいずれか一項に記載の方法。
【請求項15】
前記状態表現を使用して前記1つまたは複数のアクションを選択するステップが、
画像観測に応答して実行されるべき複数のアクションの系列を選択するために前記状態表現を処理するステップを備え、前記系列が、複数の位置の各々におけるそれぞれのアクションを備える、請求項8から14のいずれか一項に記載の方法。
【請求項16】
前記状態表現を処理するステップが、
前記系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して前記状態表現を処理するステップと、
位置ごとに、前記系列の中の前記位置において前記エージェントによって実行されるべき前記アクションを選択するために、ポリシーニューラルネットワークを使用して前記位置に対する前記それぞれの低レベル入力を処理するステップと
を備える、請求項15に記載の方法。
【請求項17】
前記高レベルコントローラニューラルネットワークが、前記状態表現を入力として受信した後、前記系列の中の位置ごとに前記それぞれの低レベル入力を自己回帰的に生成する、請求項16に記載の方法。
【請求項18】
前記高レベルコントローラニューラルネットワークがリカレントニューラルネットワークである、請求項17に記載の方法。
【請求項19】
前記時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
前記1つまたは複数のアクションを前記エージェントに実行させるステップが、
前記時間ステップにおいてアクションが実行されるべきであることを前記表示が示すときのみ、前記アクションを前記エージェントに実行させるステップ
を備える、請求項8から18のいずれか一項に記載の方法。
【請求項20】
前記自然言語テキスト系列が、前記環境の中の別のエージェントからの言語化された発話を転記することによって生成される、請求項1から19のいずれか一項に記載の方法。
【請求項21】
1つまたは複数のコンピュータによって実行される、環境と相互作用するエージェントを制御するための方法であって、複数の時間ステップの各々において、
前記時間ステップにおける前記環境の状態を特徴づける、前記時間ステップに対する観測画像を受信するステップと、
前記時間ステップにおいて前記環境の中で前記エージェントによって実行されているタスクを特徴づける、前記時間ステップに対する自然言語テキスト系列を受信するステップと、
前記時間ステップに対する状態表現を生成するために前記観測画像および前記自然言語テキスト系列を処理するステップと、
前記時間ステップにおいて前記観測画像に応答して前記エージェントによって実行されるべき複数のアクションの系列を生成するステップであって、前記系列が、複数の位置の各々において前記エージェントによって実行されるべきそれぞれのアクションを備え、前記生成するステップが、
前記系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して前記状態表現を処理するステップ、および
位置ごとに、前記系列の中の前記位置において前記エージェントによって実行されるべき前記アクションを生成するために、アクションポリシーニューラルネットワークを使用して前記位置に対する前記それぞれの低レベル入力を処理するステップを備える、ステップと、
アクションの前記系列を前記エージェントに実行させるステップと
を備える、方法。
【請求項22】
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記時間ステップに対する前記状態表現を処理するステップ
をさらに備える、請求項21に記載の方法。
【請求項23】
前記自然言語テキスト系列が、前記環境の中の別のエージェントからの言語化された発話を転記することによって生成され、前記方法が、
前記時間ステップに対する前記出力テキスト系列を表す音声を生成するステップと、
前記生成された音声を前記エージェントに言語化させるステップと
をさらに備える、請求項22に記載の方法。
【請求項24】
前記時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記時間ステップに対する前記状態表現を処理するステップが、
前記時間ステップにおいてテキストが生成されるべきであることを前記表示が示すときのみ、前記出力テキスト系列を生成するステップ
を備える、請求項22または23のいずれか一項に記載の方法。
【請求項25】
前記時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
アクションの前記系列を前記エージェントに実行させるステップが、
前記時間ステップにおいてアクションが実行されるべきであることを前記表示が示すときのみ、アクションの前記系列を前記エージェントに実行させるステップ
を備える、請求項21から24のいずれか一項に記載の方法。
【請求項26】
前記高レベルコントローラニューラルネットワークが、前記状態表現を入力として受信した後、前記系列の中の位置ごとに前記それぞれの低レベル入力を自己回帰的に生成する、請求項21から25のいずれか一項に記載の方法。
【請求項27】
前記アクションポリシーニューラルネットワークが、複数のサブアクションの各々のためのそれぞれのサブネットワークを備え、前記系列の中の前記位置において前記エージェントによって実行されるべき前記アクションを生成するために、アクションポリシーニューラルネットワークを使用して前記位置に対する前記それぞれの低レベル入力を処理するステップが、
前記複数のサブアクションの各々に対して、前記位置に対する前記サブアクションに対するバリューを選択するために、前記サブアクションのための前記サブネットワークを使用して前記位置に対する前記それぞれの低レベル入力を備える入力を処理するステップ
を備える、請求項21から26のいずれか一項に記載の方法。
【請求項28】
前記サブアクションのうちの少なくとも1つに対して、前記入力が、前記位置における他のサブアクションのうちの1つまたは複数に対して選択された前記バリューを備える、請求項27に記載の方法。
【請求項29】
時間ステップにおける環境の状態を特徴づける観測画像、および前記環境を特徴づける自然言語テキスト系列を入力として受信し、かつ前記時間ステップに対する符号化表現を出力として生成するように構成される、知覚エンコーダニューラルネットワークを訓練する方法であって、
複数の訓練ペアを取得するステップであって、前記複数の訓練ペアが、
(i)同じ時間ステップに両方が対応する観測画像および自然言語テキスト系列を備える第1のペア、ならびに
(ii)異なる時間ステップに対応する観測画像および自然言語テキスト系列を各々が備える1つまたは複数の第2のペアを備える、ステップと、
訓練ペアごとにそれぞれの符号化表現を生成するために、前記知覚エンコーダニューラルネットワークを使用して各訓練ペアを処理するステップと、
前記符号化表現がそこから生成された前記ペアの中の前記観測画像および前記自然言語テキスト系列が同じ時間ステップに対応する可能性を表すそれぞれの弁別器スコアを訓練ペアごとに生成するために、前記それぞれの符号化表現を処理するように構成される弁別器ニューラルネットワークを使用して、訓練ペアごとに前記それぞれの符号化表現を処理するステップと、
訓練ペアごとに前記それぞれの弁別器スコアに基づく対照学習損失を使用して前記知覚エンコーダニューラルネットワークを訓練するステップと
を備える、方法。
【請求項30】
前記知覚エンコーダニューラルネットワークが、請求項1から28のいずれか一項に記載のテキスト埋め込みニューラルネットワーク、画像埋め込みニューラルネットワーク、およびマルチモーダルトランスフォーマニューラルネットワークを含み、前記符号化表現が、前記マルチモーダルトランスフォーマニューラルネットワークによって生成される前記集約型埋め込みである、請求項29に記載の方法。
【請求項31】
前記対照学習損失が、前記第2のペアがより小さくなるように前記それぞれの弁別器スコアを促しながら、前記第1のペアがより大きくなるように前記それぞれの弁別器スコアを促す、請求項29または30に記載の方法。
【請求項32】
前記弁別器ニューラルネットワークが、対応する前記訓練ペアに対する前記それぞれの弁別器スコアを生成するために各符号化表現を独立して処理するフィードフォワードニューラルネットワークである、請求項29から31のいずれか一項に記載の方法。
【請求項33】
アクション系列の中の1つまたは複数の位置の各々に対するアクションのセットにわたるそれぞれの確率分布を、第1の訓練ペアに対する前記符号化表現から、少なくともポリシーニューラルネットワークを使用して生成するステップと、
前記1つまたは複数の位置の各々においてエキスパートエージェントによって実行されるそれぞれのグラウンドトゥルースアクションを指定するデータを取得するステップと、
前記位置に対する前記確率分布によって前記位置における前記グラウンドトゥルースアクションに割り当てられる確率を、前記アクション系列の中の位置ごとに測定する挙動クローニング損失に基づいて、少なくとも前記ポリシーニューラルネットワークおよび前記知覚エンコーダニューラルネットワークを訓練するステップと
をさらに備える、請求項29から32のいずれか一項に記載の方法。
【請求項34】
第1の訓練ペアに対して、前記第1の訓練ペアに対する前記それぞれの弁別器スコアと、前記ペアの中の前記観測画像およびテキスト系列が同じ時間ステップに対応することを示す第1のスコアとの間の誤差、ならびに各第2の訓練ペアに対して、前記第2の訓練ペアに対する前記それぞれの弁別器スコアと、前記ペアの中の前記観測画像および前記テキスト系列が同じ時間ステップに対応しないことを示す第2のスコアとの間の誤差を測定する目的関数に対して、前記弁別器ニューラルネットワークを訓練するステップ
をさらに備える、請求項29から33のいずれか一項に記載の方法。
【請求項35】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されたとき、請求項1から34のいずれか一項に記載のそれぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる命令を記憶する1つまたは複数の記憶デバイスとを備える、システム。
【請求項36】
1つまたは複数のコンピュータによって実行されたとき、請求項1から34のいずれか一項に記載のそれぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる命令を記憶する、1つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年12月7日に出願された米国仮出願第63/286,999号の優先権を主張し、その開示は本出願の中にその全体が組み込まれる。
【0002】
本明細書は、機械学習モデルを使用するエージェントの制御に関する。
【背景技術】
【0003】
機械学習モデルは入力を受信し、受信された入力に基づいて出力、たとえば、予測される出力を生成する。いくつかの機械学習モデルはパラメトリックモデルであり、受信された入力およびモデルのパラメータの値に基づいて出力を生成する。
【0004】
いくつかの機械学習モデルは、受信された入力に対する出力を生成するために複数の層のモデルを採用する深層モデルである。たとえば、ディープニューラルネットワークは、出力層、および受信された入力に各々が非線形変換を適用して出力を生成するための1つまたは複数の隠れ層を含む、深層機械学習モデルである。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書は、概して、エージェントによって実行されるべきアクションを選択し、次いで、そのアクションをエージェントに実行させることによって、環境の中で相互作用しているインタラクティブエージェントを制御する、1つまたは複数のロケーションにおいて1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムを説明する。
【0006】
エージェントが、環境と相互作用することの一部として環境の中の1つまたは複数の他のエージェントと相互作用するので、エージェントは「インタラクティブ」エージェントと呼ばれる。1つまたは複数の他のエージェントは、人間、異なるコンピュータシステムによって制御される他のエージェント、またはその両方を含むことができる。インタラクティブエージェントは、他のエージェントによって生成された通信を受信すること、および随意に、他のエージェントに通信されるテキストを生成することによって、他のエージェントと相互作用する。
【0007】
詳細には、他のエージェントとの相互作用は、任意の所与の時間において環境の中でエージェントがどんなタスクを実行中であるべきかについての情報を、インタラクティブエージェントに提供する。
【0008】
一態様では、環境と相互作用するエージェントを制御するための方法は、複数の時間ステップの各々において、時間ステップにおける環境の状態を特徴づける観測画像を受信することと、時間ステップにおいて環境の中でエージェントによって実行されているタスクを特徴づける、時間ステップに対する自然言語テキスト系列を受信するステップと、観測画像を表す複数の画像埋め込みを生成するために、画像埋め込みニューラルネットワークを使用して観測画像を処理するステップと、自然言語テキスト系列を表す複数のテキスト埋め込みを生成するために、テキスト埋め込みニューラルネットワークを使用して自然言語テキスト系列を処理するステップと、集約型埋め込みを生成するために、マルチモーダルトランスフォーマニューラルネットワークを使用して画像埋め込みおよびテキスト埋め込みを備える入力を処理するステップであって、マルチモーダルトランスフォーマニューラルネットワークが、(i)少なくとも複数のテキスト埋め込みに対するそれぞれの更新済みの埋め込みを生成するために少なくともテキスト埋め込みおよび画像埋め込みにわたってセルフアテンションを適用し、(ii)テキスト埋め込みに対する少なくともそれぞれの更新済みの埋め込みから集約型埋め込みを生成するように構成される、ステップと、観測画像に応答してエージェントによって実行されるべき1つまたは複数のアクションを、集約型埋め込みを使用して選択するステップと、1つまたは複数の選択されたアクションをエージェントに実行させるステップとを備える。したがって、様々な画像およびテキスト入力のうちのいずれかが与えられるとエージェントが効果的に制御されることを可能にするために、たとえば、画像入力によって特徴づけられる状態に環境があることを前提として、テキスト入力によって規定されるタスクを実行するために、マルチモーダルトランスフォーマは、画像埋め込みとテキスト埋め込みの両方を効果的に集約する。
【0009】
いくつかの実装形態では、マルチモーダルトランスフォーマニューラルネットワークは、1つまたは複数のセルフアテンションヘッドを各々が有する1つまたは複数のセルフアテンション層を備え、セルフアテンションを適用するステップは、1つまたは複数のセルフアテンション層を通じて入力を処理するステップを備える。
【0010】
いくつかの実装形態では、マルチモーダルトランスフォーマニューラルネットワークへの入力は、画像埋め込み、テキスト埋め込み、および1つまたは複数の専用埋め込みを備える。
【0011】
いくつかの実装形態では、セルフアテンションを適用するステップは、画像埋め込みを更新することなくテキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みを生成するステップを備える。
【0012】
いくつかの実装形態では、各セルフアテンション層の各セルフアテンションヘッドは、(i)画像埋め込みニューラルネットワークによって生成される画像埋め込み、ならびに(ii)テキスト埋め込みおよび専用埋め込みに対するそれぞれの現在の埋め込みを備える、ヘッド入力を受信することと、各テキスト埋め込みおよび各専用埋め込みに対応するそれぞれのクエリをそれぞれの現在の埋め込みから生成することと、各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのキーを、画像埋め込みおよびそれぞれの現在の埋め込みから生成することと、各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのバリューを、画像埋め込みおよびそれぞれの現在の埋め込みから生成することと、画像埋め込みを更新することなく各テキスト埋め込みおよび各専用埋め込みに対するそれぞれの初期更新済み埋め込みを生成するために、それぞれのクエリ、キー、およびバリューにわたってクエリキーバリューアテンションを適用することとをするように構成される。したがって、トランスフォーマは、テキストおよび専用埋め込みを更新するための「コンテキスト」を提供するためだけに画像埋め込みを利用し、それによって、計算量的に効率的なままでありながら、様々な異なるシーンおよび様々な異なるのテキスト命令を正確に特徴づけるための、トランスフォーマの能力を改善する。
【0013】
いくつかの実装形態では、集約型埋め込みを生成するステップは、初期集約型埋め込みを生成するためにテキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みを集約するステップと、集約型埋め込みを生成するために専用埋め込みに対するそれぞれの更新済みの埋め込みを初期集約型埋め込みと結合するステップとを備える。
【0014】
いくつかの実装形態では、結合するステップは、各専用埋め込みおよび初期集約型埋め込みに対する各それぞれの更新済みの埋め込みを連結するステップを備える。
【0015】
いくつかの実装形態では、観測画像に応答してエージェントによって実行されるべき1つまたは複数のアクションを、集約型埋め込みを使用して選択するステップは、集約型埋め込みから状態表現を生成するステップと、状態表現を使用して1つまたは複数のアクションを選択するステップとを備える。
【0016】
いくつかの実装形態では、状態表現を生成するステップは、メモリニューラルネットワークを使用して集約型埋め込みを処理するステップを備える。このことは、状態表現が、前に受信した観測画像および自然言語命令、ならびに現在の時間ステップにおいて受信された観測画像および自然言語命令に対して条件をつけることを可能にする。
【0017】
いくつかの実装形態では、メモリニューラルネットワークはリカレントニューラルネットワークである。
【0018】
いくつかの実装形態では、方法は、時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して状態表現を処理するステップをさらに備える。したがって、システムはまた、たとえば、どのようにタスクが実行されるべきかについての明確化を取得するために、またはタスクの出力についての情報を他のエージェントに提供するために、環境の中の他のエージェントにとって利用可能にされる出力テキストをエージェントに生成させることができる。
【0019】
いくつかの実装形態では、自然言語テキスト系列は、環境の中の別のエージェントからの言語化された発話を転記することによって生成され、方法は、時間ステップに対する出力テキスト系列を表す音声を生成するステップと、生成された音声をエージェントに言語化させるステップとをさらに備える。
【0020】
いくつかの実装形態では、方法は、時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算(no-op)ニューラルネットワークを使用して状態表現を処理するステップをさらに備え、時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して時間ステップに対する状態表現を処理するステップは、時間ステップにおいてテキストが生成されるべきであることを表示が示すときのみ、出力テキスト系列を生成するステップを備える。
【0021】
いくつかの実装形態では、状態表現を使用して1つまたは複数のアクションを選択するステップは、画像観測に応答して実行されるべき単一のアクションを選択するために、アクションポリシーニューラルネットワークを使用して状態表現を処理するステップを備える。
【0022】
いくつかの実装形態では、状態表現を使用して1つまたは複数のアクションを選択するステップは、画像観測に応答して実行されるべき複数のアクションの系列を選択するために状態表現を処理するステップを備え、系列は、複数の位置の各々におけるそれぞれのアクションを備える。
【0023】
いくつかの実装形態では、状態表現を処理するステップは、系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して状態表現を処理するステップと、位置ごとに、系列の中の位置においてエージェントによって実行されるべきアクションを選択するために、ポリシーニューラルネットワークを使用して位置に対するそれぞれの低レベル入力を処理するステップとを備える。
【0024】
いくつかの実装形態では、高レベルコントローラニューラルネットワークは、状態表現を入力として受信した後、系列の中の位置ごとにそれぞれの低レベル入力を自己回帰的に生成する。
【0025】
いくつかの実装形態では、高レベルコントローラニューラルネットワークはリカレントニューラルネットワークである。
【0026】
いくつかの実装形態では、方法は、時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して状態表現を処理するステップをさらに備え、1つまたは複数のアクションをエージェントに実行させるステップは、時間ステップにおいてアクションが実行されるべきであることを表示が示すときのみ、アクションをエージェントに実行させるステップを備える。
【0027】
いくつかの実装形態では、自然言語テキスト系列は、環境の中の別のエージェントからの言語化された発話を転記することによって生成される。
【0028】
別の態様では、環境と相互作用するエージェントを制御するための別の方法は、複数の時間ステップの各々において、時間ステップにおける環境の状態を特徴づける、時間ステップに対する観測画像を受信するステップと、時間ステップにおいて環境の中でエージェントによって実行されているタスクを特徴づける、時間ステップに対する自然言語テキスト系列を受信するステップと、時間ステップに対する状態表現を生成するために観測画像および自然言語テキスト系列を処理するステップと、時間ステップにおいて観測画像に応答してエージェントによって実行されるべき複数のアクションの系列を生成するステップであって、系列が、複数の位置の各々においてエージェントによって実行されるべきそれぞれのアクションを備え、生成するステップが、系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して状態表現を処理するステップ、および位置ごとに、系列の中の位置においてエージェントによって実行されるべきアクションを生成するために、アクションポリシーニューラルネットワークを使用して位置に対するそれぞれの低レベル入力を処理するステップを備える、ステップと、アクションの系列をエージェントに実行させるステップとを備える。したがって、たとえば、各観測画像に応答して複数のアクションが実行されるので、システムは、レイテンシが低減されてエージェントを効果的に制御することができ、システムは、低減された頻度で観測画像をキャプチャすることができ、アクション選択プロセスの階層的な性質に起因して依然としてエージェントを効果的に制御しながら、エージェントを制御するためにより少ない処理イタレーションしか必要とされない。
【0029】
いくつかの実装形態では、方法は、時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して時間ステップに対する状態表現を処理するステップをさらに備える。
【0030】
いくつかの実装形態では、自然言語テキスト系列は、環境の中の別のエージェントからの言語化された発話を転記することによって生成され、方法は、時間ステップに対する出力テキスト系列を表す音声を生成するステップと、生成された音声をエージェントに言語化させるステップとをさらに備える。
【0031】
いくつかの実装形態では、方法は、時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算ニューラルネットワークを使用して状態表現を処理するステップをさらに備え、時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して時間ステップに対する状態表現を処理するステップは、時間ステップにおいてテキストが生成されるべきであることを表示が示すときのみ、出力テキスト系列を生成するステップを備える。
【0032】
いくつかの実装形態では、方法は、時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して状態表現を処理するステップをさらに備え、アクションの系列をエージェントに実行させるステップは、時間ステップにおいてアクションが実行されるべきであることを表示が示すときのみ、アクションの系列をエージェントに実行させるステップを備える。
【0033】
いくつかの実装形態では、高レベルコントローラニューラルネットワークは、状態表現を入力として受信した後、系列の中の位置ごとにそれぞれの低レベル入力を自己回帰的に生成する。
【0034】
いくつかの実装形態では、アクションポリシーニューラルネットワークは、複数のサブアクションの各々のためのそれぞれのサブネットワークを備え、系列の中の位置においてエージェントによって実行されるべきアクションを生成するために、アクションポリシーニューラルネットワークを使用して位置に対するそれぞれの低レベル入力を処理するステップは、複数のサブアクションの各々に対して、位置に対するサブアクションに対するバリューを選択するために、サブアクションのためのサブネットワークを使用して位置に対するそれぞれの低レベル入力を備える入力を処理するステップを備える。
【0035】
いくつかの実装形態では、サブアクションのうちの少なくとも1つに対して、入力は、位置における他のサブアクションのうちの1つまたは複数に対して選択されたバリューを備える。
【0036】
別の態様では、時間ステップにおける環境の状態を特徴づける観測画像、および環境を特徴づける自然言語テキスト系列を入力として受信し、かつ時間ステップに対する符号化表現を出力として生成するように構成される、知覚エンコーダニューラルネットワークを訓練するための方法が説明される。方法は、複数の訓練ペアを取得するステップであって、複数の訓練ペアが、(i)同じ時間ステップに両方が対応する観測画像および自然言語テキスト系列を備える第1のペア、ならびに(ii)異なる時間ステップに対応する観測画像および自然言語テキスト系列を各々が備える1つまたは複数の第2のペアを備える、ステップと、訓練ペアごとにそれぞれの符号化表現を生成するために、知覚エンコーダニューラルネットワークを使用して各訓練ペアを処理するステップと、符号化表現がそこから生成されたペアの中の観測画像および自然言語テキスト系列が同じ時間ステップに対応する可能性を表すそれぞれの弁別器スコアを訓練ペアごとに生成するために、それぞれの符号化表現を処理するように構成される弁別器ニューラルネットワークを使用して、訓練ペアごとにそれぞれの符号化表現を処理するステップと、訓練ペアごとにそれぞれの弁別器スコアに基づく対照学習損失を使用して知覚エンコーダニューラルネットワークを訓練するステップとを備える。
【0037】
いくつかの実装形態では、知覚エンコーダニューラルネットワークは、上記で説明した方法のうちのいずれかのテキスト埋め込みニューラルネットワーク、画像埋め込みニューラルネットワーク、およびマルチモーダルトランスフォーマニューラルネットワークを含み、符号化表現は、マルチモーダルトランスフォーマニューラルネットワークによって生成される集約型埋め込みである。他の実装形態では、知覚エンコーダは、異なるタイプのマルチモーダルニューラルネットワーク、たとえば、畳み込みニューラルネットワークまたはリカレントニューラルネットワークであり得る。
【0038】
いくつかの実装形態では、対照学習損失は、第2のペアがより小さくなるようにそれぞれの弁別器スコアを促しながら、第1のペアがより大きくなるようにそれぞれの弁別器スコアを促す。
【0039】
いくつかの実装形態では、弁別器ニューラルネットワークは、対応する訓練ペアに対するそれぞれの弁別器スコアを生成するために各符号化表現を独立して処理するフィードフォワードニューラルネットワークである。
【0040】
いくつかの実装形態では、方法は、アクション系列の中の1つまたは複数の位置の各々に対するアクションのセットにわたるそれぞれの確率分布を、第1の訓練ペアに対する符号化表現から、少なくともポリシーニューラルネットワークを使用して生成するステップと、1つまたは複数の位置の各々においてエキスパートエージェントによって実行されるそれぞれのグラウンドトゥルースアクションを指定するデータを取得するステップと、位置に対する確率分布によって位置におけるグラウンドトゥルースアクションに割り当てられる確率を、アクション系列の中の位置ごとに測定する挙動クローニング損失に基づいて、少なくともポリシーニューラルネットワークおよび知覚エンコーダニューラルネットワークを訓練するステップとをさらに備える。
【0041】
いくつかの実装形態では、方法は、第1の訓練ペアに対して、第1の訓練ペアに対するそれぞれの弁別器スコアと、ペアの中の観測画像およびテキスト系列が同じ時間ステップに対応することを示す第1のスコアとの間の誤差、ならびに各第2の訓練ペアに対して、第2の訓練ペアに対するそれぞれの弁別器スコアと、ペアの中の観測画像およびテキスト系列が同じ時間ステップに対応しないことを示す第2のスコアとの間の誤差を測定する目的関数に対して、弁別器ニューラルネットワークを訓練するステップをさらに備える。
【0042】
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施され得る。
【0043】
本明細書は、概して、環境の中の他のエージェントによって発行される自然言語命令によって指定されるタスクを実行するようにインタラクティブエージェントを制御するための技法を説明する。
【0044】
そのようなエージェントを制御することは、あらかじめ固定されているタスクではなく、他のエージェント、たとえば、人間、または他のポリシーを使用して制御されるエージェントによって行われる声明によって説明される、様々なタスクをエージェントが実行することを必要とする多くの実生活のタスクにおいて、特に有益であり得る。しかしながら、これらのタイプのタスク用の訓練データは収集するのが困難であり得、タスクのオープンエンドな性質に起因して、訓練の後に実行するようにエージェントが命令されてよい多種多様なタスクを包含することができない。
【0045】
これらの課題を伴う場合でもシステムがエージェントを効果的に制御することを可能にするために、本明細書は、インタラクティブエージェント制御を改善するために、また訓練データの中に見られなかった新たなタスクを実行するようにシステムがエージェントを効果的に制御することを可能にするために、一緒または別々に使用され得る、様々な技法を説明する。
【0046】
一例として、本明細書は、環境の符号化表現を生成するためにマルチモーダル入力を効果的に結合するニューラルネットワーク(「知覚エンコーダ」)を説明する。これは、新たなタスクに良好に汎化する、より正確な制御をもたらす環境状態の正確な表現を、システムが生成することを可能にする。
【0047】
別の例として、本明細書は、単一の観測に応答して複数のアクションの系列をシステムが効果的に選択することを可能にする、(高レベルコントローラおよびアクションポリシーニューラルネットワークを利用する)階層的なアクション選択ポリシーを説明する。観測に応答して複数のアクションを正確に選択することは、エージェント性能を改善することができる。たとえば、隣接する観測の間で複数回行動するようにエージェントを強制することによって、隣接する観測はより視覚的に明瞭になり、そのことは学習を支援することができる(もっと高い頻度で行動するようにエージェントが強制されるなら、反対のシナリオを考慮に入れ、すなわち、隣接する観測は、ほぼ同一であることになるが、潜在的に異なるターゲットポリシーを有することになり、そのことは、学習にとっての面倒な問題を引き起こす)。別の例として、階層的な制御を実施することは、有用な階層ポリシーをシステムが学習することを可能にすることができ、その低レベルコントローラは、より高レベルのコントローラによってトリガされることを単に必要とする、反復可能なアクション系列をキャプチャする。
【0048】
また別の例として、本明細書は、訓練中に補助損失として使用され得るマルチモーダル対照損失を説明する。この対照損失を訓練の中に組み込むことは、訓練後の汎化を劇的に改善することができ、そのことは、多種多様な可能なタスクおよびさらに一層多種多様な可能なタスク - 視覚的な観測ペアに起因して、インタラクティブエージェント設定において特に重要である。
【0049】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付図面および以下の説明の中に記載されている。本主題の他の特徴、態様、および利点が、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0050】
図1】例示的なアクション選択システムを示す図である。
図2】時間ステップにおいてエージェントを制御するための例示的なプロセスのフロー図である。
図3】時間ステップにおいて符号化表現を生成するための例示的なプロセスのフロー図である。
図4】複数のアクションの系列を生成するための例示的なプロセスのフロー図である。
図5】補助対照損失を使用して訓練するための例示的なプロセスのフロー図である。
図6】推論中および訓練中にアクション選択システムによって使用されるニューラルネットワークの特定の例示的なアーキテクチャを示す図である。
図7】様々なエージェント制御タスクにおける説明する技法の様々な変形形態の性能を示す図である。
図8A】環境の中の以前には見られなかった新たな物体とどのように相互作用すべきかを学習するためにどのくらいのデータが必要とされるのかを示す図である。
図8B】環境の中の以前には見られなかった新たなコマンドをどのように実行すべきかを学習するためにどのくらいのデータが必要とされるのかを示す図である。
【発明を実施するための形態】
【0051】
様々な図面の中の同様の参照番号および指定は、同様の要素を示す。
【0052】
図1は、例示的なアクション選択システム100を示す。アクション選択システム100は、以下で説明するシステム、構成要素、および技法が実施される1つまたは複数のロケーションにおいて、1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムの一例である。
【0053】
アクション選択システム100は、エージェント104によって実行されるべきアクション108を選択し、次いで、アクション108をエージェント104に実行させることによって、環境106と相互作用しているインタラクティブエージェント104を制御する。
【0054】
詳細には、各時間ステップにおいて、システム100は、少なくとも、時間ステップにおける環境の状態を特徴づける観測画像110、および自然言語テキスト系列130を含む、マルチモーダル入力、たとえば、複数のモダリティ(たとえば、データタイプ)のデータを含む入力を受信し、エージェント104を制御するためにマルチモーダル入力を使用する。
【0055】
エージェント104が、環境と相互作用することの一部として環境の中の1つまたは複数の他のエージェント107と相互作用するので、エージェント104は「インタラクティブ」エージェントと呼ばれる。1つまたは複数の他のエージェント107は、人間、異なるコンピュータシステムによって制御される他のエージェント、またはその両方を含むことができる。インタラクティブエージェント104は、他のエージェント107によって生成された通信を受信すること、および随意に、他のエージェントに通信されるテキストを生成することによって、他のエージェント107と相互作用する。
【0056】
詳細には、各時間ステップにおいて、システム100は、時間ステップにおける環境106の状態を特徴づける観測画像110を受信する。観測画像110は、たとえば、エージェント104のカメラセンサによってキャプチャされ得るか、または環境106内に位置する別のカメラセンサによってキャプチャされ得る。
【0057】
システム100はまた、各時間ステップに対する自然言語テキスト系列130を受信する。詳細には、自然言語テキスト系列130は、環境106の中の他のエージェント107のうちの1つからの通信の結果であり得る。たとえば、別のエージェント107は、発話を口にする(たとえば、発話を可聴的に言語化または表現する)ことができ、インタラクティブエージェント104またはシステム100は、自然言語テキスト系列130を生成するために発話を転記することができる。
【0058】
場合によっては、あらゆる時間ステップにおいて新たな通信があるとは限らないことがある。これらの場合、システム100は、直近に受信された自然言語テキスト系列を、時間ステップに対するテキスト系列130として使用することができる。すなわち、システム100は、新たなテキスト系列が受信されるまで、直近に受信された自然言語テキスト系列を再使用することができる。
【0059】
概して、自然言語テキスト系列130は、環境106の中でエージェント104が実行しているべきタスクについての、たとえば、エージェント104が時間ステップにおいて行動することによって到達することを試みているべき目標についての情報を提供する。しかしながら、テキストが、別のエージェント107によって生成され得る自然言語テキストであるので、テキストの内容は、その目標を不十分にしか指定しないことがあり、どの目標に到達すべきであるのかに関してあいまいな場合があるか、または明確化を必要とする場合がある。すなわち、テキスト系列130は、意図されるタスクをエージェント104が実行するのに不十分な情報しか提供しないことがある。
【0060】
システム100は、次いで、時間ステップに対する符号化表現124を生成するために、知覚エンコーダニューラルネットワーク122を使用して少なくとも観測画像110および自然言語テキスト系列130を処理し、次いで、符号化表現124を使用して、観測に応答して、たとえば、画像110および系列130に応答して、エージェントによって実行されるべき、1つまたは複数のアクション108を選択する。
【0061】
詳細には、いくつかの実装形態では、エージェント104は、たとえば、エージェントが実行する各アクションの後に新たな観測画像110がキャプチャされるように、各観測画像110に応答して単一のアクション108を実行する。これらの実装形態では、システム100は、たとえば、実行されたとき、単一のアクションをエージェントに実行させる命令を、エージェント104に提供することによって、エージェント104の適切な制御装置に制御入力を直接サブミットすることによって、アクションを識別するデータをエージェント104用の制御システムに提供することによって、または別の適切な制御技法を使用して、単一のアクションをエージェントに実行させる。
【0062】
いくつかの他の実装形態では、エージェント104は、たとえば、次の観測画像110がキャプチャされる前に複数のアクションがエージェントによって実行されるように、各観測画像110に応答して複数のアクション108の系列を実行する。これらの実装形態では、システム100は、複数の位置におけるそれぞれのアクション108を含む複数のアクション108の系列を生成し、たとえば、最初に第1の位置におけるアクション、次いで、第2の位置におけるアクションを実行することなどによって、系列順序に従ってアクション108の系列をエージェント104に実行させる。システム100は、上記で説明したように所与のアクションをエージェント104に実行させることができる。
【0063】
概して、システム100は、符号化表現124(以下で「集約型埋め込み」とも呼ばれる)から状態表現を生成し、次いで、ポリシーニューラルネットワーク126を使用して状態表現を処理することによって、所与の時間ステップにおいて1つまたは複数のアクション108を生成する。状態表現は符号化表現124と同じであり得るか、または状態表現が以前の環境状態からの情報を組み込むことができるようにメモリニューラルネットワーク、たとえば、リカレントニューラルネットワークによって生成され得る。
【0064】
いくつかの実装形態では、観測画像110に応答して1つまたは複数のアクション108を実行することに加えて、またはそのことの代わりに、システム100は、時間ステップのうちの一部または全部における符号化表現124を使用して出力テキスト系列を生成することができ、それを出力として提供することができる。詳細には、システム100は、時間ステップにおける出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して、符号化表現124から導出された入力、たとえば、状態表現を含む入力を処理することができる。
【0065】
システム100は、次いで、出力テキスト系列を表す音声を生成することができ、インタラクティブエージェント104に音声を再生させることができるか、またはさもなければ、エージェント104が他のエージェント107と相互作用するために、出力テキスト系列を環境の中の他のエージェント107へ通信させることができる。テキストもしくは音声またはその両方を生成することによって他のエージェント107と相互作用することは、インタラクティブエージェント104が、他のエージェント107に質問を尋ねること、またはさもなければ、たとえば、追加の情報を提供するように他のエージェント107を促すことによって、所望のタスクをどのように実行すべきかについての追加の情報を他のエージェント107から取得することを可能にすることができる。
【0066】
アクションおよび随意に出力テキスト系列を生成するために入力観測を処理することが、図2図6を参照しながら以下でより詳細に説明される。
【0067】
エージェントを制御するために、知覚エンコーダニューラルネットワーク122、ポリシーニューラルネットワーク126、ならびに使用されるとき、メモリニューラルネットワークおよび/またはテキスト生成ニューラルネットワークを使用する前に、訓練システム190は、たとえば、ニューラルネットワークのパラメータの訓練された値を決定するように、ニューラルネットワークを訓練する。
【0068】
いくつかの実装形態では、システム190は、たとえば、エキスパートエージェントによって生成されるグラウンドトゥルースデータに対して、模倣学習を通じてニューラルネットワークを訓練する。グラウンドトゥルースデータは、時間ステップの系列において、観測画像および自然言語テキスト系列を含む観測、ならびにグラウンドトゥルースアクションまたはグラウンドトゥルーステキスト出力のうちの1つまたは複数を各々が含む、グラウンドトゥルース軌跡のセットを含む。「グラウンドトゥルース」アクションとは、所与の時間ステップ(または、アクション系列の中の所与の位置)においてエージェントによって実行されるべきターゲットアクションである。同様に、「グラウンドトゥルース」テキスト出力とは、所与の時間ステップにおいてシステムによって生成されるべきターゲットテキスト出力である。たとえば、グラウンドトゥルースアクションおよびグラウンドトゥルーステキスト出力は、所与の時間ステップにおいてエキスパートエージェントによって(それぞれ)実行または生成される(たとえば、話される)実際のアクションおよびテキスト出力であり得る。エキスパートエージェントは、たとえば、人間のユーザによって制御されるエージェント、すでに学習されたポリシーによって制御されるエージェント、またはハードコーディングされたヒューリスティックベースポリシーによって制御されるエージェントであり得る。
【0069】
いくつかの他の実装形態では、システム190は、強化学習を通じてニューラルネットワークを訓練する。たとえば、システム190は、各時間ステップにおいて、時間ステップにおける観測に応答して実行されるアクションに応答して報酬を、時間ステップにおいて出力として生成されるテキスト系列を、またはその両方を受信することができ、オフポリシー強化学習技法を使用してニューラルネットワークを訓練するためにその報酬を使用することができる。
【0070】
また他の実装形態では、システム190は、最初に模倣学習を通じてニューラルネットワークを訓練することができ、次いで、強化学習を通じてニューラルネットワークをファインチューニングすることができる。
【0071】
随意に、上記の実装形態のうちのいずれかにおいて、システム190は、ニューラルネットワークの訓練を改善するためにクロスモダリティマッチングを採用する補助対照学習損失を使用することができる。たとえば、システムは、補助対照学習損失を使用して知覚エンコーダ122を事前訓練することができ、または模倣学習損失もしくは強化学習損失および補助対照学習損失を含む損失関数に対して、ニューラルネットワークを訓練することができる。
【0072】
クロスモダリティマッチングとは、所与の観測および所与のテキスト系列が同じ時間ステップに対応するかどうかを、所与の観測の符号化表現 - テキスト系列ペアから、弁別器ニューラルネットワークに予測させることを指す。テキスト系列が、観測画像がキャプチャされた時間ステップにおいて直近に受信されたテキスト系列であったとき、たとえば、テキスト系列と観測画像とが時間的に整合するとき、観測およびテキスト系列は同じ時間ステップに「対応」する。
【0073】
この補助損失を使用する訓練が、図5を参照しながら以下でより詳細に説明される。
【0074】
いくつかの実装形態では、環境は現実世界の環境であり、エージェントは、たとえば、現実世界の環境の中で1つまたは複数の選択されたアクションを実行するために、現実世界の環境と相互作用する、機械式エージェントである。たとえば、エージェントは、目標を完遂するために、たとえば、環境の中の当該の物体の位置を特定するために、環境の中で当該の物体を指定されたロケーションに移動させるために、環境の中の当該の物体を指定された方法で物理的に操作するために、または他のエージェントから受信される自然言語入力によって指定される、環境の中の指定された目的地まで走行指示するために、環境と相互作用するロボットであってよく、あるいはエージェントは、環境の中の指定された目的地まで環境を通じて走行指示する、自律的または半自律的な、地上車両、空中車両、または海上車両であってもよい。
【0075】
アクションは、機械式エージェント、たとえば、ロボットを制御するための制御入力、たとえば、ロボットの関節にとってのトルク、またはもっと高レベルの制御コマンド、あるいは自律的または半自律的な、地上車両もしくは空中車両もしくは海上車両、たとえば、車両の制御面もしくは他の制御要素へのトルク、またはもっと高レベルの制御コマンドであってよい。
【0076】
言い換えれば、アクションは、たとえば、ロボットの1つもしくは複数の関節または別の機械式エージェントの部分にとっての、位置、速度、または力/トルク/加速度データを含むことができる。アクションは、追加または代替として、モーター制御データなどの電子制御データ、またはより一般的には、環境の観測される状態に対してその制御が影響を有する、環境内の1つまたは複数の電子デバイスを制御するためのデータを含んでよい。たとえば、自律的または半自律的な地上車両、空中車両、または海上車両の場合には、アクションは、走行指示、たとえば、ステアリング、ならびに移動、たとえば、車両の制動および/または加速を制御するためのアクションを含んでよい。
【0077】
いくつかの実装形態では、環境はシミュレートされる環境であり、エージェントは、シミュレートされる環境と相互作用する1つまたは複数のコンピュータプログラムとして実装される。たとえば、環境は、現実世界の環境のコンピュータシミュレーションであり得、エージェントは、コンピュータシミュレーションを通じて走行指示するシミュレートされる機械式エージェントであり得る。
【0078】
たとえば、シミュレートされる環境は、動きシミュレーション環境、たとえば、運転シミュレーションまたは飛行シミュレーションであってよく、エージェントは、動きシミュレーションを通じて走行指示するシミュレートされる車両であってよい。これらの実装形態では、アクションは、シミュレートされるユーザまたはシミュレートされる車両を制御するための制御入力であってよい。別の例として、シミュレートされる環境は、現実世界の環境のコンピュータシミュレーションであってよく、エージェントは、コンピュータシミュレーションと相互作用するシミュレートされるロボットであってよい。
【0079】
概して、環境が、シミュレートされる環境であるとき、アクションは、前に説明したアクションまたはアクションのタイプのうちの1つまたは複数の、シミュレートされるバージョンを含んでよい。
【0080】
場合によっては、システムは、シミュレートされる環境とのエージェントの相互作用を制御するために使用されることが可能であり、システムは、シミュレートされる環境とのエージェントの相互作用に基づいてエージェントを制御するために使用されるニューラルネットワーク(たとえば、知覚エンコーダニューラルネットワーク122、ポリシーニューラルネットワーク126、および使用されるとき、言語生成ニューラルネットワーク)のパラメータを訓練することができる。シミュレートされる環境とのエージェントの相互作用に基づいてニューラルネットワークが訓練された後、訓練されたポリシーニューラルネットワークは、現実世界の環境との現実世界のエージェントの相互作用を制御するために、たとえば、シミュレートされる環境の中でシミュレートされていたエージェントを制御するために、使用され得る。(たとえば、現実世界の環境ではなく)シミュレートされる環境とのエージェントの相互作用に基づいてディープニューラルネットワークを訓練することは、エージェントにおける消耗を回避することができ、下手に選ばれたアクションを実行することによる、エージェントがそれ自体またはその環境の態様を破壊する場合がある可能性を小さくすることができる。場合によっては、システムは、上記で説明したようにシミュレーションを使用して部分的に訓練されてよく、次いで、現実世界の環境の中でさらに訓練されてよい。
【0081】
別の例として、環境はビデオゲームであり得、エージェントは、1つまたは複数の他のエージェント、たとえば、1人または複数の人間のユーザによって制御されるエージェントと相互作用する、ビデオゲーム内のエージェントであり得る。
【0082】
また別の例として、環境は、現実世界の環境の拡張現実表現または仮想現実表現であり得、エージェントは、1つまたは複数の他のエージェント、たとえば、1人または複数の人間のユーザによって制御されるエージェントと相互作用する、表現の中のエンティティであり得る。拡張現実環境の場合には、観測画像は、たとえば、環境の中の当該の物体を含む、現実世界の環境を特徴づける画像データを備えてよい。エージェントは、物体を操作すること、移動させること、固定させること、および/または再構成することなどの、現実世界の環境の中で1つまたは複数の選択されたアクションを実行するために、現実世界の環境の中で電気機械デバイスを制御するように構成された、ソフトウェアエージェントであってよい。拡張現実環境は、たとえば、ヘッドマウントディスプレイまたはヘッドアップディスプレイを通じて、ユーザに表示されてよい。
【0083】
また別の例として、環境は、コンピューティング環境、たとえば、有線ネットワークまたはワイヤレスネットワークによって随意に接続される1つまたは複数のコンピューティングデバイスであり得、エージェントは、ユーザと相互作用するためにコンピューティング環境内で実行するソフトウェアエージェントであり得る。たとえば、エージェントは、コンピューティングデバイスのうちの1つまたは複数を制御するアクションを実行することによって、コンピューティング環境内でユーザによって指定されたタスクを実行する、デジタルアシスタントソフトウェアであり得る。
【0084】
図2は、時間ステップにおいて1つまたは複数のアクションを選択するための例示的なプロセス200のフロー図である。便宜上、プロセス200は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされたアクション選択システム、たとえば、図1のアクション選択システム100が、プロセス200を実行することができる。
【0085】
システムは、エージェントを制御するために複数の時間ステップの各々においてプロセス200を実行することができる。
【0086】
システムは、時間ステップにおける環境の状態を特徴づける観測画像を受信する(ステップ202)。
【0087】
システムは、時間ステップにおいて環境の中のエージェントによって実行されているタスクを特徴づける、時間ステップに対する自然言語テキスト系列を受信する(ステップ204)。
【0088】
システムは、時間ステップに対する符号化表現を生成するために、知覚エンコーダニューラルネットワークを使用して観測画像および自然言語テキスト系列を処理する(ステップ206)。
【0089】
いくつかの実装形態では、知覚エンコーダニューラルネットワークは、画像観測を表す画像埋め込みを生成する画像埋め込みニューラルネットワーク、画像観測を表すテキスト埋め込みを生成するテキスト埋め込みニューラルネットワーク、および(符号化表現として働く)集約型埋め込みを生成するマルチモーダルトランスフォーマニューラルネットワークを含む。
【0090】
本明細書において使用される「埋め込み」とは、事前決定された次元数を有する数値、たとえば、浮動小数点値または他の値の、ベクトルである。事前決定された次元数を有する可能なベクトルの空間は、「埋め込み空間」と呼ばれる。画像埋め込みニューラルネットワークおよびテキスト埋め込みニューラルネットワークによって生成される画像埋め込みおよびテキスト埋め込みは、一般に、同じ埋め込み空間の中にある。
【0091】
知覚エンコーダニューラルネットワークが上記のアーキテクチャを有するときに符号化表現を生成することが、図3を参照しながら以下で説明される。
【0092】
システムは、観測画像に応答してエージェントによって実行されるべき1つまたは複数のアクションを、集約型埋め込みを使用して選択し(ステップ206)、1つまたは複数の選択されたアクションをエージェントに実行させる(ステップ208)。
【0093】
概して、システムは、1つまたは複数のアクションを選択するために、ポリシーニューラルネットワークを使用して符号化表現から導出された状態表現を処理する。
【0094】
すなわち、システムは、符号化表現から状態表現を生成し、たとえば、ポリシーニューラルネットワークを使用して状態表現を処理することによって、状態表現を使用して1つまたは複数のアクションを選択する。いくつかの実装形態では、状態表現は符号化表現と同じである。いくつかの他の実装形態では、システムは、メモリニューラルネットワーク、たとえば、状態表現が以前の時間ステップからの情報を組み込むことを可能にするニューラルネットワークを使用して、符号化表現を処理することによって状態表現を生成する。たとえば、メモリニューラルネットワークは、状態表現が以前の時間ステップからの情報を組み込むことを可能にするためのリカレントニューラルネットワーク、たとえば、長短期記憶(LSTM:long short-term memory)ニューラルネットワーク、またはゲート付きリカレントユニット(GRU:gated recurrent unit)ニューラルネットワークであり得る。
【0095】
いくつかの実装形態では、システムは、各時間ステップにおいて単一のアクションしか選択しない。これらの実装形態では、ポリシーニューラルネットワークは、たとえば、アクションのセットにわたって確率分布を生成する多層パーセプトロン(MLP:multi-layer perceptron)または他のフィードフォワードニューラルネットワークであり得、システムは、確率分布を使用してアクションを貪欲に選択またはサンプリングすることができる。単一のアクションが選択されるときのポリシーニューラルネットワークにとっての代替アーキテクチャが、図4を参照しながら以下で説明される。
【0096】
いくつかの他の実装形態では、システムは、各時間ステップにおいて複数のアクションの系列を選択する。すなわち、システムは、複数の位置におけるそれぞれのアクションを含む、複数のアクションの系列を生成し、たとえば、最初に第1の位置におけるアクションを、次いで、第2の位置におけるアクションを実行することなどによって、系列順序に従ってアクションの系列をエージェントに実行させる。複数のアクションの系列を生成できるポリシーニューラルネットワークにとってのアーキテクチャの一例が、図4を参照しながら以下で説明される。
【0097】
いくつかの実装形態では、ポリシーニューラルネットワークは、時間ステップにおいて任意のアクションをエージェントに実行させるべきかどうかを決定するためにシステムが使用するアクション無演算ニューラルネットワーク(たとえば、「任意アクション(any-action)」決定ニューラルネットワークと呼ばれることもある、アクション「無演算(no operation)」ニューラルネットワーク)を含む。詳細には、これらの実装形態では、システムは、時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して状態表現を処理することができる。次いで、システムは、時間ステップにおいてアクションが実行されるべきであることを表示が示すときのみ、1つまたは複数のアクションをエージェントに実行させることができる。
【0098】
たとえば、アクション無演算ニューラルネットワークは、スコアを生成するために状態表現を処理するMLPであり得る。スコアがしきい値を満たす場合、システムは、時間ステップにおいていかなるアクションも実行すべきでないと決定することができる。
【0099】
いくつかの実装形態では、計算リソースを節約するために、システムは、最初にアクション無演算ニューラルネットワークを使用して状態表現を処理し、次いで、時間ステップにおいて1つまたは複数のアクションが実行されるべきであることをアクション無演算ニューラルネットワークが示す場合のみ、ポリシーニューラルネットワークの処理の残りを実行する。
【0100】
上記で説明したように、いくつかの実装形態では、システムはまた、一部または全部の時間ステップにおいて自然言語テキスト系列を出力することができる。
【0101】
これらの実装形態では、システムは、時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して状態表現を処理することができる。たとえば、自然言語生成ニューラルネットワークは、状態表現を条件としてテキストトークンの系列を生成するトランスフォーマであり得る。たとえば、トランスフォーマは、状態表現の中にクロスアテンド(cross-attend)するかまたはプロンプトとして状態表現を使用しながら、出力テキストトークンを自己回帰的に生成することができる。
【0102】
いくつかの実装形態では、システムは、所与の時間ステップにおいて任意の出力テキストを生成すべきかどうかを決定するために、テキスト無演算ニューラルネットワーク(たとえば、テキスト生成決定ニューラルネットワークと呼ばれることもある、テキスト「無演算」ニューラルネットワーク)を使用する。詳細には、これらの実装形態では、システムは、時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算ニューラルネットワークを使用して状態表現を処理することができる。次いで、システムは、時間ステップにおいてテキストが生成されるべきであることを表示が示すときのみ、出力テキスト系列を生成することができる。
【0103】
たとえば、テキスト無演算ニューラルネットワークは、スコアを生成するために状態表現を処理するMLPであり得る。スコアがしきい値を満たす場合、システムは、時間ステップにおいていかなるテキストも生成すべきでないと決定することができる。
【0104】
いくつかの実装形態では、計算リソースを節約するために、システムは、最初にテキスト無演算ニューラルネットワークを使用して状態表現を処理し、次いで、時間ステップにおいてテキストが生成されるべきであることをテキスト無演算ニューラルネットワークが示す場合のみ、言語生成ニューラルネットワークを使用して状態表現を処理する。
【0105】
本明細書は、概して、観測が画像であることを説明するが、場合によっては、観測は、画像データに加えて追加データ、たとえば、エージェントを特徴づける固有受容データ、またはエージェントの他のセンサによってキャプチャされた他のデータを含むことができる。これらの場合、他のデータは、画像埋め込みニューラルネットワークによって観測画像とともに共同で埋め込まれ得る。
【0106】
図3は、知覚エンコーダニューラルネットワークを使用して時間ステップにおいて符号化表現を生成するための例示的なプロセス300のフロー図である。便宜上、プロセス300は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされたアクション選択システム、たとえば、図1のアクション選択システム100が、プロセス300を実行することができる。
【0107】
図3の例では、知覚エンコーダニューラルネットワークは、画像観測を表す画像埋め込みを生成する画像埋め込みニューラルネットワーク、画像観測を表すテキスト埋め込みを生成するテキスト埋め込みニューラルネットワーク、および(符号化表現として働く)集約型埋め込みを生成するマルチモーダルトランスフォーマニューラルネットワークを含む。
【0108】
より詳細には、システムは、観測画像を表す複数の画像埋め込みを生成するために、画像埋め込みニューラルネットワークを使用して観測画像を処理する(ステップ302)。たとえば、画像埋め込みニューラルネットワークは、観測画像の中の複数の領域の各々に対するそれぞれの画像埋め込みを含む特徴マップを生成するために観測画像を処理する、畳み込みニューラルネットワーク、たとえば、ResNetまたはInceptionニューラルネットワークであり得る。別の例として、画像埋め込みニューラルネットワークは、系列の中のパッチの各々のそれぞれの画像埋め込みを生成するために観測画像からのパッチの系列を処理する、Visionトランスフォーマニューラルネットワークであり得る。
【0109】
システムは、自然言語テキスト系列を表す複数のテキスト埋め込みを生成するために、テキスト埋め込みニューラルネットワークを使用して自然言語テキスト系列を処理する(ステップ304)。たとえば、テキスト埋め込みニューラルネットワークは、学習済みの埋め込みテーブルを使用して、テキスト系列の中のテキストトークン、たとえば、単語または単語断片を、埋め込みにマッピングすることができる。別の例として、テキスト埋め込みニューラルネットワークは、テキストトークンの各々に対するそれぞれのテキスト埋め込みを生成するためにテキストトークンの系列を処理する、エンコーダ専用トランスフォーマであり得る。
【0110】
システムは、符号化表現として働く集約型埋め込みを生成するために、マルチモーダルトランスフォーマニューラルネットワークを使用して、画像埋め込みおよびテキスト埋め込みを含む入力を処理する(ステップ306)。
【0111】
トランスフォーマニューラルネットワークは、複数の異なるモダリティの入力の埋め込み、たとえば、自然言語テキストと画像の両方の埋め込みを、入力として受信するので、「マルチモーダル」と呼ばれる。
【0112】
いくつかの他の実装形態では、知覚エンコーダニューラルネットワークは、少なくとも画像埋め込みおよびテキスト埋め込みから集約型埋め込みを生成するために、異なるタイプのマルチモーダルニューラルネットワーク、たとえば、畳み込みニューラルネットワークまたはリカレントニューラルネットワークを使用することができる。
【0113】
より詳細には、マルチモーダルトランスフォーマニューラルネットワークは、(i)少なくとも複数のテキスト埋め込みに対するそれぞれの更新済みの埋め込みを生成するために少なくともテキスト埋め込みおよび画像埋め込みにわたってセルフアテンションを適用し、(ii)テキスト埋め込みに対する少なくともそれぞれの更新済みの埋め込みから集約型埋め込みを生成するように構成される。
【0114】
詳細には、マルチモーダルトランスフォーマは、たとえば、「セルフアテンションを適用すること」が1つまたは複数のセルフアテンション層を通じて入力を処理することを含むように、1つまたは複数のセルフアテンションヘッドを各々が有する1つまたは複数のセルフアテンション層を含む。すなわち、各セルフアテンション層は、シングルヘッドセルフアテンションを実行することができ、したがって、1つのアテンションヘッドしか有しないか、またはマルチヘッドアテンションを実行することができ、したがって、各々がセルフアテンションを並行して実行する複数のヘッドを有するかのいずれかである。セルフアテンション層は、次いで、たとえば、出力を加算、平均化、または連結し、次いで、随意にその結果に線形変換を適用することによって、複数のヘッドの出力を結合してセルフアテンション層に対するアテンション機構の出力を生成することができる。各セルフアテンション層はまた、様々な他の動作、たとえば、層正規化、位置ごとのフィードフォワードニューラルネットワーク計算、残差結合動作などのうちのいずれかを実行することができる。
【0115】
各セルフアテンション層の各ヘッドは、少なくとも、画像埋め込みおよびテキスト埋め込みに対応する入力にわたって、様々なセルフアテンション機構のうちのいずれかを適用することができる。そのようなアテンション機構の例において、次に説明される。
【0116】
この例では、マルチモーダルトランスフォーマニューラルネットワークへの入力は、画像埋め込み、テキスト埋め込み、および1つまたは複数の専用埋め込みを含む。「専用」埋め込みとは、各時間ステップにおいて同じであり時間ステップにおける観測に依存しない埋め込みである。たとえば、専用埋め込みは、ニューラルネットワークの訓練中に学習され得るか、または事前決定された値に固定され得る。
【0117】
マルチモーダルトランスフォーマは、次いで、画像埋め込みを更新することなくテキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みを生成するためにセルフアテンションを適用する。
【0118】
このことの一例として、各セルフアテンション層の各セルフアテンションヘッドは、(i)画像埋め込みニューラルネットワークによって生成される画像埋め込み、ならびに(ii)テキスト埋め込みおよび専用埋め込みに対するそれぞれの現在の埋め込みを含む、ヘッド入力を受信するように構成され得る。すなわち、ヘッドが第1のセルフアテンション層の中にない場合、ヘッドは、依然として元の画像埋め込みを受信するが、テキスト埋め込みに対する現在の埋め込み、および先行するセルフアテンション層によって更新されている専用埋め込みを受信する。
【0119】
ヘッドは、次いで、たとえば、学習済みのクエリ線形変換を現在の各埋め込みに適用することによって、各テキスト埋め込みおよび各専用埋め込みに対応するそれぞれのクエリを、それぞれの現在の埋め込みから生成する。
【0120】
ヘッドはまた、たとえば、学習済みのキー線形変換を各埋め込みに適用することによって、各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのキーを、画像埋め込みおよびそれぞれの現在の埋め込みから生成する。
【0121】
ヘッドはまた、たとえば、学習済みのバリュー線形変換を各埋め込みに適用することによって、各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのバリューを、画像埋め込みおよびそれぞれの現在の埋め込みから生成する。
【0122】
ヘッドは、次いで、画像埋め込みを更新することなく各テキスト埋め込みおよび各専用埋め込みに対するそれぞれの初期更新済み埋め込みを生成するために、それぞれのクエリ、キー、およびバリューにわたってクエリキーバリューアテンションを適用する。すなわち、ヘッドは、テキスト埋め込みおよび専用埋め込みにわたってセルフアテンションを適用するが、(画像埋め込みは、キーおよびバリューを生成するためだけに使用され、クエリを生成するためには使用されないので)画像埋め込みには「クロスアテンド」するだけである。
【0123】
複数のヘッドがあるとき、セルフアテンション層は、次いで、上記で説明したように、それぞれの初期更新済み埋め込みを結合することができる。
【0124】
セルフアテンションおよびクエリキーバリューアテンションが、以下でより詳細に説明される。
【0125】
マルチモーダルトランスフォーマが、テキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みを生成していると、トランスフォーマは、それぞれの更新済みの埋め込みから集約型埋め込みを生成することができる。
【0126】
特定の例として、トランスフォーマは、初期集約型埋め込みを生成するために、テキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みを集約することができ、次いで、集約型埋め込みを生成するために、専用埋め込みに対するそれぞれの更新済みの埋め込みを初期集約型埋め込みと結合することができる。
【0127】
トランスフォーマは、初期集約型埋め込みを生成するために、様々な集約動作のうちのいずれか、たとえば、プーリング動作を、テキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みに適用することができる。たとえば、トランスフォーマは、初期集約型埋め込みを生成するために、テキスト埋め込みおよび専用埋め込みに対するそれぞれの更新済みの埋め込みに特徴ごとの平均プーリングを適用することができる。
【0128】
トランスフォーマは、集約型埋め込みを生成するために、様々な方法のうちのいずれかで、専用埋め込みに対するそれぞれの更新済みの埋め込みを初期集約型埋め込みと結合することができる。一例として、トランスフォーマは、各専用埋め込みおよび初期集約型埋め込みに対する各それぞれの更新済みの埋め込みを連結することができる。
【0129】
システムは、次いで、状態表現として集約型埋め込みを使用する。
【0130】
図4は、時間ステップにおいて複数のアクションの系列を生成するための例示的なプロセス400のフロー図である。便宜上、プロセス400は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされたアクション選択システム、たとえば、図1のアクション選択システム100が、プロセス400を実行することができる。
【0131】
システムは、時間ステップにおける環境の状態を特徴づける、時間ステップに対する観測画像を受信する(ステップ402)。
【0132】
システムは、時間ステップにおいて環境の中のエージェントによって実行されているタスクを特徴づける、時間ステップに対する自然言語テキスト系列を受信する(ステップ404)。
【0133】
システムは、時間ステップに対する状態表現を生成するために観測画像および自然言語テキスト系列を処理する(ステップ406)。たとえば、システムは、図2を参照しながら上記で説明したように、または異なるアーキテクチャを有するニューラルネットワークの異なるセットを使用して、状態表現を生成することができる。
【0134】
システムは、時間ステップにおいて観測画像に応答してエージェントによって実行されるべき複数のアクションの系列を生成する。上記で説明したように、系列は、複数の位置の各々においてエージェントによって実行されるべきそれぞれのアクションを有する。図4の例では、ポリシーニューラルネットワークは、階層的なアクション選択方式、たとえば、階層的な制御方式を実施し、したがって、高レベルコントローラニューラルネットワークおよびアクションポリシーニューラルネットワークを含む。
【0135】
詳細には、システムは、系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して状態表現を処理する(ステップ408)。特定の例として、高レベルコントローラニューラルネットワークは、状態表現を入力として受信した後、系列の中の位置ごとにそれぞれの低レベル入力を自己回帰的に生成することができる。低レベル入力を「自己回帰的に」生成することとは、系列の中の位置に先行するすべての位置に対する入力を条件として位置ごとに入力を生成することを指す。たとえば、高レベルコントローラニューラルネットワークは、最初の処理時間ステップにおいて、状態表現を入力として受信し、かつ後続の各処理時間ステップにおいて、先行する処理時間ステップにおいて生成された低レベル入力を入力として受信する、リカレントニューラルネットワーク、たとえば、LSTMまたはGRUであり得る。
【0136】
位置ごとに、システムは、系列の中の位置においてエージェントによって実行されるべきアクションを生成するために、アクションポリシーニューラルネットワークを使用して位置に対するそれぞれの低レベル入力を処理する(ステップ410)。いくつかの実装形態では、各アクションは複数のサブアクションからなる。たとえば、エージェントがロボットまたは他の機械式エージェントであるとき、サブアクションは、環境の中の物体をつかむことを試行するグラブ(grab)アクション、環境の中の物体を押すかまたは引くプッシュ/プル(push/pull)アクション、エージェントの本体の1つまたは複数の部分を回転させるローテート(rotate)アクション、エージェントのカメラの向きを変えるルック(look)アクション、および環境の中のエージェントを移動させるムーブ(move)アクションのうちの2つ以上を含むことができる。エージェント用の制御システムは、エージェントを制御するために、これらの高レベルアクションを低レベルコマンド、たとえば、エージェントの関節に対するトルク、またはエージェントの本体の部分に適用されるべき他の力にマッピングすることができる。
【0137】
これらの実装形態では、アクションポリシーニューラルネットワークは、複数のサブアクションの各々のためのそれぞれのサブネットワークを含むことができる。したがって、アクションポリシーニューラルネットワークを使用して位置に対するそれぞれの低レベル入力を処理するために、複数のサブアクションの各々に対して、アクションポリシーニューラルネットワークは、位置に対するサブアクションに対するバリューを選択するために、サブアクションのためのサブネットワークを使用して位置に対するそれぞれの低レベル入力を含む入力を処理する。たとえば、各サブネットワークは、対応するサブアクションに対する可能なバリューにわたる確率分布を規定する出力を生成するように構成されることが可能であり、システムは、サブアクションに対するバリューを貪欲に選択すること、または確率分布を使用してサブアクションをサンプリングすることのいずれかが可能である。
【0138】
これらの実装形態のうちのいくつかでは、サブアクションのうちの少なくとも1つに対して、入力は、位置における他のサブアクションのうちの1つまたは複数に対して選択されたバリューを含む。すなわち、所与の位置における少なくとも1つのサブアクションのバリューは、所与の位置における少なくとも1つの他のサブアクションのバリューに依存することができる。
【0139】
時間ステップ当り単一のアクションしか選択されないとき、ポリシーニューラルネットワークは、(i)複数のサブアクションの各々のためのそれぞれのサブネットワークのみを含むことができ、各サブネットワークに対する入力が、(低レベル入力ではなく)状態表現を含むことができるか、または(i)状態表現を単一の位置に対する単一の低レベル入力にマッピングするフィードフォワード高レベルコントローラを含むことができる。
【0140】
上記で説明したように、ポリシーニューラルネットワークはまた、所与の時間ステップにおいてエージェントが任意のアクションを実行することを防止するためにシステムが使用できる、アクション無演算ニューラルネットワークを含むことができる。
【0141】
図5は、対照補助損失を使用して訓練するための例示的なプロセス500のフロー図である。便宜上、プロセス500は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされた訓練システム、たとえば、図1の訓練システム190が、プロセス500を実行することができる。
【0142】
システムは、アクション選択システムによって使用されるニューラルネットワークを対照補助損失に対して訓練するために、訓練データの異なるミニバッチに対してプロセス500を繰り返し実行することができる。
【0143】
上記で説明したように、システムは、補助損失に対して知覚エンコーダニューラルネットワークを事前訓練することができる。代替として、システムは、主要な損失、たとえば、強化学習損失または模倣学習損失に対してニューラルネットワークのすべてを訓練しながら、知覚エンコーダニューラルネットワークを訓練することができる。
【0144】
プロセス500の各イタレーションにおいて、システムは、複数の訓練ペアを含むミニバッチを取得する。訓練ペアは、(i)同じ時間ステップに両方が対応する観測画像および自然言語テキスト系列を有する第1のペア、ならびに(ii)異なる時間ステップに対応する観測画像および自然言語テキスト系列を各々が含む1つまたは複数の第2のペアを含む。テキスト系列が、観測画像がキャプチャされた時間ステップにおける直近に受信されたテキスト系列であったとき、たとえば、テキスト系列と観測画像とが時間的に整合するとき、観測およびテキスト系列は同じ時間ステップに「対応」する。たとえば、ミニバッチの中のペアの第1の部分は「対応する」ペアであり得、残りは「対応しない」ペアであり得る。
【0145】
システムは、訓練ペアごとにそれぞれの符号化表現を生成するために、知覚エンコーダニューラルネットワークを使用して各訓練ペアを処理する(ステップ504)。たとえば、知覚エンコーダニューラルネットワークは、任意の適切なアーキテクチャ、たとえば、図1図4を参照しながら上記で説明し、図6を参照しながら以下で説明する、アーキテクチャのうちの1つを有することができる。
【0146】
システムは、符号化表現がそこから生成されたペアの中の観測画像および自然言語テキスト系列が同じ時間ステップに対応する可能性を表すそれぞれの弁別器スコアを、訓練ペアごとに生成するために、それぞれの符号化表現を処理するように構成される弁別器ニューラルネットワークを使用して訓練ペアごとにそれぞれの符号化表現を処理する(ステップ506)。たとえば、弁別器は、対応する訓練ペアに対するそれぞれの弁別器スコアを生成するために各符号化表現を独立して処理するフィードフォワードニューラルネットワーク、たとえば、MLPが可能である。
【0147】
システムは、訓練ペアごとにそれぞれの弁別器スコアに基づく損失を使用して知覚エンコーダニューラルネットワークを訓練する(ステップ508)。そのような損失は、対照学習損失として説明されることがある。対照学習損失は、第1のペアに対する弁別器スコアと1つまたは複数の第2のペアに対する1つまたは複数の弁別器スコアとを、互いに対して「対照すること」に基づくので、「対照」学習損失と呼ばれる。
【0148】
一般に、対照学習損失は、第2のペアが第1のペアに比べてより小さくなるようにそれぞれの弁別器スコアを促しながら、第1のペアがより大きくなるようにそれぞれの弁別器スコアを促す。すなわち、対照学習損失は、対応しないペアに対する状態表現よりも大きい弁別器スコアに、弁別器ニューラルネットワークによってマッピングされる、対応するペアに対する状態表現を生成するように、知覚エンコーダニューラルネットワークを促し、たとえば、対照学習損失を使用して知覚エンコーダニューラルネットワークを訓練することは、知覚エンコーダニューラルネットワークにそのような状態表現を生成させる。
【0149】
具体例として、対照学習損失は、
【0150】
【数1】
【0151】
を満たすことができ、ただし、Bは、ミニバッチの中の軌跡の数であり、Tは、ミニバッチの中の各軌跡の中の時間ステップの数であり、
【0152】
【数2】
【0153】
は、第nの軌跡の中の時間ステップtからの観測画像
【0154】
【数3】
【0155】
、および第nの軌跡の中の時間ステップtからのテキスト系列
【0156】
【数4】
【0157】
を含むペアから、弁別器によって生成されるスコアであり、SHIFT(n)は、ミニバッチ内の軌跡のインデックスのモジュラシフトの後の第nのインデックスである(たとえば、1が2にシフトされ、...、B-1がBにシフトされ、Bが1にシフトされる)。
【0158】
システムは、弁別器ニューラルネットワークを通じて知覚エンコーダニューラルネットワークの中に対照学習損失の勾配を逆伝播させることによって、対照学習損失を使用して知覚エンコーダニューラルネットワークを訓練することができる。
【0159】
知覚エンコーダを訓練することに加えて、システムはまた、より正確な弁別器スコアを生成するように弁別器を促す目的に対して弁別器を訓練する。詳細には、システムは、第1の訓練ペアに対して、第1の訓練ペアに対するそれぞれの弁別器スコアと、第1のスコア、たとえば、ペアの中の観測画像およびテキスト系列が同じ時間ステップに対応することを示す1との間の誤差を、また各第2の訓練ペアに対して、第2の訓練ペアに対するそれぞれの弁別器スコアと、第2のスコア、たとえば、ペアの中の観測画像およびテキスト系列が同じ時間ステップに対応しないことを示す負の1または0との間の誤差を測定する目的関数に対して、弁別器ニューラルネットワークを訓練する。
【0160】
ニューラルネットワークの訓練中に補助損失として対照損失が使用されているとき、システムはまた、主要な損失の勾配を算出することができる。
【0161】
たとえば、主要な損失が模倣学習損失であるとき、システムは、上記で説明したように、アクション系列の中の1つまたは複数の位置の各々に対するアクションのセットにわたるそれぞれの確率分布を、第1の訓練ペアに対する符号化表現から、かつ少なくともポリシーニューラルネットワークを使用して、生成することができる。
【0162】
システムはまた、1つまたは複数の位置の各々においてエキスパートエージェントによって実行されるそれぞれのグラウンドトゥルースアクションを指定するデータを取得する。
【0163】
システムは、次いで、アクション系列の中の位置ごとに、位置に対する確率分布によって位置においてグラウンドトゥルースアクションに割り当てられる確率を測定する、挙動クローニング損失に基づいて、少なくともポリシーニューラルネットワークおよび知覚エンコーダニューラルネットワークを訓練する。
【0164】
図6は、推論中および訓練中にアクション選択システムによって使用されるニューラルネットワークの特定の例示的なアーキテクチャを示す。詳細には、図6の例では、知覚エンコーダは、画像埋め込みニューラルネットワーク610、テキスト埋め込みニューラルネットワーク620、およびマルチモーダルトランスフォーマ630を含む。その上、各時間ステップにおいて、システムは、複数の(8つの)アクションの系列と出力テキスト系列の両方を生成することができる。
【0165】
詳細には、図6に示すように、画像埋め込みニューラルネットワーク610は、次に(24×16)256次元の埋め込みベクトルに平坦化される24×16×256の特徴マップを生成する、ResNetである。
【0166】
テキスト埋め込みニューラルネットワーク620は、入力自然言語テキスト文字列をトークン化するとともに、学習済みの埋め込みテーブルを使用してテキスト埋め込みの系列の中に埋め込む。
【0167】
マルチモーダルトランスフォーマ630への入力は、画像埋め込み、テキスト埋め込み、および2つの専用埋め込みを含む。マルチモーダルトランスフォーマは、その各々が512次元の埋め込みを使用する4つのセルフアテンション層を用いて、これらの入力に対して動作する。上記で説明したように、画像埋め込みは、キーKおよびバリューVのみを提供するが、テキスト埋め込みおよび専用埋め込みは、キーK、バリューV、およびクエリQを提供する。セルフアテンション層の後、マルチモーダルトランスフォーマ630は、集約型埋め込み(「符号化表現」)を生成するために、得られたテキスト埋め込みと専用埋め込みとを集約する。
【0168】
集約型埋め込みが生成された後、メモリニューラルネットワーク640(図6の例では、4つの層を有し1024次元のベクトルを使用するLSTMニューラルネットワーク)は、集約型埋め込みから状態表現を生成する。
【0169】
状態表現は、次いで、ポリシーニューラルネットワーク(「階層移動ポリシー」)650および言語生成ニューラルネットワーク(「言語ポリシー」)660に提供される。
【0170】
訓練が模倣学習を使用するとき、訓練システムは、それぞれのポリシーを使用してグラウンドトゥルースアクションおよびグラウンドトゥルーステキスト出力をスコアリングするために「教師強制(teacher forcing)」を使用する。訓練の後または訓練が強化学習を使用するとき、システムは、それぞれのポリシーを使用してアクションおよびテキスト出力をサンプリングし、サンプリングされたアクション(および、テキスト出力)を使用してエージェントを制御する。
【0171】
図6からわかるように、言語生成ニューラルネットワーク660は、言語出力を生成するためのトランスフォーマ、および所与の時間ステップにおいて任意のテキストが生成されるべきかどうかを決定するためのテキスト無演算ニューラルネットワークを含む。トランスフォーマは、因果アテンション機構にキーKおよびバリューVのみを提供するために状態表現を使用する。
【0172】
また、図6からわかるように、ポリシーニューラルネットワーク650は、高レベルコントローラ670(図6の例では、単一の層および512次元のベクトルを有するLSTMニューラルネットワーク)、5つのサブアクションの各々のためのそれぞれのサブネットワーク、および時間ステップにおいて任意のアクションが実行されるべきかどうかを決定するためのテキスト無演算ニューラルネットワークを含む。
【0173】
図6はまた、訓練中の対照学習補助損失680の使用を示す。図6からわかるように、この損失に対して訓練するために、システムは、モダリティペアリングのミニバッチ、たとえば、観測画像および自然言語テキスト系列を含むペアを受信する。ミニバッチの中のペアリングのうちのいくつか(たとえば、ペアリングのうちの50%)は、サンプル内(within-sample)ペアリングであり、ミニバッチの中の他のペアリング(たとえば、ペアリングのうちの他の50%)は、交差サンプル(cross-sample)モダリティペアリングである。観測画像と自然言語テキスト系列とが対応する場合、サンプル内ペアリングは1である。観測画像と自然言語テキスト系列とが対応しない場合、交差サンプルペアリングは1である。
【0174】
システムは、符号化表現(「集約型埋め込み」)を生成するために、マルチモーダルトランスフォーマを含む知覚エンコーダを使用して各ペアリングを処理し、次いで、観測画像と自然言語テキスト系列とが対応するか否か(「一致するか」それとも「一致しないか」)を予測するために、弁別器ニューラルネットワークを使用して符号化表現を処理する。これらの予測は、次いで、弁別器ニューラルネットワークと知覚エンコーダの両方を訓練するために使用され得る。
【0175】
図7は、いくつかの数の訓練ステップが実行された後の、様々なエージェント制御タスクにおける説明する技法の様々な変形形態の性能を示す。
【0176】
詳細には、図7は、エージェントが1つまたは複数の他のエージェントからの言語的命令に従って環境の周囲を移動することを必要とする命令追従タスクにおける変形形態の性能を示す第1のプロット710、エージェントが1つまたは複数の他のエージェントからの環境についての質問に回答することを必要とする質問回答タスクにおける変形形態の性能を示す第2のプロット720、および様々な他のタスクにおける変形形態の性能を示す第3のプロット730を示す。
【0177】
詳細には、図7の中の各プロットは、成功率に換算して、対応するタスクにおいて、人間が制御するエージェント(「人間」)と比較した、説明する技法の変形形態の性能、すなわち、変形形態のための関連するニューラルネットワークが訓練された後、タスクのどんな割合のインスタンスをエージェントが首尾よく完了するのかを示す。
【0178】
図7でわかるように、変形形態のうちの1つは、マルチモーダルトランスフォーマおよび階層移動ポリシーを使用し、かつ模倣学習および補助対照表現損失を用いて訓練されている、MIA(マルチモーダルインタラクティブエージェント)である。他の変形形態のすべては、たとえば、観測画像をさらにダウンサンプリングするための、対照損失を除去するための、階層的な移動を除去するための、視覚入力(観測画像)を除去するための、言語入力を除去するためなどの、MIAエージェントの修正形態である。
【0179】
図7からわかるように、上記で説明したようにマルチモーダル入力を処理することは、言語指定型タスクにおいて本技法が高い成功率を達成することを可能にする。その上、いくつかのタスクの場合、階層的なアクション選択ポリシーを採用することは、エージェント性能を顕著に成し遂げる。同様に、いくつかのタスクの場合、対照損失を用いて訓練しないことは、著しい悪影響をエージェント性能に及ぼす。
【0180】
図8Aは、環境の中の以前には見られなかった新たな物体とどのように相互作用すべきかを学習するためにどのくらいのデータが必要とされるのかを示す。詳細には、図8Aは、「ドラムはどんな色をしているのか?」タスク(エージェントが、環境の中のドラムがどんな色をしているのかを尋ねられ、かつドラムの位置を特定するとともに位置が特定されたドラムの色を指定するテキストを出力しなければならない、タスク)に対する第1のプロット802、および「ドラムを持ち上げる」タスク(エージェントが、環境の中のドラムの位置を特定するとともにそれを持ち上げるように求められる、タスク)に対する第2のプロット804を含む。
【0181】
プロット802とプロット804の両方は、名詞「ドラム」の言及を含まない訓練データに対して、またドラムが存在しない環境の中で、(特に模倣学習および補助対照学習目的を用いて)上記で説明したように事前訓練されているエージェント806の、対応するタスクにおける性能を示す。事前訓練の後、エージェント814は、新たな物体(ドラム)が存在する様々な量の訓練データ(および随意に、元の訓練データの一部または全部)を含む追加データに対して訓練される。訓練データの様々な量がx軸上に示され、新たな物体とのエキスパートエージェントの相互作用時間に換算して表される。タスクにおける性能が、首尾よく完了されているタスクのインスタンスの割合に換算してy軸上にプロットされる。
【0182】
プロット802とプロット804の両方はまた、事前訓練されておらず、かつ新たな物体(ドラム)が存在する様々な量の訓練データ(および随意に、物体が存在しない元の訓練データの一部または全部)を含む追加データに対して最初から訓練されるエージェント808の、対応するタスクにおける性能を示す。
【0183】
図8Aからわかるように、所与の量の追加の訓練データに対して、事前訓練されたエージェント806は、事前訓練されていないエージェント808よりも著しく良好に実行し、環境の中の新たな物体と相互作用するための学習に持ち越すことができる挙動をエージェントが「学習」することを、説明する技法が可能にすることを示す。
【0184】
図8Bは、環境の中の以前には見られなかった新たなコマンドをどのように実行すべきかを学習するためにどのくらいのデータが必要とされるのかを示す。詳細には、図8Bは、「テーブルを片付ける」タスク(エージェントがすべての物体をテーブルから除去するように求められるタスク)に対する第1のプロット812、および「シェルフを片付ける」タスク(エージェントがすべての物体をシェルフから除去するように求められるタスク)に対する第2のプロット814を含む。
【0185】
プロット812とプロット814の両方は、エージェントがいかなる作業面を片付けるためのいかなる命令も含まない(したがって、「片付ける」は新たな動詞である)訓練データに対して、(特に模倣学習および補助対照学習目的を用いて)上記で説明したように事前訓練されているエージェント816の、対応するタスクにおける性能を示す。事前訓練の後、エージェント816は、新たな動詞(「片付ける」)が存在する様々な量の訓練データ(および随意に、元の訓練データの一部または全部)を含む追加データに対して訓練される。訓練データの様々な量がx軸上に示され、新たな物体とのエキスパートエージェントの相互作用時間に換算して表される。タスクにおける性能が、首尾よく完了されているタスクのインスタンスの割合に換算してy軸上にプロットされる。
【0186】
プロット812とプロット814の両方はまた、事前訓練されておらず、かつ新たな動詞(「片付ける」)が存在する様々な量の訓練データ(および随意に、その動詞が存在しない元の訓練データの一部または全部)を含む追加データに対して最初から訓練されるエージェント818の、対応するタスクにおける性能を示す。
【0187】
図8Bからわかるように、所与の量の追加の訓練データに対して、事前訓練されたエージェント816は、事前訓練されていないエージェント818よりも著しく良好に実行し、環境の中の新たなコマンドを実行するための学習に持ち越すことができる挙動をエージェントが「学習」することを、説明する技法が可能にすることを示す。
【0188】
本明細書で説明するように、トランスフォーマニューラルネットワーク(「トランスフォーマ」)は、一連のアテンションニューラルネットワーク層、実装形態では、セルフアテンションニューラルネットワーク層を有することによって特徴づけられるニューラルネットワークであってよい。トランスフォーマニューラルネットワークは、入力系列の要素ごとに、変換された入力要素を備える出力系列を生成するために、一連のアテンションニューラルネットワーク層を入力系列に適用するように構成される。アテンションニューラルネットワーク層は、入力系列(たとえば、画像データおよび/またはテキスト系列、たとえば、自然言語テキスト系列の埋め込みなどの、入力データ)の要素ごとにアテンション層入力を有し、入力系列の要素ごとにアテンション層出力を生成するためにアテンション層入力にわたってアテンション機構を適用するように構成される。アテンション層入力およびアテンション層出力は、同じ次元のベクトルを備え、アテンションニューラルネットワーク層は残差結合を有してよい。アテンション機構の出力は、1つまたは複数の全結合フィードフォワードニューラルネットワーク層によってさらに処理されてよい。
【0189】
一般に、セルフアテンションニューラルネットワークは、埋め込みの各要素を更新するために埋め込み(たとえば、入力データ)の要素にアテンション機構を適用するニューラルネットワークであり得、たとえば、ここで、クエリベクトルおよびキーバリューベクトルペアのセットを決定するために入力埋め込みが使用され(クエリキーバリューアテンション)、更新された埋め込みは、各それぞれのキーへのクエリの相似関数によって重み付けられた、バリューの加重和を備える。
【0190】
使用され得る多くの異なるアテンション機構がある。たとえば、アテンション機構は、バリューベクトルごとにそれぞれの重みを決定するためにそれぞれのキーベクトルにクエリベクトルを適用し、次いで、それぞれの重みを使用して複数のバリューベクトルを結合して入力系列の要素ごとにアテンション層出力を決定することによって適用される、内積アテンション機構であってよい。
【0191】
本開示の実装形態では、一連のアテンションニューラルネットワーク層は、異なる(学習済みの)アテンション機能を各層が適用する、異なる連続した層のトランスフォーマニューラルネットワークサブシステムを備える。しかしながら、同じアテンションニューラルネットワーク層に一連の時間が適用されてよく、たとえば、同じ(学習済みの)アテンション機能が、複数回、随意に可変の回数、適用されてよい。アテンション機構は、マルチヘッドアテンションを実施してよく、すなわち、複数の異なるアテンション機構を並行して適用してよい。複数のアテンション機構の各々は、このとき、アテンションヘッドと呼ばれることがある。これらの出力は、次いで、必要ならば元の次元数まで低減するために適用される学習済みの線形変換を用いて結合、たとえば、連結されてよい。本明細書では一般に、「学習済みの」という用語は、システムの訓練中に調整されている関数または値を指す。
【0192】
いくつかの実装形態では、トランスフォーマニューラルネットワークのアテンションニューラルネットワーク層は、n個の要素の入力系列(入力埋め込み/データ)をn個の要素の出力系列にマッピングする。入力系列は、出力系列を生成するためにアテンションニューラルネットワーク層によって並行して受信および処理される。たとえば、最初のアテンションニューラルネットワーク層の後の各アテンションニューラルネットワーク層は、隠れ状態を含むアテンション層入力を有してよく、次のアテンションニューラルネットワーク層のための、隠れ状態に対する活性化を備えるアテンション層出力を生成してよい。出力系列の要素を生成するために、最終のアテンションニューラルネットワーク層のアテンション層出力が使用されてよい。
【0193】
いくつかの実装形態では、トランスフォーマニューラルネットワークは、n個の要素の入力系列をn個の要素の中間系列にマッピングし、中間系列の要素は、次いで、出力系列を生成するために自己回帰デコーダによって一度に1つ処理される。
【0194】
観測画像は、たとえば、カメラまたは他の画像センサ、たとえば、LIDARセンサから取得される(本明細書で使用するとき、「画像」は点群を含む)。カメラまたは他の画像センサは、エージェント上に搭載されてよく、または環境の中のエージェントとは別々に配置されてもよい。観測はまた、物体位置データ、距離センサもしくは位置センサからのデータ、アクチュエータからのデータ、またはモーター電流もしくは温度信号などの感知された電子信号などの、他のセンサデータを含んでよい。ロボットの場合には、観測はまた、ロボットの現在の状態を特徴づけるデータ、たとえば、関節位置、関節速度、関節力、トルクまたは加速度、たとえば、重力補償型トルクフィードバック、およびロボットによって保持される部材またはエージェントの1つまたは複数の部分の大域的または相対的な姿勢のうちの、1つまたは複数を含んでよい。随意に、説明する実装形態のうちのいずれかにおいて、任意の所与の時間ステップにおける観測は、環境を特徴づける際に有益であり得る、以前の時間ステップからのデータを含んでよい。
【0195】
一般に、環境は現実世界の環境を備えてよく、各観測画像は現実世界の環境を特徴づけてよく、かつ/またはエージェントは、現実世界の環境と相互作用する機械式エージェントであってよい。環境は、たとえば、拡張現実(augmented reality)適用例または拡張現実(extended reality)適用例の場合には、現実世界の環境とシミュレートされる環境の両方を同時に備えてよい。
【0196】
本明細書で説明するような知覚エンコーダによって出力される符号化表現は、異なる時間ステップにおける環境の状態を観測画像が特徴づけること、および自然言語テキスト系列が環境を特徴づけることを伴う、いくつかの異なる適用例のために使用されてよい。いくつかの実装形態では、本明細書で説明するような知覚エンコーダニューラルネットワークを訓練する方法が実行された後、訓練された知覚エンコーダニューラルネットワークによって出力される符号化表現は、現実世界の環境と相互作用する、機械式エージェントを制御するために、たとえば、知覚エンコーダニューラルネットワークによって出力される1つまたは複数の符号化表現を使用して現実世界の環境の中で機械式エージェントが実行するための1つまたは複数のアクションを選択するために、使用されてよい。知覚エンコーダニューラルネットワークは、たとえば、現実世界の環境および/またはシミュレートされる環境を特徴づける観測画像を使用して訓練されてよい。シミュレートされる環境は、現実世界の環境内の1つまたは複数の物体を特徴づけるデータなどの、現実世界の環境を特徴づける、センサデータから導出されるパラメータ、たとえば、現実世界の環境の中の1つまたは複数の物体のそれぞれの位置および/または速度を使用して構成されてよい。符号化表現は、代替または追加として、他のタスク、たとえば、画像処理タスクを実行するために使用されてよい。たとえば、符号化表現は、環境の中の1つまたは複数の物体および/または話し手を認識または識別することなどの、分類タスクを実行するために使用されてよい。代替または追加として、符号化表現は、たとえば、医療イメージングまたは自律運転の目的のために、現実の単語のシーンを特徴づける観測画像を複数の画像セグメントに区分することなどの、観測画像のための物体セグメント化またはシーン分解タスクを実行するために使用されてよい。
【0197】
実装形態では、自然言語テキスト系列は、自然言語テキスト系列入力インターフェース、ユーザによって行われた可聴発話を転記するように構成されたそのようなコンピュータキーボードまたは転写デバイスを通じて、ユーザによって提供されてよい。
【0198】
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが、特定の動作またはアクションを実行するように構成されることとは、動作においてシステムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システムがその上にインストールしていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されることとは、データ処理装置によって実行されたとき、装置に動作またはアクションを実行させる命令を、1つまたは複数のプログラムが含むことを意味する。
【0199】
本明細書で説明する主題の実施形態および機能動作は、デジタル電子回路構成で、有形に具現されたコンピュータソフトウェアもしくはファームウェアで、本明細書において開示する構造およびそれらの構造的均等物を含むコンピュータハードウェアで、またはそれらのうちの1つまたは複数の組合せで実施され得る。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置が実行するための、またはデータ処理装置の動作を制御するための、有形非一時的記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであり得る。代替または追加として、プログラム命令は、データ処理装置が実行するための好適な受信機装置への送信のための情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号において符号化され得る。
【0200】
「データ処理装置」という用語はデータ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であり得るか、またはそれらをさらに含む。装置は、随意に、ハードウェアに加えて、コンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。
【0201】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることもあり、またはそのように説明されることもある、コンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとしてを含む、任意の形式で展開され得る。プログラムは、ファイルシステムの中のファイルに対応してよいが、必須ではない。プログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語文書の中に記憶された1つもしくは複数のスクリプトを保持するファイルの一部分の中に、当該のプログラムに専用の単一のファイルの中に、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルの中に、記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するかもしくは複数のサイトにわたって分散されデータ通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように、展開され得る。
【0202】
本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされている、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用される。一般に、エンジンは、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装される。いくつかの場合には、1つまたは複数のコンピュータは特定のエンジンに専用であり、他の場合には、複数のエンジンは、同じコンピュータまたは複数のコンピュータ上でインストールされること、および実行していることが可能である。
【0203】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作するとともに出力を生成することによって機能を実行するために、1つまたは複数のプログラマブルコンピュータが1つまたは複数のコンピュータプログラムを実行することによって実行され得る。プロセスおよび論理フローはまた、専用論理回路構成、たとえば、FPGAもしくはASICによって、または専用論理回路構成と1つまたは複数のプログラムされたコンピュータとの組合せによって、実行され得る。
【0204】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたはその両方、あるいは任意の他の種類の中央処理ユニットに基づくことができる。一般に、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行(perform)または実行(execute)するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用論理回路構成によって増補され得るか、または専用論理回路構成の中に組み込まれ得る。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいはそれらからデータを受信すること、もしくはそれらにデータを転送すること、またはその両方を行うように、動作可能に結合される。ただし、コンピュータはそのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブの中に組み込まれ得る。
【0205】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
【0206】
ユーザとの相互作用を行うために、本明細書で説明する主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがそれによってコンピュータに入力を提供できるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有する、コンピュータ上で実施され得る。他の種類のデバイスが、同じくユーザとの相互作用を行うために使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスへ文書を送ること、およびそうしたデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイス上のウェブブラウザへウェブページを送ることによって、ユーザと相互作用することができる。また、コンピュータは、テキストメッセージまたは他の形式のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを動作させているスマートフォンへ送ること、および見返りにユーザから応答メッセージを受信することによって、ユーザと相互作用することができる。
【0207】
機械学習モデルを実施するためのデータ処理装置はまた、機械学習訓練または生産の、共通の計算集約的な部分、たとえば、推論、作業負荷を処理するための、たとえば、専用ハードウェアアクセラレータユニットを含むことができる。
【0208】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワークまたはJaxフレームワークを使用して実装および展開され得る。
【0209】
本明細書で説明する主題の実施形態は、たとえば、データサーバとしてのバックエンド構成要素を含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザがそれを通じて本明細書で説明する主題の実装形態と相互作用できるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータ、または1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムの中で実施され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
【0210】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いから遠隔にあり、通常は通信ネットワークを通じて相互作用する。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し互いにクライアントサーバ関係を有することによって生じる。いくつかの実施形態では、たとえば、クライアントとして働くデバイスと相互作用するユーザにデータを表示するとともにそうしたユーザからユーザ入力を受信するために、サーバは、データ、たとえば、HTMLページをユーザデバイスへ送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ相互作用の結果は、デバイスからサーバにおいて受信され得る。
【0211】
本明細書は多くの特定の実装詳細を含むが、これらは任意の発明の範囲または特許請求され得るものの範囲における限定として解釈されるべきでなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。別個の実施形態のコンテキストで本明細書で説明されるいくつかの特徴はまた、単一の実施形態における組合せで実施され得る。反対に、単一の実施形態のコンテキストで説明される様々な特徴はまた、複数の実施形態の中で別個に、または任意の好適な部分組合せで実施され得る。その上、特徴は、いくつかの組合せで機能するものとして上記で説明される場合があり、当初はそのように特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴が、場合によってはその組合せから削除されることがあり、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象とすることができる。
【0212】
同様に、動作は特定の順序で図面の中に示され特許請求の範囲の中で列挙されるが、このことは、そのような動作が図示の特定の順序もしくは連続した順序で実行されること、または望ましい結果を達成するために、図示したすべての動作が実行されることを必要とするものとして、理解されるべきでない。いくつかの環境では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきでなく、説明するプログラム構成要素およびシステムが、一般に、単一のソフトウェア製品の中で一緒に統合されること、または複数のソフトウェア製品の中にパッケージ化されることが可能であることを、理解されたい。
【0213】
本主題の特定の実施形態が説明されている。他の実施形態が以下の特許請求の範囲内に入る。たとえば、特許請求の範囲の中に列挙されるアクションは、異なる順序で実行されることが可能であり、やはり望ましい結果を達成する。一例として、添付図面の中に示されるプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または連続した順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0214】
100 アクション選択システム
104 インタラクティブエージェント
106 環境
107 他のエージェント
108 アクション
110 観測画像
122 知覚エンコーダニューラルネットワーク
124 符号化表現
126 ポリシーニューラルネットワーク
130 自然言語テキスト系列
190 訓練システム
610 画像埋め込みニューラルネットワーク
620 テキスト埋め込みニューラルネットワーク
630 マルチモーダルトランスフォーマ
640 メモリニューラルネットワーク
650 ポリシーニューラルネットワーク
660 言語生成ニューラルネットワーク
670 高レベルコントローラ
680 対照学習補助損失
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
【手続補正書】
【提出日】2024-04-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータによって実行される、環境と相互作用するエージェントを制御するための方法であって、複数の時間ステップの各々において、
前記時間ステップにおける前記環境の状態を特徴づける観測画像を受信するステップと、
前記時間ステップにおいて前記環境の中で前記エージェントによって実行されているタスクを特徴づける、前記時間ステップに対する自然言語テキスト系列を受信するステップと、
前記観測画像を表す複数の画像埋め込みを生成するために、画像埋め込みニューラルネットワークを使用して前記観測画像を処理するステップと、
前記自然言語テキスト系列を表す複数のテキスト埋め込みを生成するために、テキスト埋め込みニューラルネットワークを使用して前記自然言語テキスト系列を処理するステップと、
集約型埋め込みを生成するために、マルチモーダルトランスフォーマニューラルネットワークを使用して前記画像埋め込みおよび前記テキスト埋め込みを備える入力を処理するステップであって、前記マルチモーダルトランスフォーマニューラルネットワークが、(i)少なくとも前記複数のテキスト埋め込みに対するそれぞれの更新済みの埋め込みを生成するために少なくとも前記テキスト埋め込みおよび前記画像埋め込みにわたってセルフアテンションを適用し、(ii)前記テキスト埋め込みに対する少なくとも前記それぞれの更新済みの埋め込みから前記集約型埋め込みを生成するように構成される、ステップと、
前記観測画像に応答して前記エージェントによって実行されるべき1つまたは複数のアクションを、前記集約型埋め込みを使用して選択するステップと、
前記1つまたは複数の選択されたアクションを前記エージェントに実行させるステップと
を備える、方法。
【請求項2】
前記マルチモーダルトランスフォーマニューラルネットワークが、1つまたは複数のセルフアテンションヘッドを各々が有する1つまたは複数のセルフアテンション層を備え、セルフアテンションを適用するステップが、前記1つまたは複数のセルフアテンション層を通じて前記入力を処理するステップを備える、請求項1に記載の方法。
【請求項3】
前記マルチモーダルトランスフォーマニューラルネットワークへの前記入力が、前記画像埋め込み、前記テキスト埋め込み、および1つまたは複数の専用埋め込みを備える、請求項2に記載の方法。
【請求項4】
セルフアテンションを適用するステップが、前記画像埋め込みを更新することなく前記テキスト埋め込みおよび前記専用埋め込みに対するそれぞれの更新済みの埋め込みを生成するステップを備える、請求項3に記載の方法。
【請求項5】
各セルフアテンション層の各セルフアテンションヘッドが、
(i)前記画像埋め込みニューラルネットワークによって生成される前記画像埋め込み、ならびに(ii)前記テキスト埋め込みおよび前記専用埋め込みに対するそれぞれの現在の埋め込みを備える、ヘッド入力を受信することと、
各テキスト埋め込みおよび各専用埋め込みに対応するそれぞれのクエリを前記それぞれの現在の埋め込みから生成することと、
各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのキーを、前記画像埋め込みおよび前記それぞれの現在の埋め込みから生成することと、
各画像埋め込み、各テキスト埋め込み、および各専用埋め込みに対応するそれぞれのバリューを、前記画像埋め込みおよび前記それぞれの現在の埋め込みから生成することと、
前記画像埋め込みを更新することなく各テキスト埋め込みおよび各専用埋め込みに対するそれぞれの初期更新済み埋め込みを生成するために、前記それぞれのクエリ、キー、およびバリューにわたってクエリキーバリューアテンションを適用することと
をするように構成される、請求項3に記載の方法。
【請求項6】
前記集約型埋め込みを生成するステップが、
初期集約型埋め込みを生成するために前記テキスト埋め込みおよび前記専用埋め込みに対する前記それぞれの更新済みの埋め込みを集約するステップと、
前記集約型埋め込みを生成するために前記専用埋め込みに対する前記それぞれの更新済みの埋め込みを前記初期集約型埋め込みと結合するステップと
を備える、請求項3に記載の方法。
【請求項7】
前記結合するステップが、各専用埋め込みおよび前記初期集約型埋め込みに対する各それぞれの更新済みの埋め込みを連結するステップを備える、請求項6に記載の方法。
【請求項8】
前記観測画像に応答して前記エージェントによって実行されるべき1つまたは複数のアクションを、前記集約型埋め込みを使用して選択するステップが、
前記集約型埋め込みから状態表現を生成するステップと、
前記状態表現を使用して前記1つまたは複数のアクションを選択するステップと
を備える、請求項1に記載の方法。
【請求項9】
前記状態表現を生成するステップが、メモリニューラルネットワークを使用して前記集約型埋め込みを処理するステップを備える、請求項8に記載の方法。
【請求項10】
前記メモリニューラルネットワークがリカレントニューラルネットワークである、請求項9に記載の方法。
【請求項11】
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記状態表現を処理するステップ
をさらに備える、請求項8に記載の方法。
【請求項12】
前記自然言語テキスト系列が、前記環境の中の別のエージェントからの言語化された発話を転記することによって生成され、前記方法が、
前記時間ステップに対する前記出力テキスト系列を表す音声を生成するステップと、
前記生成された音声を前記エージェントに言語化させるステップと
をさらに備える、請求項11に記載の方法。
【請求項13】
前記時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記時間ステップに対する前記状態表現を処理するステップが、
前記時間ステップにおいてテキストが生成されるべきであることを前記表示が示すときのみ、前記出力テキスト系列を生成するステップ
を備える、請求項11に記載の方法。
【請求項14】
前記状態表現を使用して前記1つまたは複数のアクションを選択するステップが、
画像観測に応答して実行されるべき単一のアクションを選択するために、アクションポリシーニューラルネットワークを使用して前記状態表現を処理するステップを備える、請求項8に記載の方法。
【請求項15】
前記状態表現を使用して前記1つまたは複数のアクションを選択するステップが、
画像観測に応答して実行されるべき複数のアクションの系列を選択するために前記状態表現を処理するステップを備え、前記系列が、複数の位置の各々におけるそれぞれのアクションを備える、請求項8に記載の方法。
【請求項16】
前記状態表現を処理するステップが、
前記系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して前記状態表現を処理するステップと、
位置ごとに、前記系列の中の前記位置において前記エージェントによって実行されるべき前記アクションを選択するために、ポリシーニューラルネットワークを使用して前記位置に対する前記それぞれの低レベル入力を処理するステップと
を備える、請求項15に記載の方法。
【請求項17】
前記高レベルコントローラニューラルネットワークが、前記状態表現を入力として受信した後、前記系列の中の位置ごとに前記それぞれの低レベル入力を自己回帰的に生成する、請求項16に記載の方法。
【請求項18】
前記高レベルコントローラニューラルネットワークがリカレントニューラルネットワークである、請求項17に記載の方法。
【請求項19】
前記時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
前記1つまたは複数のアクションを前記エージェントに実行させるステップが、
前記時間ステップにおいてアクションが実行されるべきであることを前記表示が示すときのみ、前記アクションを前記エージェントに実行させるステップ
を備える、請求項8に記載の方法。
【請求項20】
前記自然言語テキスト系列が、前記環境の中の別のエージェントからの言語化された発話を転記することによって生成される、請求項1に記載の方法。
【請求項21】
1つまたは複数のコンピュータによって実行される、環境と相互作用するエージェントを制御するための方法であって、複数の時間ステップの各々において、
前記時間ステップにおける前記環境の状態を特徴づける、前記時間ステップに対する観測画像を受信するステップと、
前記時間ステップにおいて前記環境の中で前記エージェントによって実行されているタスクを特徴づける、前記時間ステップに対する自然言語テキスト系列を受信するステップと、
前記時間ステップに対する状態表現を生成するために前記観測画像および前記自然言語テキスト系列を処理するステップと、
前記時間ステップにおいて前記観測画像に応答して前記エージェントによって実行されるべき複数のアクションの系列を生成するステップであって、前記系列が、複数の位置の各々において前記エージェントによって実行されるべきそれぞれのアクションを備え、前記生成するステップが、
前記系列の中の位置ごとにそれぞれの低レベル入力を生成するために、高レベルコントローラニューラルネットワークを使用して前記状態表現を処理するステップ、および
位置ごとに、前記系列の中の前記位置において前記エージェントによって実行されるべき前記アクションを生成するために、アクションポリシーニューラルネットワークを使用して前記位置に対する前記それぞれの低レベル入力を処理するステップを備える、ステップと、
アクションの前記系列を前記エージェントに実行させるステップと
を備える、方法。
【請求項22】
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記時間ステップに対する前記状態表現を処理するステップ
をさらに備える、請求項21に記載の方法。
【請求項23】
前記自然言語テキスト系列が、前記環境の中の別のエージェントからの言語化された発話を転記することによって生成され、前記方法が、
前記時間ステップに対する前記出力テキスト系列を表す音声を生成するステップと、
前記生成された音声を前記エージェントに言語化させるステップと
をさらに備える、請求項22に記載の方法。
【請求項24】
前記時間ステップにおいてテキストが生成されるべきかどうかの表示を生成するために、テキスト無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
前記時間ステップに対する出力テキスト系列を生成するために、自然言語生成ニューラルネットワークを使用して前記時間ステップに対する前記状態表現を処理するステップが、
前記時間ステップにおいてテキストが生成されるべきであることを前記表示が示すときのみ、前記出力テキスト系列を生成するステップ
を備える、請求項22に記載の方法。
【請求項25】
前記時間ステップにおいて任意のアクションが実行されるべきかどうかの表示を生成するために、アクション無演算ニューラルネットワークを使用して前記状態表現を処理するステップをさらに備え、
アクションの前記系列を前記エージェントに実行させるステップが、
前記時間ステップにおいてアクションが実行されるべきであることを前記表示が示すときのみ、アクションの前記系列を前記エージェントに実行させるステップ
を備える、請求項21に記載の方法。
【請求項26】
前記高レベルコントローラニューラルネットワークが、前記状態表現を入力として受信した後、前記系列の中の位置ごとに前記それぞれの低レベル入力を自己回帰的に生成する、請求項21に記載の方法。
【請求項27】
前記アクションポリシーニューラルネットワークが、複数のサブアクションの各々のためのそれぞれのサブネットワークを備え、前記系列の中の前記位置において前記エージェントによって実行されるべき前記アクションを生成するために、アクションポリシーニューラルネットワークを使用して前記位置に対する前記それぞれの低レベル入力を処理するステップが、
前記複数のサブアクションの各々に対して、前記位置に対する前記サブアクションに対するバリューを選択するために、前記サブアクションのための前記サブネットワークを使用して前記位置に対する前記それぞれの低レベル入力を備える入力を処理するステップ
を備える、請求項21に記載の方法。
【請求項28】
前記サブアクションのうちの少なくとも1つに対して、前記入力が、前記位置における他のサブアクションのうちの1つまたは複数に対して選択された前記バリューを備える、請求項27に記載の方法。
【請求項29】
時間ステップにおける環境の状態を特徴づける観測画像、および前記環境を特徴づける自然言語テキスト系列を入力として受信し、かつ前記時間ステップに対する符号化表現を出力として生成するように構成される、知覚エンコーダニューラルネットワークを訓練する方法であって、
複数の訓練ペアを取得するステップであって、前記複数の訓練ペアが、
(i)同じ時間ステップに両方が対応する観測画像および自然言語テキスト系列を備える第1のペア、ならびに
(ii)異なる時間ステップに対応する観測画像および自然言語テキスト系列を各々が備える1つまたは複数の第2のペアを備える、ステップと、
訓練ペアごとにそれぞれの符号化表現を生成するために、前記知覚エンコーダニューラルネットワークを使用して各訓練ペアを処理するステップと、
前記符号化表現がそこから生成された前記ペアの中の前記観測画像および前記自然言語テキスト系列が同じ時間ステップに対応する可能性を表すそれぞれの弁別器スコアを訓練ペアごとに生成するために、前記それぞれの符号化表現を処理するように構成される弁別器ニューラルネットワークを使用して、訓練ペアごとに前記それぞれの符号化表現を処理するステップと、
訓練ペアごとに前記それぞれの弁別器スコアに基づく対照学習損失を使用して前記知覚エンコーダニューラルネットワークを訓練するステップと
を備える、方法。
【請求項30】
前記知覚エンコーダニューラルネットワークが、請求項1から28のいずれか一項に記載のテキスト埋め込みニューラルネットワーク、画像埋め込みニューラルネットワーク、およびマルチモーダルトランスフォーマニューラルネットワークを含み、前記符号化表現が、前記マルチモーダルトランスフォーマニューラルネットワークによって生成される前記集約型埋め込みである、請求項29に記載の方法。
【請求項31】
前記対照学習損失が、前記第2のペアがより小さくなるように前記それぞれの弁別器スコアを促しながら、前記第1のペアがより大きくなるように前記それぞれの弁別器スコアを促す、請求項29に記載の方法。
【請求項32】
前記弁別器ニューラルネットワークが、対応する前記訓練ペアに対する前記それぞれの弁別器スコアを生成するために各符号化表現を独立して処理するフィードフォワードニューラルネットワークである、請求項29に記載の方法。
【請求項33】
アクション系列の中の1つまたは複数の位置の各々に対するアクションのセットにわたるそれぞれの確率分布を、第1の訓練ペアに対する前記符号化表現から、少なくともポリシーニューラルネットワークを使用して生成するステップと、
前記1つまたは複数の位置の各々においてエキスパートエージェントによって実行されるそれぞれのグラウンドトゥルースアクションを指定するデータを取得するステップと、
前記位置に対する前記確率分布によって前記位置における前記グラウンドトゥルースアクションに割り当てられる確率を、前記アクション系列の中の位置ごとに測定する挙動クローニング損失に基づいて、少なくとも前記ポリシーニューラルネットワークおよび前記知覚エンコーダニューラルネットワークを訓練するステップと
をさらに備える、請求項29に記載の方法。
【請求項34】
第1の訓練ペアに対して、前記第1の訓練ペアに対する前記それぞれの弁別器スコアと、前記ペアの中の前記観測画像およびテキスト系列が同じ時間ステップに対応することを示す第1のスコアとの間の誤差、ならびに各第2の訓練ペアに対して、前記第2の訓練ペアに対する前記それぞれの弁別器スコアと、前記ペアの中の前記観測画像および前記テキスト系列が同じ時間ステップに対応しないことを示す第2のスコアとの間の誤差を測定する目的関数に対して、前記弁別器ニューラルネットワークを訓練するステップ
をさらに備える、請求項29に記載の方法。
【請求項35】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されたとき、請求項1から34のいずれか一項に記載のそれぞれの方法を前記1つまたは複数のコンピュータに実行させる命令を記憶する1つまたは複数の記憶デバイスとを備える、システム。
【請求項36】
1つまたは複数のコンピュータによって実行されたとき、請求項1から34のいずれか一項に記載のそれぞれの方法を前記1つまたは複数のコンピュータに実行させる命令を記憶する、1つまたは複数のコンピュータ可読記憶媒体。
【国際調査報告】