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

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

▶ セールスフォース ドット コム インコーポレイティッドの特許一覧

特表2022-524331効率的なオフポリシクレジット割当て
<>
  • 特表-効率的なオフポリシクレジット割当て 図1
  • 特表-効率的なオフポリシクレジット割当て 図2
  • 特表-効率的なオフポリシクレジット割当て 図3
  • 特表-効率的なオフポリシクレジット割当て 図4
  • 特表-効率的なオフポリシクレジット割当て 図5
  • 特表-効率的なオフポリシクレジット割当て 図6
  • 特表-効率的なオフポリシクレジット割当て 図7
  • 特表-効率的なオフポリシクレジット割当て 図8
  • 特表-効率的なオフポリシクレジット割当て 図9
  • 特表-効率的なオフポリシクレジット割当て 図10
  • 特表-効率的なオフポリシクレジット割当て 図11
  • 特表-効率的なオフポリシクレジット割当て 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-02
(54)【発明の名称】効率的なオフポリシクレジット割当て
(51)【国際特許分類】
   G06N 3/08 20060101AFI20220422BHJP
【FI】
G06N3/08 140
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021552580
(86)(22)【出願日】2020-02-24
(85)【翻訳文提出日】2021-10-18
(86)【国際出願番号】 US2020019493
(87)【国際公開番号】W WO2020180522
(87)【国際公開日】2020-09-10
(31)【優先権主張番号】62/813,937
(32)【優先日】2019-03-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/849,007
(32)【優先日】2019-05-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/852,258
(32)【優先日】2019-05-23
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/653,890
(32)【優先日】2019-10-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】506332063
【氏名又は名称】セールスフォース ドット コム インコーポレイティッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リウ,ハオ
(72)【発明者】
【氏名】ソシエール,リチャード
(72)【発明者】
【氏名】ション,ツァイミン
(57)【要約】
強化学習における効率的なオフポリシクレジット割当て(ECA)のためのシステムおよび方法が提供される。ECAは、オフポリシサンプルに対して原則的なクレジット割当てを可能し、従って、サンプルの効率性および漸近的なパフォーマンスを改善する。ECAの1つの態様は、近似的推論として期待されるリターンの最適化を定式化することである。ここで、ポリシは、学習された事前分布を近似し、それは、オフポリシサンプルを利用する原則的な方法を導く。他の特徴も、また、提供される。
【特許請求の範囲】
【請求項1】
強化学習における効率的なオフポリシクレジット割当ての方法であって、
学習モデルを実装している1つ以上のエージェントからサンプル結果を受信するステップであり、各サンプル結果は成功または失敗のいずれかである、ステップと、
前記サンプル結果から学習された先の分布を計算するステップと、
前記学習された先の分布を使用して、1つ以上の適応重み付けを計算するステップと、
前記1つ以上の適応重み付けを使用して、勾配の推定値を生成するステップと、
推定された前記勾配を使用して、前記学習モデルについてポリシを更新するステップと、
を含む、方法。
【請求項2】
前記1つ以上の適応重み付けを計算するステップは、
高リワード結果クレジットおよびゼロリワード結果クレジットのうち少なくとも1つを生成するステップ、を含む、
請求項1に記載の方法。
【請求項3】
勾配の推定値を生成するステップは、
高リワードなスコア関数の勾配を生成するステップ、を含み、成功したサンプル結果を重み付けするために前記高リワードな結果のクレジットを使用する、
請求項2に記載の方法。
【請求項4】
勾配の推定値を生成するステップは、
ゼロリワードなスコア関数の勾配を生成するステップ、を含み、不成功なサンプル結果を重み付けするために前記ゼロリワードな結果のクレジットを使用する、
請求項2または3に記載の方法。
【請求項5】
前記学習モデルは、セマンティック解析のタスクに適用される、
請求項1乃至4いずれか一項に記載の方法。
【請求項6】
前記サンプル結果は、自然言語命令テキストに基づいて前記学習モデルによって生成される実行可能ソフトウェアコードに対応する、
請求項1乃至5いずれか一項に記載の方法。
【請求項7】
強化学習における効率的なオフポリシクレジット割当てのためのシステムであって、
マシン実行可能コードを保管するメモリと、
前記メモリに結合された1つ以上のプロセッサと、含み、
前記1つ以上のプロセッサは、前記マシン実行可能コードを実行して、
学習モデルを実装している1つ以上のエージェントからサンプル結果を受信し、各サンプル結果は成功または失敗のいずれかであり、
前記サンプル結果から学習された先の分布を計算し、
前記学習された先の分布を使用して、1つ以上の適応重み付けを計算し、
前記1つ以上の適応重み付けを使用して、勾配の推定値を生成し、かつ、
推定された前記勾配を使用して、前記学習モデルについてポリシを更新する、
ように構成可能である、
システム。
【請求項8】
前記1つ以上のプロセッサは、
高リワード結果クレジットおよびゼロリワード結果クレジットのうち少なくとも1つを生成する、ように構成可能である、
請求項7に記載のシステム。
【請求項9】
前記1つ以上のプロセッサは、
高リワードなスコア関数の勾配を生成する、ように構成可能であり、成功したサンプル結果を重み付けするために前記高リワードな結果のクレジットを使用する、
請求項8に記載のシステム。
【請求項10】
前記1つ以上のプロセッサは、
ゼロリワードなスコア関数の勾配を生成する、ように構成可能であり、不成功なサンプル結果を重み付けするために前記ゼロリワードな結果のクレジットを使用する、
請求項8または9に記載のシステム。
【請求項11】
前記学習モデルは、セマンティック解析のタスクに適用される、
請求項7乃至10いずれか一項に記載のシステム。
【請求項12】
前記サンプル結果は、自然言語命令テキストに基づいて前記学習モデルによって生成される実行可能ソフトウェアコードに対応する、
請求項7乃至11いずれか一項に記載のシステム。
【請求項13】
実行可能コードを含む非一時的なマシン読取り可能媒体であって、コンピュータに関連する1つ以上のプロセッサによってコードが実行されると、強化学習における効率的なオフポリシクレジット割当ての方法を前記1つ以上のプロセッサに実行させるように適用されており、前記方法は、
学習モデルを実装している1つ以上のエージェントからサンプル結果を受信するステップであり、各サンプル結果は成功または失敗のいずれかである、ステップと、
前記サンプル結果から学習された先の分布を計算するステップと、
前記学習された先の分布を使用して、1つ以上の適応重み付けを計算するステップと、
前記1つ以上の適応重み付けを使用して、勾配の推定値を生成するステップと、
推定された前記勾配を使用して、前記学習モデルについてポリシを更新するステップと、
を含む、
非一時的なマシン読取り可能媒体。
【請求項14】
前記1つ以上の適応重み付けを計算するステップは、
高リワード結果クレジットおよびゼロリワード結果クレジットのうち少なくとも1つを生成するステップ、を含む、
請求項13に記載の非一時的なマシン読取り可能媒体。
【請求項15】
勾配の推定値を生成するステップは、
高リワードなスコア関数の勾配を生成するステップ、を含み、成功したサンプル結果を重み付けするために前記高リワードな結果のクレジットを使用する、
請求項14に記載の非一時的なマシン読取り可能媒体。
【請求項16】
勾配の推定値を生成するステップは、
ゼロリワードなスコア関数の勾配を生成するステップ、を含み、不成功なサンプル結果を重み付けするために前記ゼロリワードな結果のクレジットを使用する、
請求項14または15に記載の非一時的なマシン読取り可能媒体。
【請求項17】
前記学習モデルは、セマンティック解析のタスクに適用される、
請求項13乃至16いずれか一項に記載の非一時的なマシン読取り可能媒体。
【請求項18】
前記サンプル結果は、自然言語命令テキストに基づいて前記学習モデルによって生成される実行可能ソフトウェアコードに対応する、
請求項13乃至17いずれか一項に記載の非一時的なマシン読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、ニューラルネットワークおよびディープラーニングモデルに関する。そして、より具体的には、効率的なオフポリシ(off-policy)クレジット割当て(credit assignment)に関する。
【0002】
関連出願
本出願は、2019年3月5日に提出された米国仮特許出願第62/813,937号、2019年5月16日に提出された米国仮特許出願第62/849,007号、2019年5月23日に提出された米国仮特許出願第62/852,258号、および、2019年10月15日に提出された米国仮特許出願第16/653,890号について優先権を主張するものであり、それらの全体が、参照によりここにおいて組み込まれている。
【0003】
著作権表示
この特許文書の開示の一部は、著作権保護の対象となる資料を含んでいる。特許文書または特許の開示は特許商標庁の特許フアイルまたは記録にあるので、そのファクシミリによる複製について著作権者は異論はないが、他の点については著作権を保持する。
【背景技術】
【0004】
背景技術のセクションで説明される技術的事項(subject matter)は、単に背景技術のセクションにおける言及の結果として、従来技術であるとみなされるべきではない。同様に、背景技術のセクションにおいて言及され、または、背景技術のセクションの技術的事項に関連する問題は、従来技術において既に認識されてきたものと仮定されるべきではない。背景技術のセクションにおける技術的事項は、単に異なるアプローチを表すだけであり、それ自体が発明であってもよい。
【0005】
ニューラルネットワークおよびディープラーニングモデルを用いて実装された、人工知能(artificial intelligence)は、人間のような正確さで実世界の情報を自動的に分析するための技術として大きな期待を示している。一般的に、そうしたニューラルネットワークおよびディープラーニングモデルは、入力情報を受け取り、そして、例えば、アクターまたはエージェントの行動を指示するために、同じ情報に基づいて予測を行う。ニューラルネットワークおよびディープラーニングモデルは、強化学習(reinforcement learning)のプロセスを通して学習することができ、そこでは、リワード(reward)の形式におけるフィードバックが、ニューラルネットワークまたは学習モデルに対して提供される。リワードにより、ニューラルネットワークおよび学習モデルは、その行動の成功または失敗を評価もしくは測定することができる。リワードが希薄な(sparse rewards)学習は、ニューラルネットワークおよびディープラーニングモデルについて、非常に困難(challenging)であり得る。
【図面の簡単な説明】
【0006】
図1図1は、いくつかの実施形態に従った、コンピューティングデバイスの簡略化された図である。
図2図2は、いくつかの実施形態に従った、効率的なオフポリシクレジット割当てを伴う強化学習のためのフレームワークの簡略化された図である。
図3図3は、いくつかの実施形態に従った、効率的なオフポリシクレジット割当てを伴う強化学習のための方法の簡略化された図である。
図4図4は、いくつかの実施形態に従った、勾配推定(gradient estimation)のための方法の簡略化された図である。
図5図5は、いくつかの実施形態に従った、ポリシを更新するための方法の簡略化された図である。
図6図6は、いくつかの実施形態に従った、学習された事前および適応重み付けを用いた効率的なクレジット割当てのためのアルゴリズムを示している。
図7図7は、いくつかの実施形態に従った、系統的探索のためのアルゴリズムを示している。
図8図8は、いくつかの実施形態に従った、適応重み付け(adaptive weights)のためのアルゴリズムを示している。
図9図9は、いくつかの実施形態に従った、学習された事前のアルゴリズムを示している。
図10図10は、強化学習のための効率的なオフポリシクレジット割当てが適用され得る、タスクの例を示している。
図11図11は、いくつかの実施形態に従った、他のアプローチと比較したECAモデルの例示的な結果を示している。
図12図12は、いくつかの実施形態に従った、ECAまたは他のアプローチで訓練されたモデルを使用して、自然言語のクエリから生成されたプログラムの例を示している。
【0007】
図面において、同一の呼称を有する要素は、同一又は類似の機能を有している。
【発明を実施するための形態】
【0008】
この明細書および添付の図面は、態様、実施形態、実装、または適用を説明するものであり、請求項が定める保護される発明を限定するものと解釈されるべきではない。種々の機械的、組成的、構造的、電気的、および動作的の変更は、この明細書および特許請求の範囲の精神および範囲から逸脱することなく行うことができる。いくつかの例においては、周知の回路、構造、または技術は、当業者にとって周知であるので、詳細には示されておらず、また、説明されていない。2つ以上の図における類似の数字は、同じまたは類似の要素を表している。
【0009】
この明細書では、本開示と一貫性のあるいくつかの実施形態を説明する特定の詳細が明らかにされる。実施形態の完全な理解を提供するために、多数の具体的な詳細が明らかにされている。しかしながら、いくつかの実施形態は、これらの特定な詳細の一部または全部なしに実施され得ることが、当業者にとって明らかだろう。ここにおいて開示される特定の実施形態は、例示的であるが、限定的ではないことを意味する。当業者であれば、ここにおいて具体的に記載されていないが、本開示の範囲および精神の範囲内にある他の要素を認識することができる。加えて、不必要な繰り返しを避けるために、1つの実施形態に関連して示され、かつ、説明される1つ以上の特徴は、そうでないものと特に説明されないか、または、1つ以上の特徴が実施形態を非機能的にするであろう場合には、他の実施形態に組み込むことができる。
【0010】
概要
ニューラルネットワークおよびディープラーニングモデルは、たとえば、強化学習のプロセスを通して学習することができる。強化学習は、多数の状態-動作(state-action)ペアに関して、リワードの複雑な確率分布をモデル化するように試みる。強化学習において、エージェントまたはアクターは、状態-動作ペアのシーケンスを介して実行される。ニューラルネットワークまたはモデルは、結果として生じるリワードを観察し、そして、現在の状態に基づいてエージェントがとるべき最善の行動を正確に予測するまで、それらのリワードに対するその予測を適応または修正する。リワードとは、ニューラルネットワークまたは学習モデルが、エージェントの動作の成功または失敗を評価または測定するために受け取るフィードバックである。
【0011】
ポリシは、ニューラルネットワークまたは学習モデルがエージェントの次の動作を決定するために採用する戦略(strategy)である。言い換えれば、ポリシはエージェントが特定の状態からどのように動作するかを定義する。強化学習のための全てのアルゴリズムは、各状態でどの動作を実行するかを決定するために、いくつかのポリシに従う必要がある。現在のポリシを考慮する学習アルゴリズム、またはその一部は、オンポリシ(on-policy)のラーナーと見なされる。対照的に、オフポリシ(off-policy)のラーナーは現在のポリシ以外の何かに基づいて学習する。
【0012】
ポリシ最適化は、例えば、ロボット学習、プログラム合成、アーキテクチャ探索、および会話ダイアログといった設定または応用において、ニューラルネットワークまたは学習モデルの性能を改善するために使用することができる。これにもかかわらず、ポリシ最適化は、依然として、ポリシ最適化を導くために注意深くリワード機能を形成する必要性にしばしば悩まされ、これは、ドメイン固有の知識が必要とされることを意味している。この問題を緩和するために、最近、スパース・リワード(sparse reward)ロボット制御および弱教師あり(weakly-supervised)のセマンティック解析を含む種々のアプリケーション領域における、成功したタスク完了を示すバイナリ信号、または、他の不定形(unshaped)な、スパース・リワード信号から学ぶことができる、ポリシ最適化アルゴリズムの開発に関心が高まっている。オフポリシサンプル(off-policy samples)を利用することは学習に役立つ可能性がある一方で、オフポリシサンプルを効率的に利用することは依然として課題であり、これは、サンプル効率の低下を導き、そして、さらなる適用を妨げる。また、既存のクレジット割当て(credit assignment)方法がどのように相互に関連しているかについても、不明確なままである。
【0013】
いくつかの実施態様に従って、本開示は、強化学習における効率的なオフポリシクレジット割当て(efficient off-policy credit assignment、ECA)のためのシステムおよび方法を提供する。ECAは、離散動作(discrete actions)を伴う決定論的な環境における失敗サンプルに対する原理的なクレジット割当てを可能にし、そして、従って、サンプル効率および漸近的(asymptotic)パフォーマンスを改善する。いくつかの実施形態における、1つの態様は、近似的推論(approximate inference)として期待されるリターンの最適化を定式化することであり、ここで、ポリシは、学習された事前分布を近似するように訓練されている。このようにして、オフポリシサンプルは、ポリシ勾配(policy gradient)を行うときに、成功したサンプルのみを使用することの代わりに、確定的な環境において相違(divergence)を近似するために使用することができる。このことは、より高いサンプル効率を提供し、または、導くものである。ECAは、以前のクレジット割当て方法を一般化することができる。
【0014】
いくつかの例において、ECAは、自然言語からの弱教師ありセマンティック解析およびプログラム合成の適用において使用され、そこでは、論理形式が利用可能でなく、そして、最終的なバイナリ成功または失敗のフィードバックだけが、監督(supervision)として利用可能である。ECAは、このコンテキストにおいて他の方法よりも著しく優れていることが実証されている。
【0015】
ここにおいて使用されるように、用語「ネットワーク(“network”)」は、任意の人工知能ネットワークまたはシステム、ニューラルネットワークまたはシステム、及び/又は、そこで、もしくは、それと共に実施される任意の訓練または学習モデルを含む任意のハードウェアまたはソフトウェアベースのフレームワークを含み得る。
【0016】
ここにおいて使用されるように、用語「モジュール(“module”)」は、1つ以上の機能を実行するハードウェアまたはソフトウェアベースのフレームワークを含み得る。いくつかの実施形態において、モジュールは、1つ以上のニューラルネットワーク上に実装されてよい。
【0017】
コンピューティングデバイス
いくつかの実施形態に従って、本開示のシステム-種々のネットワーク、モデル、およびモジュールを含む-は、1つ以上のコンピューティングデバイスに実装することができる。
【0018】
図1は、いくつかの実施形態に従った、コンピューティングデバイス100の簡略化された図である。図1に示されるように、コンピューティングデバイス100は、メモリ120に結合されたプロセッサ110を含む。コンピューティングデバイス100の動作は、プロセッサ110によって制御される。また、コンピューティングデバイス100は、1つのプロセッサ110のみで示されているが、プロセッサ110は、コンピューティングデバイス100内の1つ以上の中央処理装置、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールド・プログラマブル・ゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィックス処理装置(GPU)などを代表するものであり得ることが理解される。コンピューティングデバイス100は、スタンドアロンのサブシステムとして、コンピューティングデバイスに追加されたボードとして、及び/又は、仮想機械として実装され得る。
【0019】
メモリ120は、コンピューティングデバイス100によって実行されるソフトウェア及び/又はコンピューティングデバイス100の動作中に使用される1つ以上のデータ構造を保管するために使用され得る。メモリ120は、1つ以上のタイプのマシンで読取り可能な媒体を含んでよい。マシンで読取り可能な媒体のいくつかの一般的な形態は、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、CD-ROM、他の任意の光学媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジ、及び/又は、プロセッサまたはコンピュータが読むように適合される任意の他の媒体を含み得る。
【0020】
プロセッサ110及び/又はメモリ120は、任意の適切な物理的配置に構成されてよい。いくつかの実施形態において、プロセッサ110及び/又はメモリ120は、同じボード、同じパッケージ(例えば、システムインパッケージ)、同じチップ(例えば、システムオンチップ)、などの上に実装されてよい。いくつかの実施形態において、プロセッサ110及び/又はメモリ120は、分散、仮想化、及び/又は、コンテナ化された計算リソースを含んでよい。そうした実施形態と一致して、プロセッサ110及び/又はメモリ120は、1つ以上のデータセンター及び/又はクラウドコンピューティング施設に配置されてよい。
【0021】
図示のように、メモリ120は、アプリケーションモジュール130、強化学習モジュール140、および、サンプルデータベース150を含んでいる。強化学習モジュール140は、効率的なオフポリシクレジット割当て(ECA)モジュール145を含む。いくつかの例において、メモリ120は、1つ以上のプロセッサ(例えば、プロセッサ110)によって実行されると、1つ以上のプロセッサが、ここにおいてさらに詳細に説明される方法を実行することができる実行可能コードを含む非一時的、有形、マシンで読取り可能な媒体を含んでよい。いくつかの例において、アプリケーションモジュール130、強化学習モジュール140、および、サンプルデータベース150は、ハードウェア、ソフトウェア、及び/又は、ハードウェアとソフトウェアの組み合わせを使用して実装することができる。
【0022】
アプリケーションモジュール130は、例えば、自然言語からのセマンティック解析およびプログラム合成といった、アプリケーションまたはタスクを実行するエージェントまたはアクターを、実装またはサポートすることができる。セマンティック解析またはプログラム合成-自然言語処理(NLP)の一形態である-は、自然言語発話から実行可能プログラムへのマッピングである。アプリケーションモジュール130によって実行または提供されるタスクまたはアプリケーションについて、コンピューティングデバイス100は、入力データ160を受信する。セマンティック解析の適用のために、例えば、入力データ140は、自然言語命令テキストを含んでよい。自然言語命令テキストは、コンピュータ上で実行される関数、ルーチン、または演算に関連する自然言語形式の1つ以上の発話(utterance)またはテキストを含み得る。この場合、アプリケーションモジュール130は、ソフトウェアコード、ルーチン、コンピュータ上で実行または実施例され、機能、ルーチン、または演算を実行することができるプログラムのためのプロセスをマップまたは生成するために、自然言語命令テキスト上で動作し、または処理することができるセマンティック解析を実装または提供することができる。いくつかの例において、アプリケーションモジュール130のセマンティック解析は、SQL、Python、またはソースコードといったプログラミング言語において、自然言語命令または質問xを検討し、そして、構造化クエリzにマッピングする。アプリケーションモジュール130のセマンティック解析によって生成されるソフトウェアコード、ルーチン、または処理結果は、コンピューティングデバイス100からの出力170として提供される。
【0023】
いくつかの例において、アプリケーションモジュール130のアクター(actor)またはエージェントは、弱教師ありでよい。すなわち、モジュール130は、その出力または結果を改善するために、実質的または重要な訓練例または人間の注釈者(annotator)からのフィードバックを受け取らない。弱教師ありセマンティック解析は、スパース・リワードを伴う強化学習問題として定式化できる。ここで、ポリシ0061と呼ばれるモデルは、所与のコンテキストおよびクエリに基づいてプログラムを生成し、かつ、生成されたプログラムの実行が正しい答え(つまり、「成功(“successful”)」プログラム)を与えるか否かに関するスパース・フィードバックを受け取り、そして、ゴールは、期待されるリワードを最大化し、かつ、新しいコンテキストに一般化するポリシπを学習することである。離散動作を伴う決定論的環境におけるスパース・リワードによる学習は、困難であるが、組合せ最適化とセマンティック解析において重要である。
【0024】
強化学習モジュール140は、ポリシπの調整または最適化を含むアプリケーションモジュール130のための学習を提供またはサポートする。弱教師あり問題または問題点に対処するために、強化学習モジュール145は、強化学習の過程において、効率的なオフポリシクレジット割当てを提供またはサポートする。効率的なオフポリシクレジット割当てモジュール145は、ポリシが学習した事前分布を近似する場合に、オフポリシサンプルを利用し、近似的推論としての期待されるリターンの最適化を定式化する原理的な方法を提供する。このことは、サンプルの効率性と漸近的なパフォーマンスを改善する。効率的なオフポリシクレジット割当ては、以前のクレジット割当て方法を厳密に一般化することを導く。効率的なオフポリシクレジット割当てアプローチは、モデル自体がターゲット配分をカバーし、不確実性を考慮に入れることを奨励する。いくつかの例において、効率的なオフポリシクレジット割当てアプローチの有効性が、自然言語問題からの弱教師ありセマンティック解析およびプログラム合成について実証されている。
【0025】
いくつかの実施形態において、セマンティック解析の例において、効率的なオフポリシクレジット割当てモジュール145は、モデル分布自体と結果の最適確率分布との間の相違(divergence)に基づいて、過去の経験の成功した結果(例えば、成功したプログラム)と失敗した結果(例えば、失敗したプログラム)の両方にクレジットを自動的に割り当てる。以前の結果(成功したものおよび失敗したものの両方)は、必ずしもニューラルネットワークまたはモデルの現在のポリシと関連していないため、学習した経験(過去の経験)であり、オフポリシとみなされる。従って、本開示の実施形態は、オフポリシ(過去)の経験を使用する効率的かつ原理的な方法を提供する。過去の経験の結果は、サンプルデータベース150に保管され、かつ/あるいは、検索され得る。オフポリシクレジット割当てモジュール145は、同時に正しい結果を出力する誤った結果を区別し、かつ、スパース・リワードから大きな空間を効果的に探索することが示されている。
【0026】
いくつかの実施態様において、効率的なオフポリシクレジット割当てアプローチまたはフレームワークは、エントロピー正規化を伴う強化学習を考慮または実装する。エントロピー正則化は、強化学習におけるポリシ最適化を改善するために一般的に使用されている。
【0027】
適用例-弱教師ありセマンティック解析
セマンティック解析またはプログラム合成は、人間のユーザによって成された自然言語の発話から実行可能なプログラムへのマッピングである。セマンティック解析またはプログラム合成は、例えばSQL、Python、または他のソースコードといった、プログラミング言語において、自然言語命令または質問xを構造化されたクエリzにマッピングするための学習問題を考慮する。
【0028】
セマンティック解析の統計学習に関する他の研究は、教師あり学習(supervised learning)を利用し、そこでは、訓練例として、言語発話およびプログラムのペアがパーサに提供される。しかしながら、教師あり学習は、プログラミング言語とドメイン知識の両方に精通している専門の人間のアノテータ(annotator)から大規模に訓練例を収集する必要があることが問題であり得る。これは、弱教師ありセマンティック解析に関する広範な研究をもたらした。
【0029】
ここにおいて説明されるいくつかの実施形態に従って、セマンティック解析は、弱教師あり設定において考慮されており、ここでは、訓練中にグラウンドトゥルース(ground-truth)プログラムへのアクセスが存在せず、そして、モデルは、弱いフィードバックまたはスパース・リワードから学習することが必要とされる。つまり、生成され、完了したプログラムが実行されると、エピソードの終了時にフィードバックだけが受信される。それでも、フィードバックは、範囲が限定され、タスクが成功裡に完了したか否かの単純なインジケータまたはバイナリ信号である。セマンティック解析、及びそこから得られた結果を改善するために、成功した経験と失敗した経験の両方を効果的に使用することは課題であった。
【0030】
図10は、セマンティック解析タスクの一つの例を示している。この例において、エージェントは、自然言語の質問(例えば、「どのプレイヤーが最も高いランク付けか?」)とテーブル(質問に対する多くの可能な回答(answer)を伴う)を含むコンテキストxで提示されている。エージェントは、プログラムz=(z1,z2,...,zn)を生成するように要求される。エージェントは、関連するデータテーブル上のzの実行が正しい回答y(例えば、“ニッキー・イングリッシュ”)を導く場合に、1のリワードを受け取る。モデルまたはエージェントは、所与のコンテキストで正しい回答を生成することができるプログラムを発見する必要があり、そして、見えない(unseen)コンテキストにわたり一般化する。
【0031】
強化学習は、弱教師ありセマンティック解析の状況または事例に適用され得る。弱教師ありセマンティック解析は、スパース・リワードを用いて強化学習問題として定式化され得る。ここで、モデル、ポリシと呼ばれるもの、は、所与のコンテキストおよびクエリに基づいてプログラムを生成し、そして、生成されたプログラムの実行が正しい回答を与えるか否かについてスパース・フィードバックを受け取る。エージェントの目標は、期待されるリワードを最大化し、そして、新たなコンテキストに一般化するポリシを学ぶことである。
【0032】
この問題は、遷移確率T(s’|s,z)によって定義される未知の動的環境の下で、環境状態s∈Sおよびエージェント動作(プログラム生成)z∈Zに対するマルコフ決定過程(Markov decision process)として定式化され得る。時間ステップt(zt)でのエージェントの動作は、条件付き確率分布π(zt,st)によって選択され、ポリシと呼ばれる。いくつかの実施形態において、自己回帰モデルがポリシとして使用され得る。ここで、状態stは、自然言語入力および以前のtステップの生成に基づいている。
【数1】
ここで、z<t=(z1,...、zt-1)は、プログラムzのプレフィックスを示し、x∈Xは、自然言語入力およびプログラムが実行されるインタプリタの両方を含むコンテキストを示している。そして、πθ(z|x)は、∀z∈Z: πθ(z|x)≧0、かつ、Σz∈Zπθ(z|x)=1である。リワード機能は希薄(sparse)である。例えば、出力が回答に等しい場合は1であり、そうでない場合は0であるというバイナリのリワードを定義することは当然である。このことは、エージェントは、タスクを正常に完了した場合に、エピソードの終了時にリワード1を受け取るだけであることを意味する。従って、R(z)は、プログラムが正しい回答を与えるか否かを確認するために、完全な(complete)プログラムzをインタプリタまたはデータベースFで実行することによって評価される。
【数2】
【0033】
ポリシ勾配方法(policy gradient method)では、θによってパラメータ化された候補ポリシの集合πθ(z|x)が考慮される。最適ポリシは、期待される累積リワードを最大化することによって得られる。ここで、目的は次のように表される。
【数3】
【0034】
ここでρ(x)は、xの分布を示している。式3を見積るための簡単(straightforward)な方法は、訓練データセットD={(xi,yi)}N i=1から(x,y)をサンプリングすることである。式3の勾配は、REINFORCEを用いて計算され得る(詳細は、Williams著、“Simple statistical gradient-following algorithms for connectionist reinforcement learning”、Machine Learning、8(3-4):229-256,(1992)において説明されており、参照によりここにおいて組み込まれている)。そして、モンテカルロ(Monte Carlo)サンプル使用して推定され得る。
【数4】
【0035】
残念ながら、プログラムの探索空間は非常に大きいので、ほとんどのサンプルzはリワードR(z)=0を有しており、そして、従って式4の勾配推定に貢献しない。さらに、スコア関数推定量(score function estimator)の分散は非常に高いので、少数の成功したプログラムを用いて式4の勾配を推定することは難しい。以前の方法は、成功したプログラムバッファの内側および外側の期待値の組み合わせとして勾配を推定することを提案した。しかしながら、これらの方法は、成功したプログラムのみを使用することに限定されており、そして、サンプルの高い複雑性に悩まされている。
【0036】
この課題を緩和または対処するために、いくつかの実施形態に従って、本開示のシステムおよび方法は、過去の経験における成功したプログラムおよび失敗したプログラムの両方を利用する。
【0037】
効率的なオフポリシクレジット割当て
いくつかの実施形態に従って、本開示のシステムおよび方法は、例えば、弱教師あり状況におけるセマンティック解析のために使用されるような、ニューラルネットワークエージェントまたはモデルのために、効率的なオフポリシクレジット割当てを伴う強化学習を、提供または実施する。
【0038】
システム:本開示に従って、効率的なオフポリシクレジット割当てを用いた強化学習のためのアルゴリズムまたはアプローチについて対応するシステムまたはフレームワーク200が図2に示されている。フレームワーク200は、いくつかの実施形態に従って、効率的なオフポリシクレジット割当て、例えば、弱教師ありセマンティック解析を提供する。このフレームワークは、組合せ最適化、機械翻訳、および他の決定論的環境に対して直接的に適用することができる。いくつかの実施形態において、フレームワーク200は、ニューラルネットワークモデルまたはエージェントの強化学習を提供する。いくつかの例において、フレームワーク200の一部は、図1に示されるように、コンピューティングデバイス100内に実装され得る。
【0039】
いくつかの実施形態において、フレームワーク200は、アクター-ラーナー(actor-learner)モデルとして実装され、ここでは、1つ以上のアクター210a-210cそれぞれが、1つ以上のポリシπに基づいてタスクを実行し、または、動作を起こし、そして、ニューラルネットワークモデルがアクター210の経験(成功および失敗の両方)から学習することができるように、強化学習が適用される。
【0040】
各アクター210は、アプリケーションモジュール130(図1)のインスタンスまたは実装であってよく、関連するタスクまたは動作、セマンティック解析といったものを実行する。このために、アクター210は、入力データ160として自然言語命令テキストを受け取ることができる。いくつかの例において、自然言語命令テキスト入力160は、人間のオペレータによって提供することができ、そして、コンピュータ上で実行される、機能、ルーチン、または操作に関する1つ以上の自然言語形式の発話またはテキストを含んでよい。各アクター210は、自然言語命令テキスト入力160上で動作し、実行可能なプログラムコードの予測または結果を開発、派生、または生成する。いくつかの例において、各アクター210(アプリケーションモジュール130)は、ソフトウェアコード、ルーチン、コンピュータ上で実行または実行可能なプログラムのためのプロセスをマップまたは生成するために、自然言語説明テキスト145を使用し、機能、ルーチン、または操作を実行する。いくらかのプログラムコードは成功であり、一方で、他のプログラムコードは失敗であり得る。従って、1つ以上のアクター210から受け取ったサンプルは、成功したプログラム(生成されたコードが自然言語命令テキストについて適切である場合)、および、失敗したプログラム(生成されたコードが自然言語命令テキストについて適切でない場合)の両方を含むことができる。
【0041】
フレームワーク200は、いくつかの実施形態において示されるように、高リワードプログラムバッファ220(バッファB)、および、ゼロリワードプログラムバッファ230(バッファC)を含むことができる、1つ以上のストレージ領域またはバッファを含んでいる。高リワードプログラムバッファ220は、成功したプログラム結果(successful program result)のサンプルを保管することができ、それに対して高リワードが割当てられ、または、与えられるべきである。ゼロリワードプログラムバッファ230は、失敗したプログラム結果(unsuccessful program result)のサンプルを保管することができ、それに対してゼロリワードが与えられるべきである。図1を参照すると、これらのバッファ220、230は、サンプルデータベース150に含まれ、または、実装され得る。
【0042】
いくつかの実施形態において、モデルまたはアクター210は、πθ(z|x)としてseq2seqモデル、および、成功したプログラムバッファ220(バッファB)および失敗したプログラムバッファ230(バッファC)としての2つの鍵変数メモリを使用し、または実装することができ、そして、ドメイン固有の言語インタプリタと関連し得る(より詳細は、Liang共著、“Neural symbolic machines: Learning semantic parsers on freebase with weak
Supervision“、Proceedings of the 55th Association of Computational Linguistics(Volume1:Long Papers)、pp.22-23、Association for Computational Linguistics,2017、doi:10.18653/v1/P17-1003 (2017)で説明されており、参照によりここにおいて組み込まれている)。いくつかの例において、コードは、メモリ拡張ポリシ最適化(Memory Augmented Policy Optimization、MAPO)のオープンソース実装に基づいており、それは、分散されたアクターを介してサンプリングを加速するために、分散されたアクター-ラーナー・アーキテクチャを実装する(より詳細は、Espeholt共著、”Impala:Scalable distributed deep-rl with importance weighted actor-learner architectures“、arXiv preprint arXiv:1802.01561、(2018)で説明されており、参照によりここにおいて組み込まれている)。
【0043】
図2を参照すると、フレームワーク200は、また、勾配モジュール250およびラーナーモジュール260も含んでいる。いくつかの実施形態において、勾配推定モジュール250およびラーナー(learner)モジュール260の一方または両方は、オフポリシクレジット割当てモジュール135内に実装されてよく、または、その一部であってもよい(図1)。勾配推定モジュール250は、一般的な勾配推定を生成し、または、導出する。いくつかの実施形態に従って、勾配推定モジュール250は、バッファ210および220からのサンプルを使用して、(以下で説明されるように)勾配を周期的に推定する。その結果得られる勾配は、過去の経験における成功したプログラムと失敗したプログラムに基づいて推定された勾配の加重和である。重み付け(weights)は、現在のポリシ、および、層化抽出法(stratified sampling)の下でのサンプルの可能性である、関数fに依存している。この勾配推定は、MAPO、Maximize Marginal Likelihood(MML)、反復最尤法(Iterative Maximum Likelihood、IML)、およびリワード拡張可能性(Reward Augmented Likelihood、RAML)といった、セマンティック解析における以前の方法を一般化し、それぞれが、関数fと重み付けの特定な選択を通して低減できることが実証されている。勾配推定に基づいて、ラーナーモジュール260は、ニューラルネットワークまたはモデルについてポリシπを更新する。このようにして、強化学習は、アプリケーションモジュール130(図1)に対して提供または実施される。
【0044】
方法図3は、いくつかの実施態様に従った、図2のシステムまたはフレームワーク200について対応する方法300である。方法300のプロセス310-340のうち1つ以上は、少なくとも部分的に、1つ以上のプロセッサ(例えば、プロセッサ110)によって実行されると、1つ以上のプロセッサがプロセス310-340のうち1つ以上を実行することができる、非一時的な、有形の、マシンで読取り可能な媒体に保管された実行可能コードの形態で実装されてよい。いくつかの実施形態において、方法300は、アプリケーションモジュール130の強化学習のためにオフポリシクレジット割当てモジュール145によって使用または実行される方法に対応し得る。
【0045】
プロセス310において、結果のサンプルは、1つ以上のアクター230から受信され得る(例えば、アプリケーションモジュール130を実装すること)。これらのサンプルは、例えば、アプリケーションモジュール130のセマンティック解析によって生成または出力される1つ以上の実行可能プログラムのためのソフトウェアコード、ルーチン、またはプロセスである。これらのサンプルそれぞれは、成功(例えば、生成されたプログラムが正しい結果をもたらす)、または、失敗(例えば、生成されたプログラムが誤った結果をもたらす)のいずれかであり得る。
【0046】
プロセス320において、成功したプログラムおよび失敗したプログラムのサンプルがメモリに保管される。いくつかの例において、成功したプログラムのサンプルは、高リワードプログラムバッファ220(バッファB)に保管され、そして、失敗したプログラムのサンプルは、ゼロリワードプログラムバッファ230(バッファC)に保管される。過去の経験の成功したサンプルおよび失敗したサンプルの両方は、アプリケーションモジュール130のモデルの強化学習のために使用することができる。
【0047】
プロセス330において、フレームワーク200の勾配推定モジュール250は、成功したプログラムおよび失敗したプログラムのサンプル(バッファ220および230に保管されている)に基づいて、勾配を周期的に推定する。勾配推定モジュール250は、いくつかの実施形態において、過去の経験からの重み付けされたサンプルに基づいて一般的な勾配推定を生成する、本開示の効率的なオフポリシクレジット割当てを適用する。この勾配推定値の生成は、以下でさらに詳しく説明される。勾配推定は、以前の方法を一般化し、そして、セマンティック解析におけるその有効性を経験的に実証している。
【0048】
プロセス340において、モジュール250によって生成された勾配推定を使用して、ラーナーモジュール260は、ここにおいてさらに説明されるように、ニューラルネットワークモデルまたはアクターのためのポリシを更新する。
【0049】
コンピューティングデバイス100といった、コンピューティングデバイスのいくつかの例は、1つ以上のプロセッサ(例えば、プロセッサ110)によって実行されると、1つ以上のプロセッサが方法300のプロセスを実行させ得る、実行可能コードを含む非一時的な、有形の、マシンで読取り可能な媒体を含んでよい。方法300のプロセスを含むことができるマシンで読取り可能な媒体のいくつかの一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、及び/又は、プロセッサまたはコンピュータが読み出すように適合された任意の他の媒体である。
【0050】
エントロピー正規化強化学習:いくつかの実施形態において、本開示のアルゴリズムまたはアプローチは、探索を促進するためにエントロピー正規化項(term)を利用し、または、使用する。このアプローチにおいて、エントロピー正規化(regularization)は、一般的な推論問題としてキャストされ、そこでは、ポリシ分布が、所定の発散手段(divergence measure)の下で事前分布を近似するように学習される。いくつかの例においては、近似的推論(approximate inference)を導くために、事前分布を最適化することができる。
【0051】
より一般的な最大エントロピーターゲットは、ポリシの相対エントロピーを用いて目標(objective)を拡張することによる確率的な(stochastic)ポリシを支持する。
【数5】
ここで、λは正規化重み付けであり、
【数6】
は、ポリシπθ(z|x)と、事前分布π-(z)との間の相対エントロピー正規化項である。(x,y)-Dにわたる和は、記号の簡略化のために、この説明の残りの部分では省略されている。
【0052】
補題1.式5は、以下の目標を最小化することと等価である。
【数7】
【数8】
は、値関数の「ソフトバージョン(“soft-version”)」であり、ここでは、正規化定数として機能する。式6から、分布π-(z)は、ファミリ{πθ(z|x):θ∈Θ}からのより単純な分布で近似され、ここで、Θは最適化したいパラメータである。そして、πθ(z|x)は、式1における自己回帰(autoregressive)ポリシとして表されている。
【0053】
学習された事前分布:いくつかの実施形態に従って、式3を最適化するために事前分布(prior distribution)が学習される。いくつかの実施形態において、学習された事前分布は、初期推定値として考えられ、または、機能し得る。目的または目標は、エントロピー正規化によって、ポリシが非一様な分布π-(z)に類似するように促進することであり、より重要なプログラムにより高い確率質量(probability mass)を割り当てる。基本的には、これは、以下と等価である。
【数9】
【0054】
命題1.ポリシπθ(z|x)が与えられれば,新たな事前分布π-(z)は、以下のように更新されるべきである。
【数10】
そして、式7を式6に代入することで、相互情報の正規化が導かれる。
【数11】
【0055】
命題1は、π-(z)を最適化することは相互情報の正規化と同等であると述べている。代替的に、πθ(z|x)およびπ-(z)を最適化することは、π-(z)の複雑な混合分布をもたらし、クレジット割当てについて事前分布の表現力(expressive power)を高めている。従って、式3の最適化は、次式で与えられる相互情報の正規化された期待されるリワードを最大化することになり、または、結果として生じる。
【数12】
【0056】
式9は、速度歪み理論との関係性を引き出す(例えば、Shannon著、“Coding theorems for a discrete source with a fidelity criterion”、IRE Nat.Conv.Rec,4(142-163):1 (1959)、および、Cover共著、“Elements of information theory”、John Wiley-Sons (2012)、において、より詳細に説明されており、参照により両方ともここにおいて組み込まれている)。直感的に、ポリシπθ(z|x)は、I(x;z)によって与えられる制限されたチャネル容量の下で、コンテキストxのリワード無関連(reward-irrelevant)な情報を破棄するように推奨される。このことは、広く使用されている最大化周辺尤度(Maximize Marginal Likelihood、MML)法において観察されている。目標は、θに対するJMMLを最大化することである。
【数13】
JMMLの勾配は、以下の形態を有する。
【数14】
重み付けw(z)(サンプルについて与えられるクレジットに関連し、または、対するもの)は、基本的に、プログラム空間Zにおけるπθ(z|x)の「正規化された(“normalized”)」尤度(likelihood)である。成功(高リワード)および失敗(ゼロリワード)サンプルまたはプログラムに対する適応重み付けまたはクレジットを生成するためのアルゴリズム(アルゴリズム3)が図8に示されている。定理1は、理論的な事前情報が、コンテキスト空間Xにおけるπθ(z|x)の「正規化された」尤度に類似し得ことを示している。これに関するより実証的な知見を以下に説明する。アルゴリズムを安定させるために、事前分布は、次の式に従って徐々に変化される。
【数15】
ここで、ηは、[0,1]における変化率である。アルゴリズムは、代替的に、式6を用いて、ポリシ分布πθ(z|x)を学習し、そして、式11を用いて事前分布π-(z)を更新する。式6を用いてどのようにπθ(z|x)を学習するか、次に説明される。
【0057】
学習された事前分布π-(z)に関するさらなる詳細は、いくつかの実施形態に従って、図9に示されるアルゴリズム(アルゴリズム4)において提供されている。
【0058】
一般的な勾配推定:DKLθ(z|x)||π-(z))は、変分推論(variational inference)、自然言語処理、および強化学習において広く用いられている典型的な発散手段(divergence measure)であり、しばしば、そのモード探索特性のせいでモデルの崩壊を招く。従って、直接的に式6を最適化することは、しばしば、準最適(suboptical)なモデルπθ(z|x)を与える。代替的な発散手段が、従って、検討されてよい。いくつかの実施態様において、本開示のシステムおよび方法は、π-(z)とπθ(z|x)との間の一般的なf-発散(f-divergence)を最小化することによって、この問題にアプローチしている。f-発散は、発散の広範なスペクトラム(例えば、KLおよび逆KL発散)を含み、そして、様々な設定において強力であることが示されている。
【数16】
ここで、
【数17】
は、任意の2回微分可能な凸関数である。Jensenの不等式によって、任意のpおよびqについてDF(p|q)≧0であることが示される。さらに、f(t)が、t=1で厳密に凸であれば、DF-(z)||πθ(z|x))=0は、π-(z)=πθ(z|x)であることを意味する。いくつかの実施形態においては、式12を最小化するために確率論的最適化(stochastic optimization)を用いることができ、そして、式12の勾配が、次のように与えられる。
【0059】
補題2.Fが微分可能な凸関数であり、かつ、logπθ(z|x)がθに関して微分可能であると仮定する。式12で定義されるf-発散について、
【数18】
を得る。ここで、ρf(t)=f'(t)t-f(t)である。
【0060】
式13は、πθ(z|x)とπ-(z)との間のf-発散の勾配が、ρfまたはfによって指定され得ることを示している。ここで、zは、成功または失敗のサンプル(例えば、プログラム)の両方であり、プログラムの探索空間が加算(enumerable)であり、かつ、決定論的であるという事実を利用していることに留意する。
【0061】
勾配推定のためのアルゴリズムまたはアプローチ:本開示の実施形態に従って、この勾配を推定するために、成功したプログラムまたは失敗したプログラムの両方のサンプル(学習された事前分布がそこから生成または計算され得る)を使用することができ、これにより、強化学習のための効率的なオフポリシクレジット割当てのためのアプローチを提供している。いくつかの実施形態において、アプローチは、近似的推論を導くために事前分布を最適化する。
【0062】
命題2.式13の不偏分散および低分散推定は、次式で与えられる。
【数19】
ここで、
【数20】
である。
【0063】
このことは、図4を参照してさらに説明されるように、本開示の実施形態に従った勾配推定を生成する。図4は、勾配推定のための方法400の簡略化された図である。いくつかの実施形態において、方法400は、勾配推定モジュール250(図2)によって実行または実装され得る。
【0064】
プロセス402では、成功したプログラムのサンプルを使用して(例えば、高リワードプログラムバッファ220、またはバッファBから獲得または取得されたもの)、モジュール250は、高リワードプログラムクレジットを計算し、そして、プロセス404において、モジュール250は、高リワードスコア関数グラジエントを生成する。
【数21】
【0065】
プロセス406では、失敗したプログラムのサンプルを使用して(例えば、ゼロリワードプログラムバッファ230またはバッファCから獲得または取得されたもの)、モジュール250は、ゼロリワードプログラムクレジットを計算し、そして、プロセス40において、モジュール250は、ゼロリワードスコア関数グラジエントを生成する。
【数22】
【0066】
プロセス410において、モジュール250は、クリップされた層別サンプリング重み付け(stratified sampling weights)wを生成し、そして、高リワードスコア関数勾配およびゼロリワードスコア関数勾配に適用する。重み付き関数勾配は、プロセス412において一緒に加算されて、効率的なオフポリシクレジット割当を伴う勾配推定を与える。この勾配推定は成功した軌跡(trajectories)を使用し、従って、πθ(z|x)は、それらを忘れない。勾配推定は、また、過去に失敗した軌跡も使用する。それは、サンプル効率を改善し、そして、より良い近似を導く。
【0067】
例えば、フレームワーク200の勾配推定モジュール250によって実施されるような、勾配推定のためのさらなる詳細が、図6-8で提供されている。図6は、いくつかの実施形態に従った、学習された事前および適応重み付けを用いた効率的なクレジット割当てのためのアルゴリズム(アルゴリズム1)を示している。図7は、アルゴリズム(アルゴリズム2)を示しており、アルゴリズム1において系統的探索のために採用されてよく、探索されないシーケンスを導く動作をとるポリシを実施する。図8は、オフポリシサンプルに関連する適応重み付けを生成または導出するためのアルゴリズム(アルゴリズム3)を示している。
【0068】
勾配推定モジュール250によって生成された勾配推定は、ニューラルネットワークまたはモデルのポリシπを更新するために使用され得る。図5は、いくつかの実施形態に従った、ポリシを更新するための方法500の簡略化された図である。いくつかの実施形態において、方法500は、ラーナーモジュール260(図2)によって実行または実装され得る。
【0069】
プロセス502において、ラーナーモジュール260は、勾配推定モジュール250から勾配推定を受信または取得する。プロセス504において、ラーナーモジュール260は、中央ラーナーの態様を実装する。より詳細は、参照によりここにおいて組み込まれる、Espeholt共著、2018に説明されている。プロセス506、508、および510において、ラーナーモジュール260は、ニューラルネットワークモデルについて1つ以上のポリシ(例えば、ポリシ#1、#2、...#N)を更新する。
【0070】
いくつかの実施形態に従って、勾配推定に関して、本開示のシステムおよび方法は、一般的なf-発散を最小化する。良好な探索および開発のトレードオフを達成するようにf-発散を選択する際に、いくつかの実施形態は、Wang共著、“Variation inference with tail-adaptive f-divergence”、Advances in Neural Information processing Systems、pp.5742-5752(2018)に説明されるようなアプローチに従い、それは、参照によりここにおいて組み込まれている。具体的には、{zi}がBおよびCのバッファから引きだされ、かつ、wi=π(zi|x)/π-(zi)とする。ρfθ(z|x)/π-(z))を、
w(t)=
【数23】
で与えられる近似的なテール確率(tail probability)の逆数で置き換えると、適応重み付けの対応するアルゴリズムは、図8に示されるように、アルゴリズム3にまとめられており、それは、図9に示されるように、学習された事前(learned prior)のアルゴリズム4を組み込んでいる。いくつかの例においては、スパース・リワードのポリシ勾配におけるコールドスタートの問題を克服するために、システムおよび方法は、wを所与の範囲にクリップする(例えば、詳細が、Liang共著、“Learning dependency-based compositional semantics. Computational Linguistics”、39(2):389-446(2018)に説明されており、参照によりここにおいて組み込まれている)、その結果、w=max(w,wl)かつw=min(w,wu)であり、ここで、wl≦wuである。
【0071】
式14は、MML、MAPO、RAML、IMLを含む、セマンティック解析における以前の研究を一般化しており、ここで、異なる方法は、クレジット割当ての方法に対する異なる選択に対応している。
【0072】
訓練および実験
いくつかの例において、本開示のニューラルネットワークまたはモデルは、弱教師ありセマンティック解析ベンチマークWIKITABLEQUESTIONSおよびWIKISQLといったデータセットで訓練または評価することができる。WIKITABLEQUESTIONSデータセット(詳細は、Pasupat共著、“Compositional semantic parsing on semi-structured tables”、Proceedings of the 53rd Annual Meeting of the Computational Linguistics and the 7th International Conference on Natural Language Processing(Volume 1:Long Papers)、pp.1470-1480. Association for Computational Linguistics (2015 doi: 10.3115/v1/P15-1142、において説明されており、参照によりここにおいて組み込まれている)は、Wikipediaから抽出されたテーブルから構築された2,108個のテーブルと18,496個の質問と回答のペアを含んでいる。WIKISQL-詳細は、Zhong共著、2017によりにおいて説明されており、参照によりここにおいて組み込まれている-は、データベースのための自然言語インタフェースを学習における最近の大規模なデータセットである。これは、Wikipediaから抽出された24,241個のテーブルと80,654個の質問と回答のペアを含んでいる。それは、プログラム(SQL)で注釈される。両方のデータセットにおいて、質問-回答は、訓練、評価、およびテストセットへと分割される。いくつかの例において、データセットの質問‐回答ペアは、弱教師あり訓練のために使用されている。
【0073】
いくつかの実施形態においては、テーブルをクエリ可能な有向グラフ(directed graph)へと変換するために、(上述のPasupat共著(2015)に記載されているような)構造に従う。テーブルの行(row)とセル(cell)はグラフノードに変換され、一方で、列(column)名はラベル付きの有向エッジに変換される。いくつかの実施形態においては、訓練の開始時に、ランダム初期化を伴うポリシは、成功したプログラムに対して小さな確率を割り当てる。このことは、勾配推定モデルまたはモジュール250によって実行される勾配推定の最中に、それらを無視させる。スパース・リワードポリシ勾配におけるコールドスタート問題を克服するために、バッファBにおけるプログラムの確率は、上述のようにクリップされる。いくつかの実施形態において、本開示のシステムおよび方法は、例えば、図6に示されるアルゴリズム2による系統的探索を使用し、探索されないシーケンスを導く動作をとるためのポリシを実施する。
【0074】
いくつかの実施形態において、Adamの最適化(詳細は、Kingma共著、“A method for stochastic optimization”、arXiv preprint 368 ArXiv:1412.6980(2014)、において説明されており、参照によりここにおいて組み込まれている)は、実験と訓練のために使用されている。メモリの重み付けクリッピングは、0:1である。いくつかの実施形態においては、モデルの訓練のために、ハイパーパラメータのスイープ(hyper parameter sweep)が、例えば、学習速度についてインターバル(10-4,10-2)、エントロピー正規化についてインターバル(10-4,10-1)にわたり、ランダム探索を介して実行され得る。全てのハイパーパラメータは、評価セットにおいて調整され得る。
【0075】
結果
強化学習のために効率的なオフポリシクレジット割当て(ECA)を採用しているシステムおよび方法における結果が提示され、そして、図11の表に見られるように、REINFORCE、MML、IML MAPO、およびRAMLといった、弱教師ありセマンティック解析のための他の方法またはアプローチと比較され得る。
【0076】
図11の表1は、様々なアプローチについて、WIKITABLEQUESTIONSとWIKISQLベンチマークの両方における結果を示している。サンプル効率と漸近パフォーマンスの両方に関して、より良いクレジット割当てを実行することによって、ECAが、以前の方法を顕著に改善することが、図11において分かる。比較は、適応重み付けと学習された前(learned prior、LP)の両方が有意な(significant)改善を示している。
【0077】
表2および表3は、弱教師ありセマンティック解析の結果を示している。ECAは、弱教師ありセマンティック解析のための以前のアプローチまたは方法よりも性能が優れている。表2および表3は、5件の試験の結果を平均すると、有意な改善が認められることを示している。これらの結果は、以前のクレジット割当て方法と比較したECAの有効性を実証している。
【0078】
図12は、ECAまたはMAPOで訓練されたモデルを使用して、WIKITABLE-QUESTIONS内の自然言語クエリから生成されたプログラムの例を示している。図12は、いくつかの例においては、ECAが、自然言語クエリの意味をキャプチャする正しいプログラムを生成することができ、一方で、MAPOが、間違った回答(answer)プログラムまたは偽(spurious)プログラムのいずれかを生成することを示している。
【0079】
発明の態様、実施形態、実装、または出願を説明する、この明細書および添付の図面は、限定的なものとして解釈されるべきではない。種々の機械的、組成的、構造的、電気的、および動作上の変更は、この明細書および特許請求の精神および範囲から逸脱することなく行うことができる。いくつかの例においては、本開示の実施形態を不明瞭にしないために、周知の回路、構造、または技術は、詳細に示されていないか、または、説明されていない。2つ以上の図における同じ数字は、同じまたは類似の要素を表している。
【0080】
この明細書では、本開示と矛盾しないいくつかの実施形態を説明する特定の詳細が明らかにされている。実施形態の完全な理解を提供するために、多数の具体的な詳細が説明されている。しかしながら、いくつかの実施形態が、これらの特定の詳細の一部または全部なしに実施され得ることは、当業者にとって明らかだろう。ここにおいて開示される特定の実施形態は、例示的であるが、限定的ではないことを意味する。当業者であれば、ここにおいては具体的に記載されていないが、本開示の範囲および精神内にある他の要素を認識することができる。加えて、不必要な繰り返しを避けるために、1つの実施形態に関連して示され、かつ、説明された1つ以上の特徴は、他に特に説明されないか、または、1つ以上の特徴が実施形態を非機能的にする場合でない限り、他の実施形態に組み込むことができる。
【0081】
例示的な実施形態が示され、かつ、説明されてきたが、広範囲の修正、変更、および置換が、前述の開示において考えられ、そして、いくつかの例において、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに使用され得る。当業者であれば、多くの変更、代替、および修正を認識するであろう。従って、本発明の範囲は、以降の請求項によってのみ限定されるべきであり、そして、請求項は、広く、かつ、ここにおいて開示された実施形態の範囲と一貫した方法で解釈されることが適切である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2021-10-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
強化学習における効率的なオフポリシクレジット割当ての方法であって、
学習モデルを実装している1つ以上のエージェントからサンプル結果を受信するステップであり、各サンプル結果は成功または失敗のいずれかである、ステップと、
前記サンプル結果から学習された先の分布を計算するステップと、
前記学習された先の分布を使用して、1つ以上の適応重み付けを計算するステップと、
前記1つ以上の適応重み付けを使用して、勾配の推定値を生成するステップと、
推定された前記勾配を使用して、前記学習モデルについてポリシを更新するステップと、
を含む、方法。
【請求項2】
前記1つ以上の適応重み付けを計算するステップは、
高リワード結果クレジットおよびゼロリワード結果クレジットのうち少なくとも1つを生成するステップ、を含む、
請求項1に記載の方法。
【請求項3】
勾配の推定値を生成するステップは、
高リワードなスコア関数の勾配を生成するステップ、を含み、成功したサンプル結果を重み付けするために前記高リワードな結果のクレジットを使用する、
請求項2に記載の方法。
【請求項4】
勾配の推定値を生成するステップは、
ゼロリワードなスコア関数の勾配を生成するステップ、を含み、不成功なサンプル結果を重み付けするために前記ゼロリワードな結果のクレジットを使用する、
請求項2または3に記載の方法。
【請求項5】
前記学習モデルは、セマンティック解析のタスクに適用される、
請求項1乃至4いずれか一項に記載の方法。
【請求項6】
前記サンプル結果は、自然言語命令テキストに基づいて前記学習モデルによって生成される実行可能ソフトウェアコードに対応する、
請求項1乃至5いずれか一項に記載の方法。
【請求項7】
強化学習における効率的なオフポリシクレジット割当てのためのシステムであって、
マシン実行可能コードを保管するメモリと、
前記メモリに結合された1つ以上のプロセッサと、含み、
前記1つ以上のプロセッサは、前記マシン実行可能コードを実行して、
学習モデルを実装している1つ以上のエージェントからサンプル結果を受信し、各サンプル結果は成功または失敗のいずれかであり、
前記サンプル結果から学習された先の分布を計算し、
前記学習された先の分布を使用して、1つ以上の適応重み付けを計算し、
前記1つ以上の適応重み付けを使用して、勾配の推定値を生成し、かつ、
推定された前記勾配を使用して、前記学習モデルについてポリシを更新する、
ように構成可能である、
システム。
【請求項8】
前記1つ以上のプロセッサは、
高リワード結果クレジットおよびゼロリワード結果クレジットのうち少なくとも1つを生成する、ように構成可能である、
請求項7に記載のシステム。
【請求項9】
前記1つ以上のプロセッサは、
高リワードなスコア関数の勾配を生成する、ように構成可能であり、成功したサンプル結果を重み付けするために前記高リワードな結果のクレジットを使用する、
請求項8に記載のシステム。
【請求項10】
前記1つ以上のプロセッサは、
ゼロリワードなスコア関数の勾配を生成する、ように構成可能であり、不成功なサンプル結果を重み付けするために前記ゼロリワードな結果のクレジットを使用する、
請求項8または9に記載のシステム。
【請求項11】
前記学習モデルは、セマンティック解析のタスクに適用される、
請求項7乃至10いずれか一項に記載のシステム。
【請求項12】
前記サンプル結果は、自然言語命令テキストに基づいて前記学習モデルによって生成される実行可能ソフトウェアコードに対応する、
請求項7乃至11いずれか一項に記載のシステム。
【請求項13】
実行可能コードを含む非一時的なマシン読取り可能媒体であって、コンピュータに関連する1つ以上のプロセッサによってコードが実行されると、強化学習における効率的なオフポリシクレジット割当ての方法を前記1つ以上のプロセッサに実行させるように適用されており、前記方法は、
学習モデルを実装している1つ以上のエージェントからサンプル結果を受信するステップであり、各サンプル結果は成功または失敗のいずれかである、ステップと、
前記サンプル結果から学習された先の分布を計算するステップと、
前記学習された先の分布を使用して、1つ以上の適応重み付けを計算するステップと、
前記1つ以上の適応重み付けを使用して、勾配の推定値を生成するステップと、
推定された前記勾配を使用して、前記学習モデルについてポリシを更新するステップと、
を含む、
非一時的なマシン読取り可能媒体。
【請求項14】
前記1つ以上の適応重み付けを計算するステップは、
高リワード結果クレジットおよびゼロリワード結果クレジットのうち少なくとも1つを生成するステップ、を含む、
請求項13に記載の非一時的なマシン読取り可能媒体。
【請求項15】
勾配の推定値を生成するステップは、
高リワードなスコア関数の勾配を生成するステップ、を含み、
功したサンプル結果を重み付けするために前記高リワードな結果のクレジットを使用するか、または、
不成功なサンプル結果を重み付けするために前記ゼロリワードな結果のクレジットを使用する、
請求項14に記載の非一時的なマシン読取り可能媒体。
【国際調査報告】