JP2019518273A - 深層ニューラルネットワークベースのq学習の経験メモリをプルーニングする方法及び装置 - Google Patents

深層ニューラルネットワークベースのq学習の経験メモリをプルーニングする方法及び装置 Download PDF

Info

Publication number
JP2019518273A
JP2019518273A JP2018556879A JP2018556879A JP2019518273A JP 2019518273 A JP2019518273 A JP 2019518273A JP 2018556879 A JP2018556879 A JP 2018556879A JP 2018556879 A JP2018556879 A JP 2018556879A JP 2019518273 A JP2019518273 A JP 2019518273A
Authority
JP
Japan
Prior art keywords
experience
experiences
robot
memory
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018556879A
Other languages
English (en)
Inventor
ルシウ,マシュー
Original Assignee
ニューララ インコーポレイテッド
ニューララ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ニューララ インコーポレイテッド, ニューララ インコーポレイテッド filed Critical ニューララ インコーポレイテッド
Publication of JP2019518273A publication Critical patent/JP2019518273A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Fuzzy Systems (AREA)
  • Manipulator (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

本技術は、エージェントによって新たな経験を収集することと、この新たな経験をエージェントのメモリに記憶された経験と比較することと、この比較に基づいて、新たな経験を廃棄するか又は新たな経験を用いてメモリ内の経験を上書きすることとを伴う。例えば、エージェント又は関連したプロセッサは、新たな経験が、記憶された経験とどの程度類似しているのかを判断することができる。新たな経験が過度に類似している場合、エージェントは、この新たな経験を廃棄し、そうでない場合、エージェントは、この新たな経験をメモリに記憶し、以前に記憶された経験を代わりに廃棄する。経験を収集し、これらの経験を、以前に記憶された経験に対するこれらの経験の類似性に基づいて選択的に記憶することは、技術的問題に対処し、複数の技術的改善をもたらす。例えば、メモリサイズ制約が軽減され、ニューラルネットワークによる破滅的忘却の機会が低減又は除去され、ニューラルネットワークの性能が改善される。【選択図】図7

Description

[関連出願の相互参照]
本出願は、米国特許法第119条(e)に基づき、2016年4月27日に出願され、「Methods and Apparatus for Pruning Experience Memories for Deep Neural Network-Based Q-Learning」と題する米国特許出願第62/328,344号の優先権の利益を主張する。本出願は、引用することによりその全体が本明細書の一部をなすものとする。
強化学習では、エージェントが環境とインタラクトする。その環境とのインタラクトの過程において、エージェントは経験を収集する。エージェントに関連したニューラルネットワークは、これらの経験を用いて、行動ポリシを学習することができる。すなわち、エージェントに関連したニューラルネットワーク又はエージェントを制御するニューラルネットワークは、エージェントが収集した経験を用いて、エージェントが環境においてどのように行動すべきであるのかを学習する。
過去の経験からの学習を可能にするために、エージェントは、収集された経験をローカルなメモリ又はネットワークを介して接続されたメモリに記憶する。全ての経験を記憶して、エージェントに関連したニューラルネットワークをトレーニングすることは、理論上有用であると示すことができる。しかしながら、ハードウェア制約によって、経験の全てを記憶することは、経験の数が増大するにつれて、実用的でなくなるか又は不可能にもなる。
エージェントのメモリに記憶された経験をプルーニング(pruning)することによって、経験の収集及び記憶に対する制約を軽減することができる。しかし、古い経験を先入れ先出し方式で除去する等の単純プルーニング(naive pruning)は、「破滅的忘却(catastrophic forgetting)」をもたらす可能性がある。破滅的忘却は、新たな学習がこれまでの学習を元に戻す可能性があることを意味し、バックプロパゲーションベースの学習の分散性によって引き起こされる。破滅的忘却に起因して、ニューラルネットワークがそれらの経験によって表された状況にどのように反応するのかを「忘却」しないようにするには、経験を絶え間なく再トレーニングすることが必要である。言い換えると、経験を先入れ先出し方式で除去することによって、直近の経験がニューラルネットワークにおいてより良好に表され、より古い経験ほど忘却されることになり、これによって、ニューラルネットワークは、より古い経験によって表された状況に反応することが困難になる。破滅的忘却は、新たな経験を含めた経験の完全な集合(set)を単純に再学習することによって回避することができるが、エージェントの経験の履歴全体を再学習することは、特に、急速に増大する経験の大きな集合を用いると、過度に長い時間を要し、実用的でない可能性がある。
本技術の実施の形態は、ロボットの行動を生成する方法を含む。一例示のコンピュータ実施方法は、前記ロボットの第1の経験を収集することを含む。該第1の経験は、第1の時刻における前記ロボットの第1の状態と、前記第1の時刻において前記ロボットによって取られる第1の行動と、前記第1の行動に応じて前記ロボットによって受け取られる第1の報酬と、前記第1の時刻の後の第2の時刻における前記第1の行動に応じた前記ロボットの第2の状態とを表す。前記第1の経験と複数の経験との間の類似度を求めることができる。前記複数の経験は、前記ロボットのメモリに記憶することができる。該方法は、前記第1の経験と前記複数の経験との間の前記類似度に基づいて、前記メモリ内の前記複数の経験をプルーニングして、前記メモリに記憶されるプルーニングされた複数の経験を形成することも含む。前記プルーニングされた複数の経験を用いて、前記ロボットに関連したニューラルネットワークをトレーニングすることができ、前記ニューラルネットワークを用いて、前記ロボットの第2の行動を生成することができる。
幾つかの場合には、前記プルーニングすることは、前記複数の経験における各経験について、前記第1の経験からの距離を計算することを更に含む。前記複数の経験における各経験について、前記距離と、その経験の、前記複数の経験における他の各経験からの別の距離とを比較することができる。第2の経験を前記比較に基づいて前記メモリから削除することができる。前記第2の経験は、前記第1の経験と前記複数の経験からの1つの経験とのうちの少なくとも一方とすることができる。前記第1の経験と前記複数の経験における各経験とからの前記第2の経験の前記距離がユーザ定義の閾値よりも小さい確率に基づいて、前記第2の経験を前記メモリから削除することができる。
幾つかの場合には、前記プルーニングすることは、前記第1の経験と前記複数の経験における各経験とをランク付けすることを更に含むことができる。前記第1の経験と前記複数の経験における各経験とをランク付けすることは、シナプス重みに少なくとも部分的に基づいて複数のクラスタを作成することと、前記第1の経験が前記複数のクラスタのうちの1つに適合すると判断すると、前記第1の経験を自動的に廃棄することとを含むことができる。前記第1の経験と、前記複数の経験における各経験とを符号化することができる。前記符号化された経験を前記複数のクラスタと比較することができる。
幾つかの場合には、第1の入力状態において、前記ニューラルネットワークは、前記プルーニングされた複数の経験に少なくとも部分的に基づいて出力を生成する。前記プルーニングされた複数の経験は、前記ロボットの多様な状態の集合を含むことができる。幾つかの場合には、前記ロボットの前記第2の行動を前記生成することは、前記ロボットが前記第1の状態にあると判断することと、前記第1の行動と異なるように前記第2の行動を選択することとを含むことができる。
前記方法は、前記ロボットの第2の経験を収集することも含むことができる。前記第2の経験は、前記ロボットの第2の状態と、前記第2の状態に応じて前記ロボットによって取られる前記第2の行動と、前記第2の行動に応じて前記ロボットによって受け取られる第2の報酬と、前記第2の行動に応じた前記ロボットの第3の状態とを表す。前記第2の経験と前記プルーニングされた複数の経験との間の類似度を求めることができる。前記方法は、前記第2の経験と前記プルーニングされた複数の経験との間の前記類似度に基づいて、前記メモリ内の前記プルーニングされた複数の経験をプルーニングすることも含むことができる。
ロボットの第2の行動を生成する一例示のシステムは、前記ロボットの第1の経験を収集するインタフェースを備える。該第1の経験は、第1の時刻における前記ロボットの第1の状態と、前記第1の時刻において前記ロボットによって取られる第1の行動と、前記第1の行動に応じて前記ロボットによって受け取られる第1の報酬と、前記第1の時刻の後の第2の時刻における前記第1の行動に応じた前記ロボットの第2の状態とを表す。該システムは、前記ロボットの複数の経験とプルーニングされた複数の経験とのうちの少なくとも一方を記憶するメモリも備える。該システムは、前記インタフェース及び前記メモリとデジタル通信するプロセッサも備える。前記プロセッサは、前記第1の経験と前記メモリに記憶された前記複数の経験との間の類似度を求めことができる。前記プロセッサは、前記第1の経験と前記複数の経験との間の前記類似度に基づいて、前記メモリ内の前記複数の経験をプルーニングして、前記プルーニングされた複数の経験を形成することができる。前記メモリは、前記プルーニングされた複数の経験を記憶するように前記プロセッサによって更新することができる。前記プロセッサは、前記プルーニングされた複数の経験を用いて、前記ロボットに関連したニューラルネットワークをトレーニングすることができる。前記プロセッサは、前記ニューラルネットワークを用いて前記ロボットの前記第2の行動を生成することができる。
幾つかの場合には、前記システムは、前記第2の行動を前記ロボットに送信する、前記プロセッサ及び前記ロボットとデジタル通信するクラウドブレインを更に備えることができる。
幾つかの場合には、前記プロセッサは、前記複数の経験における各経験について、前記第1の経験からの距離を計算するように構成されている。前記プロセッサは、前記複数の経験における各経験について、前記距離と、その経験の、前記複数の経験における他の各経験からの別の距離とを比較することができる。第2の経験を、前記比較に基づいて前記プロセッサを介して前記メモリから削除することができる。前記第2の経験は、前記第1の経験と前記複数の経験からの1つの経験とのうちの少なくとも一方とすることができる。前記プロセッサは、前記第1の経験と前記複数の経験における各経験とからの前記第2の経験の前記距離がユーザ定義の閾値よりも小さい確率決定に基づいて、前記第2の経験を前記メモリから削除するように構成することができる。
前記プロセッサは、前記第1の経験と前記複数の経験における各経験とをランク付けすることに基づいて、前記メモリをプルーニングするように構成することもできる。前記プロセッサは、シナプス重みに少なくとも部分的に基づいて複数のクラスタを作成し、前記複数のクラスタに基づいて、前記第1の経験及び前記複数の経験をランク付けし、前記第1の経験が前記複数のクラスタのうちの1つに適合すると判断すると、前記第1の経験を自動的に廃棄することができる。前記プロセッサは、前記複数の経験における各経験を符号化し、前記第1の経験を符号化し、前記符号化された経験を前記複数のクラスタと比較することができる。幾つかの場合には、第1の入力状態において、前記ニューラルネットワークは、前記プルーニングされた複数の経験に少なくとも部分的に基づいて出力を生成することができる。
メモリを更新する一例示のコンピュータ実施方法は、コンピュータベースのアプリケーションから新たな経験を受信することを含む。前記メモリは、コンピュータベースのアプリケーションから受信される複数の経験を記憶する。該方法は、前記新たな経験と前記複数の経験との間の類似度を求めることも含む。前記新たな経験は、前記類似度に基づいて追加することができる。前記類似度に基づいて、前記新たな経験と前記複数の経験からの1つの経験とのうちの少なくとも一方を削除することができる。該方法は、前記複数の経験の更新されたものを前記コンピュータベースのアプリケーションに送信することを含む。
本技術の実施の形態は、経験再生を用いる深層強化学習システムにおけるサンプルキュー管理を改善して、それらの学習を増強する方法を含む。より詳細には、本技術は、ニューラルネットワーク、深層ネットワークを効率的かつ効果的にトレーニングすることと、一般に、自律走行車、ドローン、又は他のロボットをリアルタイムに制御する分散連立方程式を並列に学習することを最適化することとを伴う。
他の技術と比較すると、本技術は、そのようなシステムにおいて強化学習における収束を高速化及び改善することができる。すなわち、経験キューのサイズが減少するので、収束をより高速化及び改善することができる。より詳細には、本技術は、いわゆる「経験再生」中にシステムに対して再生するデータサンプルをより良好に選択するニューラルネットワーク及び深層ネットワークシステムにおける経験再生のためのキューのサンプリングを伴う。本技術は、これらに限定されるものではないが、自動運転車、ドローン、地上ロボット、及び水中ロボット、又はオンラインリアルタイム強化学習を制御する任意のリソース制限デバイスにおけるムーブメント、モータ、及びステアリングコマンドを制御するニューラルネットワークシステムに有用である。
上述した概念とより詳細に後述する更なる概念との全ての組み合わせ(こうした概念が相互に矛盾しない場合)は、本明細書に開示する発明の主題の一部であるものとして企図されることが理解されるべきである。特に、本開示の最後に現れる請求項に係る主題の全ての組み合わせが、本明細書に開示する発明の主題の一部であるものとして企図される。また、引用することにより本明細書の一部をなすものとする任意の開示にも表れる可能性がある、本明細書において明示的に採用する用語は、本明細書に開示する特定の概念と最も一貫する意味が与えられるべきであることも理解されるべきである。
当業者であれば、図面が主として例示を目的としたものであり、本明細書に記載された本発明の主題の範囲を限定することを意図するものではないことを理解するであろう。図面は、必ずしも一律の縮尺ではない。幾つかの場合には、本明細書に開示された本発明の主題の様々な態様は、種々の特徴の理解を容易にするために、図面において誇張又は拡大されて示される場合がある。図面において、同様の参照符号は、一般に、同様の特徴部(例えば、機能的及び/又は構造的に類似した要素)を参照する。
エージェントの経験を形成する行動、状態、反応、及び報酬を示すフロー図である。 例えば、エージェントの貪欲行動ポリシに用いられるフィードフォワードモードで動作するニューラルネットワークを示すフロー図である。 新たな経験が追加されるとともに、ニューラルネットワークをトレーニングするのに用いられる経験のサンプルが取り出される経験再生メモリを示すフロー図である。 経験をメモリに記憶する3つの非類似性ベースのプルーニング(dissimilarity-based pruning)プロセスを示すフロー図である。 経験をエージェントのメモリに記憶する一例示の一致ベースのプルーニング(match-based pruning)プロセスを示す図である。 図5におけるプルーニングプロセスの代替の表現を示すフロー図である。 プルーニングされた経験キューを記憶するメモリからの深層強化学習及び経験再生を用いるシステムのシステム図である。 カメラ、LIDAR及び/又は他のデータソースを用いて経験を取得し、プルーニングを用いて、メモリに記憶された経験を選択組織化し、プルーニングされた経験の深層強化学習及び経験再生を用いて自動運転性能を改善する自動運転車を示す図である。
深層強化学習(RL:Reinforcement Learning)では、エージェントが予想される今後の報酬を増加又は最大化するように行動することができるようニューラルネットワークをトレーニングして、行動又は可能性のある行動の価値を生成するために、エージェントによって収集された経験が、当該エージェントに関連したニューラルネットワークに提供される。エージェントによって収集された全ての経験をメモリに記憶することは、メモリのサイズに制限があることから、非実用的又は不可能であり得るので、強化学習システムは、記憶量削減のための技法を実施する。記憶量削減を実施する1つの手法は、経験を選択的にメモリから削除することである。しかしながら、古い経験を先入れ先出し方式で単に除去することによってトレーニングされるニューラルネットワークは、忘却問題に直面する。すなわち、学習に寄与することができる古い経験は、メモリから削除されるので忘却される。古い経験を単に削除することの別の不利点は、高度に相関しかつ冗長である経験を検討しないということである。高度に相関しかつ類似した経験の集合を用いてニューラルネットワークをトレーニングすることは、非効率的である場合があり、学習プロセスを遅くする可能性がある。
本技術は、入来する経験とメモリに既に記憶された経験との間の類似度を求めることによってメモリ内の経験を選択的に置換する方法を提供する。その結果、学習に寄与することができる古い経験は忘却されず、高度に相関した経験は削除されて、非類似の経験/より多様な経験のための空間をメモリ内に作成することができる。
本技術は、これらに限定されるものではないが、自動運転車、ドローン、地上ロボット、及び水中ロボットにおけるムーブメント、モータ、及びステアリングコマンドを制御するニューラルネットワークシステムに有用である。例えば、自動運転車の場合、経路に沿って遭遇する障害物の速度及びステアリング角を特徴付ける経験を動的に収集することができる。これらの経験は、メモリに記憶することができる。新たな経験が収集されると、プロセッサは、これらの新たな経験と以前に記憶された経験との間の類似度を求める。例えば、メモリに記憶された経験が、障害物Aの速度及びステアリング角を含み、かつ、新たな経験が、障害物Aと大幅に異なる障害物Bの速度及びステアリング角を特徴付ける場合、プロセッサは、類似した経験(例えば、障害物Aに関係する経験のうちの1つ)をメモリからプルーニング(削除)し、障害物Bに関係する新たな経験を挿入する。自動運転車のニューラルネットワークは、障害物Bについての新たな経験を含むプルーニングされたメモリ内の経験に基づいてトレーニングされる。
記憶(memory)は、経験の類似性に基づいてプルーニングされるので、「エッジ(edge)上」、例えば、自動運転車、ドローン、又はロボットとすることができるエージェント上に位置することができるように十分小さなものとすることができるものであり、遠隔に配置されてネットワーク接続を介してエージェントに接続されるものではない。また、メモリは、エッジ上にあるので、エッジ上でエージェントをトレーニングするのに用いることができる。これによって、ネットワーク接続の必要性が低減又は排除され、経験の収集及びニューラルネットワークのトレーニングの双方の信頼性及びロバスト性が高まる。これらのメモリは、所望に応じて(例えば、周期的、上流帯域幅が利用可能であるとき等)獲得することができ、サーバにおいて集約することができる。集約されたデータは、サンプリングすることができ、エッジにおいてより良好な性能を得るために既存のエージェント及び/又は新たなエージェントに分配することができる。
本技術は、ビデオゲーム及び他の模擬環境にも有用なものとすることができる。例えば、ビデオゲームにおけるエージェントの行動は、ゲームにおいてエージェントの経験を収集及び記憶するとともに、類似度に基づいてメモリを選択的にプルーニングすることによって構築することができる。そのような環境では、視覚からの学習が、高次元画像を含む経験を伴い、そのため、本技術を用いて大量の記憶量を節約することができる。
経験のサンプルをメモリに最適に記憶することによって、強化学習、特に、「エッジにおける」リソースが制限されたデバイス上での学習の収束を改善し高速化することができる。このように、本技術は、より少ないメモリを用いる技法を実施しながら、より高速な学習のための発明的方法を提供する。したがって、本技術を用いると、より小さなメモリサイズを用いて、所与の学習性能目標を達成することができる。
経験収集及び強化学習
図1は、エージェントの経験100を形成する行動、状態、反応、及び報酬を示すフロー図である。102において、エージェントは、(第1の)時刻t−1における(第1の)状態st−1を観測する。エージェントは、画像センサ、マイクロフォン、アンテナ、加速度計、ジャイロスコープ、又は他の任意の適したセンサを用いてこの状態を観測することができる。エージェントは、クロック、エンコーダ、アクチュエータ、又はナビゲーションユニット(例えば、慣性測定ユニット)上の設定値を読み取ることができる。第1の状態を表すデータは、映像、音、又は時刻等のエージェントの環境についての情報を含むことができる。このデータは、エージェントの速度、進行方向、内部状態(例えば、電池寿命)、又は位置を含むエージェントについての情報も含むことができる。
状態st−1の間、エージェントは、(例えば、104において)行動at−1を取る。この行動は、ホイール、ロータ、ウィングフラップ、又はエージェントの速度、進行方向、方位、若しくは位置を制御する他の構成要素を作動させることを伴うことができる。この行動は、幾つかの特定の構成要素をスリープモードにして電池寿命を節約する等のエージェントの内部設定を変更することを伴うことができる。この行動は、例えば、エージェントが、環境内の物体のうちの1つと衝突する危険な状態にある場合に、エージェントの環境及び/又はそれらの物体に影響を与える場合がある。或いは、この行動は、データを取得又は送信すること、例えば、映像を撮影してサーバに送信することを伴うことができる。
106において、エージェントは、行動at−1の報酬rt−1を受け取る。この報酬は、障害物の回避、節電、又はデータの取得等の所望の結果に基づくことができる。行動が所望の結果(例えば、障害物の回避)をもたらす場合、報酬は高い。そうでない場合、報酬は低くすることができる。報酬は、2値とすることもできるし、或る範囲の値又はその範囲内のものであってもよい。
108において、行動at−1に応じて、エージェントは、次の(第2の)状態sを観測する。この状態sは、次の(第2の)時刻tにおいて観測される。状態st−1、行動at−1、報酬rt−1、及び次の状態sは、一括して時刻tにおける経験e100を形成する。各時間ステップtにおいて、エージェントは、状態st−1を観測し、行動at−1を取り、報酬rt−1を得て、結果状態sを観測してきている。観測された状態st−1、行動at−1、報酬rt−1及び観測された結果状態sは、図1に示すように、一括して経験100を形成する。
強化学習(RL)では、エージェントは、その環境とインタラクトするときに経験を収集し、可能な限り多くの報酬を得るにはどのように行動すべきかを学習しようと試みる。エージェントの目標は、その経験の全てを用いて、行動ポリシπ=P(a|s)を学習することである。この行動ポリシは、その行動ポリシに従うと、エージェントが、そのような全てのポリシの中で最大累積報酬を収集することが可能になる行動を予想して選択するのに用いられるものである。価値ベースのRLでは、最適な(所望の)行動ポリシは、通常はQで表される以下の行動価値関数等の最適な価値関数に対応する。
ここで、γは、行動価値関数に対する時間的に遠い結果の影響を制御するディスカウント係数(discount factor)である。Q(s,a)は、任意の状態行動対に価値を割り当てる。Qが分かっている場合、関連した最適な行動ポリシに従うには、エージェントは、各現在の観測結果sについて最高の価値を有する行動を取りさえすれば良い。
深層ニューラルネットワーク(DNN:Deep Neural Network)は、ビデオの生のピクセル等の高次元状態入力を有する強化学習エージェントの最適な行動価値関数(Q関数)を近似するのに用いることができる。この場合、行動価値関数Q(s,a;θ)≒Q(s,a)は、ネットワークパラメータθ(重み等)によってパラメータ化される。
図2は、フィードフォワードモードにおいて行動ポリシπとして動作するニューラルネットワーク200を示すフロー図である。入力状態202が与えられると、ニューラルネットワーク200は、可能性のある行動に関連付けられたQ値の集合を介して行動価値204(例えば、自動運転車の制動価値及びステアリング価値)のベクトルを出力する。このベクトルは、シミュレーションされた経験又は以前に取得された経験を表すデータを用いてニューラルネットワークをトレーニングすることによって設定又は決定されるニューラルネットワーク重みを用いて計算される。Q値は、標準的な方法(例えば、パラメータ化されたソフトマックス)を通じて確率に変換することができ、その後、行動204に変換することができる。フィードフォワードモードは、エージェントが可能性のある行動のQ値を得る方法、及びエージェントが最も価値ある行動を選ぶ方法である。
ネットワークは、エージェントの経験をトレーニングサンプル(x,y)に変換することによって最適な行動価値関数を学習(近似)するように、バックプロパゲーションを介してトレーニングされる。ここで、xはネットワーク入力であり、yはネットワークターゲットである。ネットワーク入力x=φ(s)である。ここで、φは、観測結果を前処理してネットワークにより適したものにする或る関数である。最適な行動価値関数に向けて進むために、ターゲットyは、一貫性を維持するように設定される。
これに続いて、基本的な場合に、ターゲットは、以下のように設定することができる。
式3は、最も価値のある行動(及びそれらの価値)を見つけるのに用いられるパラメータθを用いて第2のターゲットネットワークを導入することによって改良することができるが、必ずしもインクリメンタルに更新されない。その代わり、別のネットワーク(「オンライン」ネットワーク)が、そのパラメータの更新を受ける。オンラインネットワークパラメータθは、τ個の時間ステップごとにターゲットネットワークパラメータθに取って代わる。式3を以下の式
に置換することによって、Mnih他、「Human-level control through deep reinforcement learning」、Nature、518(7540):529-533、2015の深層Qネットワーク(DQN)アルゴリズムにおいて用いられるターゲットが得られる。この文献は、引用することによってその全体が本明細書の一部をなすものとする。
ダブルDQNと呼ばれるDQNの改良バージョンは、選択及び評価を以下のように切り離す。
選択及び評価を切り離すことによって、max演算子が行動の選択及び評価の双方に同じ価値を用いる機会が削減される。行動の選択及び評価の双方に同じ価値を用いることは、価値の偏りのある過大評価を引き起こす可能性がある。実際には、これによって、標準的なDQNと比較して、収束速度の高速化及びより良好な最終的ポリシが得られる。
経験再生
モデルの偏りを低く維持するために、バックプロパゲーショントレーニングを受けたニューラルネットワークは、i.i.d.形式でトレーニングサンプルを取り出すことになる。従来の手法では、サンプルは、エージェントが環境とインタラクトする際に収集され、そのため、サンプルは、到着した順序でトレーニングされる場合、高度に偏ったものとなる。第2の課題は、バックプロパゲーショントレーニングを受けたネットのよく知られた忘却問題に起因したものであり、近時の経験ほど、モデルにおいてより良好に表される一方、古い経験ほど忘却され、したがって、ニューラルネットワークがこの形式でトレーニングされた場合、真の収束が妨げられるということである。
そのような課題を緩和するために、経験再生と呼ばれる技法が用いられる。図3は、ニューラルネットワークをトレーニングする経験再生プロセス300を示すフロー図である。ステップ302に示すように、各時間ステップにおいて、図1における経験100等の経験=(xt−1,at−1,rt−1,x)が、D={et−N,et−N+1,...,e}として表される経験メモリ304に記憶される。したがって、経験メモリ304は、以前に収集された経験の集合体を含む。306において、トレーニングサンプルの集合SD(例えば、集合308)が経験メモリ304から取り出される。すなわち、ニューラルネットワークが更新されるとき、トレーニングサンプルの集合308が、経験のミニバッチとして304から取り出される。ミニバッチにおける各経験は、トレーニングデータにおいて相関関係が(例えば、一様に)低減されるようにメモリ304から取り出すことができる。これは、学習を潜在的に高速化することができるが、経験メモリD自体のサイズ及び内容(偏り)に対処していない。310において、トレーニングサンプルの集合308を用いて、ニューラルネットワークがトレーニングされる。メモリからの経験の良好な混合を用いてネットワークをトレーニングすることは、時間的相関関係を低減することができ、これによって、ネットワークがはるかに安定した方法で学習することを可能にし、幾つかの場合には、本当に有用なものを学習するためにネットワークにとって不可欠である。
ネットワークは、サンプルが到着した際にそれらのサンプルに対してトレーニングされる必要はない(ないはずである)ので、式3、式4、及び式5は、現在の時間ステップのサンプル、すなわち、{xt−1,at−1,rt−1,x}に関係していない。これらの式は、再生メモリから取り出されたサンプルe(例えば、図3におけるトレーニングサンプルの集合308)であれば、どのサンプルにも適用することができる。
経験メモリを用いる場合、システムは、どの経験を再生するのか及びどの経験を経験メモリDに記憶するのか(及びどの経験を記憶しないのか)の戦略(例えば、優先順位付け;経験メモリDからサンプリングする方法)を用いる。
再生する経験
モデルベースの強化学習において経験に優先順位付けを行うことによって、最適なポリシへの収束を高速化することができる。この優先順位付けは、経験がメモリから取り出されてネットワークトレーニングのサンプルにされる機会を定める確率をメモリ内の各経験に割り当てることを伴う。モデルベースの場合には、経験は、これらの経験が実行される場合に価値関数の予想される変化、換言すれば、予想される学習進度に基づいて優先順位付けされる。モデルフリーの場合には、予想される学習進度を近似したものは、以下の時間差(TD)誤差である。
ダブルDQNの優先順位付けの基準としてTD誤差を用いると、学習効率及び最終的な性能が高まる。
ただし、非類似性による優先順位付け等の他の優先順位付け方法も用いることができる。他のものと非類似である経験を優先的に用いてネットワークをトレーニングすることを確率的に選ぶことによって、データセット内のアンバランスを打破することができる。そのようなアンバランスは、エージェントがその環境を真に一様な(偏りもない)方法で調べることができないときにRLに出現する。しかしながら、Dのメモリサイズが、リソース制約に起因して制限されているとき、Dの全体には、幾つかの特定の経験を、忘却(Dから削除)されている場合がある他の経験よりも優先する偏りが生じている場合がある。この場合、それらの記憶が削除されているので、真に偏りをなくすことが可能でない場合がある。
記憶する経験
全てのメモリを記憶することは、理論上、有用である。収集されたときに学習に寄与しなかった可能性がある古い経験が、エージェントが十分な知識を累積して、その知識を用いて行うべきことを知ると、突然有用になる可能性がある。しかし、無制限の経験メモリは、特に、入力が画像等の高次元なものであるとき、現代のハードウェアにとってあまりにも大きなものに急速に増大する可能性がある。あらゆるものを記憶するのではなく、スライディングウィンドウ、換言すれば、先入れ先出しキューと、或る最大経験数Nに設定された再生メモリのサイズが通常用いられる。大きなメモリ(例えば、百万個の経験を記憶するメモリ)が、最先端のシステムではかなり標準になってきた。この副産物として、経験メモリの所要記憶量は、ネットワーク自体の所要記憶量よりもはるかに大きくなってきた。記憶量が課題であるときは、学習効率に影響を与えることなく再生メモリのサイズを削減する方法が有用である。
優先順位付け方法も、メモリのプルーニングに適用することができる。経験メモリDから最上位の優先順位を有する経験を優先的にサンプリングするのではなく、最下位の優先順位を有する経験が、経験メモリDから優先的に削除される。メモリの消去は、優先順位を割り当てるよりも最後の方であるが、アプリケーションに応じて必要となる可能性がある。
経験メモリのプルーニング
以下のプロセスは、経験メモリのプルーニングに焦点を当てている。しかし、これらのプロセスは、削除する経験(複数の場合もある)を選択するのに用いられる結果確率が反転され、優先順位として用いられる場合に、優先順位付けにも適用することができる。
類似性ベースのプルーニング
図4は、以下で詳細に説明するようなプロセス400、プロセス402、及びプロセス404の3つの非類似性ベースのプルーニングプロセスを示すフロー図である。一般的なアイデアは、各経験の近傍(neighbors)のリストを保持することである。ここで、近傍とは、或る閾値よりも小さな距離を有する別の経験である。或る経験が有する近傍の数は、その経験の削除の確率を決定する。プルーニングメカニズムが、プロセス400において、2次コストを伴うワンタイム初期化を用いる。これは、例えば、経験メモリが初めて容量に達したときに行うことができる。他のコストは複雑度において線形である。さらに、必要とされる唯一の追加の記憶量は、各経験の近傍の数及び近傍のリストである(全対距離行列よりもはるかに小さい)。経験が追加されると(プロセス402)、この経験から他の経験までの距離が計算され、近傍カウント/リストが更新される。経験がプルーニングされるとき(プロセス404)、確率が、記憶された近傍カウントから生成され、プルーニングされた経験が、確率的な取り出しを介して選ばれる。次に、削除された経験を自身の近傍として有する経験は、この削除された経験を自身の近傍リストから削除し、自身の近傍カウントをデクリメントする。プロセス400及び402において、或る経験から別の経験までの距離が計算される。用いることができる1つの距離メトリックは、例えば、状態等の経験要素のうちの1つのみ、又は状態、次の状態、行動、及び報酬の任意の重み付き組み合わせに関するユークリッド距離である。他の任意の妥当な距離メトリックも用いることができる。プロセス400には、ワンタイム2次全対距離計算がある(ライン5〜11、図4における406)。
或る経験の別の経験までの距離が、ユーザ設定パラメータβよりも小さい場合、それらの経験は近傍とみなされる。各経験は、現在メモリ内にある経験に対するその近傍の数を含むカウンタmと結合される。このカウンタは、プロセス400のライン8において最初に設定される。各経験は、その近傍にある経験の識別情報の集合を記憶する。これらの識別情報は、プロセス400のライン9において最初に設定される。経験は、常にそれ自体の近傍であることに留意されたい(例えば、プロセス400におけるライン3)。ライン8及び9は、図4におけるボックス408を構成する。
プロセス402において、新たな経験がメモリに追加される。この経験の、現在メモリ内にある他の任意の経験までの距離(ボックス410)が、ユーザ設定パラメータβよりも小さい場合、各経験のカウンタがインクリメントされ(ライン8及び9)、近傍集合は、互いを含むように更新される(ライン10及び11)。これは、ボックス412及び414に示されている。
プロセス404は、経験が削除される方法を示している。削除の確率は、近傍の数を全ての経験の近傍の総数によって除算したものである(ライン4及びボックス416)。SelectExperienceToRemoveは、削除する経験oを決定する確率的な取り出しである。実際の削除は、メモリからの抹消(ライン7、ボックス418)と、全ての近傍リストからその経験oの削除及びそれに応じた近傍カウントのデクリメント(ライン8〜13、ボックス418)とを伴う。実施態様に応じて、最終的な経理ステップ(ライン14)が、インデックスを調整するために必要となる場合がある(すなわち、全てのインデックス>oが1だけ減じられる)。
プロセス402及び404は、エージェントが新たな経験を収集した際に、反復的に及び場合によっては間欠的に(実施態様に応じて)行うことができる。要件は、新たに収集された全ての経験について、プロセス404を行うことができるようになる前に、プロセス402が行われなければならないということである。
一致ベースのプルーニング
経験を優先順位付け(又はプルーニング)する更なる方法は、一致ベースの学習の概念に基づいている。一般的なアイデアは、各経験をクラスタの集合のうちの1つのクラスタに割り当て、クラスタ中心のみに基づくプルーニングを目的として距離を計算することである。
そのようなオンライン学習システムでは、入力ベクトル(例えば、入力値の1次元アレイ)にシナプス重みの集合が乗算され、その結果、シナプス重みの集合が現在の入力ベクトルと最も密接に一致する単一のニューロン(又はノード)として表すことができる最良の一致が得られる。この単一のニューロンはクラスタも符号化する。すなわち、この単一のニューロンは、単一のパターンだけでなく、入力の平均、クラスタ、又は集合も符号化することができる。新たな入力が同じクラスタに割り当てられるか否かを制御する、入力パターンとシナプス重みとの間の類似度は、ユーザ定義パラメータによって設定することができる。
図5は、一例示の一致ベースのプルーニングプロセス500を示している。オンライン学習システムでは、入力ベクトル504aにシナプス重みの集合、例えば、506a、506b、506c、506d、506e、及び506f(一括してシナプス重み506)が乗算される。この結果、最良の一致が得られる。この最良の一致は、その場合、シナプス重み506の集合が現在の入力ベクトル504aと密接に一致する単一のニューロン(例えば、ノード502)として表される。ノード502はクラスタ508aを表す。すなわち、ノード502は、単一のパターンを符号化するだけでなく、入力のクラスタ又は集合も表すことができる。他の入力ベクトル、例えば、504b及び504c(一括して入力ベクトル504)について、これらの入力ベクトルには、シナプス重み506が乗算され、類似度が求められる。この場合、504b及び504cの最良の一致は、クラスタ508bを表すノード2である。この単純な場合に、クラスタ2には2つの経験が存在し、クラスタ1には1つの経験が存在し、削除の確率は、それに応じて重み付けされる。例えば、クラスタ2が選択される機会は2/3であり、この2/3の機会で、2つの経験のうちの一方がプルーニングのためにランダムに選択される。
さらに、入来する入力パターンが既存のクラスタ内で符号化される(すなわち、一致がユーザ定義の利得制御パラメータを満たす)か否かを用いて、メモリに記憶される経験を自動的に選択(又は廃棄)することができる。既存のクラスタに適合する入力は、更なる差異のある情報をサンプルメモリに必ずしも追加しないので廃棄することができるのに対して、既存のクラスタと適合しない入力は、システムによって以前に符号化されていない情報を表すので選択される。そのような方法の利点は、クラスタ中心までの距離しか計算する必要がないので、距離計算が効率的な演算であるということである。
図6は、図5のクラスタベースのプルーニングプロセス500の代替の表現600を示すフロー図である。クラスタリングは、距離の計算又は要素の記憶のいずれかの必要性をなくす。プロセス600において、602では、あらゆるクラスタkのクラスタ中心の、他の各クラスタ中心までの距離がβ以下であるようなクラスタが作成される。経験メモリD内の各経験は、K≪N個のクラスタの増大する集合に割り当てられる。経験がクラスタに割り当てられた後、604において、各クラスタは、メンバの数に従って重み付けされる(擬似コードプロセス600におけるライン17〜21)。より多くのメンバを有するクラスタは、より大きな重みと、経験がそれらから削除されるより多くの機会とを有する。
プロセス600は、経験{x,a,r,xj+1}をベクトルに変換する「符号化」関数Γを導入する。基本的な符号化関数は、値を単に連結し、適切に重み付けするものである。別の符号化関数については、以下の節で論述する。606において、経験メモリD内の各経験が符号化される。608において、既存の各クラスタ中心までの符号化された経験の距離が計算される。610において、計算された距離が、全ての既存のクラスタ中心と比較される。最も類似したクラスタ中心がβ内にない場合、614において、新たなクラスタ中心が、経験を用いて作成される。一方、最も類似したクラスタ中心がβ内にある場合、612において、経験が、最も類似したクラスタに割り当てられる。すなわち、経験は、他のクラスタ中心と比較して、経験からの距離が最小のクラスタ中心を有するクラスタに割り当てられる。616において、クラスタは、メンバの数に従って再重み付けされ、618において、1つ以上の経験が、確率的決定に基づいて削除される。経験が削除されると(擬似コードプロセス600におけるライン23)、クラスタは、それに応じて再重み付けされる(擬似コードプロセス600におけるライン25)。このように、プロセス600は、最も多くのメンバを有するクラスタからZ個の経験の集合を優先的に削除する。
プロセス600は、クラスタ中心を徐々に適応させることはない。それにもかかわらず、例えば、以下の更新関数をライン15とライン16との間に追加することによって、クラスタ中心が徐々に適応するようにプロセスを変更することができる。
エンコーダベースのプルーニング
入力次元が(生のピクセルの場合のように)高いとき、ユークリッド距離は不十分なメトリックになる傾向がある。適したβを見つけることが容易でない場合もあるし、可能でない場合さえある。好都合なことに、次元を削減するとともに、ユークリッド距離がより意味をなす適した低次元の多様体を見つける可能性を有する多数の方法がある。例としては、主成分分析、Isomap、オートエンコーダ等がある。特に魅力的なエンコーダは、強化学習によく適した低速特徴分析(SFA)である。これは、(概して)サンプルが経時的にどのように変化するのかをSFAが考慮し、これによって、SFAが逐次決定問題によく適したものになるからである。さらに、近年開発された、線形計算量及び空間計算量を有する低速特徴の集合を更新する増分法(IncSFA)がある。
IncSFAをエンコーダとして用いることは、エージェントが各サンプルを観測した際に各サンプルを用いて低速特徴(slow features)の集合を更新することと、メモリをプルーニングする時が来ると、低速特徴を符号化関数Γとして用いることとを伴う。IncSFAの詳細は、Kompella他、「Incremental slow feature analysis: Adaptive low-complexity slow feature updating from high-dimensional input streams」、Neural Computation、24(11):2994-3024、2012から得られる。この文献は、引用することによって本明細書の一部をなすものとする。
オンラインエンコーダを用いるダブルDQNの一例示のプロセスは、プロセス4(下記)に示されている。このプロセスは、IncSFAを考慮に入れて考えられたものであるが、多くの異なるエンコーダに適用される。
深層強化学習及び経験再生を用いるシステム
図7では、仮想環境若しくは模擬環境のいずれかにおける1つ以上のエージェント、又は物理エージェント(例えば、ロボット、ドローン、自動運転車、又は玩具)が、実環境701においてそれらの周囲の状況及び他のエージェントとインタラクトする。これらのエージェントと、当該エージェントが接続されているか又は備えるモジュール(以下で列挙するものを含む)とは、例えば、メモリ、センサ等に動作可能に結合されたグラフィックス処理装置(GPU)を含む適したプロセッサ又は処理システムによって実施することができる。
インタフェース(図示せず)が、センサ、例えば、709a、709b、及び709c(一括してセンサ709)を用いて、環境701及びエージェントについての情報を収集する。センサ709は、画像センサ、マイクロフォン、及び他のセンサ等の任意のタイプのセンサとすることができる。センサ709が遭遇する状態、行動、及び報酬は、プロセッサ708に含まれるオンラインエンコーダモジュール702に供給される。
プロセッサ708は、インタフェースとデジタル通信することができる。幾つかの発明態様では、プロセッサ708は、オンラインエンコーダモジュール702、DNN704、及びキューメンテナ705を備えることができる。インタフェースにおいて収集された情報は、任意選択のオンラインエンコーダモジュール702に送信され、このモジュールにおいて、処理及び圧縮される。換言すれば、オンラインエンコーダモジュール702は、インクリメンタル(incremental)低速特徴分析、主成分分析、又は別の適した技法を介してデータの次元を削減する。オンラインエンコーダモジュール702からの圧縮された情報、又はオンラインエンコーダが用いられていない場合の符号化されていない未圧縮の入力は、メモリ707に含まれるキューモジュール703に供給される。
メモリ707は、プロセッサ708とデジタル通信する。さらに、キューモジュール703は、再生される経験をDNNモジュール704に供給する。
プロセッサ708に含まれるキューメンテナ(プルーニング)モジュール705は、キューモジュール703に双方向接続されている。このモジュールは、圧縮された経験についての情報を取得し、キューモジュール703に保持される経験及び廃棄される経験を管理する。換言すれば、キューメンテナ705は、図3におけるプロセス300、図4におけるプロセス400及び402、図5におけるプロセス500、並びに図6におけるプロセス600等のプルーニング方法を用いてメモリ707をプルーニングする。その後、キューモジュール703からのメモリは、トレーニングプロセス中にDNN/ニューラルネットワークモジュール704に供給される。動作/行動プロセスの間、環境からの状態情報もエージェント(複数の場合もある)701から提供され、このDNN/ニューラルネットワークモジュール704は、その後、行動を生成し、知覚/行動ループをクローズして環境701におけるエージェントを制御する。
ナビゲーションのためのプルーニング、深層強化学習、及び経験再生
図8は、ナビゲーション及びステアリングに深層RL及び経験再生を用いる自動運転車800を示している。自動運転車800の経験は、自動運転車800に結合されたカメラ809a及びLIDAR809b等のセンサを用いて収集される。自動運転車800は、速度計と、エンジン、ブレーキ、及びハンドルを監視するセンサとからのデータも収集することができる。これらのセンサによって収集されたデータは、車の状態及び行動(複数の場合もある)を表す。
自動運転車の経験のデータは、一括すると、自動運転車800の速度及び/又はステアリング角(行動に相当するもの)と、障害物までの車800の距離(又は状態に相当する他の或るもの)とを含むことができる。速度及び/又はステアリング角の報酬は、LIDARを介した車の安全メカニズムに基づくことができる。言い換えると、報酬は、行動の前及び後における障害物からの車の観測された距離に依存することができる。行動の後の車のステアリング角及び/又は速度も、報酬に影響を与えることができ、より長い距離及びより遅い速度は報酬をより高くし、衝突又は衝突コースは報酬をより低くする。初期状態、初期行動、初期報酬、及び最終状態を含む経験は、情報を処理及び圧縮し、さらに、経験をキューモジュール803に供給するオンラインエンコーダモジュール802に供給される。
キュー メンテナ(プルーニング)モジュール805は、キューモジュール803に双方向接続されている。キューメンテナ805は、図3におけるプロセス300、図4におけるプロセス400及び402、図5におけるプロセス500、並びに図6におけるプロセス600等の方法を用いて、キューモジュール803に記憶された経験をプルーニングする。類似した経験は削除され、非類似の経験はキューモジュール803に記憶される。例えば、キューモジュール803は、異なる障害物に対して取られる行動の前及び後の双方において、それらの障害物についての自動運転車800の速度及び/又はステアリング角と、それらの障害物からの距離とを含むことができる。キューモジュール803からの経験は、その後、DNN/ニューラルネットワークモジュール804をトレーニングするのに用いられる。自動運転車800が、特定の障害物からの当該車800の距離(すなわち、状態)をDNNモジュール804に提供すると、DNNモジュール804は、キューモジュール803からの経験に基づいて、その状態についての速度及び/又はステアリング角を生成する。
結論
本明細書において様々な本発明の実施形態を説明及び図示してきたが、当業者であれば、本明細書において説明した機能を実行し、及び/又は本明細書において説明した結果及び/又は利点のうちの1つ以上を捕捉する様々な他の手段及び/又は構造を容易に想像するであろう。そのような変形形態及び/又は変更形態のそれぞれは、本明細書において説明した本発明の実施形態の範囲内にあるとみなされる。より一般的には、当業者であれば、本明細書において説明した全てのパラメータ、寸法、材料、及び構成は例示であることが意図され、実際のパラメータ、寸法、材料、及び/又は構成は、本発明の教示が用いられる特定の単数又は複数の用途に依存することを容易に理解するであろう。当業者であれば、本明細書において説明した特定の本発明の実施形態の多くの均等物を認識し、又は日常的な実験にすぎないものを用いて確かめることができるであろう。したがって、上記実施形態は、例として提示されたものにすぎず、添付の特許請求の範囲及びその均等物の範囲内で、具体的に説明したもの及び特許請求の範囲に記載したものとは別の方法で本発明の実施形態を実施することができることが理解されるであろう。本開示の本発明の実施形態は、本明細書において説明した個々の各特徴、システム、物品、材料、キット、及び/又は方法を対象としている。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、及び/又は方法が相互に不整合でない場合には、そのような特徴、システム、物品、材料、キット、及び/又は方法の任意の組み合わせは、本開示の本発明の範囲内に含まれる。
上記で説明した実施形態は、非常に多くの方法のうちの任意のもので実施することができる。例えば、本明細書において開示した技術を設計及び実現する実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施することができる。ソフトウェアで実施されるとき、そのソフトウェアコードは、単一のコンピュータに設けられているか又は複数のコンピュータ間に分散されているかを問わず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ又はタブレットコンピュータ等の任意の複数の形において具現化することができることが理解されるであろう。さらに、コンピュータは、携帯情報端末(PDA)、スマートフォン又は任意の他の適切なポータブル若しくは固定電子デバイスを含む、一般にコンピュータとはみなされないが、適切な処理能力を有するデバイスにおいて具現化することができる。
また、コンピュータは、1つ以上の入力デバイス及び出力デバイスを有することができる。これらのデバイスは、とりわけ、ユーザインタフェースを提示するのに用いることができる。ユーザインタフェースを提供するのに用いることができる出力デバイスの例には、出力の視覚的提示のためのプリンタ又はディスプレイスクリーンと、出力の可聴提示のためのスピーカ又は他の音発生デバイスとが含まれる。ユーザインタフェースに用いることができる入力デバイスの例には、キーボードと、マウス、タッチパッド、及び離散化タブレット等のポインティングデバイスとが含まれる。別の例として、コンピュータは、音声認識を通じて又は他の可聴フォーマットで入力情報を受信することができる。
そのようなコンピュータは、エンタープライズネットワーク及びインテリジェントネットワーク(IN)又はインターネット等のローカルエリアネットワーク又はワイドエリアネットワークを含む任意の適した形態の1つ以上のネットワークによって相互接続することができる。そのようなネットワークは、任意の適した技術に基づくことができ、任意の適したプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、又は光ファイバネットワークを含むことができる。
本明細書において略述した(例えば、上記で開示した技術を設計及び実現する)様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットホームのうちの任意の1つを用いる1つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化することができる。加えて、そのようなソフトウェアは、多くの適したプログラミング言語及び/又はプログラミングツール若しくはスクリプティングツールのうちの任意のものを用いて記述することができ、フレームワーク又は仮想機械上で実行される実行可能な機械語コード又は中間コードとしてコンパイルすることもできる。
この点において、種々の発明の概念は、1つ以上のコンピュータ又は他のプロセッサ上で実行されると、上記で論じられた本発明の種々の実施形態を実施する方法を実行する1つ以上のプログラムで符号化されたコンピュータ可読記憶媒体(又は複数のコンピュータ可読記憶媒体)(例えば、コンピュータメモリ、1つ以上のフロッピーディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ若しくは他の半導体デバイス内の回路構成、又は他の非一時的媒体又は有形コンピュータ記憶媒体)として具現化することができる。単数又は複数のコンピュータ可読媒体は、そこに記憶された単数又は複数のプログラムを1つ以上の異なるコンピュータ又は他のプロセッサにロードして、上記で論じられたような本発明の種々の態様を実施することができるように、輸送可能とすることができる。
用語「プログラム」又は「ソフトウェア」は、本明細書では、上記で論述したような実施形態の様々な態様を実施するようにコンピュータ又は他のプロセッサをプログラミングするのに用いることができる任意のタイプのコンピュータコード又は一組のコンピュータ実行可能命令を指す一般的な意味に用いられる。加えて、1つの態様によれば、実行されると、本発明の方法を実行する1つ以上のコンピュータプログラムは、単一のコンピュータ又はプロセッサ上に存在する必要はなく、複数の異なるコンピュータ又はプロセッサ間にモジュール形式で分散されて本発明の様々な態様を実施することができることが理解されるであろう。
コンピュータ実行可能命令は、1つ以上のコンピュータ又は他のデバイスによって実行されるプログラムモジュール等の多くの形態で存在することができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造体等を含む。通常、プログラムモジュールの機能は、様々な実施形態において所望されるとおりに組み合わせることもできるし、分散させることもできる。
また、データ構造体は、任意の適した形態でコンピュータ可読媒体に記憶することができる。説明を簡単にするために、データ構造体は、当該データ構造体におけるロケーションを通じて関係付けられたフィールドを有するように示すことができる。そのような関係は、フィールドの記憶領域に、フィールド間の関係を伝達するコンピュータ可読媒体内のロケーションを割り当てることによって同様に実現することができる。一方、データ要素間の関係を確立するポインタ、タグ又は他のメカニズムの使用を含む任意の適したメカニズムを用いて、データ構造体のフィールド内の情報間の関係を確立することができる。
また、様々な本発明の概念は、1つ以上の方法として具現化することができ、その一例は既に提供されている。この方法の一部として実行される動作は、任意の適した方法で順序付けることができる。したがって、例示したものとは異なる順序で動作が実行される実施形態を構築することができ、この順序は、幾つかの動作が例示の実施形態では順次的な動作として示されていても、それらの動作を同時に実行することを含むことができる。
本明細書において定義されて用いられているような全ての定義は、辞書の定義、引用によって組み込まれた文書内の定義、及び/又は定義された用語の通常の意味を支配するものと解釈される。
本明細書及び特許請求の範囲において用いられている不定冠詞「一(a、an)」は、逆のことが明らかに示されていない限り、「少なくとも1つ」を意味するものと解釈される。
本明細書及び特許請求の範囲において用いられる語句「及び/又は」は、そのように接続された要素の「いずれか又は双方」、すなわち、幾つかの場合には連言的に存在する要素、及びそれ以外の場合には選言的に存在する要素を意味するものと解釈される。「及び/又は」を用いて列挙された複数の要素は、同様に、すなわち、そのように接続された要素の「1つ以上」と解釈される。「及び/又は」節によって具体的に特定された要素以外の他の要素が、具体的に特定された要素との関係の有無を問わず、任意選択で存在してもよい。したがって、非限定的な例として、「A及び/又はB」というとき、これは、「〜を備える/含む(comprising)」等の非限定的(open-ended)な文言とともに用いられる場合に、1つの実施形態では、Aのみ(任意選択でB以外の要素を含む)、別の実施形態では、Bのみ(任意選択でA以外の要素を含む)、更に別の実施形態では、A及びB(任意選択で他の要素を含む)の双方等を指すことができる。
本明細書及び特許請求の範囲に用いられる「又は」は、上記で定義したような「及び/又は」と同じ意味を有すると解釈される。例えば、一覧の項目を分離するとき、「又は」又は「及び/又は」は、包含的であると解釈される。すなわち、複数の要素又は要素の一覧のうちの少なくとも1つを含むが、2つ以上も含み、任意選択で、一覧にない追加の項目も含むものと解釈される。「〜のうちの1つ/一方のみ」若しくは「〜のうちの厳密に1つ/一方」、又は特許請求の範囲において用いられるときは「〜からなる(consisting of)」等の明らかに逆のことを示す用語のみが、複数の要素又は要素の一覧のうちの厳密に1つ/一方の要素を含むことを指す。一般に、本明細書において用いられる用語「又は」は、「いずれか」、「〜のうちの1つ/一方」、「〜のうちの1つ/一方のみ」、又は「〜のうちの厳密に1つ/一方」等の排他的な用語が後置されているときにのみ排他的な二者択一(すなわち「一方又は他方であって、双方ではない」)を示すものと解釈される。「本質的に〜からなる(consisting essentially of)」は、特許請求の範囲において用いられるとき、特許法の分野において用いられるその通常の意味を有する。
1つ以上の要素の一覧に関して、本明細書及び特許請求の範囲に用いられる語句「少なくとも1つ/一方」は、要素の一覧内の要素のうちの任意の1つ以上から選択された少なくとも1つ/一方の要素を意味するが、要素の一覧内に具体的に挙げられたありとあらゆる要素のうちの少なくとも1つ/一方を必ずしも含むものではなく、要素の一覧内の要素の任意の組み合わせを除外しないものと解釈される。この定義も、具体的に特定された要素との関係の有無を問わず、語句「少なくとも1つ/一方」が指す要素の一覧内で具体的に特定される要素以外の要素が任意選択で存在してもよいことを可能にする。したがって、非限定的な例として、「A及びBのうちの少なくとも一方」(又は同様の意味として「A又はBのうちの少なくとも一方」、又は同様の意味として「A及び/又はBのうちの少なくとも一方」)は、1つの実施形態では、少なくとも一方であるA(任意選択で2つ以上を含む)を指すとともにBが存在しない(任意選択でB以外の要素を含む)ことを指し、別の実施形態では、少なくとも一方であるB(任意選択で2つ以上を含む)を指すとともにAが存在しない(任意選択でA以外の要素を含む)ことを指し、更に別の実施形態では、少なくとも一方であるA(任意選択で2つ以上を含む)及び少なくとも一方であるB(任意選択で2つ以上を含む)(任意選択で他の要素を含む)を指す等とすることができる。
特許請求の範囲及び上記明細書において、「〜を備える/含む(comprising)」、「〜を含む/備える(including)」、「〜を担持する(carrying)」、「〜を有する(having)」、「〜を含む/包含する(containing)」、「〜を伴う(involving)」、「〜を保持する(holding)」、「〜から構成される(composed of)」等の全ての移行句は、非限定的(open-ended)である、すなわち、〜を含むが、それらに限定されるものではない、と解釈される。移行句「〜からなる(consisting of)」及び「本質的に〜からなる(consisting essentially of)」のみが、米国特許商標庁特許審査便覧のセクション2111.03に規定されているように、それぞれ限定的(closed)又は半限定的(semi-closed)な移行句である。

Claims (20)

  1. ロボットの行動を生成するコンピュータ実施方法であって、
    前記ロボットの第1の経験であって、
    第1の時刻における前記ロボットの第1の状態と、
    前記第1の時刻において前記ロボットによって取られる第1の行動と、
    前記第1の行動に応じて前記ロボットによって受け取られる第1の報酬と、
    前記第1の時刻の後の第2の時刻における前記第1の行動に応じた前記ロボットの第2の状態と、
    を表す第1の経験を収集することと、
    前記第1の経験と、前記ロボットのメモリに記憶された複数の経験との間の類似度を求めることと、
    前記第1の経験と前記複数の経験との間の前記類似度に基づいて、前記メモリ内の前記複数の経験をプルーニングして、前記メモリに記憶されるプルーニングされた複数の経験を形成することと、
    前記プルーニングされた複数の経験を用いて、前記ロボットに関連したニューラルネットワークをトレーニングすることと、
    前記ニューラルネットワークを用いて、前記ロボットの第2の行動を生成することと、
    を含む、方法。
  2. 前記プルーニングすることは、
    前記複数の経験における各経験について、
    前記第1の経験からの距離を計算することと、
    前記距離と、その経験の、前記複数の経験における他の各経験からの別の距離とを比較することと、
    前記第1の経験と前記複数の経験からの1つの経験とのうちの少なくとも一方である第2の経験を、前記比較に基づいて前記メモリから削除することと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  3. 前記第1の経験と前記複数の経験における各経験とからの前記第2の経験の前記距離がユーザ定義の閾値よりも小さい確率に基づいて、前記第2の経験を前記メモリから削除することを更に含む、請求項2に記載のコンピュータ実施方法。
  4. 前記プルーニングすることは、前記第1の経験と前記複数の経験における各経験とをランク付けすることを更に含む、請求項1に記載のコンピュータ実施方法。
  5. 前記ランク付けすることは、シナプス重みに少なくとも部分的に基づいて複数のクラスタを作成することと、前記第1の経験が前記複数のクラスタのうちの1つに適合すると判断すると、前記第1の経験を自動的に廃棄することとを含む、請求項4に記載のコンピュータ実施方法。
  6. 前記ランク付けすることは、前記複数の経験における各経験を符号化することと、前記第1の経験を符号化することと、前記符号化された経験を前記複数のクラスタと比較することとを含む、請求項5に記載のコンピュータ実施方法。
  7. 第1の入力状態において、前記ニューラルネットワークは、前記プルーニングされた複数の経験に少なくとも部分的に基づいて出力を生成する、請求項1に記載のコンピュータ実施方法。
  8. 前記プルーニングされた複数の経験は、前記ロボットの多様な状態の集合を含む、請求項1に記載のコンピュータ実施方法。
  9. 前記ロボットの前記第2の行動を前記生成することは、前記ロボットが前記第1の状態にあると判断することと、前記第1の行動と異なるように前記第2の行動を選択することとを含む、請求項1に記載のコンピュータ実施方法。
  10. 前記第2の行動に応じて前記ロボットによって第2の報酬を受け取ること、
    を更に含む、請求項9に記載のコンピュータ実施方法。
  11. 前記ロボットの第2の経験であって、
    前記ロボットの第2の状態と、
    前記第2の状態に応じて前記ロボットによって取られる前記第2の行動と、
    前記第2の行動に応じて前記ロボットによって受け取られる第2の報酬と、
    前記第2の行動に応じた前記ロボットの第3の状態と、
    を表す第2の経験を収集することと、
    前記第2の経験と前記プルーニングされた複数の経験との間の類似度を求めることと、
    前記第2の経験と前記プルーニングされた複数の経験との間の前記類似度に基づいて、前記メモリ内の前記プルーニングされた複数の経験をプルーニングすることと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  12. ロボットの第2の行動を生成するシステムであって、
    前記ロボットの第1の経験を収集するインタフェースであって、該第1の経験は、
    第1の時刻における前記ロボットの第1の状態と、
    前記第1の時刻において前記ロボットによって取られる第1の行動と、
    前記第1の行動に応じて前記ロボットによって受け取られる第1の報酬と、
    前記第1の時刻の後の第2の時刻における前記第1の行動に応じた前記ロボットの第2の状態と、
    を表す、インタフェースと、
    前記ロボットの複数の経験とプルーニングされた複数の経験とのうちの少なくとも一方を記憶するメモリと、
    前記インタフェース及び前記メモリとデジタル通信するプロセッサであって、
    前記第1の経験と前記メモリに記憶された前記複数の経験との間の類似度を求めることと、
    前記第1の経験と前記複数の経験との間の前記類似度に基づいて、前記メモリ内の前記複数の経験をプルーニングして、前記プルーニングされた複数の経験を形成することと、
    前記プルーニングされた複数の経験を記憶するように前記メモリを更新することと、
    前記プルーニングされた複数の経験を用いて、前記ロボットに関連したニューラルネットワークをトレーニングすることと、
    前記ニューラルネットワークを用いて前記ロボットの前記第2の行動を生成することと、
    を行う、プロセッサと、
    を備える、システム。
  13. 前記第2の行動を前記ロボットに送信する、前記プロセッサ及び前記ロボットとデジタル通信するクラウドブレイン、
    を更に備える、請求項12に記載のシステム。
  14. 前記プロセッサは、
    前記複数の経験における各経験について、
    前記第1の経験からの距離を計算することと、
    前記距離と、その経験の、前記複数の経験における他の各経験からの別の距離とを比較することと、
    前記第1の経験と前記複数の経験からの1つの経験とのうちの少なくとも一方である第2の経験を、前記比較に基づいて前記メモリから削除することと、
    を行うように更に構成されている、請求項12に記載のシステム。
  15. 前記プロセッサは、前記第1の経験と前記複数の経験における各経験とからの前記第2の経験の前記距離がユーザ定義の閾値よりも小さい確率決定に基づいて、前記第2の経験を前記メモリから削除するように構成されている、請求項14に記載のシステム。
  16. 前記プロセッサは、前記第1の経験と前記複数の経験における各経験とをランク付けすることに基づいて、前記メモリをプルーニングするように構成されている、請求項12に記載のシステム。
  17. 前記プロセッサは、
    シナプス重みに少なくとも部分的に基づいて複数のクラスタを作成することと、
    前記複数のクラスタに基づいて、前記第1の経験及び前記複数の経験をランク付けすることと、
    前記第1の経験が前記複数のクラスタのうちの1つに適合すると判断すると、前記第1の経験を自動的に廃棄することと、
    を行うように更に構成されている、請求項16に記載のシステム。
  18. 前記プロセッサは、前記複数の経験における各経験を符号化することと、前記第1の経験を符号化することと、前記符号化された経験を前記複数のクラスタと比較することとを行うように更に構成されている、請求項17に記載のシステム。
  19. 第1の入力状態において、前記ニューラルネットワークは、前記プルーニングされた複数の経験に少なくとも部分的に基づいて出力を生成する、請求項13に記載のシステム。
  20. メモリを更新するコンピュータ実施方法であって、前記メモリは、コンピュータベースのアプリケーションから受信される複数の経験を記憶し、該方法は、
    前記コンピュータベースのアプリケーションから新たな経験を受信することと、
    前記新たな経験と前記複数の経験との間の類似度を求めることと、
    前記類似度に基づいて前記新たな経験を追加することと、
    前記類似度に基づいて、前記新たな経験と前記複数の経験からの1つの経験とのうちの少なくとも一方を削除することと、
    前記複数の経験の更新されたものを前記コンピュータベースのアプリケーションに送信することと、
    を含む、方法。
JP2018556879A 2016-04-27 2017-04-27 深層ニューラルネットワークベースのq学習の経験メモリをプルーニングする方法及び装置 Pending JP2019518273A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662328344P 2016-04-27 2016-04-27
US62/328,344 2016-04-27
PCT/US2017/029866 WO2017189859A1 (en) 2016-04-27 2017-04-27 Methods and apparatus for pruning experience memories for deep neural network-based q-learning

Publications (1)

Publication Number Publication Date
JP2019518273A true JP2019518273A (ja) 2019-06-27

Family

ID=60160131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018556879A Pending JP2019518273A (ja) 2016-04-27 2017-04-27 深層ニューラルネットワークベースのq学習の経験メモリをプルーニングする方法及び装置

Country Status (6)

Country Link
US (1) US20190061147A1 (ja)
EP (1) EP3445539A4 (ja)
JP (1) JP2019518273A (ja)
KR (1) KR20180137562A (ja)
CN (1) CN109348707A (ja)
WO (1) WO2017189859A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020190854A (ja) * 2019-05-20 2020-11-26 ヤフー株式会社 学習装置、学習方法及び学習プログラム

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188821B1 (en) * 2016-09-15 2021-11-30 X Development Llc Control policies for collective robot learning
KR102399535B1 (ko) * 2017-03-23 2022-05-19 삼성전자주식회사 음성 인식을 위한 학습 방법 및 장치
US11037063B2 (en) 2017-08-18 2021-06-15 Diveplane Corporation Detecting and correcting anomalies in computer-based reasoning systems
US11010672B1 (en) 2017-09-01 2021-05-18 Google Llc Evolutionary techniques for computer-based optimization and artificial intelligence systems
US10713570B1 (en) 2017-10-04 2020-07-14 Diveplane Corporation Evolutionary programming techniques utilizing context indications
JP6845529B2 (ja) * 2017-11-08 2021-03-17 本田技研工業株式会社 行動決定システム及び自動運転制御装置
US11092962B1 (en) 2017-11-20 2021-08-17 Diveplane Corporation Computer-based reasoning system for operational situation vehicle control
US11727286B2 (en) 2018-12-13 2023-08-15 Diveplane Corporation Identifier contribution allocation in synthetic data generation in computer-based reasoning systems
US11640561B2 (en) 2018-12-13 2023-05-02 Diveplane Corporation Dataset quality for synthetic data generation in computer-based reasoning systems
US11669769B2 (en) 2018-12-13 2023-06-06 Diveplane Corporation Conditioned synthetic data generation in computer-based reasoning systems
US11941542B2 (en) 2017-11-20 2024-03-26 Diveplane Corporation Computer-based reasoning system for operational situation control of controllable systems
US11676069B2 (en) 2018-12-13 2023-06-13 Diveplane Corporation Synthetic data generation using anonymity preservation in computer-based reasoning systems
US10695911B2 (en) * 2018-01-12 2020-06-30 Futurewei Technologies, Inc. Robot navigation and object tracking
US10737717B2 (en) * 2018-02-14 2020-08-11 GM Global Technology Operations LLC Trajectory tracking for vehicle lateral control using neural network
CN112204580B (zh) 2018-03-27 2024-04-12 诺基亚通信公司 使用深度q网络促进资源配对的方法和装置
US10817750B2 (en) 2018-04-09 2020-10-27 Diveplane Corporation Data inclusion in computer-based reasoning models
US10816981B2 (en) 2018-04-09 2020-10-27 Diveplane Corporation Feature analysis in computer-based reasoning models
US11385633B2 (en) 2018-04-09 2022-07-12 Diveplane Corporation Model reduction and training efficiency in computer-based reasoning and artificial intelligence systems
US11454939B2 (en) 2018-04-09 2022-09-27 Diveplane Corporation Entropy-based techniques for creation of well-balanced computer based reasoning systems
US11262742B2 (en) 2018-04-09 2022-03-01 Diveplane Corporation Anomalous data detection in computer based reasoning and artificial intelligence systems
US10816980B2 (en) 2018-04-09 2020-10-27 Diveplane Corporation Analyzing data for inclusion in computer-based reasoning models
CN108848561A (zh) * 2018-04-11 2018-11-20 湖北工业大学 一种基于深度强化学习的异构蜂窝网络联合优化方法
US20210162589A1 (en) * 2018-04-22 2021-06-03 Google Llc Systems and methods for learning agile locomotion for multiped robots
US11880775B1 (en) 2018-06-05 2024-01-23 Diveplane Corporation Entropy-based techniques for improved automated selection in computer-based reasoning systems
KR102124553B1 (ko) * 2018-06-25 2020-06-18 군산대학교 산학협력단 심층 강화 학습을 이용한 자율 이동체의 충돌 회피 및 자율 탐사 기법 및 장치
US20200089244A1 (en) * 2018-09-17 2020-03-19 Great Wall Motor Company Limited Experiments method and system for autonomous vehicle control
US11580384B2 (en) 2018-09-27 2023-02-14 GE Precision Healthcare LLC System and method for using a deep learning network over time
US11494669B2 (en) 2018-10-30 2022-11-08 Diveplane Corporation Clustering, explainability, and automated decisions in computer-based reasoning systems
EP3861487A1 (en) 2018-10-30 2021-08-11 Diveplane Corporation Clustering, explainability, and automated decisions in computer-based reasoning systems
US11361232B2 (en) 2018-11-13 2022-06-14 Diveplane Corporation Explainable and automated decisions in computer-based reasoning systems
US11775812B2 (en) 2018-11-30 2023-10-03 Samsung Electronics Co., Ltd. Multi-task based lifelong learning
WO2020123999A1 (en) 2018-12-13 2020-06-18 Diveplane Corporation Synthetic data generation in computer-based reasoning systems
CN109803344B (zh) * 2018-12-28 2019-10-11 北京邮电大学 一种无人机网络拓扑及路由联合构建方法
KR102471514B1 (ko) * 2019-01-25 2022-11-28 주식회사 딥바이오 뉴런-레벨 가소성 제어를 통해 파국적인 망각을 극복하기 위한 방법 및 이를 수행하는 컴퓨팅 시스템
KR102214837B1 (ko) * 2019-01-29 2021-02-10 주식회사 디퍼아이 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치
CN109933086B (zh) * 2019-03-14 2022-08-30 天津大学 基于深度q学习的无人机环境感知与自主避障方法
CN110069064B (zh) * 2019-03-19 2021-01-29 驭势科技(北京)有限公司 一种自动驾驶系统升级的方法、自动驾驶系统及车载设备
US11216001B2 (en) 2019-03-20 2022-01-04 Honda Motor Co., Ltd. System and method for outputting vehicle dynamic controls using deep neural networks
US11763176B1 (en) 2019-05-16 2023-09-19 Diveplane Corporation Search and query in computer-based reasoning systems
US20220222534A1 (en) * 2019-05-23 2022-07-14 The Trustees Of Princeton University System and method for incremental learning using a grow-and-prune paradigm with neural networks
CN110450153B (zh) * 2019-07-08 2021-02-19 清华大学 一种基于深度强化学习的机械臂物品主动拾取方法
US11681916B2 (en) * 2019-07-24 2023-06-20 Accenture Global Solutions Limited Complex system for knowledge layout facilitated analytics-based action selection
JP7354425B2 (ja) * 2019-09-13 2023-10-02 ディープマインド テクノロジーズ リミテッド データ駆動型ロボット制御
CN110764093A (zh) * 2019-09-30 2020-02-07 苏州佳世达电通有限公司 水下生物辨识系统及其方法
US20210103286A1 (en) * 2019-10-04 2021-04-08 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for adaptive path planning
CN110958135B (zh) * 2019-11-05 2021-07-13 东华大学 一种特征自适应强化学习DDoS攻击消除方法及系统
CN110883776B (zh) * 2019-11-29 2021-04-23 河南大学 一种快速搜索机制下改进dqn的机器人路径规划算法
US11525596B2 (en) 2019-12-23 2022-12-13 Johnson Controls Tyco IP Holdings LLP Methods and systems for training HVAC control using simulated and real experience data
WO2021248301A1 (zh) * 2020-06-09 2021-12-16 华为技术有限公司 自动驾驶系统的自学习方法、装置、设备及存储介质
CN112015174B (zh) * 2020-07-10 2022-06-28 歌尔股份有限公司 一种多agv运动规划方法、装置和系统
US11994395B2 (en) * 2020-07-24 2024-05-28 Bayerische Motoren Werke Aktiengesellschaft Method, machine readable medium, device, and vehicle for determining a route connecting a plurality of destinations in a road network, method, machine readable medium, and device for training a machine learning module
US11842260B2 (en) 2020-09-25 2023-12-12 International Business Machines Corporation Incremental and decentralized model pruning in federated machine learning
CN112347961B (zh) * 2020-11-16 2023-05-26 哈尔滨工业大学 水流体内无人平台智能目标捕获方法及系统
CN112469103B (zh) * 2020-11-26 2022-03-08 厦门大学 基于强化学习Sarsa算法的水声协作通信路由方法
KR102437750B1 (ko) * 2020-11-27 2022-08-30 서울대학교산학협력단 정규화를 위해 트랜스포머 뉴럴 네트워크의 어텐션 헤드를 프루닝하는 방법 및 이를 수행하기 위한 장치
CN112698933A (zh) * 2021-03-24 2021-04-23 中国科学院自动化研究所 在多任务数据流中持续学习的方法及装置
TWI774411B (zh) * 2021-06-07 2022-08-11 威盛電子股份有限公司 模型壓縮方法以及模型壓縮系統
CN113543068B (zh) * 2021-06-07 2024-02-02 北京邮电大学 一种基于层次化分簇的林区无人机网络部署方法与系统
CN114084450B (zh) * 2022-01-04 2022-12-20 合肥工业大学 外骨骼机器人生产优化与助力控制方法
EP4273636A1 (de) * 2022-05-05 2023-11-08 Siemens Aktiengesellschaft Verfahren und steuereinrichtung zum steuern einer maschine
WO2023212808A1 (en) * 2022-05-06 2023-11-09 Ai Redefined Inc. Systems and methods for managing interaction records between ai agents and human evaluators
WO2024068841A1 (en) * 2022-09-28 2024-04-04 Deepmind Technologies Limited Reinforcement learning using density estimation with online clustering for exploration
CN115793465B (zh) * 2022-12-08 2023-08-01 广西大学 螺旋式攀爬修枝机自适应控制方法
CN118014054B (zh) * 2024-04-08 2024-06-21 西南科技大学 一种基于平行重组网络的机械臂多任务强化学习方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5172253A (en) * 1990-06-21 1992-12-15 Inernational Business Machines Corporation Neural network model for reaching a goal state
JP5330138B2 (ja) * 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム
CN101973031B (zh) * 2010-08-24 2013-07-24 中国科学院深圳先进技术研究院 云机器人系统及实现方法
US9147155B2 (en) * 2011-08-16 2015-09-29 Qualcomm Incorporated Method and apparatus for neural temporal coding, learning and recognition
US8825350B1 (en) * 2011-11-22 2014-09-02 Kurt B. Robinson Systems and methods involving features of adaptive and/or autonomous traffic control
US9177246B2 (en) * 2012-06-01 2015-11-03 Qualcomm Technologies Inc. Intelligent modular robotic apparatus and methods
US9424514B2 (en) * 2012-07-25 2016-08-23 Board Of Trustees Of Michigan State University Synapse maintenance in the developmental networks
US9440352B2 (en) * 2012-08-31 2016-09-13 Qualcomm Technologies Inc. Apparatus and methods for robotic learning
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US9463571B2 (en) * 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9579790B2 (en) * 2014-09-17 2017-02-28 Brain Corporation Apparatus and methods for removal of learned behaviors in robots
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
CN104317297A (zh) * 2014-10-30 2015-01-28 沈阳化工大学 一种未知环境下机器人避障方法
CN104932264B (zh) * 2015-06-03 2018-07-20 华南理工大学 基于rbf网络的q学习框架仿人机器人稳定控制方法
CN105137967B (zh) * 2015-07-16 2018-01-19 北京工业大学 一种深度自动编码器与q学习算法相结合的移动机器人路径规划方法
EP3360086A1 (en) * 2015-11-12 2018-08-15 Deepmind Technologies Limited Training neural networks using a prioritized experience memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020190854A (ja) * 2019-05-20 2020-11-26 ヤフー株式会社 学習装置、学習方法及び学習プログラム

Also Published As

Publication number Publication date
WO2017189859A1 (en) 2017-11-02
CN109348707A (zh) 2019-02-15
EP3445539A1 (en) 2019-02-27
US20190061147A1 (en) 2019-02-28
EP3445539A4 (en) 2020-02-19
KR20180137562A (ko) 2018-12-27

Similar Documents

Publication Publication Date Title
JP2019518273A (ja) 深層ニューラルネットワークベースのq学習の経験メモリをプルーニングする方法及び装置
US10902616B2 (en) Scene embedding for visual navigation
US20190030713A1 (en) Persistent predictor apparatus and methods for task switching
US11465294B2 (en) Artificial intelligence robot for performing cleaning using pollution log and method for same
US11992944B2 (en) Data-efficient hierarchical reinforcement learning
US10726335B2 (en) Generating compressed representation neural networks having high degree of accuracy
WO2020159890A1 (en) Method for few-shot unsupervised image-to-image translation
CN112313043A (zh) 自我监督的机器人对象交互
JP7498300B2 (ja) 自然言語に基づくロボット制御において使用するための機械学習モデルを訓練および/または利用すること
JP2019049604A (ja) 命令文推定システムおよび命令文推定方法
CN113516227A (zh) 一种基于联邦学习的神经网络训练方法及设备
KR20200080418A (ko) 단말기 및 그의 동작 방법
US20220305647A1 (en) Future prediction, using stochastic adversarial based sampling, for robotic control and/or other purpose(s)
WO2021061717A1 (en) Upside-down reinforcement learning
Chansuparp et al. A novel augmentative backward reward function with deep reinforcement learning for autonomous UAV navigation
CN113780671A (zh) 岗位预测方法、训练方法、装置、模型、设备及存储介质
JP2024506580A (ja) 適応勾配クリッピングを用いるニューラルネットワーク
Xue et al. Monocular vision guided deep reinforcement learning UAV systems with representation learning perception
Thakkar et al. ReLearner: A Reinforcement Learning-Based Self Driving Car Model Using Gym Environment
US11676370B2 (en) Self-supervised cross-video temporal difference learning for unsupervised domain adaptation
Zhou et al. Humanoid action imitation learning via boosting sample DQN in virtual demonstrator environment
JP2023059382A (ja) 経路計画システム、経路計画方法、ロードマップ構築装置、モデル生成装置、及びモデル生成方法
CN116360446A (zh) 智能可移动设备避障方法、装置、设备和存储介质
KR20240012453A (ko) 영상 편집 장치 및 영상 편집 장치의 동작 방법
WO2021251960A1 (en) Subtask adaptable neural network