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

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

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

特許7459238ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
<>
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図1
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図2
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図3
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図4
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図5
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図6
  • 特許-ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
(51)【国際特許分類】
   G06N 3/08 20230101AFI20240325BHJP
   G06N 20/00 20190101ALI20240325BHJP
   G05D 1/43 20240101ALI20240325BHJP
   G05D 1/60 20240101ALI20240325BHJP
【FI】
G06N3/08
G06N20/00
G05D1/43
G05D1/60
【請求項の数】 16
(21)【出願番号】P 2022519438
(86)(22)【出願日】2020-08-25
(65)【公表番号】
(43)【公表日】2022-11-30
(86)【国際出願番号】 KR2020011304
(87)【国際公開番号】W WO2021080151
(87)【国際公開日】2021-04-29
【審査請求日】2022-03-28
(31)【優先権主張番号】10-2019-0132808
(32)【優先日】2019-10-24
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0009729
(32)【優先日】2020-01-28
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(73)【特許権者】
【識別番号】319012978
【氏名又は名称】ネイバーラボス コーポレーション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェー ジンヨン
(72)【発明者】
【氏名】キム ジョンウン
(72)【発明者】
【氏名】パク キョンシク
(72)【発明者】
【氏名】ハン ジェフン
(72)【発明者】
【氏名】ソ ジュンホ
(72)【発明者】
【氏名】キム ミンス
(72)【発明者】
【氏名】ダンス クリストファー
【審査官】北川 純次
(56)【参考文献】
【文献】特開2007-041723(JP,A)
【文献】特開2019-101907(JP,A)
【文献】国際公開第2004/033159(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02 - 3/10
G06N 20/00
G05D 1/43
G05D 1/60
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行する自律走行学習方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記自律走行学習方法は、
前記少なくとも1つのプロセッサが、システムによる自動設定または管理者による直接設定によって互いに異なる自律走行パラメータをシミュレーション上の複数のロボットエージェントに付与して、ロボット自律走行を学習する段階
を含み、
前記学習する段階は、
前記ロボット自律走行の学習のためのニューラルネットワークの入力として、ロボットからリアルタイムで取得するセンサ値と、自律走行ポリシーと関連してランダムに付与される自律走行パラメータとを使用して、モデルのNll(negative log-likelihood)を最小化する段階を含む、
自律走行学習方法。
【請求項2】
前記学習する段階は、
前記複数のロボットエージェントを対象に、ランダムにサンプリングされた自律走行パラメータを入力とする強化学習(reinforcement learning)を同時に実行すること
を特徴とする、請求項1に記載の自律走行学習方法。
【請求項3】
前記学習する段階は、
全結合層(fully-connected layer)とGRU(gated recurrent units)で構成されたニューラルネットワークを利用して、前記複数のロボットエージェントの自律走行を同時に学習することを特徴とする、請求項1又は2に記載の自律走行学習方法。
【請求項4】
前記自律走行学習方法は、
前記少なくとも1つのプロセッサが、前記自律走行パラメータに対する人間の選好データ(preference data)を利用して、選好度モデルに近接させるように前記自律走行パラメータを最適化する段階
をさらに含む、請求項1乃至3のいずれか一項に記載の自律走行学習方法。
【請求項5】
前記最適化する段階は、
前記自律走行パラメータが互いに異なるように設定されたロボットの走行映像に対するフィードバックを反映して、前記自律走行パラメータを最適化すること
を特徴とする、請求項4に記載の自律走行学習方法。
【請求項6】
前記最適化する段階は、
前記自律走行パラメータの一対比較(pairwise comparisons)によって、前記自律走行パラメータに対する選好度を評価する段階
を含む、請求項4に記載の自律走行学習方法。
【請求項7】
コンピュータシステムが実行する自律走行学習方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記自律走行学習方法は、
前記少なくとも1つのプロセッサが、システムによる自動設定または管理者による直接設定によって互いに異なる自律走行パラメータをシミュレーション上の複数のロボットエージェントに付与して、ロボット自律走行を学習する段階
を含み、
前記自律走行学習方法は、
前記少なくとも1つのプロセッサが、前記自律走行パラメータに対する人間の選好データ(preference data)を利用して、選好度モデルに近接させるように前記自律走行パラメータを最適化する段階
をさらに含み、
前記最適化する段階は、
ベイジアンニューラルネットワーク(Bayesian neural network)モデルを使用して、前記自律走行パラメータに対する選好度をモデリングする段階
を含む、自律走行学習方法。
【請求項8】
請求項1~7のうちのいずれか一項に記載の自律走行学習方法を前記コンピュータシステムに実行させるために非一時的なコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラム。
【請求項9】
請求項1~7のうちのいずれか一項に記載の自律走行学習方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項10】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
シミュレーション上の複数のロボットエージェントにシステムによる自動設定または管理者による直接設定によって互いに異なる自律走行パラメータを付与して、ロボット自律走行を学習する学習部
を含み、
前記学習部は、
前記ロボット自律走行の学習のためのニューラルネットワークの入力として、ロボットからリアルタイムで取得するセンサ値と、自律走行ポリシーと関連してランダムに付与される自律走行パラメータを使用して、モデルのNll(negative log-likelihood)を最小化すること、を特徴とする、
コンピュータシステム。
【請求項11】
前記学習部は、
前記複数のロボットエージェントを対象に、ランダムにサンプリングされた自律走行パラメータを入力とする強化学習を同時に実行すること
を特徴とする、請求項10に記載のコンピュータシステム。
【請求項12】
前記学習部は、
全結合層とGRUで構成されたニューラルネットワークを利用して、前記複数のロボットエージェントの自律走行を同時に学習すること
を特徴とする、請求項10又は11に記載のコンピュータシステム。
【請求項13】
前記少なくとも1つのプロセッサは、
前記自律走行パラメータに対する人間の選好データを利用して、選好度モデルに近接させるように前記自律走行パラメータを最適化する最適化部
をさらに含む、請求項10乃至12のいずれか一項に記載のコンピュータシステム。
【請求項14】
前記最適化部は、
前記自律走行パラメータが互いに異なるように設定されたロボットの走行映像に対するフィードバックを反映して、前記自律走行パラメータを最適化すること
を特徴とする、請求項13に記載のコンピュータシステム。
【請求項15】
前記最適化部は、
前記自律走行パラメータの一対比較によって、前記自律走行パラメータに対する選好度を評価すること
を特徴とする、請求項13に記載のコンピュータシステム。
【請求項16】
前記最適化部は、
ベイジアンニューラルネットワークモデルを使用して、前記自律走行パラメータに対する選好度をモデリングすること
を特徴とする、請求項13に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、ロボットの自律走行技術に関する。
【背景技術】
【0002】
自律走行ロボットは、産業分野で広く使用されるロボットを応用した技術であって、一例として、オドメータ(Odometry)方式によって速度情報や方位角情報などを取得した後、以前の位置から次の位置までの移動距離と方向に関する情報を演算することで自身の位置と方向を認識することができる。
【0003】
例えば、韓国登録特許第10-1771643号公報(登録日2017年8月21日)には、絶対座標を認識して目的地まで自動で移動することができる自律走行ロボットおよびこのナビゲーション方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】韓国登録特許第10-1771643号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザ選好度による強化学習(reinforcement learning)基盤の自律走行最適化のための技術を提供する。
【0006】
再訓練過程の必要なく、多様なパラメータに適応させて報酬に反映させることのできる、新たな深層強化学習基盤の自律走行技術を提供する。
【0007】
少数の選好データの利用でも、ユースケース(use-case)に適合する自律走行パラメータを探索することができる技術を提供する。
【課題を解決するための手段】
【0008】
コンピュータシステムが実行する自律走行学習方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記自律走行学習方法は、前記少なくとも1つのプロセッサにより、シミュレーション上の複数のロボットエージェントにシステムによる自動設定または管理者による直接設定によって互いに異なる自律走行パラメータを付与して、ロボット自律走行を学習する段階を含む、自律走行学習方法を提供する。
【0009】
一側面によると、前記学習する段階は、前記複数のロボットエージェントを対象に、ランダムサンプリングされた自律走行パラメータを入力とする強化学習(reinforcement learning)を同時に実行してよい。
【0010】
他の側面によると、前記学習する段階は、全結合層(fully-connected layer)とGRU(gated recurrent units)で構成されたニューラルネットワークを利用して、前記複数のロボットエージェントの自律走行を同時に学習してよい。
【0011】
また他の側面によると、前記学習する段階は、前記ロボット自律走行の学習のためのニューラルネットワークの入力によってロボットからリアルタイムで取得するセンサ値と、自律走行ポリシー(policy:方策)と関連してランダムに付与される自律走行パラメータを使用する段階を含んでよい。
【0012】
また他の側面によると、前記自律走行学習方法は、前記少なくとも1つのプロセッサにより、前記自律走行パラメータに対する選好データ(preference data)を利用して、前記自律走行パラメータを最適化する段階をさらに含んでよい。
【0013】
また他の側面によると、前記最適化する段階は、前記自律走行パラメータが互いに異なるように設定されたロボットの走行映像に対するフィードバックを反映して、前記自律走行パラメータを最適化してよい。
【0014】
また他の側面によると、前記最適化する段階は、前記自律走行パラメータの一対比較(pairwise comparisons)により、前記自律走行パラメータに対する選好度を評価する段階を含んでよい。
【0015】
また他の側面によると、前記最適化する段階は、ベイジアンニューラルネットワーク(Bayesian neural network)モデルを使用して、前記自律走行パラメータに対する選好度をモデリングする段階を含んでよい。
【0016】
さらに他の側面によると、前記最適化する段階は、選好度モデルの不確実性(uncertainty)に基づいて、前記自律走行パラメータの一対比較のためのクエリ(query)を生成する段階を含んでよい。
【0017】
前記自律走行学習方法を前記コンピュータシステムに実行させるために非一時的なコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラムを提供する。
【0018】
前記自律走行学習方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
【0019】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、シミュレーション上の複数のロボットエージェントにシステムによる自動設定または管理者による直接設定によって互いに異なる自律走行パラメータを付与して、ロボット自律走行を学習する学習部、および前記自律走行パラメータに対する選好データを利用して、前記自律走行パラメータを最適化する最適化部を含むコンピュータシステムを提供する。
【発明の効果】
【0020】
本発明の実施形態によると、多様な環境における強化学習を同時に進行することによって多様かつ予測不可能な実世界(real-world)における学習効果を達成することができ、データの増加なく適応型自律走行アルゴリズムを実現することができる。
【0021】
本発明の実施形態によると、ロボットの走行映像に対するユースケースとして適切であるかを示す選好度をモデリングした後、モデルの不確実性に基づくことで、少数の選好データの利用でも自律走行パラメータを最適化することができる。
【図面の簡単な説明】
【0022】
図1】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
図2】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。
図3】本発明の一実施形態における、コンピュータシステムが実行することのできる自律走行学習方法の例を示したフローチャートである。
図4】本発明の一実施形態における、適応型自律走行ポリシー学習アルゴリズムの例を示した図である。
図5】本発明の一実施形態における、適応型自律走行ポリシー学習のためのニューラルネットワークの例を示した図である。
図6】本発明の一実施形態における、ユーティリティ関数学習のためのニューラルネットワークの例を示した図である。
図7】本発明の一実施形態における、選好データを利用した自律走行パラメータ最適化アルゴリズムの例を示した図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0024】
本発明の実施形態は、ロボットの自律走行技術に関する。
【0025】
本明細書で具体的に開示される事項を含む実施形態は、再訓練過程が必要なく、多様なパラメータに適応させて報酬に反映させることのできる、新たな深層強化学習基盤の自律走行技術を提供することができ、少数の選好データの利用でもユースケースに適した自律走行パラメータを探索することができる。
【0026】
図1は、本発明の一実施形態における、コンピュータシステムの例を示したブロック図である。例えば、本発明の実施形態に係る自律走行学習システムは、図1に示したコンピュータシステム100によって実現されてよい。
【0027】
図1に示すように、コンピュータシステム100は、本発明の実施形態に係る自律走行学習方法を実行するための構成要素として、メモリ110、プロセッサ120、通信インタフェース130、および入力/出力インタフェース140を含んでよい。
【0028】
メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータシステム100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータシステム100のメモリ110にロードされてよい。
【0029】
プロセッサ120は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0030】
通信インタフェース130は、ネットワーク160を介してコンピュータシステム100と互いに通信するための機能を提供してよい。一例として、コンピュータシステム100のプロセッサ120がメモリ110のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース130の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータシステム100の通信インタフェース130を通じてコンピュータシステム100に受信されてよい。通信インタフェース130を通じて受信された信号や命令、データなどはプロセッサ120やメモリ110に伝達されてよく、ファイルなどはコンピュータシステム100がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0031】
通信方式が限定されることはなく、ネットワーク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つ以上を含んでもよいが、これらに限定されることはない。
【0032】
入力/出力インタフェース140は、入力/出力装置150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を含んでもよく、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータシステム100と1つの装置で構成されてもよい。
【0033】
また、他の実施形態において、コンピュータシステム100は、図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0034】
近年は自律走行に対する深層強化学習方式の研究が活発に進められており、強化学習を利用したロボットの自律走行技術は、経路計画(path planning)基盤の自律走行よりも高い性能を発揮している。
【0035】
しかし、従来の強化学習方法は、ロボットの最大速力と報酬構成要素の間のトレードオフ(trade-off)を示す加重値のようなパラメータに対して、固定値を使用して学習が行われていた(例えば、目標に対して短い経路を採択することと高い安全距離を維持すること)。
【0036】
好ましいロボット動作はユースケースごとに異なるため、実際のシナリオにおいて問題となることがある。例えば、病院内の各病棟に配置されたロボットは、精巧な装備との衝突を回避しつつ患者に脅威を与えないように注意しなければならないが、倉庫ロボットが最優先とする課題は、できるだけ迅速に目標に到達することにある。固定パラメータによって訓練されたロボットは、多様な要件を満たすことができず、各シナリオに適するように微調整するための再訓練が必要となる。さらに、人間と相互作用するロボットの好ましい行動は人間の選好度によって異なるが、このような選好データを収集するためには多くの手間と費用が伴う。
【0037】
したがって、多様なパラメータに適応することが可能なエージェントだけでなく、少数の人間選好データから最適に近いパラメータを迅速かつ正確に予測することができる方法が求められている。
【0038】
図2は、本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図であり、図3は、本発明の一実施形態における、コンピュータシステムが実行することのできる自律走行学習方法の例を示したフローチャートである。
【0039】
図2に示すように、プロセッサ120は、学習部201および最適化部202を含んでよい。このようなプロセッサ120の構成要素は、少なくとも1つのプログラムコードによって提供される制御命令にしたがってプロセッサ120によって実行される、互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ120が深層強化学習に基づいてロボットの自律走行を学習するようにコンピュータシステム100を制御するために動作する機能的表現として、学習部201が使用されてよい。
【0040】
プロセッサ120およびプロセッサ120の構成要素は、図3の自律走行学習方法に含まれる段階310~320を実行してよい。例えば、プロセッサ120およびプロセッサ120の構成要素は、メモリ110が含むオペレーティングシステムのコードと、上述した少なくとも1つのプログラムコードとによる命令(instruction)を実行するように実現されてよい。ここで、少なくとも1つのプログラムコードは、自律走行学習方法を処理するために実現されたプログラムのコードに対応してよい。
【0041】
自律走行学習方法は、図に示した順に発生しなくてもよく、段階のうちの一部が省略されたり追加の過程がさらに含まれたりしてもよい。
【0042】
プロセッサ120は、自律走行学習方法のためのプログラムファイルに記録されたプログラムコードをメモリ110にロードしてよい。例えば、自律走行学習方法のためのプログラムファイルは、メモリ110とは区分される永続的記録装置に記録されていてよく、プロセッサ120は、バスを介して永続的記録装置に記録されたプログラムファイルからプログラムコードがメモリ110にロードされるようにコンピュータシステム100を制御してよい。このとき、プロセッサ120およびプロセッサ120が含む学習部201および最適化部202それぞれは、メモリ110にロードされたプログラムコードのうちの対応する部分の命令を実行して段階310~320を実行するためのプロセッサ120の互いに異なる機能的表現であってよい。段階310~320を実行するために、プロセッサ120およびプロセッサ120の構成要素は、制御命令による演算を直接処理してもよいし、コンピュータシステム100を制御してもよい。
【0043】
先ず、強化学習基盤の自律走行問題を公式化すると次のとおりとなる。
【0044】
本実施形態は、経路追跡(path-following)自律走行タスクを考慮したものであって、エージェント(すなわち、ロボット)は目的地までの経路を移動する。このとき、経路は、一連の経由地として表現されてよい。エージェントが最後の経由地(目的地)に到達すれば新たな目標と経由地が与えられ、タスクをマルコフ決定過程(Markov decision process)(S、A、Ω、r、ptrans、pobs)によってモデリングする。Sは状態(states)、Aはアクション(actions)、Ωは観測(observations)、rは報酬関数(reward function)、ptransは条件付き状態遷移(conditional state-transition)、pobsは観測確率(observation probabilities)を意味する。
【0045】
自律走行ロボットとして差等二輪モバイルプラットフォームモデルを使用し、割引係数がγ=0.99である汎用設定を適用する。
【0046】
(1)自律走行パラメータ(navigation parameters)
多くのパラメータが、強化学習基盤の自律走行エージェントの動作に影響を与える。例えば、7つのパラメータで構成された自律走行パラメータ
【0047】
【数1】
を考慮してみる。
【0048】
【数2】
ここで、wstopは衝突または非常停止時の報酬、wsocial Limは他のエージェントと衝突し得る最小予想時間、wsocialはwsocial Limを違反したことに対する報酬、wmaxVは最大線形速度(maximum linear speed)、waccVは線形加速度(linear acceleration)、wmaxVは各速度(angular speed)、waccWは各加速度(angular acceleration)を意味する。
【0049】
本発明の目標は、多様なパラメータwに適応することができ、与えられたユースケースに適したパラメータw
を効率的に探索するエージェントを訓練させることにある。
【0050】
(2)観測(observations)
エージェントの観測形式は、数式(2)のとおりとなる。
【0051】
【数3】
ここで、
【0052】
【数4】
は、ライダー(lidar)のような距離センサのスキャンデータで構成される。-180゜~180゜までのデータを20゜間隔で一時的に記録し、各binから最小値を採択する。エージェントが知覚することのできる最大距離は3mである。
【0053】
【数5】
は、現在の線形および各速度で構成され、前段階で位置と関連するロボット位置の変化は、数式(3)のとおりとなる。
【0054】
【数6】
このとき、Δx,Δy,Δθは、ロボットのx、y位置変化量と方向(heading)変化量を意味し、Δtは、一段階(timestep)の持続時間を意味する。
【0055】
最後に、Opathは(cos(φ),sin(φ))となり、φはロボットの座標系において次の経由地に対する相対的角度を意味する。
【0056】
(3)アクション(actions)
エージェントのアクションは、[-1,1]におけるベクトルとして間隔[-0.2m/s,wmaxV]に正規化されたロボットの所望する線形速力を示し、角速度は、[-wmaxW,wmaxW]に正規化される。ロボットがアクションを実行すれば±waccWの各加速度が適用され、速度を増加させるときは線形加速度がwaccVであり、減少させるときは-0.2m/sである。
【0057】
(4)報酬関数(reward function)
報酬関数r:S×A×W→Rは、数式(4)のように、5つの構成要素の和を意味する。
【0058】
【数7】
報酬rbase=-0.01は、エージェントが最小時間内に経由地に到達するように勧めるために、すべての段階で与えられる。
【0059】
【数8】
のように設定されるが、このときΔd=d-dt-1であり、dは段階tから経由地までのユークリッド距離(Euclidean distance)、Δtは段階の持続時間である。衝突回避に必要な最短経路で小さな偏差に対するペナルティを減らすために平方根が使用される。エージェントと現在の経由地との間の距離が1m未満の場合はrwaypoint=1の報酬があり、経由地がアップデートされる。
【0060】
ロボットがシミュレーションと実際の環境で最小安全距離を維持するようにするために障害物や他の物体と衝突すると推定される時間が1秒未満の場合、または衝突が発生した場合にrstop=wstopの報酬が与えられる場合、線形速度を0m/sに設定してロボットを停止させる。予想衝突時間は現在の動作で与えられた目標速度によって計算され、Oscanで代表される障害地点を活用して0.5m辺の正方形でロボットをモデリングする。
【0061】
他のエージェントに対する予想衝突時間がwsocial Lim秒よりも短いときに報酬rsocial=wsocialが与えられる。予想衝突時間は、スキャンデータの代わりに3m範囲内の他のエージェントの位置を使用することを除いてrstopに対して計算される。観測に他のエージェントの位置を含ませないため、ロボットはスキャンデータの順序を活用して他のエージェントの静的障害物を区別する。
【0062】
図3を参照すると、本発明に係る自律走行学習方法の一例は、次の2つの段階を含む。
【0063】
段階310で、学習部201は、広範囲な自律走行パラメータに適応することが可能な自律走行ポリシーを再訓練なく学習するために、シミュレーション環境において数台のロボットにランダムに自律走行パラメータを付与して学習を同時に進行する。
【0064】
学習部201は、自律走行学習のためのニューラルネットワークの入力としてセンサデータと自律走行パラメータを使用してよい。センサデータは、ロボットからリアルタイムで取得するセンサ値であって、例えば、ToF(time of flight)センサ値、現在の速度、オドメータ、走行方向、障害物の位置などを含んでよい。自律走行パラメータは、ランダムに付与される設定値であって、システムによって自動設定されてもよいし管理者によって直接設定されてもよい。例えば、自律走行パラメータは、衝突時の報酬、衝突回避に必要な安全距離と安全距離における報酬、最大速度(直線速度、回転速度)、最大加速度(直線加速度、回転加速度)などを含んでよい。パラメータ範囲が1~10であると仮定するとき、パラメータ値が1であるロボットからパラメータ値が10であるロボットまで計10台のロボットを利用してシミュレーションを実行してよい。このとき、自律走行パラメータは、以下で説明する選好度に基づいて指定されてよい。
【0065】
学習部201は、シミュレーション上において、ランダムサンプリングされたパラメータをロボットそれぞれに付与する方式で数台のロボットを同時に学習させることにより、再学習なく、多様なパラメータに合わせて自律走行が可能であり、従来には学習に使用されていなかった新たなパラメータまで一般化(generalization)が可能となる。
【0066】
一例として、図4のアルゴリズムに要約したように、分散マルチエージェント訓練(decentralized multi-agent training)方式を適用してよい。エピソードごとに複数のエージェントを共有環境に配置する。ポリシーを多様な自律走行パラメータに適するように調整するために、各エピソードが始まるときの分布から各エージェントの自律走行パラメータをランダムにサンプリングする。強化学習アルゴリズムの場合、パラメータサンプリングが効率的かつ安定的であり、より優れた成果のポリシーを生産する。
【0067】
図5および図6は、本発明の一実施形態における、自律走行学習のためのニューラルネットワーク構造の一例を示した図である。
【0068】
本発明に係る自律走行学習のためのニューラルネットワークアキテクチャは、適応型ポリシー学習構造(図5)と、ユーティリティ関数(utilityfunction)学習(図6)構造を使用する。FCは全結合層(fully-connected layer)を示し、BayesianFCはベイジアン全結合層(Bayesian fully-connected layer)を示し、併合された分岐は連結(concatenation)を示す。ユーティリティ関数f(w)とf(w)は、共有加重値を利用して計算される。
【0069】
図5に示すように、ネットワークに対する追加入力としてエージェントの自律走行パラメータを提供する。エージェントとエージェント環境の時間易学をモデリングするために、LSTM(Long Short-Term Memorymodels)に比べて少ない演算を要求すると同時に、競争的性能を提供するGRU(gatedrecurrent units)を使用する。
【0070】
本実施形態は、シミュレーション内で多様な設定のロボットを同時に学習させることにより、複数の入力による強化学習を同時に進行することができ、多様かつ予測不可能な実世界における学習効果を得ることができる。自律走行学習のための設定によって複数のランダムサンプリングされたパラメータを利用したとしても、学習に必要となるすべてのデータ量は1つの固定パラメータを利用する場合と同一あるいは類似の水準となるため、少ないデータによって適応型アルゴリズムを生成することができる。
【0071】
再び図3において、段階320で、最適化部202は、シミュレーションロボットの走行映像に対する選好データを利用して、自律走行パラメータを最適化してよい。最適化部202は、人間がロボットの走行映像を見てフィードバックを与えると、フィードバック値を反映して人間の選好する方式で自律走行パラメータを学習することにより、ユーザ選好に対する自律走行パラメータを最適化することができる。
【0072】
最適化部202は、自律走行パラメータが互いに異なるように設定されたロボットの走行映像に対して、人間からフィードバックを受けて反映するニューラルネットワークを活用してよい。図6を参照すると、ニューラルネットワークの入力は自律走行パラメータwとなり、出力はソフトマックス(softmax)計算によるスコアとしてユーティリティ関数f(w)となる。すなわち、ユーザフィードバックによってソフトマックスを1または0で学習しながら、スコアが最も高く出るパラメータを探索するのである。
【0073】
広範囲な自律走行パラメータに適応することが可能なエージェントがあったとしても、与えられたユースケースに対して最適な自律走行パラメータを探索する問題は依然として残っている。したがって、選好データを使用して自律走行パラメータを最適化するという新たなベイジアン接近法を提案する。本実施形態では、容易に導き出すことが可能な一対比較(pairwise comparisons)によって選好度を評価してよい。
【0074】
一例として、Bradley-Terryモデルをモデル選好度に使用してよい。自律走行パラメータ
【0075】
【数9】
【0076】
【数10】
よりも選好される確率は、数式(5)のとおりとなる。
【0077】
【数11】
ここで、tとtはwとwを使用して収集したロボット軌跡であって、w>wはwがwよりも選好されることを示しており、f:W→Rはユーティリティ関数である。正確な選好度評価のためには、同一の環境および経由地を利用して軌跡tとtを収集する。選好データにユーティリティ関数f(w)を合わせ、これを使用することによって新たな自律走行パラメータに対する環境設定を予測する。
【0078】
選好度モデルの能動的学習のために、パラメータθBNがあるベイジアンニューラルネットワークでユーティリティ関数f(w|θBN)を学習する。特に、能動的にクエリを生成するために予測不確実性に対する推定値を使用することにより、クエリの数を最小化してよい。
【0079】
図7のアルゴリズムに示すように、選好度モデルのNll(negative log-likelihood)(数式(6))を最小化する方向でニューラルネットワーク(図6)を訓練させる。
【0080】
【数12】
各繰り返しにおいて、前段階でパラメータθBNを始めとしてNupdata段階ずつネットワークを訓練させる。一例として、数式(7)のように設定することにより、新たなクエリを積極的にサンプリングするために変更されたUCB(upper-confidence bounds)を使用してよい。
【0081】
【数13】
ここで、μ(f(w|θBN))とσ(f(w|θBN))は、ネットワークのNforwardフォワードパス(forward pass)で計算されたf(w|θBN)の平均と標準偏差を意味する。シミュレーション環境で一般的にσ(f(w|θBN))の前に示される
【0082】
【数14】
係数は省略する。
【0083】
sample均一にサンプリングされた自律走行パラメータのうち、UCB(w|θBN)が最も高いNquery自律走行パラメータを使用してロボットの軌跡を生成する。この後、Nqueryの新たな選好度クエリを能動的に生成する。このために、すべての自律走行パラメータの集合であるすべての
【0084】
【数15】
に対してμ(f(w|θBN))とUCB(w|θBN)を計算する。WmeanをDparamsで最も高いNtopのμ(f(w|θBN))とし、WUCBをDparamsで最も高いNtopのUCB(f(w|θBN))とすることでサンプル集合とするとしよう。それぞれの選好度クエリは、WmeanとWUCBでwとwが均一にサンプリングされる自律走行パラメータの対(w,w)で構成される。
【0085】
言い換えれば、最適化部202は、それぞれ異なるパラメータで走行したロボットの2つの映像クリップをユーザに見せ、どちらの映像がユースケースにより適するかに対する選好度を調査した後に選好度をモデリングし、モデルの不確実性に基づいて新たなクリップを生成することにより、少数の選好データでも満足度の高いパラメータを探索することができる。ニューラルネットワークの連結強度を計算するたびに一定の分布でサンプリングし、特に、ベイジアンニューラルネットワークを活用して能動的にクエリを生成する過程において、予測結果の不確実性が高い入力に学習を誘導し、全体学習に必要となるクエリの数を効果的に減らすことができる。
【0086】
このように、本発明の実施形態によると、多様な環境における強化学習を同時に進行することによって多様で予測不可能な実世界における学習効果を達成することができ、データの増加なく、適応型自律走行アルゴリズムを実現することができる。さらに、本発明の実施形態によると、ロボットの走行映像に対してユースケースに適するかどうかを示す選好度をモデリングした後、モデルの不確実性に基づくことで、少数の選好データでも自律走行パラメータを最適化することができる。
【0087】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0088】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0089】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体も挙げられる。
【0090】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0091】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
図1
図2
図3
図4
図5
図6
図7