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

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

▶ ネイバー コーポレーションの特許一覧 ▶ ネイバーラボス コーポレーションの特許一覧

特許7297842リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム
<>
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図1
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図2
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図3
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図4
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図5
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図6
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図7
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図8a
  • 特許-リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム 図8b
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-16
(45)【発行日】2023-06-26
(54)【発明の名称】リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230619BHJP
【FI】
G06N20/00
【請求項の数】 16
(21)【出願番号】P 2021171002
(22)【出願日】2021-10-19
(65)【公開番号】P2022100227
(43)【公開日】2022-07-05
【審査請求日】2021-10-19
(31)【優先権主張番号】10-2020-0181547
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(73)【特許権者】
【識別番号】319012978
【氏名又は名称】ネイバーラボス コーポレーション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェ ジンヨン
(72)【発明者】
【氏名】クリストファー ダンス
(72)【発明者】
【氏名】キム ジョンウン
(72)【発明者】
【氏名】ファン スルビン
(72)【発明者】
【氏名】パク ギョンシク
【審査官】北川 純次
(56)【参考文献】
【文献】米国特許出願公開第2020/0364557(US,A1)
【文献】国際公開第2020/205648(WO,A1)
【文献】進藤 智則,Appleが進める自動運転研究 運転のアグレッシブさ変えられる強化学習技術を開発,NIKKEI Robotics,第54号,日本,日経BP,2019年12月10日,p. 5~10
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02-3/10
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行する、状況によるデバイスの行動を決定する方法であって、
前記デバイスの制御と関連するリスク尺度を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習した学習モデルに対し、前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータを設定する段階、および
前記設定されたパラメータに基づいて、前記環境で前記デバイスが制御されるときに、与えられた状況による前記デバイスの行動を決定する段階
を含み、
前記学習モデルに対しては、前記環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができ
前記学習モデルは、分位点回帰分析方法を使用して、状況に対する前記デバイスの行動によって得られる報酬の分布を学習したものであり、
前記学習モデルは、所定の第1範囲に属する第1パラメータの値に対応する前記報酬の値を学習するが、前記第1範囲に対応する第2範囲に属する前記リスク尺度を示すパラメータをサンプリングし、前記報酬の分布内で、前記サンプリングされたリスク尺度を示すパラメータに対応する報酬の値も学習し、
前記第1パラメータの値のうちの最小値は前記報酬の値のうちの最小値に対応し、前記第1パラメータの値のうちの最大値は前記報酬の値のうちの最大値に対応する、
状況によるデバイスの行動を決定する方法。
【請求項2】
前記デバイスの行動を決定する段階は、
前記設定されたリスク尺度を示すパラメータの値または前記パラメータの値が示す範囲により、前記与えられた状況に対してリスクをさらに回避するかリスクをさらに追求するように前記デバイスの行動を決定する、
請求項1に記載の状況によるデバイスの行動を決定する方法。
【請求項3】
前記デバイスは、自律走行するロボットであり、
前記デバイスの行動を決定する段階は、
前記設定されたリスク尺度を示すパラメータの値が所定の値以上であるか前記パラメータの値が所定の範囲以上を示す場合、リスクをさらに追求するようにする前記ロボットの行動として、前記ロボットの直進または前記ロボットの加速を決定する、
請求項2に記載の状況によるデバイスの行動を決定する方法。
【請求項4】
前記第1範囲は0~1であり、前記第2範囲は0~1であり、
前記学習モデルが学習されるときに、前記第2範囲に属する前記リスク尺度を示すパラメータは、ランダムにサンプリングされる、
請求項に記載の状況によるデバイスの行動を決定する方法。
【請求項5】
前記第1パラメータ値のそれぞれは百分率位置を示し、
前記第1パラメータ値のそれぞれは、該当する百分率位置の前記報酬の値に対応する、
請求項に記載の状況によるデバイスの行動を決定する方法。
【請求項6】
前記学習モデルは、
状況に対する前記デバイスの行動を予測するための第1モデル、および
前記予測された行動による報酬を予測するための第2モデル
を含み、
前記第1モデルおよび前記第2モデルそれぞれは、前記リスク尺度を示すパラメータを使用して学習されたものであり、
前記第1モデルは、前記第2モデルから予測された報酬が最大となる行動を前記デバイスの次の行動として予測するように学習される、
請求項1に記載の状況によるデバイスの行動を決定する方法。
【請求項7】
前記デバイスは、自律走行するロボットであり、
前記第1モデルおよび前記第2モデルは、前記ロボットの周囲の障害物の位置、前記ロボットが移動する経路、および前記ロボットの速度に基づいて、前記デバイスの行動および前記報酬をそれぞれ予測する、
請求項に記載の状況によるデバイスの行動を決定する方法。
【請求項8】
コンピュータシステムが実行する、状況によるデバイスの行動を決定する方法であって、
前記デバイスの制御と関連するリスク尺度を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習した学習モデルに対し、前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータを設定する段階、および
前記設定されたパラメータに基づいて、前記環境で前記デバイスが制御されるときに、与えられた状況による前記デバイスの行動を決定する段階
を含み、
前記学習モデルに対しては、前記環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができ、
前記学習モデルは、状況に対する前記デバイスの行動による報酬の推定を繰り返すことによって前記報酬の分布を学習し、
各繰り返しは、前記デバイスの出発地から目的地への移動を示す各エピソードに対する学習および前記学習モデルのアップデートを含み、
前記各エピソードが始まるときに前記リスク尺度を示すパラメータがサンプリングされ、サンプリングされた前記リスク尺度を示すパラメータは、前記各エピソードが終了するまで固定される、
況によるデバイスの行動を決定する方法。
【請求項9】
前記学習モデルのアップデートは、バッファに格納されたサンプリングされた前記リスク尺度を示すパラメータを使用して実行されるか、
前記リスク尺度を示すパラメータをリサンプリングし、リサンプリングされた前記リスク尺度を示すパラメータを使用して実行される、
請求項に記載の状況によるデバイスの行動を決定する方法。
【請求項10】
前記リスク尺度を示すパラメータは、
CVaR(Conditional Value-at-Risk)リスク尺度を示すパラメータとして0超過1以下の範囲の数であるか、
べき乗則リスク尺度として0未満の範囲の数である、
請求項1に記載の状況によるデバイスの行動を決定する方法。
【請求項11】
前記デバイスは、自律走行するロボットであり、
前記リスク尺度を示すパラメータを設定する段階は、
前記環境で前記ロボットが自律走行する間に、利用者によって要請された値に基づいて、前記学習モデルに前記リスク尺度を示すパラメータを設定する、
請求項1に記載の状況によるデバイスの行動を決定する方法。
【請求項12】
請求項1~11のうちのいずれか一項に記載の方法を前記コンピュータシステムで実行させる、コンピュータプログラム。
【請求項13】
請求項1~11のうちのいずれか一項に記載の方法を前記コンピュータシステムで実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項14】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
デバイスの制御と関連するリスク尺度を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習した学習モデルに対し、前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータを設定し、前記設定されたパラメータに基づいて、前記環境で前記デバイスが制御されるときに、与えられた状況による前記デバイスの行動を決定し、
前記学習モデルに対しては、前記環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができ
前記学習モデルは、分位点回帰分析方法を使用して、状況に対する前記デバイスの行動によって得られる報酬の分布を学習したものであり、
前記学習モデルは、所定の第1範囲に属する第1パラメータの値に対応する前記報酬の値を学習するが、前記第1範囲に対応する第2範囲に属する前記リスク尺度を示すパラメータをサンプリングし、前記報酬の分布内で、前記サンプリングされたリスク尺度を示すパラメータに対応する報酬の値も学習し、
前記第1パラメータの値のうちの最小値は前記報酬の値のうちの最小値に対応し、前記第1パラメータの値のうちの最大値は前記報酬の値のうちの最大値に対応する、
コンピュータシステム。
【請求項15】
コンピュータシステムが実行する、状況によるデバイスの行動を決定するために使用されるモデルを学習させる方法であって、
前記モデルに、前記デバイスの制御と関連するリスク尺度(risk-measure)を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習させる段階
を含み、
学習された前記モデルに対しては、環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができ、
学習された前記モデルに前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータが設定されることにより、前記モデルにより、前記設定されたパラメータに基づいて、前記環境で前記デバイスが制御されるときに、与えられた状況による前記デバイスの行動が決定され
前記学習させる段階は、
前記モデルに、分位点回帰分析方法を使用しながら、状況に対する前記デバイスの行動によって得られる報酬の分布を学習させ、
前記学習させる段階は、
前記モデルに、所定の第1範囲に属する第1パラメータの値に対応する前記報酬の値を学習させるが、前記第1範囲に対応する第2範囲に属する前記リスク尺度を示すパラメータをサンプリングし、前記報酬の分布内で、前記サンプリングされたリスク尺度を示すパラメータに対応する報酬の値も学習させ、
前記第1パラメータの値のうちの最小値は前記報酬の値のうちの最小値に対応し、前記第1パラメータの値のうちの最大値は前記報酬の値のうちの最大値に対応する、
モデルを学習させる方法。
【請求項16】
前記モデルは、
状況に対する前記デバイスの行動を予測するための第1モデル、および
前記予測された行動による報酬を予測するための第2モデル
を含み、
前記第1モデルおよび前記第2モデルそれぞれは、前記リスク尺度を示すパラメータを使用して学習されたものであり、
前記学習させる段階は、
前記第1モデルを、前記第2モデルから予測された報酬が最大となる行動を前記デバイスの次の行動として予測するように学習させる、
請求項15に記載のモデルを学習させる方法。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、状況によるデバイスの行動を決定する方法に関し、より詳細には、デバイスの制御と関連するリスク尺度(risk measure)を示すパラメータを使用してデバイスの行動による報酬の分布を学習したモデルを利用して状況によるデバイスの行動を決定する方法と、該当のモデルを学習させる方法に関する。
【背景技術】
【0002】
強化学習(Reinforcement Learning)は、機械学習(Machine Learning)の一種であって、与えられた状況(または、状態)(state)に対して最適の行動(action)を選択できるようにする学習方法である。強化学習の対象となるコンピュータプログラムは、エージェント(agent)と呼ばれる。エージェントは、与えられた状況に対して自身が取る行動を示すポリシー(政策)(policy)を樹立するが、最大の報酬を得ることのできるポリシーを樹立するためにモデルを学習させる。このような強化学習は、自律走行車や自律走行ロボットを制御するためのアルゴリズムを実現するために使用される。
【0003】
例えば、特許文献1(登録日2017年8月21日)には、絶対座標を認識して目的地まで自動で移動することができる自律走行ロボットおよびこのナビゲーション方法について開示している。
【0004】
上述した情報は、本発明の理解を助けるためのものに過ぎず、従来技術の一部を形成しない内容を含むこともある。
【先行技術文献】
【特許文献】
【0005】
【文献】韓国登録特許第10-1771643号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
デバイスの制御と関連するリスク尺度を示すパラメータを使用して、状況に対するデバイスの行動による報酬の分布を学習させるモデル学習方法を提供する。
【0007】
リスク尺度を示すパラメータを使用して状況に対するデバイスの行動による報酬の分布を学習した学習モデルに対して環境の特性を考慮したリスク尺度を示すパラメータを設定し、該当の環境でデバイスを制御するときに、与えられた状況によるデバイスの行動を決定する方法を提供する。
【課題を解決するための手段】
【0008】
一側面によると、コンピュータシステムが実行する、状況によるデバイスの行動を決定する方法であって、前記デバイスの制御と関連するリスク尺度(risk-measure)を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習した学習モデルに対し、前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータを設定する段階、前記設定されたパラメータに基づいて、前記環境で前記デバイスを制御するときに、与えられた状況による前記デバイスの行動を決定する段階を含み、前記学習モデルに対しては、前記環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができる、状況によるデバイスの行動を決定する方法を提供する。
【0009】
前記デバイスの行動を決定する段階は、前記設定されたリスク尺度を示すパラメータの値または前記パラメータの値が示す範囲により、前記与えられた状況に対してリスクをさらに回避したりリスクをさらに追及したりするように前記デバイスの行動を決定してよい。
【0010】
前記デバイスは自律走行するロボットであり、前記デバイスの行動を決定する段階は、前記設定されたリスク尺度を示すパラメータの値が所定の値以上であるか前記パラメータの値が所定の範囲以上を示す場合、リスクをさらに追求するようにする前記ロボットの行動として、前記ロボットの直進または前記ロボットの加速を決定してよい。
【0011】
前記学習モデルは、分位点回帰分析(quantile regression)方法を使用して、状況に対する前記デバイスの行動によって得られる報酬の分布を学習したものであってよい。
【0012】
前記学習モデルは、所定の第1範囲に属する第1パラメータ値に対応する前記報酬の値を学習するが、前記第1範囲に対応する第2範囲に属する前記リスク尺度を示すパラメータをサンプリングし、前記報酬の分布内で、前記サンプリングされたリスク尺度を示すパラメータに対応する報酬の値も学習し、前記第1パラメータの値のうちの最小値は前記報酬の値のうちの最小値に対応し、前記第1パラメータの値のうちの最大値は前記報酬の値のうちの最大値に対応してよい。
【0013】
前記第1範囲は0~1であり、前記第2範囲は0~1であり、前記学習モデルを学習するときに、前記第2範囲に属する前記リスク尺度を示すパラメータは、ランダムにサンプリングされてよい。
【0014】
前記第1パラメータ値のそれぞれは百分率位置を示し、前記第1パラメータ値のそれぞれは、該当する百分率位置の前記報酬の値に対応してよい。
【0015】
前記学習モデルは、状況に対する前記デバイスの行動を予測するための第1モデルおよび前記予測された行動による報酬を予測するための第2モデルを含み、前記第1モデルおよび前記第2モデルそれぞれは、前記リスク尺度を示すパラメータを使用して学習されたものであり、前記第1モデルは、前記第2モデルから予測された報酬が最大となる行動を前記デバイスの次の行動として予測するように学習されてよい。
【0016】
前記デバイスは自律走行するロボットであり、前記第1モデルおよび前記第2モデルは、前記ロボットの周囲の障害物の位置、前記ロボットが移動する経路、および前記ロボットの速度に基づいて、前記デバイスの行動および前記報酬をそれぞれ予測してよい。
【0017】
前記学習モデルは、状況に対する前記デバイスの行動による報酬の推定を繰り返すことによって前記報酬の分布を学習し、各繰り返しは、前記デバイスの出発地から目的地への移動を示す各エピソードに対する学習および前記学習モデルのアップデートを含み、前記各エピソードが始まるときに前記リスク尺度を示すパラメータがサンプリングされ、サンプリングされた前記リスク尺度を示すパラメータは、前記各エピソードが終了するときまで固定されてよい。
【0018】
前記学習モデルのアップデートは、バッファに記録されたサンプリングされた前記リスク尺度を示すパラメータを使用して実行されるか、前記リスク尺度を示すパラメータをリサンプリングし、リサンプリングされた前記リスク尺度を示すパラメータを使用して実行されてよい。
【0019】
前記リスク尺度(risk-measure)を示すパラメータは、CVaR(Conditional Value-at-Risk)リスク尺度を示すパラメータとして0超過1以下(または、0以上1以下)の範囲の数であるか、べき乗則(power-law)リスク尺度として0未満(または、0以下)の範囲の数であってよい。
【0020】
前記デバイスは自律走行するロボットであり、前記リスク尺度を示すパラメータを設定する段階は、前記環境で前記ロボットが自律走行する間に、利用者から要請された値に基づいて、前記学習モデルに前記リスク尺度を示すパラメータを設定してよい。
【0021】
他の一側面において、コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、前記デバイスの制御と関連するリスク尺度(risk-measure)を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習した学習モデルに対し、前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータを設定し、前記設定されたパラメータに基づいて、前記環境で前記デバイスが制御されるときに、与えられた状況による前記デバイスの行動を決定し、前記学習モデルに対しては、前記環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができる、コンピュータシステムが提供される。
【0022】
また他の一側面において、コンピュータシステムが実行する、状況によるデバイスの行動を決定するために使用されるモデルを学習させる方法であって、前記モデルに、前記デバイスの制御と関連するリスク尺度(risk-measure)を示すパラメータを使用して状況に対する前記デバイスの行動による報酬の分布を学習させる段階を含み、学習された前記モデルに対しては、環境の特性によって前記リスク尺度を示すパラメータが相異するように設定することができ、学習された前記モデルに前記デバイスが制御される環境に対する前記リスク尺度を示すパラメータが設定されることにより、前記モデルを利用することで、前記設定されたパラメータに基づいて、前記環境で前記デバイスが制御されるときに、与えられた状況による前記デバイスの行動が決定される、モデルを学習させる方法。
【0023】
前記学習させる段階は、前記モデルに、分位点回帰分析(quantile regression)方法を使用して、状況に対する前記デバイスの行動によって得られる報酬の分布を学習させてよい。
【0024】
前記学習させる段階は、前記モデルに、所定の第1範囲に属する第1パラメータ値に対応する前記報酬の値を学習させるが、前記第1範囲に対応する第2範囲に属する前記リスク尺度を示すパラメータをサンプリングし、前記報酬の分布内で、前記サンプリングされたリスク尺度を示すパラメータに対応する報酬の値も学習させ、前記第1パラメータの値のうちの最小値は前記報酬の値のうちの最小値に対応し、前記第1パラメータの値のうちの最大値は前記報酬の値のうちの最大値に対応してよい。
【0025】
前記モデルは、状況に対する前記デバイスの行動を予測するための第1モデルおよび前記予測された行動による報酬を予測するための第2モデルを含み、前記第1モデルおよび前記第2モデルそれぞれは、前記リスク尺度を示すパラメータを使用して学習されたものであり、前記学習させる段階は、前記第1モデルを、前記第2モデルから予測された報酬が最大となる行動を前記デバイスの次の行動として予測するように学習させてよい。
【発明の効果】
【0026】
品物を把持したり自律走行したりするロボットのようなデバイスの状況による行動を決定するときに、該当のデバイスの制御と関連するリスク尺度を示すパラメータを使用してデバイスの行動による報酬の分布を学習したモデルを使用することができる。
【0027】
モデルを再学習させる必要なく、多様なリスク尺度を示すパラメータをモデルに設定することができる。
【0028】
モデルに、環境の特性が考慮されたリスク尺度を示すパラメータが設定され、このようなパラメータが設定されたモデルを使用することにより、与えられた環境の特性によるリスクを回避あるいは追求しながらデバイスを制御することができる。
【図面の簡単な説明】
【0029】
図1】一実施形態における、状況によるデバイスの行動を決定する方法を実行するコンピュータシステムを示した図である。
図2】一実施形態における、コンピュータシステムのプロセッサを示した図である。
図3】一実施形態における、状況によるデバイスの行動を決定する方法を示したフローチャートである。
図4】一例における、学習モデルによって学習されたデバイスの行動による報酬の分布を示した図である。
図5】一例における、設定されたリスク尺度を示すパラメータにしたがって環境内で制御されるロボットを示した図である。
図6】一例における、状況によるデバイスの行動を決定するモデルのアーキテクチャを示した図である。
図7】一例における、学習モデルを訓練させるためのシミュレーションの環境を示した図である。
図8a】一例における、学習モデルを訓練させるためのシミュレーションにおけるロボットのセンサ設定を示した図である。
図8b】一例における、学習モデルを訓練させるためのシミュレーションにおけるロボットのセンサ設定を示した図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0031】
図1は一実施形態における、状況によるデバイスの行動を決定する方法を実行するコンピュータシステムを示した図である。
【0032】
以下で説明する実施形態における、状況によるデバイスの行動を決定する方法を実行するコンピュータシステムは、図1に示したコンピュータシステム100によって実現されてよい。
【0033】
コンピュータシステム100は、以下で説明する、状況によるデバイスの行動を決定するためのモデルを構築するためのシステムであってよい。構築されたモデルが搭載されるコンピュータシステム100に搭載されてよい。コンピュータシステム100によって構築されたモデルは、デバイスの制御のためのプログラムであるエージェント(agent)に搭載されてよい。または、コンピュータシステム100は、デバイスに含まれてもよい。言い換えれば、コンピュータシステム100は、デバイスの制御システムを構成してよい。
【0034】
デバイスは、与えられた状況(状態)によって特定の行動(すなわち、制御動作)を実行する装置であってよい。デバイスは、例えば、自律走行ロボットであってよい。または、デバイスは、サービスを提供するサービスロボットであってよい。サービスロボットが提供するサービスは、飲食物、商品、または宅配を空間内で配達する配達サービス、または利用者を空間内の特定の位置に案内する道案内サービスを含んでよい。または、デバイスは、品物を把持したり持ち上げたりするなどの動作を実行するロボットであってよい。その他にも、与えられた状況(状態)によって特定の制御動作を実行することが可能な装置であれば、実施形態のモデルを使用して行動が決定されるデバイスとなってよい。制御動作は、強化学習に基づくアルゴリズムによって制御が可能なデバイスのいずれかの動作であってよい。
【0035】
「状況(状態)」とは、環境内で制御されるデバイスが直面する状況を意味してよい。例えば、デバイスが自律走行ロボットである場合、「状況(状態)」は、自律走行ロボットが出発地から目的地に移動することによって直面するいずれかの状況(例えば、障害物が前方または周囲に位置する状況など)を示してよい。
【0036】
図1に示すように、コンピュータシステム100は、構成要素として、メモリ110、プロセッサ120、通信インタフェース130、および入力/出力インタフェース140を含んでよい。
【0037】
メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置(permanent mass storage device)を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータシステム100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク160を介して受信されたファイルによってインストールされるコンピュータプログラムに基づいてコンピュータシステム100のメモリ110にロードされてよい。
【0038】
プロセッサ120は、基本的な算術、ロジック、および入力/出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0039】
通信インタフェース130による通信方式が限定されることはなく、ネットワーク160が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク160は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク160は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0040】
入力/出力インタフェース140は、入力/出力装置150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータシステム100と1つの装置で構成されてもよい。
【0041】
また、他の実施形態において、コンピュータシステム100は、図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0042】
以下では、実施形態の状況によるデバイスの行動を決定する方法を実行し、状況によるデバイスの行動を決定するために学習されたモデルを構築する、コンピュータシステムのプロセッサ120についてさらに詳しく説明する。
【0043】
これに関し、図2は、一実施形態における、コンピュータシステムのプロセッサを示した図である。
【0044】
図に示すように、プロセッサ120は、学習部201および決定部202を含んでよい。このようなプロセッサ120の構成要素は、少なくとも1つのプログラムコードによって提供される制御命令にしたがってプロセッサ120によって実行される、互いに異なる機能(different functions)の表現であってよい。
【0045】
例えば、実施形態の状況によるデバイスの行動を決定するために使用されるモデルを学習(または、訓練)させるためのプロセッサ120の動作の機能的な表現として学習部201が使用されてよく、学習されたモデルを使用して与えられた状況によるデバイスの行動を決定するためのプロセッサ120の動作の機能的な表現として決定部202が使用されてよい。
【0046】
プロセッサ120およびプロセッサ120の構成要素は、図3に示した段階310~330を実行してよい。例えば、プロセッサ120およびプロセッサ120の構成要素は、メモリ110が含むオペレーティングシステムのコードと、上述した少なくとも1つのプログラムコードとによる命令(instruction)を実行するように実現されてよい。ここで、少なくとも1つのプログラムコードは、自律走行学習方法を処理するために実現されたプログラムのコードに対応してよい。
【0047】
プロセッサ120は、実施形態の方法を実行するためのプログラムファイルに記録されたプログラムコードをメモリ110にロードしてよい。このようなプログラムファイルは、メモリ110とは区分される永続的記録装置に記録されていてよく、プロセッサ120は、バスを介して永続的記録装置に記録されたプログラムファイルからプログラムコードがメモリ110にロードされるようにコンピュータシステム100を制御してよい。このとき、プロセッサ120の構成要素は、メモリ110にロードされたプログラムコードのうちの対応する部分の命令を実行しながら、段階310~330に対応する動作を実行してよい。以下で説明する段階310~330をはじめとする動作を実行するために、プロセッサ120の構成要素は、制御命令による演算を直接処理してもよいし、コンピュータシステム100を制御してもよい。
【0048】
以下の詳細な説明では、コンピュータシステム100、プロセッサ120、またはプロセッサ120の構成要素が実行する動作は、説明の便宜上、コンピュータシステム100が実行する動作として説明する。
【0049】
図3は、一実施形態における、状況によるデバイスの行動を決定する方法を示したフローチャートである。
【0050】
図3を参照しながら、状況によるデバイスの行動を決定するために使用される(学習)モデルを学習させ、学習されたモデルを使用して状況によるデバイスの行動を決定する方法についてさらに詳しく説明する。
【0051】
段階310で、コンピュータシステム100は、状況によるデバイスの行動を決定するために使用されるモデルを学習させてよい。前記モデルは、深層強化学習に基づいたアルゴリズムによって学習されたモデルであってよい。コンピュータシステム100は、(デバイスの行動を決定するための)モデルに対し、デバイスの制御と関連するリスク尺度(risk-measure)を示すパラメータを使用することで、状況に対する前記デバイスの行動による報酬の分布を学習させてよい。
【0052】
段階320で、コンピュータシステム100は、このようなデバイスの制御と関連するリスク尺度(risk-measure)を示すパラメータを使用して状況に対するデバイスの行動による報酬の分布を学習した(学習)モデルに、デバイスが制御される環境に対するリスク尺度を示すパラメータを設定してよい。実施形態では、学習モデルに対しては、デバイスが制御される環境の特性によってリスク尺度を示すパラメータが相異するように設定されてよい。構築された学習モデルに対する、リスク尺度を示すパラメータの設定は、該当の学習モデルが適用されるデバイスを運用する利用者によってなされてよい。例えば、利用者は、自身が使用するユーザ端末やデバイスのユーザインタフェースを利用して、デバイスが環境内で制御されるときに考慮されるリスク尺度を示すパラメータを設定してよい。デバイスが自律走行するロボットである場合、環境でロボットが自律走行する間(または、自律走行の前後)に、利用者から要請された値に基づいて、学習モデルにリスク尺度を示すパラメータを設定してよい。設定されるパラメータは、デバイスが制御される環境の特性を考慮したものであってよい。
【0053】
一例として、自律走行ロボットであるデバイスが制御される環境が、障害物や歩行者の出没率が高い場所である場合、利用者は、学習モデルに対し、リスクをより回避するようにする値に該当するパラメータを設定してよい。または、自律走行ロボットであるデバイスが制御される環境が、障害物や歩行者の出没率が低く、ロボットが走行する通路が広い場合、利用者は、学習モデルに対し、リスクをより追求するようにする値に該当するパラメータを設定してよい。
【0054】
段階330で、コンピュータシステム100は、設定されたパラメータに基づいて(すなわち、設定されたパラメータに基づいた、上述した学習モデルによる結果値に基づいて)、環境でデバイスが制御されるときに、状況によるデバイスの行動を決定してよい。言い換えれば、コンピュータシステム100は、設定されたリスク尺度を示すパラメータによるリスク尺度を考慮した上でデバイスを制御してよい。これにより、デバイスは、直面した状況に対してリスクを回避するように制御されるようになり(例えば、通路で障害物に直面した場合に、障害物のない他の通路を走行したり、極度に速度を落として慎重に障害物を回避したりするなど)、直面した状況に対してリスクをより追求するように制御されるようになる(例えば、通路で障害物に直面した場合に、障害物のある通路をそのまま通過したり、狭い通路を通過するときに速度を落とさずに通過したりするなど)。
【0055】
コンピュータシステム100は、設定されたリスク尺度を示すパラメータの値または該当のパラメータの値が示す範囲(例えば、該当のパラメータ値以下/未満)により、与えられた状況に対してリスクをさらに回避するかあるいはリスクをさらに追求するようにデバイスの行動を決定してよい。言い換えれば、設定されたリスク尺度を示すパラメータの値またはその範囲は、デバイスの制御においてデバイスが考慮するリスク尺度に対応してよい。
【0056】
例えば、デバイスが自律走行するロボットである場合、コンピュータシステム100は、(学習モデルに対して)設定されたリスク尺度を示すパラメータの値が所定の値以上であるかパラメータの値が所定の範囲以上を示す場合、リスクをさらに追求するようにするロボットの行動として、ロボットの直進またはロボットの加速を決定してよい。これとは反対に、リスクを追求しない(すなわち、回避する)ロボットの行動は、他の通路への迂回またはロボットの減速であってよい。
【0057】
これに関し、図5は、一例における、設定されたリスク尺度を示すパラメータによって環境内で制御されるロボットを示した図である。図に示したロボット500は、自律走行ロボットであって、上述したデバイスに対応してよい。図に示すように、ロボット500は、障害物510と直面する状況において障害物を回避して移動してよい。ロボット500の制御のために使用される学習モデルに対して設定されたパラメータが示すリスク尺度により、ロボット500のこのような障害物510回避の動作は、上述したように異なってよい。
【0058】
一方、デバイスが品物を把持する(または、拾う)ロボットである場合、リスクをさらに追求するようにするロボットの行動は、より果敢に(例えば、より高速度および/または強い力で)品物を把持することであってよく、これとは反対に、リスクを追求しないロボットの行動は、より慎重に(例えば、より低速度および/または弱い力で)品物を把持することであってよい。
【0059】
または、デバイスが足を備えたロボットの場合、リスクをさらに追求するようにするロボットの行動は、より果敢な動作(例えば、より歩幅が広い動作および/または高速度)であってよく、これとは反対に、リスクを追求しないロボットの行動は、より慎重な動作(例えば、より歩幅が狭い動作および/または低速度)であってよい。
【0060】
このように、実施形態では、学習モデルに対し、デバイスが制御される環境の特性が考慮されたリスク尺度を示すパラメータを多様に(すなわち、多様に相異した値を)設定することができ、環境に適合する程度のリスク尺度を考慮した上でデバイスを制御することができる。
【0061】
実施形態の学習モデルは、最初の学習のときにリスク尺度を示すパラメータを使用してデバイスの行動による報酬の分布を学習したものであるが、このようなリスク尺度を示すパラメータを学習モデルに設定するにあたり、パラメータを再設定するたびに学習モデルを再学習(訓練)させる必要がない。
【0062】
以下では、学習モデルがリスク尺度を示すパラメータを使用してデバイスの行動による報酬の分布を学習する方法についてより詳しく説明する。
【0063】
実施形態の学習モデルは、状況(状態)に対してデバイスが行動を実行する場合、これによって得られる報酬を学習する。このような報酬は、行動の実行によって得られる累積報酬であってよい。累積報酬は、一例として、デバイスが出発地から目的地まで移動する自律走行ロボットである場合、ロボットが目的地まで到達するまでの行動によって得られる累積報酬であってよい。学習モデルは、複数回(例えば、百万回)繰り返された、状況に対するデバイスの行動によって得られる報酬を学習してよい。このとき、学習モデルは、状況に対するデバイスの行動によって得られる報酬の分布を学習してよい。このような報酬の分布は、確率分布を示してよい。
【0064】
例えば、実施形態の学習モデルは、分位点回帰分析(quantile regression)方法を使用して、状況に対するデバイスの行動によって得られる(累積)報酬の分布を学習してよい。
【0065】
これに関し、図4は、一例における、学習モデルによって学習されたデバイスの行動による報酬の分布を示した図である。図4は、分位点回帰分析(quantile regression)方法によって学習モデルが学習した報酬の分布を示している。
【0066】
状況(s)に対して行動(a)が実行される場合に報酬(Q)が与えられてよい。このとき、行動が適切であるほど報酬は高くなってよい。実施形態の学習モデルは、このような報酬に対する分布を学習してよい。
【0067】
状況に対してデバイスが行動をしたときに得られる報酬には、最大値と最小値が存在してよい。最大値は、限りのない繰り返し(例えば、100万回)のうちでデバイスの行動が最も肯定的であった場合の累積報酬であってよく、最小値は、限りのない繰り返しのうちでデバイスの行動が最も否定的であった場合の累積報酬であってよい。このような最小値から最大値までの報酬をそれぞれ分位点(quantile)に対応させて並べてよい。例えば、0~1の分位点に対し、0には最小値(100万位)に該当する報酬の値を対応させ、1には最大値(1位)に該当する報酬の値を対応させ、0.5には中間(50万位)に該当する報酬の値を対応させてよい。学習モデルは、このような報酬の分布を学習してよい。したがって、分位点(τ)に対応する報酬の値Qが学習されるようになる。
【0068】
すなわち、学習モデルは、所定の第1範囲に属する第1パラメータ値(分位点として、図4のτに対応)に(例えば、1対1で)対応する報酬の値(図4のQに対応)を学習してよい。このとき、第1パラメータの値のうちの最小値(図4では0)は報酬の値のうちの最小値に対応し、第1パラメータの値のうちの最大値(図4では1)は報酬の値のうちの最大値に対応してよい。また、学習モデルは、このような報酬の分布を学習するにあたり、リスク尺度を示すパラメータも学習してよい。例えば、学習モデルは、第1範囲に対応する第2範囲に属するリスク尺度を示すパラメータ(図4のβに対応)をサンプリングし、報酬の分布内で、サンプリングされたリスク尺度を示すパラメータに対応する報酬の値も学習してよい。言い換えれば、学習モデルは、図4の分布を学習するにあたり、サンプリングされたリスク尺度を示すパラメータ(例えば、β=0.5)をさらに考慮してよく、これに対応する報酬の値を学習してよい。
【0069】
リスク尺度を示すパラメータ(例えば、β=0.5)に対応する報酬の値は、該当のパラメータと同じ第1パラメータ(例えば、τ=0.5)に該当する報酬の値であってよい。または、リスク尺度を示すパラメータ(例えば、β=0.5)に対応する報酬の値は、該当のパラメータと同じ第1パラメータ(例えば、τ=0.5)以下に該当する報酬の値の平均であってよい。
【0070】
図に示すように、一例として、τに対応する第1パラメータの第1範囲は0~1であってよく、リスク尺度を示すパラメータ第2範囲は0~1であってよい。第1パラメータ値のそれぞれは百分率位置を示してよく、このような第1パラメータ値のそれぞれは、該当する百分率位置の報酬の値に対応してよい。言い換えれば、学習モデルは、状況と、これに対する行動、上位%値を入力することによって得られる報酬を予測するように学習されてよい。
【0071】
第2範囲は、第1範囲と同じものとして例示されているが、相異してもよい。例えば、第2範囲は、0未満であってもよい。学習モデルを学習するときに、第2範囲に属するリスク尺度を示すパラメータは、ランダムにサンプリングされてよい。
【0072】
一方、図4において、Qは、0~1の値に正規化されたものであってよい。
【0073】
すなわち、実施形態では、図4に示すような報酬の分布を学習するにあたり、サンプリングされたβを固定して学習してよく、したがって、学習されたモデルに対しては、(環境に適合する程度のリスク尺度が考慮されたデバイスの制御のために)デバイスが制御される環境の特性が考慮されたリスク尺度を示すパラメータ(β)が多様に再設定されることが可能となる。単に行動によって得られる報酬の平均を学習したり、リスク尺度を示すパラメータ(β)を考慮せずに報酬の分布だけを学習したりする場合に比べ、実施形態では、パラメータ(β)を再設定するときに学習モデルを再学習(訓練)させる作業の必要がなくなる。
【0074】
図4に示すように、βが大きいほど(すなわち、1に近いほど)、デバイスはリスクをさらに追求するように制御されてよく、βが小さいほど(すなわち、0に近いほど)、デバイスはリスクを回避するように制御されてよい。構築された学習モデルに対し、デバイスを運用する利用者が適切なβを設定することにより、デバイスはリスクをさらに回避するか回避しないように制御されてよい。デバイスが自律走行ロボットである場合、利用者は、デバイスを制御するための学習モデルに対してβ値をロボットの走行の前または後に適用してよく、ロボットが走行している途中にも、ロボットが考慮するリスク尺度を変更するためにβ値を変更設定してもよい。
【0075】
一例として、学習モデルにβが0.9で設定されれば、制御されるデバイスは常に上位10%の報酬を得るものと予測して行動するようになるため、リスクをより追求する方向に制御されてよい。これとは反対に、学習モデルにβが0.1で設定されれば、制御されるデバイスは常に下位10%の報酬を得るものと予測して行動するようになるため、リスクをより回避する方向に制御されてよい。
【0076】
したがって、実施形態では、デバイスの行動を決定するにあたり、リスクに対する予測をどのくらい肯定的または否定的にするのかに対するパラメータを追加で(リアルタイムで)設定することができ、したがって、リスクに対してさらに敏感に反応するデバイスを実現することができる。これは、デバイスが含むセンサの視野角などの限界によって一部の環境だけしか観察することのできない状況で、デバイスのより安全な走行を保障することができる。
【0077】
実施形態において、リスク尺度を示すパラメータ(β)は、確率分布(すなわち、報酬分布)を歪曲(distortion)させるパラメータであってよい。
βは、その値によって、リスクをより追求するように、あるいはリスクをより回避するように確率分布(すなわち、デバイスの行動によって得られる報酬の(確率)分布)を歪曲させるためのパラメータとして定義されてよい。言い換えれば、βは、第1パラメータ(τ)に対応して学習された報酬の確率分布を歪曲させるためのパラメータであってよい。実施形態では、変更設定することが可能なβによってデバイスが得る報酬の分布が歪曲されてよく、デバイスは、βによってより悲観的な方向あるいは楽観的な方向に動作されてよい。
【0078】
以上、図1および図2を参照しながら説明した技術的特徴は、図3~5に対してもそのまま適用可能であるため、重複する説明は省略する。
【0079】
以下では、図5~8bを参照しながら、上述したコンピュータシステム100によって構築される学習モデルについてさらに詳しく説明する。
【0080】
図6は、一例における、状況によるデバイスの行動を決定するモデルのアーキテクチャを示した図である。
【0081】
図7は、一例における、学習モデルを訓練させるためのシミュレーションの環境を示した図である。図8aおよび図8bは、一例における、学習モデルを訓練させるためのシミュレーションにおけるロボットのセンサ設定を示した図である。
【0082】
上述した学習モデルは、デバイスのリスク敏感ナビゲーションのためのモデルとして、リスク条件付き分布基盤のソフトアクタークリティック(Risk-Conditioned Distributional Soft Actor-Critic:RC-DSAC)アルゴリズムに基づいて構築されたモデルであってよい。
【0083】
深層強化学習(RL)を基盤とした現代のナビゲーションアルゴリズムは、有望な効率性と堅固性を具備しているが、深層RLアルゴリズムのほとんどはリスク中立的な方式によって作動することから、比較的少なくはあるが深刻な結果を招く行動により、利用者を特別に保護しようと(このような保護によって性能損失がほぼ発生しなくても)しない。また、このようなアルゴリズムは、通常はアルゴリズムを運用する環境に極めて高い複雑性があるにもかかわらず、訓練中に衝突費用および一部ドメインのランダム化を追加すること超え、これらが訓練されたモデルで、不正確な状況で安全を保障するためのいかなる措置も提供していない。
【0084】
本開示では、不確実性認識(uncertainty-aware)ポリシー(policy)(政策)を学習することができる上に、高価な微細調整や再訓練がなくてもリスク尺度(risk measure)の変更を可能にした新たな分布基盤のRLアルゴリズムとしてRC-DSACアルゴリズムを提供する。実施形態のアルゴリズムによる方法は、部分的に観察されたナビゲーション作業において、比較対象であるベースラインに比べて優れた性能と安全性を提示した。また、実施形態の方法によって訓練されたエージェントは、ランタイム時に、広範囲なリスク尺度に対して適切なポリシー(すなわち、行動)を適用したことを提示した。
【0085】
以下では、RC-DSACアルゴリズムに基づくモデルを構築するための概要について説明する。
【0086】
深層強化学習(RL)は、従来の計画基盤のアルゴリズムに比べて優れた性能と堅固性を約束することができ、モバイルロボットナビゲーション分野において相当な関心を集めている。このような関心にもかかわらず、リスク回避(risk-averse)ポリシーを設計するための深層RL基盤のナビゲーションに対する作業は、従来にはほとんど存在していない。しかし、これは、次のような理由によって必要であると言える。第一に、走行するロボットは、人間、他のロボット、自分自身、または周辺環境に対して迷惑なものとなり得るし、リスク回避ポリシーがリスク中立ポリシーよりも安全であるし、ワーストケース分析に基づく典型的なポリシーによって過剰保守的行動を避けることができる。第二に、正確なモデルの提供が非実用的な複雑な構造と力学が存在する環境において、特定のリスク尺度を最適化するポリシーは、実際にモデリングエラーに対する堅固性の保証を提供するための適切な選択となる。第三に、最終利用者、保険会社、およびナビゲーションエージェントの設計者は、リスク回避型人間であるため、リスク回避ポリシーは当然の選択となる。
【0087】
RLのリスク問題を解決するためには、分布基盤のRLの概念が導入されてよい。分布基盤のRLは、(単純に報酬の分布を平均(mean)してこれを学習するのではなく)累積した報酬の分布を学習する。このような報酬の分布から実際の数字に簡単にマッピングされる適切なリスク尺度を適用することにより、分布基盤のRLアルゴリズムは、リスク回避またはリスク追求ポリシーを推論することができる。分布基盤のRLは、アーケードゲーム、シミュレーションされたロボットベンチマーク、実世界での把持作業(real-world graspingtask)において優れた効率性と性能を提示する。また、例えば、歩行者に脅威を与えることを避けるためにある環境ではリスク回避のポリシーを選好することがあるが、このようなポリシーは、狭い通路を通過するには極めてリスク回避的なポリシーとなる。したがって、各環境に適合する互いに異なるリスク尺度によってモデルを訓練させる必要があり、これは、計算的な側面では高費用となるし多くの時間を必要とする作業となる。
【0088】
本開示では、複数のリスク尺度に適応可能なモデルを含むエージェントを効率的に訓練させるために、広範囲なリスク敏感ポリシーを同時に学習するリスク条件付き分布基盤のソフトアクタークリティック(Risk-Conditioned Distributional Soft Actor-Critic:RC-DSAC)アルゴリズムを提供する。
【0089】
RC-DSACは、非分布基盤のベースラインとその他の分布基盤のベースラインに比べ、優れた性能と安全性を提示する。また、実施形態によっては、(パラメータを変更するだけで)再訓練をしなくても他のリスク尺度にポリシーを適用することができる。
【0090】
実施形態によっては、i)同時に多様なリスク敏感ポリシーを学習することができる、分布基盤のRLに基づく新たなナビゲーションアルゴリズムを提供することができ、ii)多数のシミュレーション環境のベースラインよりも改善された性能を提供することができ、iii)ランタイム時に、広範囲なリスク尺度に対する一般化を達成することができる。
【0091】
以下では、RC-DSACアルゴリズムに基づくモデルを構築するための関連作業と関連技術について説明する。
【0092】
A.モバイルロボットナビゲーションにおけるリスク
実施形態では、安全性および低リスクナビゲーションのための深層RL接近法を採択する。リスクを考慮するためには、古典的なモデル予測制御(Model-Predictive-Control;MPC)およびグラフ検索接近法が既に存在している。実施形態では、これらも考慮しながら、単純なセンサノイズとオクルージョン(occlusion)から、ナビゲーショングラフのエッジ(例えば、ドア)の通過可能性(traversability)に対する不確実性および歩行者移動の予測不可能性に至るまで、多様なリスクを考慮する。
【0093】
確率(chance)制約条件として、衝突確率からエントロピーリスク(entropic risk)に至るまでの多様なリスク尺度が探求されてよい。歩行者の動きを予測するためのディープラーニングと非線形MPCが結合されたハイブリッド接近法が採択される場合、このようなハイブリッド接近法は、RLに依存する接近法とは異なり、ランタイム時にロボットのリスク指標(metric)パラメータが変更可能にすることができる。ただし、実施形態の結果と比べてみれば、このようなランタイムパラメータの調整(tuning)は、深層RLに対して簡単に行うことができる。
【0094】
B.モバイル-ロボットナビゲーションのための深層RL
深層RLは、多くのゲームおよびロボットとその他のドメインで成功的であったことから、モバイルロボットナビゲーション分野でも多くの注目を集めている。これは、MPCのような接近方式に比べてRL方法は、多くの費用がかかる軌跡(trajectory)予測をしなくても最適のアクション(行動)を推論することができ、費用や報酬が局所最適性(local optima)をもつときにより強力に実行することができる。
【0095】
環境に対する不確実性によって発生するリスクを明確に考慮する深層RL基盤の方法が提案されてもよい。個別的なディープネットワークは、MCドロップアウトとブートストラップが適用されたファーフローム(far-from)分布サンプルに対する過度な信頼予測を実行することによって衝突確率を予測する。
【0096】
不確実性認識(uncertainty-aware)RL方法は、追加的な観察予測モデルを備え、ポリシーによって取られたアクションの分散を調整するために予測分散を使用する。一方、「リスク報酬」は、例えば、車線交差点で自律走行ポリシーの安全な行動を奨励するためのものとして設計されてよく、未来の歩行者移動に対して推定された不確実性に基づいて2つのRL基盤の走行ポリシーが転換されてよい。このような方式は、不確実な環境において改善された性能および安全性を提示するが、追加的な予測モデル、細心の注意を払って形成された報酬機能、またはランタイム時に多くの費用がかかるモンテカルロサンプリングを必要とする。
【0097】
このようなRL基盤のナビゲーションに関する従来の作業とは異なり、実施形態では、追加的な予測モデルや具体的に調整された報酬機能を使用せず、分散基盤のRLを使用することによって計算的に効率的なリスク敏感ポリシーを学習することができる。
【0098】
C.分布基盤のRLおよびリスク敏感ポリシー
分布基盤のRLは、単にその平均ではなく、累積報酬の分布をモデリングする。分布基盤のRLアルゴリズムは、次の再帰(recursion)に依存してよい。
【0099】
【数1】
【0100】
ここで、ランダムリターン(return)
【0101】
【数2】
は、状態sから始まってポリシーπ下でアクションが取られたときにディスカウントされた(discounted)報酬の合計が定義されてよく、
【0102】
【数3】
はランダム変数AおよびBが同じ分布を有することを意味し、r(s、a)は与えられた状態アクションペアでランダム報酬を示し、
【0103】
【数4】
はディスカウントファクタであってよく、ランダム状態S’は(s、a)で与えられた転移分布により、ランダムアクションA’は状態S’でポリシーπから導き出されてよい。
【0104】
経験的に、分布基盤のRLアルゴリズムは、多くのゲームドメインで優れた性能とサンプル効率性を提示するが、これは、分位点(quantiles)を予測することが表現学習を強化する補助作業として作用するためであると見ることができる。
【0105】
分散基盤のRLは、リスク敏感ポリシーを容易に学習する。リスク敏感ポリシーを抽出するために、これは、ランダムリターン(累積報酬)の分布のランダム分位点を予測し、分位点をサンプリングすることによって多様な「歪曲(distortion)リスク尺度」を推定してリスク敏感アクションを選択するように学習されてよい。ただし、このようなサンプリングは、各潜在的なアクションに対して実行されなければならないため、このような接近法は、連続的なアクション空間には適用できないこともある。
【0106】
実施形態では、この代りに、ソフトアクタークリティック(SAC)フレームワークを分配基盤のRLと結合させてリスク敏感制御の課題を達成するために使用されてよい。ロボット分野において、サンプル基盤の分配基盤ポリシー勾配(gradient)アルゴリズムが考慮されてよく、これは、一貫性のあるリスク尺度を使用するときにOpenAI Gym上の作動(actuation)ノイズに対して改善された堅固性を立証することができた。一方、把持(grasping)作業のためのリスク敏感ポリシーを学習するために提案された分配基盤のRLは、実世界の把持データに関する非分布基盤のベースラインに対して優れた性能を提示することができる。
【0107】
従来の方法は、このような性能があるにもかかわらず、すべて一度に1つのリスク尺度に対するポリシーを学習することに制限される。これは、所望するリスク尺度が環境と状況によって異なる場合において問題となる。したがって、後述する実施形態では、多様なリスク尺度に適応可能な、単一的なポリシーを訓練させる方法について説明する。以下では、実施形態の接近法についてより詳しく説明する。
【0108】
実施形態の接近法と関連し、以下では、問題構成(problem formulation)および具体的な実現についてより詳しく説明する。
【0109】
A.問題構成
2次元で走行する車輪ロボット(例えば、自律走行ロボット)を考慮しながら説明する。ロボットの形状は、図7および図8に示すように八角形であってよく、ロボットの目的(objective)は、障害物と衝突せずに一連のウェイポイントを通過することであってよい。図7の環境には障害物も含まれている。
【0110】
このような問題は、部分的に、部分観測マルコフ決定過程(Partially-Observed Markov Decision Process:POMDP)で構成されてよく、状態のセットSPOとして、観察Ω、アクション
【0111】
【数5】
報酬関数
【0112】
【数6】
初期状態、与えられた状態アクション
【0113】
【数7】
における状態
【0114】
【数8】
および与えられた(s、a)における観察
【0115】
【数9】
に対する分布を含んで構成されてよい。
【0116】
RLを適用するときに、このようなPOMDPを、POMDPのエピソード履歴によって与えられた状態のセットSをもつ次のマルコフ決定過程(MDP)で取り扱ってよい。
【0117】
【数10】
【0118】
MDPは、POMDPのようなアクション
【0119】
【数11】
空間を有してよく、その報酬、初期状態、転移分布は、POMDPによって暗示的に(implicitly)定義されてよい。報酬はPOMDPに対する関数として定義されているが、MDPに対するランダム変数であってもよい。
【0120】
1)状態および観察:セットSPOのメンバーである完全な(full)状態は、すべての障害物の位置、速度、および加速度とカップルされた(coupled)すべてのウェイポイントの位置に該当してよく、実世界エージェント(例えば、ロボット)は、単にこのような状態のフラクション(fraction)だけを感知する。例えば、観察は、次のように表現されてよい。
【0121】
【数12】
【0122】
このような観察は、周囲の障害物の位置を説明する範囲センサ測定、次の2つのウェイポイントと関連するロボットの位置、およびロボットの速度に関する情報によって構成されてよい。
【0123】
特に、下記のように定義されてよい。
【0124】
【数13】
【0125】
【数14】
はインジケータ関数であり、dは、ロボットの座標フレームのx軸に対して、角度範囲(2i-2、2i)度から最も近い障害物までのメートル距離であり、与えられた方向に障害物がなければorng、i=0として設定されてよい。ウェイポイント観察は、次のように定義されてよい。
【0126】
【数15】
【数16】
は、[0.01、100]mでクリッピングされた、次のウェイポイントとその次のウェイポイントまでの距離を示してよく、θ1、θ2は、ロボットのx軸に対するこのようなウェイポイントの角度を示してよい。最後に、速度観察
【0127】
【数17】
は、現在の線形速度および角速度
【0128】
【数18】
とエージェントの以前のアクションから計算された所定の線形速度および角速度
【0129】
【数19】
で構成されてよい。
【0130】
2)アクション:正規化された2次元のベクトル
【0131】
【数20】
がアクションとして使用されてよい。これは、次に定義されるロボットの前記所定の線形速度および角速度に関するものであってよい。
【0132】
【数21】
例えば、
【0133】
【数22】
であってよい。
【0134】
このような所定の速度は、ロボットのモータコントローラに送信され、最大加速度
【0135】
【数23】
および
【0136】
【数24】
に対して範囲
【0137】
【数25】
および
【0138】
【数26】
でクリッピングされてよい。ここで、
【0139】
【数27】
は、モータコントローラの制御周期であってよい。エージェントの制御周期は
【0140】
【数28】
よりも大きくてよく、これは、シミュレーションではエピソードが始まるときに{0.12、0.14、0.16}秒で均一にサンプリングされてよく、実世界の実験では0.15秒となってよい。
【0141】
3)報酬:報酬関数は、エージェントが衝突を避けながら効率的にウェイポイントに沿って動くようにするものであってよい。完結性のために状態およびアクションに対する依存性を省略すれば、報酬は次のように表現されてよい。
【0142】
【数29】
【0143】
目的地(goal)(最後のウェイポイント)に到達するまでにかかった時間に対し、エージェントをペナライズ(penalize)するために、ベース報酬rbase=-0.02がすべての段階で与えられてよく、rgoal=10がエージェントと目的地との間の距離が0.15m未満であるときに与えられてよい。ウェイポイント報酬は、次のように表現されてよい。
【0144】
【数30】
【0145】
θ1は、ロボットのx軸に対する次のウェイポイントの角度であってよく、vは現在の線形速度であってよい。エージェントが障害物と接触した場合、rwaypointは0となってよい。
【0146】
報酬rangularは、直線によるエージェント(ロボット)の走行を奨励(encourage)してよく、次のように表現されてよい。
【0147】
【数31】
【0148】
エージェントが障害物と衝突すれば、rcoll=-10が与えられてよい。
【0149】
4)リスク敏感目的:数式(1)のように、
【0150】
【数32】
は、
【0151】
【数33】
によって与えられるランダムリターンであってよい。
【0152】
ここで、
【0153】
【数34】
は、MDPの転移分布とポリシーπによって与えられたランダム状態アクションシーケンスであってよい。
【0154】
【数35】
は、ディスカウントファクタであってよい。
【0155】
リスク敏感決定を定義するためには2つの主要な接近法が存在する。そのうちの1つは、ユーティリティ関数
【0156】
【数36】
を定義し、状態sで
【0157】
【数37】
を最大化するアクションaを選択するものであってよい。残りの1つは、分位点フラクション
【0158】
【数38】
に対する
【0159】
【数39】
によって定義されるZπの分位点関数を考慮するものであってよい。その次に、分位点フラクションから分位点フラクションへのマッピング
【0160】
【数40】
に該当する歪曲関数を定義し、状態sで歪曲リスク尺度
【0161】
【数41】
を最大化するアクションaを選択してよい。
【0162】
このような作業において、リスク尺度パラメータに該当するスカラーパラメータβをそれぞれ有する2つの歪曲リスク尺度が考慮されてよい。そのうちの1つは、広く使用されている条件付きVaR(Conditional Value-at-Risk(CVaR)(条件付きリスク価値))であってよく、これは、最小有望(least-favourable)ランダムリターンのフラクションβの期待値となり、ランダム関数は次に対応してよい。
【0163】
【数42】
【0164】
より低いβはより高いリスク回避ポリシーを結果として生むことができ、β=1はリスク中立ポリシーを示してよい。
【0165】
2つ目は、べき乗則(power-law)リスク尺度として、次のように歪曲関数が与えられてよい。
【0166】
【数43】
【0167】
前記歪曲関数は、把持試験で優れた性能を提示する。与えられたパラメータ範囲において、2つのリスク尺度には一貫性がある(coherent)。
【0168】
言い換えれば、上述したリスク尺度(risk-measure)を示すパラメータ(β)は、CVaR(Conditional Value-at-Risk)リスク尺度を示すパラメータとして0超過1以下の範囲の数であるか、べき乗則(power-law)リスク尺度として0未満の範囲の数であってよい。モデルの学習において、前記範囲からのβがサンプリングされて使用されてよい。
【0169】
上述した数式(10)および数式(11)は、βによって確率分布(報酬分布)を歪曲させるための数式であってよい。
【0170】
B.リスク条件付き分布基盤のソフトアクタークリティック
広範囲なリスク敏感ポリシーを効率的に学習するために、リスク条件付き分布基盤のソフトアクタークリティック(RC-DSAC)アルゴリズムが提案されてよい。
【0171】
1)ソフトアクタークリティックアルゴリズム:実施形態のアルゴリズムは、ソフトアクタークリティック(SAC)アルゴリズムを基盤するものであり、「ソフト」は、エントロピー正規化されたもの(entropy-regularized)を示してよい。SACは、次のような累積報酬とポリシーのエントロピーをともに最大化してよい。
【0172】
【数44】
【0173】
期待値は、ポリシーπおよび転移分布によって与えられた状態アクションシーケンスに対するものであり、
【0174】
【数45】
は、報酬およびエントロピーの最適化をトレードオフ(trades-off)する温度パラメータであってよく、
【0175】
【数46】
は、確率密度を有すると仮定されるアクションに対するエントロピーの分布(entropy of a distribution)を示してよい。
【0176】
SACは、ソフト状態アクション値関数
【0177】
【数47】
を学習するクリティックネットワークを有してよい。クリティックネットワークは、以下の数式(13)のソフトベルマン(soft Bellman)オペレータを使用してよい。
【0178】
【数48】
【0179】
数式(14)のソフト値関数の指数によって与えられる分布とポリシーとの間のクールバックライブラリ発散を最小化するアクターネットワークが使用されてよい。
【0180】
【数49】
【0181】
Πは、アクターネットワークによって表現されるポリシーのセットであってよく、
【0182】
【数50】
は、ポリシーπおよび転移分布によって誘導される状態に対する分布であってよい。これは、経験再生(experience replay)によって実際に近似されてよく、
【0183】
【数51】
は、分布を正規化する分配関数(partition function)であってよい。
【0184】
実際には、再パラメータ化(reparameterization)トリックがたびたび使用されてよい。このような場合、SACは、アクションを
【0185】
【数52】
としてサンプリングしてよく、
【0186】
【数53】
はアクターネットワークによって実現されたマッピングであり、
【0187】
【数54】
は球面ガウス関数(spherical Gaussian)Nと類似する固定された分布からのサンプルであってよい。ポリシー目的(policy objective)は、以下の数式(15)の形態を有してよい。
【0188】
【数55】
【0189】
2)分布基盤のSACおよびリスク敏感ポリシー:単にその平均ではなくて累積報酬の完全な分布を得るために、提案された分布基盤のSAC(DSAC)が使用されてよい。DSACは、このような分布を学習するために分位点回帰分析(quantile regression)を使用してよい。
【0190】
DSACは、上述した数式(1)のランダムリターンZπを利用するよりは、数式(12)のソフトランダムリターンを使用してよく、これは
【0191】
【数56】
として与えられ、数式(1)に示すように
【0192】
【数57】
であってよい。SACと同じように、DSACアルゴリズムは、アクターとクリティックを有してよい。
【0193】
クリティックを訓練させるためにいくつかの分位点フラクション
【0194】
【数58】
および
【0195】
【数59】
が独立的にサンプリングされてよく、クリティックは、次のような損失を最小化してよい。
【0196】
【数60】
【0197】
ここで、
【0198】
【数61】
に対して、分位点回帰損失は次のように表現されてよい。
【0199】
【数62】
【0200】
時間差は次のように表現されてよい。
【0201】
【数63】
【0202】
ここで、
【0203】
【数64】
は再生バッファからの転移(transition)であってよく、
【0204】
【数65】
はクリティックの出力であってよく、これは
【0205】
【数66】
のτ-分位点の推定値であってよく、
【0206】
【数67】
はターゲットクリティックとして、周知のクリティックの遅延されたバージョンの出力であってよい。
【0207】
リスク敏感アクターネットワークを訓練させるために、DSACは、歪曲関数ψを使用してよい。対応する歪曲リスク尺度を直ぐに最大化するよりは、DSACは、数式(15)で
【0208】
【数68】
を代替してよい。
【0209】
【数69】
はサンプルの平均を示してよい。
【0210】
3)リスク条件付きDSAC:DSACによって学習されたリスク敏感ポリシーは、多くのシミュレーション環境で優れた結果を提示したが、2)で説明したDSACは、一度に1つのリスク敏感ポリシー類型だけを学習する。これは、適切なリスク尺度パラメータは環境によって異なるし、利用者がランタイム時にパラメータを調整しようとする場合のモバイルロボットの走行において問題となることがある。
【0211】
このような問題を処理するために、実施形態では、リスク条件付き分布基盤のSAC(RC-DSAC)アルゴリズムを使用してよい。これは、DSACを同時に広範囲なリスク敏感ポリシーを学習するように確張したものであり、再訓練の過程がなくてもリスク尺度パラメータの変更が可能となるようにしたものである。
【0212】
RC-DSACは、パラメータβを有する歪曲関数
【0213】
【数70】
に対し、ポリシー
【0214】
【数71】
クリティック
【0215】
【数72】
およびターゲットクリティック
【0216】
【数73】
への入力としてβを提供することにより、リスク適応可能なポリシーを学習する。より具体的に、数式(16)のクリティックの目的は、次のように表現されてよい。
【0217】
【数74】
【0218】
ここで、
【0219】
【数75】
は、数式(17)に示すように、時間差は次のように表現されてよい。
【0220】
【数76】
【0221】
数式(15)のアクターの目的は、次のように表現されてよい。
【0222】
【数77】
【0223】
ここで、
【0224】
【数78】
であり、βはサンプリングに対する分布であってよい。
【0225】
訓練の間、リスク尺度パラメータβは、
【0226】
【数79】
に対して
【0227】
【数80】
から、および
【0228】
【数81】
に対してU([-2、0])から均一にサンプリングされてよい。
【0229】
他のRLアルゴリズムと同じように、各繰り返しは、データ収集段階とモデルアップデート段階を含んでよい。データ収集段階において、各エピソードが始まるときにβをサンプリングし、エピソードが終了するまでこれを固定してよい。モデルアップデート段階に対しては、次の2つの代案が適用されてよい。「格納(stored)」と呼ばれるその1つ目として、データ収集において使用されたβを経験再生バッファに格納し、このような格納されたβだけをアップデートに使用する。次に、「リサンプリング」と呼ばれる2つ目として、それぞれの経験に対して新たなβを繰り返しごとにミニバッチにサンプリングする(resampling)。
【0230】
言い換えれば、図1~5を参照しながら説明した学習モデルは、状況に対するデバイス(ロボット)の行動による報酬の推定を繰り返すことによって報酬の分布を学習するようになる。このとき、各繰り返しは、デバイス(ロボット)の出発地から目的地への移動を示す各エピソードに対する学習および学習モデルのアップデートを含んでよい。エピソードは、初期状態(出発地)から最終状態(目的地)に至るまでエージェントが経た状態、行動、報酬のシーケンスを意味してよい。各エピソードが始まるときにリスク尺度を示すパラメータ(β)が(例えば、ランダムに)サンプリングされてよく、サンプリングされたリスク尺度を示すパラメータ(β)は、各エピソードが終了するまで固定されてよい。
【0231】
学習モデルのアップデートは、コンピュータシステム100のバッファ(経験再生バッファ)に記録されたサンプリングされたリスク尺度を示すパラメータを使用して実行されてよい。例えば、以前にサンプリングされたリスク尺度を示すパラメータを使用して学習モデルのアップデート段階が実行されてよい(stored)。言い換えれば、データ収集段階で使用されたβが学習モデルのアップデート段階で再使用されてよい。
【0232】
または、コンピュータシステム100は、アップデート段階を実行するときにリスク尺度を示すパラメータをリサンプリングし、リサンプリングされたリスク尺度を示すパラメータを使用して学習モデルのアップデート段階を実行してよい(resampling)。言い換えれば、データ収集段階で使用されたβは、学習モデルのアップデート段階では再使用されず、学習モデルのアップデート段階でβが再びサンプリングされてよい。
【0233】
4)ネットワークアーキテクチャ:τおよびβは、コサイン埋め込み(Embedding)を使用して表現されてよく、図6に示すように、観察および分位点フラクションに関する情報をこれらと融合させるために、要素ごとの積(element-wise multiplication)が使用されてよい。
【0234】
図6は、図1~5を参照しながら説明した学習モデルのアーキテクチャを示した図である。図に示したモデルアーキテクチャは、RC-DSACで使用されるネットワークのアーキテクチャであってよい。モデル600は、上述した学習モデルを構成するモデルであってよい。モデル600に含まれるFCは、全結合層を示してよい。Conv1Dは、与えられた数のチャンネル/カーネル_サイズ/ストライドを有する1次元の畳み込み層を示してよい。GRUは、ゲート循環ユニット(gated recurrent unit)を示してよい。1つのブロックを示す複数の矢印は連結(concatenation)を示してよく、
【0235】
【数82】
は要素ごとの積を示してよい。
【0236】
DSACのように、実施形態のRC-DSACのクリティックネットワーク(すなわち、クリティックモデル)はτに依存する。しかし、実施形態のRC-DSACのアクターネットワーク(すなわち、アクターモデル)およびクリティックネットワークは、両者ともにβに依存する。したがって、要素
【0237】
【数83】
および
【0238】
【数84】
として埋め込み(Embedding)
【0239】
【数85】
が計算されてよい。
【0240】
この次に、要素ごとの積
【0241】
【数86】
をアクターネットワークに適用し、
【0242】
【数87】
をクリティックネットワークに適用する。
【0243】
【数88】
は、ゲート循環モジュール(GRU)を使用して計算された観察履歴(および、クリティックに対する現在のアクション)の埋め込み(Embedding)であってよく、全結合層、
【0244】
【数89】
および
【0245】
【数90】
は全結合層であってよく、
【0246】
【数91】
はベクトル
【0247】
【数92】
および
【0248】
【数93】
の連結を示してよい。
【0249】
言い換えれば、図1~5を参照しながら説明した学習モデルは、状況に対するデバイス(ロボット)の行動を予測するための第1モデル(上述したアクターモデルに対応)および予測された行動による報酬を予測するための第2モデル(上述したクリティックモデルに対応)を含んでよい。図6で説明したモデル600は、第1モデルおよび第2モデルのうちのいずれか1つを示したものであってよい。第1モデルおよび第2モデルは、出力端を示すブロックが異なるように構成されてよい。
【0250】
図6に示すように、第2モデル(クリティックモデル)には、状況に対して実行すると予測された行動(u)(例えば、第1モデル(アクターモデル)によって予測された行動)が入力されてよく、第2モデルは、該当の行動(u)による報酬(例えば、上述したQに対応可能)を推定してよい。すなわち、図に示したモデル600において、u(for critic)のブロックは、第2モデルだけに適用されるものであってよい。
【0251】
第1モデルは、第2モデルから予測された報酬が最大となる行動を前記デバイスの次の行動として予測するように学習されてよい。すなわち、第1モデルは、状況に対する行動のうちで報酬が最大となる行動を状況に対する行動(次の行動)として予測するように学習されてよい。このとき、第2モデルは、決定された後に行動による報酬(報酬分布)を学習してよく、これは、第1モデルにおける行動の決定のために再び使用されてよい。
【0252】
第1モデルおよび第2モデルそれぞれは、リスク尺度を示すパラメータ(β)を使用して学習されてよい(図に示した
【0253】
【数94】
(for actor)および
【0254】
【数95】
(for critic)ブロック参照)。
【0255】
すなわち、第1モデルおよび第2モデルは、両者ともに、リスク尺度を示すパラメータ(β)を使用して学習されるため、実現された学習モデルは、多様なリスク尺度を示すパラメータが設定されたとしても、(再びモデルを訓練させる作業の必要なく)該当のリスク尺度に適応可能なデバイスの行動を決定(推定)することができる。
【0256】
デバイスが自律走行するロボットである場合、上述した第1モデルおよび第2モデルは、ロボットの周囲の障害物の位置(orng)、ロボットが移動する経路(owaypoints)、およびロボットの速度(ovelocity)に基づいて、デバイスの行動および報酬をそれぞれ予測してよい。ロボットが移動する経路(owaypoints)は、ロボットが移動する次のウェイポイント(該当のウェイポイントの位置など)を示してよい。orng、owaypoints、およびovelocityは、エンコードされたデータとして第1/第2モデルに入力されてよい。orng、owaypoints、およびovelocityに対しては、A.問題構成での説明が適用されてよい。
【0257】
実施形態において、第1モデル(アクターモデル(アクターネットワーク))は、(例えば、ランダムにサンプリングされた)βを受けて行動(policy)に対する報酬分布を歪曲させ、歪曲された報酬分布で報酬が最大になるようにする行動(policy)(例えば、危険回避または危険追求のための行動)を決定するように学習されてよい。
【0258】
第2モデル(クリティックモデル(クリティックネットワーク))は、第1モデルによって決定された行動(policy)どおりにデバイスが行動する場合の累積報酬分布を、τを使用して学習してよい。または、ここで、第1モデルは、(例えば、ランダムにサンプリングされた)βをさらに考慮し、累積報酬分布を使用して学習してよい。
【0259】
第1モデルと第2モデルが同時に学習されてよく、したがって、第1モデルに次第に報酬を最大化するように学習がなされれば、(報酬分布がアップデートされることにより)第2モデルも次第にアップデートされるようになる。
【0260】
実施形態によって構築された(すなわち、前記第1モデルおよび第2モデルを含んで構築された)学習モデルは、利用者の設定によって学習モデルに入力されるβが変更されたとしても、再学習の過程を必要とせず、直ぐに入力されたβに対応して歪曲された報酬分布による行動(policy)を決定することができる。
【0261】
以下では、訓練のために使用されたシミュレーション環境についての説明と、実施形態の方法をベースラインと比べ、実世界のロボットに対して訓練されたポリシーを適用したものについて説明する。
【0262】
図7は、一例における、学習モデルを訓練させるためのシミュレーションの環境を示した図であり、図8aおよび図8bは、使用されたデバイス(ロボット)700のセンサ設定を示した図である。図8aでは、ロボット700のセンサの視野が狭く(narrow)設定されており(810)、図8bでは、ロボット700のセンサの視野がスパース(sparse)に設定されている(820)。すなわち、ロボット700は、360度全面の視野をカバーすることができず、制限された視野をもつ。
【0263】
A.訓練環境
図7に示すように、ロボット700の力学がシミュレーションされてよい。データ収集のスループットを高めるために、10回のシミュレーションが並列で実行されてよい。具体的に、生成された各環境に対し、10個のエピソードを並列で実行する。ここで、エピソードは、明確な出発地と目的地の位置を有するエージェントと関連してよく、明確なリスク指標パラメータβと関連してよい。それぞれのエピソードは1000段階後に終了し、エージェントが目標に到達すれば新たな目標がサンプリングされてよい。
【0264】
実施形態の方法の部分的な観察の影響を詳察するために、図8aおよび図8bに示したような、2つの異なるセンサ構成を使用してよい。
【0265】
B.訓練エージェント
実施形態のRC-DSAC、SAC、およびDSACの性能比較を実行する。また、実施形態の報酬関数に適用される報酬コンポーネント加重値ランダム化(Reward-Component-Weight Randomization:RCWR)方法に対する比較も実行された。
【0266】
2つのRC-DSACが訓練され、
【0267】
【数96】
および
【0268】
【数97】
の歪曲関数のそれぞれがいずれか1つに対応してよい。
【0269】
【数98】
を有するRC-DSACは
【0270】
【数99】
に対して評価されてよく、
【0271】
【数100】
を有するRC-DSACは
【0272】
【数101】
に対して評価されてよい。
【0273】
DSACに対して
【0274】
【数102】
を有する
【0275】
【数103】
【0276】
【数104】
を有する
【0277】
【数105】
が使用されてよく、それぞれのDSACエージェントは、1つのβに対して訓練および評価されてよい。RCWRに対して1つのナビゲーションパラメータ
【0278】
【数106】
が使用されてよい。
【0279】
報酬rを計算するときに、報酬rcollはwcollcollに代替されてよく、wcollがより高い値を有するものは、リスク中立を依然として維持しながらエージェントがより多くの衝突回避をするようにしてよい。評価のために
【0280】
【数107】
が使用されてよい。
【0281】
すべてのベースラインは、以下の例外を除いては、RC-DSACと同じアーキテクチャを使用してよい。DSACは
【0282】
【数108】
を使用しなくてよく、
【0283】
【数109】
【0284】
【数110】
だけに依存してよい。RCWRは、エキストラ32-次元の全結合層をwcollに対するその観察エンコーダ内に有してよい。最後に、RCWRおよびSACは、
【0285】
【数111】
および
【0286】
【数112】
を使用しなくてよい。
【0287】
すべてのアルゴリズムに対するハイパーパラメータは、以下の表1のように示した。
【0288】
【表1】
【0289】
100000回の加重値アップデート(500件の環境で5000個のエピソード)のために各アルゴリズムを訓練させてよい。その次の訓練のときには見られなかった50件の環境でアルゴリズムを評価してよい。各環境あたりの10個のエピソードに対して評価が実行されてよく、エージェントは明確な出発地および目的地を有するが、βまたはwcollに対して共通の値を有してよい。
【0290】
公正性と再現性を確保するために、訓練と評価に対して固定されたランダムシードが使用されてよく、したがって、互いに異なるアルゴリズムが正確に同じ環境、および出発地/目的地の位置に対して訓練されて評価されるようになる。
【0291】
C.性能比較
表2は、50件の評価環境に対する500回のエピソードの平均として、衝突数の平均と標準偏差と各方法の報酬を示している。
【0292】
【表2】
【0293】
表2から確認されるように、
【0294】
【数113】
を有するRC-DSACとβ=-1が、視野が狭い設定において最も高い報酬を示したし、
【0295】
【数114】
を有するRC-DSACとβ=-1.5が、2つの設定の両方において最も少ない衝突を示した。
【0296】
SACに比べ、リスク敏感アルゴリズム(DSAC、RC-DSAC)は、両方ともより少ない衝突を提示したし、その一部はより高い報酬を得ながらもこれを達成した。また、RCWRに対する比較の結果は、分布基盤のリスク認識接近法が衝突に対するペナルティーを単に増加させることに比べてより効果的であるという点を暗示している。
【0297】
2つのリスク尺度を平均化してDSACとRC-DSACの2つの代案的な実現を比較したが、DSACが評価された2つのβ値だけを比較した。狭い設定において、RC-DSAC(格納(Stored))は、類似する衝突回数(0.95対0.91)を有したが、DSACよりも高い報酬(449.9対425.0)を有したし、スパース設定(sparse setting)では、RC-DSAC(格納)は、より少ない衝突回数(0.44対0.68)ではあったが、類似の報酬(498.1対492.9)であった。全体的に、RC-DSAC(リサンプリング(resampling))は、衝突が最も少なく(狭い設定で0.64、スパース設定で0.26)、狭い設定で最も高い報酬(470.0)が得られた。これは、DSACが必要とする再訓練がなくても広範囲なリスク尺度パラメータに適応することができる、実施形態のアルゴリズムの能力を示す結果となった。
【0298】
また、RC-DSACによる衝突回数は、CVaRリスク尺度に対し、βとの明確な量の相関関係を示した。低いβはリスク回避に対応するため、これは十分に予想することができる。
【0299】
D.実世界での実験
実施形態の方法を実世界で実現するために、図5に示すようなモバイルロボットプラットフォームが実現されてよい。ロボット500は、例えば、4つのデプスカメラを前方に備えてよく、このようなセンサからのポイントクラウドデータは、狭い(narrow)設定に対応する観察orngにマッピングされてよい。RC-DSAC(リサンプリング)およびベースラインエージェントがロボット500に対して展開されてよい。
【0300】
各エージェントに対し、長さ53.8mのコースを2回走行(往復)するテストを行った結果、下記の表3のような結果が得られた。
【0301】
【表3】
【0302】
表3は、各エージェントに対する衝突数、および目的地までの到着にかかる時間を示している。図に示すように、SACは、分布基盤のリスク回避エージェントに比べて多くの衝突が発生した。
【0303】
DSACは、実験では衝突が発生しなかったが、過剰保守的な行動を示したため、目的地に到達するまで最も多くの時間がかかった(
【0304】
【数115】
およびβ=0.25)。RC-DSACは、リスクを回避しないモードにおける軽微な衝突を除いてはDSACと競争的に実行され、βによってその行動が適応された。したがって、実施形態のRC-DSACアルゴリズムでは、優れた性能とβの変更によるリスク尺度の変更に対する適応性が達成されたことを確認することができる。
【0305】
すなわち、実施形態のRC-DSACアルゴリズムを適用したモデルは、比較対象であるベースラインよりも優れた性能を発揮したし、調節可能なリスク敏感性を有することを確認することができる。実施形態のRC-DSACアルゴリズムを適用したモデルは、ロボットをはじめとしたデバイスに適用することによって活用性を極大化することができる。
【0306】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0307】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0308】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0309】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0310】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0311】
120:プロセッサ
201:学習部
202:決定部
図1
図2
図3
図4
図5
図6
図7
図8a
図8b