(57)【要約】【課題】強化学習装置において、アクションライブラリ内の行動の数やその組み合わせが多くなる場合であっても、学習に要する時間を短くできるようにする。【解決手段】強化学習装置は、制御対象の最終目標と現在の状態を入力する状態入力部と、制御対象の行動により生じる状態変化の良し悪しを表す報酬を決定する環境部と、学習部を備える。学習部は、アクションライブラリと、アクションライブラリの中から制御対象の行動を選択する行動選択部と、選択された行動にて制御対象を動作させる制御部と、状態入力部からの入力に基づき、環境部から得られる報酬が明らかに悪くなる不要行動を特定する情報を有し、その情報に基づき行動選択部にて不要行動が選択されるのを無効化する判定部と、を備える。【選択図】図１
2020034994.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の最終目標と現在の状態をそれぞれ入力する状態入力部（２０）と、
前記制御対象の行動により生じる状態変化の良し悪しを表す報酬を決定する環境部（１０）と、
前記制御対象にて実現可能な全行動が定義されたアクションライブラリ（３２）、前記状態入力部から入力された現在の状態から前記最終目標に向けて前記制御対象を移動させるための行動を前記アクションライブラリ内の全行動の中から選択する行動選択部（３４）、及び、該行動選択部にて選択された行動にて前記制御対象を動作させる制御部（３６）、を備え、前記制御部が前記制御対象を動作させることによって前記環境部から得られる報酬がよくなるように前記行動選択部の選択動作を学習するよう構成された学習部（３０）と、
を備え、更に、前記学習部は、前記状態入力部からの入力に基づき、前記環境部から得られる報酬が明らかに悪くなる不要行動を特定する情報を有し、該情報に基づき、前記行動選択部にて前記不要行動が選択されるのを無効化する判定部（３８）、を備えている、強化学習装置。
【請求項２】
前記制御対象各部の動作位置を取得する位置取得部（１６）と、
前記制御対象各部の物理的動作限度を表す情報が記憶された動作限度記憶部（３９）と、
を備え、
前記判定部は、前記位置取得部にて取得された前記制御対象各部の動作位置が、前記動作限度記憶部に記憶された物理的動作限度に接近若しくは到達しているか否かを判定し、前記制御対象の動作位置が前記物理的動作限度に接近若しくは到達しているときには、前記行動選択部が、前記制御対象の動作位置が前記物理的動作限度から離れる結果をもたらす行動を選択するよう、前記行動選択部の動作を制限する、
ように構成されている、請求項１に記載の強化学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットなどの制御対象の最適な行動を学習する強化学習装置に関する。
【背景技術】
【０００２】
従来、ロボットの関節、マニピュレータ、センサなど、制御対象各部の動きを「アクション」として定義し、各アクションを順次実行することで、制御対象の目標状態への最適な行動を探索するよう構成された強化学習装置が知られている。
【０００３】
また、この種の強化学習装置においては、特許文献１に記載のように、制御対象各部の動きを表す基本アクションに加えて、複数の基本アクションを同時に行う複合アクションを定義することで、アクションライブラリを拡張することも提案されている。
【０００４】
つまり、特許文献１では、制御対象の行動を学習する際に、基本アクションと複合アクションとを組み合わせて順次実行することで、複合アクションにて、より短時間で実現可能な行動を探索できるようにしている。
【０００５】
また、特許文献１では、学習の結果、合理的でない又は実施不可能であると判定された複合アクションを、アクションライブラリから削除することで、その後の学習に用いられる複合アクションの数を減らすことも提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−１９６０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記提案の強化学習装置では、学習時に合理的でない又は実施不可能であると判断された複合アクションを、アクションライブラリから削除するので、その後の学習時の計算量を低減して、学習に要する時間を短縮することができる。
【０００８】
しかし、上記提案の強化学習装置において、学習の初期段階では、アクションライブラリ内の基本アクション及び複合アクションが全て利用される。また、アクションライブラリから削除されるのは、学習時に合理的でない又は実施不可能であると判断された複合アクションだけであり、基本アクションについては、学習時に全て利用される。
【０００９】
従って、例えば、ロボットにより多品種少量生産を行う場合など、アクションライブラリにアクションとして登録される行動の数が多い場合には、学習時のアクションライブラリの探索範囲が広くなり、学習に要する時間が長くなる、という問題があった。
【００１０】
また、この問題は、アクションライブラリ内の行動の数が多い場合だけでなく、作業工程が複雑で、多くのアクションの積み重ねが必要な場合や、複数台で協調作業をするためにアクションの組み合わせが膨大になる場合などにも、同様に発生する。
【００１１】
本開示の一局面では、制御対象の最適な行動を学習する強化学習装置において、アクションライブラリ内の行動の数やその組み合わせが多くなる場合であっても、学習に要する時間を短くできるようにすることが望ましい。
【課題を解決するための手段】
【００１２】
本開示の一局面の強化学習装置においては、制御対象の最終目標と現在の状態をそれぞれ入力する状態入力部（２０）と、制御対象の行動により生じる状態変化の良し悪しを表す報酬を決定する環境部（１０）と、学習部（３０）とを備える。
【００１３】
また、学習部は、制御対象にて実現可能な全行動が定義されたアクションライブラリ（３２）、状態入力部から入力された現在の状態から最終目標に向けて制御対象を移動させるための行動をアクションライブラリ内の全行動の中から選択する行動選択部（３４）、及び、行動選択部にて選択された行動にて制御対象を動作させる制御部（３６）、を備え、制御部が制御対象を動作させることによって環境部から得られる報酬がよくなるように行動選択部の選択動作を学習する。
【００１４】
そして、更に、学習部には、状態入力部からの入力に基づき、環境部から得られる報酬が明らかに悪くなる不要行動を特定する情報を有し、その情報に基づき、行動選択部にて不要行動が選択されるのを無効化する判定部（３８）、が備えられている。
【００１５】
従って、本開示の強化学習装置によれば、学習部において、行動選択部が、状態入力部からの入力に基づき、アクションライブラリの中から行動を選択する際の、アクションライブラリの探索範囲を制限することができる。
【００１６】
このため、本開示の強化学習装置によれば、アクションライブラリ内の行動の数やその組み合わせが多くなる場合であっても、学習に要する時間を短くすることができる。
なお、判定部が不要アクションを特定するのに用いる情報は、制御対象を現在の状態から最終目標に向けて移動させる際の行動として、正解になり得ない行動を特定するための情報であり、設計者が予め設定するようにすればよい。
【００１７】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１８】
【図１】実施形態の強化学習装置の構成を表すブロック図である。
【図２】学習部の動作を表すフローチャートである。
【図３】学習部をニューラルネットワークにて構成した場合の動作説明図である。
【図４】実施形態の強化学習装置を、多種多様な目標形状を再現するロボットの行動計画部として利用した場合の説明図である。
【図５】図１に示す強化学習装置の変形例を表すブロック図である。
【図６】変形例の学習部の動作を表すフローチャートである。
【発明を実施するための形態】
【００１９】
以下に本開示の実施形態を図面と共に説明する。
本実施形態の強化学習装置１は、ロボットなどの制御対象の最適な行動を強化学習によって取得するための装置であり、図１に示すように、環境部１０と、状態入力部２０と、学習部３０とを備える。
【００２０】
なお、図１に示す環境部１０、状態入力部２０、及び、学習部３０は、コンピュータが学習機能を有するプログラムを実行することにより具現化される機能ブロックであり、強化学習装置１は、コンピュータにて構成されている。
【００２１】
環境部１０は、本実施形態では、制御対象がモデル化されて各部の動きを再現する所謂シミュレータにて構成されており、制御対象の行動によって変化した環境（状態）とその結果の良し悪しを表す報酬とを決定する。
【００２２】
なお、環境部１０は、ロボットなどの実機を各種アクチュエータで動作させて、その動きをセンサやカメラで計測することで、制御対象の行動によって変化した状態と、その行動の良し悪しを表す報酬を、コンピュータにて算出するように構成されていてもよい。
【００２３】
次に、状態入力部２０は、制御対象の行動により実現すべき最終目標を認識する目標認識部２２と、制御対象の現在の状態を認識する現状認識部２４と、を備える。
目標認識部２２は、使用者が入力してくる数値データや画像データから、例えば、ロボットにより組み立てられる装置の最終形状など、制御対象の最終目標を認識し、学習部３０に入力する。
【００２４】
また、現状認識部２４は、環境部１０から制御対象の現在の状態を表すデータを取得することで、制御対象の現在の状態を認識し、学習部３０に入力する。
次に、学習部３０は、学習の主体となる所謂エージェントであり、アクションライブラリ３２と、行動選択部３４と、制御部３６と、判定部３８と、を備える。
【００２５】
アクションライブラリ３２は、制御対象にて実現可能な全行動が行動毎に定義された、全行動のデータベースであり、コンピュータのメモリに記憶されている。
そして、行動選択部３４は、状態入力部２０の目標認識部２２及び現状認識部２４からの入力に基づき、制御対象を現在の状態から最終目標に向けて動作させるための行動を、アクションライブラリ３２に記憶された行動の中から選択する。
【００２６】
また制御部３６は、行動選択部３４にて選択された行動にて、制御対象を動作させるためのものであり、そのための指令（行動Ｘ）を環境部１０に出力する。なお、環境部１０が、ロボットなどの実機を含む場合、制御部３６は、実機に設けられたモータなどの各種アクチュエータを駆動することで、制御対象を動作させる。
【００２７】
次に、判定部３８は、状態入力部２０からの入力に基づき、アクションライブラリ３２内の全行動の内、環境部１０から得られる報酬が明らかに悪くなる不要行動を特定するための情報を備え、行動選択部３４にて不要行動が選択されるのを無効化する。
【００２８】
この結果、学習部３０において、行動選択部３４が、アクションライブラリ３２の中から制御対象の行動を選択する際の、アクションライブラリの探索範囲を制限して、不要行動が選択されるのを抑制することができる。
【００２９】
なお、判定部３８において、不要行動を特定するための情報は、設計者により設定され、アクションライブラリ３２と同様、コンピュータのメモリに予め記憶されている。
また、この情報は、現状認識部２４から入力される制御対象の状態毎に、不要行動を特定可能なデータベースとして構成される。但し、制御対象となるロボットを利用して多品種生産を行う場合には、目標認識部２２から入力される最終目標が製品毎に異なることから、この情報は、最終目標毎に、不要行動を特定可能なデータベースとして構成されていてもよい。
【００３０】
次に、学習部３０において、行動選択部３４がアクションライブラリ３２から行動を選択して制御部３６が制御対象を動作させる際の一連の動作を、図２に示すフローチャートに沿って説明する。
【００３１】
図２に示すように、学習部３０においては、まずＳ１１０にて、状態入力部２０から制御対象の最終目標及び現在の状態をそれぞれ取得する。
そして、続くＳ１２０では、その取得データ、詳しくは、制御対象の現在の状態及び最終目標の少なくとも一方、に基づき、アクションライブラリ３２内の全行動の内、報酬が明らかに悪くなる不要行動を特定し、無効化する、判定部３８としての処理を実行する。
【００３２】
なお、Ｓ１２０にて、不要行動を無効化することにより、次にアクションライブラリ３２の中から行動を選択する際の、アクションライブラリ３２の探索範囲が制限されることになる。
【００３３】
そして、続くＳ１３０では、Ｓ１１０にて取得した制御対象の最終目標及び現在の状態に基づき、Ｓ１２０の処理により探索範囲が制限されたアクションライブラリ３２の中から、制御対象の次の行動を選択する、行動選択部３４としての処理を実行する。
【００３４】
次に、Ｓ１４０では、Ｓ１３０で選択された行動を制御対象に実施させる指令（行動Ｘ）を環境部１０に出力することで、制御対象を動作させる、制御部３６としての処理を実行する。
【００３５】
すると、環境部１０では、制御対象の行動により、制御対象の状態が変化するので、その状態変化が検出されると共に、その状態変化の良し悪しを表す報酬が算出される。
このため、続くＳ１５０では、環境部１０から報酬を取得して、今回の行動と関連づけてメモリに記憶し、その後、再度Ｓ１１０に移行することで、上記一連の動作を繰り返し実行する。
【００３６】
そして、学習部３０では、上記一連の動作によって得られる報酬が大きくなるよう、行動選択部３４における各状態に対する行動の選択動作を更新することで、制御対象の最適な行動を学習する。
【００３７】
以上説明したように、本実施形態の強化学習装置１においては、学習部３０において、状態入力部２０からの入力に基づき行動を選択する際、不要行動が選択されることのないように、アクションライブラリ３２の探索範囲を制限することができる。
【００３８】
このため、本実施形態の強化学習装置１によれば、アクションライブラリ３２内の行動の数やその組み合わせが多くなる場合であっても、学習に要する時間を短くすることができる。
【００３９】
ところで、本実施形態の学習部３０を、ニューラルネットワークにて構成する場合には、図３に示すように、ニューラルネットワークの出力層に、アクションライブラリ３２の全行動を設定すればよい。なお、図では、説明を簡単にするため、アクションライブラリ３２内の全行動の数が「５」とされている。
【００４０】
そして、判定部３８は、設計者により予め設定された不要行動のデータベースに従い、ニューラルネットワークの出力層の全行動の一部を、無効化するようにすればよい。
つまり、例えば、制御対象が状態１であるときには、図３Ａに示すように、出力層の全行動の内、下方の２つを不要行動として無効化することで、上方の３つを探索範囲として設定する。
【００４１】
また、例えば、制御対象が状態２であるときには、図３Ｂに示すように、出力層の全行動の内、上方の２つを不要行動として無効化することで、下方の３つを探索範囲として設定する。
【００４２】
従って、学習部３０をニューラルネットワークにて構成しても、本開示の技術を適用して、学習に要する時間を短縮することができるようになる。
なお、この場合、学習部３０の学習アルゴリズムを、Ｑ学習アルゴリズムにした場合、状態毎に制限される探索範囲内の行動の中で、Ｑ値が最も大きくなる行動が、学習結果として選択されて、制御対象の制御に利用されることになる。
【００４３】
次に、図４に示すように、本実施形態の強化学習装置１を、多種多様な目標形状を再現するロボットの行動計画部として利用する場合には、ロボットの最終目標となる目標形状に応じて、ロボットの行動の探索範囲を制限するようにしてもよい。
【００４４】
つまり、一つのロボットを用いて多種多様な目標形状を再現する場合、各目標形状を実現するのに利用される部品が異なるため、ロボットの周囲には、全ての目標形状を再現可能な全ての部品が配置されることになる。
【００４５】
例えば、目標形状１、２を順に再現する場合、ロボットの周囲には、目標形状１を再現するのに必要な部品Ａ，Ｆ，Ｄ，Ｇと、目標形状２を再現するのに必要な部品Ｈ，Ｃ，Ｂと、目標形状１、２を再現するのには不要な部品Ｅが配置されることがある。
【００４６】
この場合、強化学習装置を中心に構成される行動計画部にて、目標形状１、２を順に再現する際のロボットの行動を設定する際には、通常、ロボットの周囲に配置された全部品Ａ〜Ｈの中から必要な部品を順次選択して目標形状１、２を再現するように、ロボットの行動を学習させる。
【００４７】
しかし、このようにすると、目標形状１を再現するための行動の学習時にも、目標形状２を再現するための行動の学習時にも、ロボットの周囲に配置された全部品Ａ〜Ｈが探索対象となることから、学習に要する時間が長くなる。
【００４８】
つまり、ロボットの周囲に配置される部品の数がＮ個である場合、ランダム試行で正解を獲得できる確率は１／Ｎとなるため、部品の数Ｎが大きいほど、目標形状１、２をそれぞれ再現するためには、探索に多くのイテレーションが必要となり、時間がかかる。
【００４９】
従って、この学習に要する時間を短くするには、目標形状１を再現するためのロボットの最適な行動を学習する際に、目標形状１を再現するのに不要な部品Ｈ，Ｃ，Ｂ，Ｅは選択しないように、学習時のロボットの行動の探索範囲を制限するとよい。
【００５０】
同様に、目標形状２を再現するためのロボットの最適な行動を学習する際には、目標形状２を再現するのに不要な部品Ａ，Ｆ，Ｄ，Ｇは選択しないように、学習時のロボットの行動の探索範囲を制限するとよい。
【００５１】
これに対し、本実施形態の強化学習装置１によれば、判定部３８により、行動選択部３４が行動を選択する際のアクションライブラリ３２の探索範囲を制限することができる。
従って、ロボットに多種多様な目標形状を再現させる際には、設計者が、目標形状毎に、不要な行動を無効化するための情報を設定して、判定部３８に記憶させることで、学習に要する時間を短くすることができるようになる。
【００５２】
以上、本開示の一実施形態について説明したが、本開示の強化学習装置は、上記実施形態に限定されるものではなく、種々変形して実施することができる。
［変形例］
例えば、ロボットなどの制御対象は、行動選択部３４にて選択された行動にて動作させた場合、制御対象周囲の障害物や壁などに当たり、動作が制限されることがある。
【００５３】
このように、レイアウト上の制約により、物理的動作限度が存在する場合には、例えば、ロボットの関節の角度など、制御対象各部の動作位置を取得して、その動作位置が物理的動作限度に達することのないよう、行動選択部の動作を制限できるようにするとよい。
【００５４】
そして、このためには、図５に示す強化学習装置２のように、学習部３０に、制御対象各部の物理的動作限度を表す情報が記憶された動作限度記憶部３９を設け、状態入力部２０に制御対象各部の動作位置を環境部１０から取得する位置取得部２６を設けるとよい。
【００５５】
なお、動作限度記憶部３９に記憶される動作限度は、制御対象周囲の空間の環境によって決まり、この環境は、制御対象をモデル化した環境部１０から取得することができる。このため、動作限度記憶部３９に記憶される動作限度は、制御対象のモデルから予め設定するようにしてもよく、或いは、環境部１０から取得するようにしてもよい。
【００５６】
また、位置取得部２６は、例えば、ロボットの関節など、制御対象各部の動作位置を環境部から取得し、学習部３０の判定部３８に入力するよう構成する。
そして、判定部３８は、位置取得部２６にて取得された制御対象各部の動作位置が、動作限度記憶部３９に記憶された物理的動作限度に接近若しくは到達しているときに、行動選択部３４による行動の選択範囲を制限するように構成する。
【００５７】
つまり、学習部３０においては、図６に示すように、Ｓ１２０の処理を実行した後、Ｓ１２２に移行して、位置取得部２６を介して、制御対象各部の動作位置を検出する。
そして、続くＳ１２４にて、Ｓ１２２で検出した動作位置が動作限度記憶部３９に記憶された物理的動作限度に到達しているか否かを判断し、動作位置が物理的動作限度に到達していると判断されると、Ｓ１２６に移行する。
【００５８】
Ｓ１２６では、Ｓ１２４にて動作位置が物理的動作限度に到達していると判断された部分が、物理的動作限度から離れるように、行動選択部３４が行動を選択する際のアクションライブラリ３２の探索範囲を制限し、Ｓ１３０に移行する。
【００５９】
また、Ｓ１２４にて、制御対象各部の動作位置は、物理的動作限度に到達していないと判断された場合には、Ｓ１３０に移行する。
そして、Ｓ１３０では、Ｓ１２２及びＳ１２６にて制限された探索範囲内でアクションライブラリ３２から制御対象の次の行動を選択し、Ｓ１４０、Ｓ１５０の処理を実行した後、Ｓ１１０に移行する。
【００６０】
このように、本変形例の強化学習装置２においては、制御対象各部の動作位置が物理的動作限度に到達していると判断すると、行動選択部３４がアクションライブラリ３２から次の行動を選択する際の探索範囲を、物理的動作限度から離れるように制限する。
【００６１】
従って、本変形例の強化学習装置２によれば、上記実施形態の強化学習装置１に比べ、行動選択部３４によるアクションライブラリ３２の探索範囲を、より良好に制限することができる。従って、学習部３０における学習動作をより効率よく実施して、学習に要する時間を短くすることができる。
【００６２】
なお、Ｓ１２４においては、制御対象各部の動作位置が、物理的動作限度から所定量離れた近傍位置に到達しているか否かを判断することにより、制御対象各部の動作位置が物理的動作限度に接近したか否かを判断するようにしてもよい。
【００６３】
また次に、上記実施形態及び変形例の説明では、強化学習装置１，２は、ロボットの最適な行動を学習することを例にとり説明したが、本開示の技術は、制御対象の最適な行動を学習する装置であれば適用できる。例えば、自動車などの移動体の行動を学習する装置であっても上記と同様に適用して、同様の効果を得ることができる。
【００６４】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【００６５】
１，２…強化学習装置、１０…環境部、２０…状態入力部、２２…目標認識部、２４…現状認識部、２６…位置取得部、３０…学習部、３２…アクションライブラリ、３４…行動選択部、３６…制御部、３８…判定部、３９…動作限度記憶部。
【図１】
2020034994.tif 000003
【図２】
2020034994.tif 000004
【図３】
2020034994.tif 000005
【図４】
2020034994.tif 000006
【図５】
2020034994.tif 000007
【図６】
2020034994.tif 000008