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

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

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特開2024-28024強化学習補助装置、強化学習補助システム、及び強化学習補助方法
<>
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図1
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図2
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図3
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図4
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図5
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図6
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図7
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図8
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図9
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図10
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図11
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図12
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図13
  • 特開-強化学習補助装置、強化学習補助システム、及び強化学習補助方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028024
(43)【公開日】2024-03-01
(54)【発明の名称】強化学習補助装置、強化学習補助システム、及び強化学習補助方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240222BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022131327
(22)【出願日】2022-08-19
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100125151
【弁理士】
【氏名又は名称】新畠 弘之
(72)【発明者】
【氏名】松本 直也
(72)【発明者】
【氏名】高野 俊也
(72)【発明者】
【氏名】伴野 幸造
(57)【要約】
【課題】学習シナリオの生成、及び学習シナリオの評価の少なくとも一方をより効率的に行える強化学習補助装置、強化学習補助システム、及び強化学習補助方法を提供する。
【解決手段】本実施形態によれば、強化学習補助装置は、生成部と、予測部と、を備える。生成部は、学習モデルに対する学習データの単位となる学習シナリオを生成する。予測部は、学習シナリオを用いて学習した学習モデルにおいて、学習シナリオに対応し、学習シナリオと異なるテストシナリオに対する学習モデルの収束性を予測する。
【選択図】図1
【特許請求の範囲】
【請求項1】
学習モデルに対する学習データの単位となる学習シナリオを生成する生成部と、
前記学習シナリオを用いて学習した前記学習モデルにおいて、前記学習シナリオに対応し、前記学習シナリオと異なるテストシナリオに対する前記学習モデルの収束性を予測する予測部と、
を備える、強化学習補助装置。
【請求項2】
前記学習シナリオを表示部に表示させる表示制御部と、
前記表示部に表示される前記学習シナリオの形状を変更する操作を行うことが可能な操作部と、
を更に備え、
前記予測部は、前記変更された前記学習シナリオを用いた前記学習モデルの前記テストシナリオに対する収束性を予測する、請求項1に記載の強化学習補助装置。
【請求項3】
前記表示制御部は、前記テストシナリオを前記表示部に表示させ、
前記操作部は、前記表示部に表示される前記テストシナリオの周期及び形状の少なくともいずれかを変更する操作を行うことが可能である、請求項2に記載の強化学習補助装置。
【請求項4】
前記予測部は、前記テストシナリオに対する前記学習モデルの再現性を前記収束性として予測する、請求項3に記載の強化学習補助装置。
【請求項5】
前記予測部は、前記学習モデルの所定の収束条件に達する学習回数を前記収束性として予測する、請求項4に強化学習補助装置。
【請求項6】
前記学習シナリオ、及び前記テストシナリオは、時系列な制御値のデータであり、
前記予測部は、前記学習モデルにより制御される制御対象が時系列に出力する制御値と、前記テストシナリオの時系列な制御値との誤差を用いて前記学習モデルの前記収束性を予測し、
前記再現性は、前記誤差が小さくなるに従いが高くなる、請求項5に強化学習補助装置。
【請求項7】
前記学習シナリオを用いた前記学習モデルの学習途中の学習回数と、学習回数に対応する前記学習モデルのパラメータを取得する評価用パラメータ取得部と、
前記学習途中のパラメータを用いた前記学習モデルに対応する推論モデルを生成する推論部と、を更に備え、
前記予測部は、前記推論モデルの前記テストシナリオに対する出力値を用いて、前記学習モデルの前記収束性を予測する、請求項6に強化学習補助装置。
【請求項8】
前記学習モデルの学習を終了させる学習回数である実行学習回数と、前記実行学習回数が終了するまでの学習回数の間隔である評価周期と、にしたがい、
前記推論部は、前記実行学習回数が終了するまでの前記学習モデルに対応する複数の推論モデルを生成し、
前記予測部は、前記複数の推論モデルの前記テストシナリオに対する出力値を用いて、前記学習モデルの前記収束性を予測する、請求項7に強化学習補助装置。
【請求項9】
前記生成部は、前記学習シナリオに設定されたサンプリング周期でサンプリングし、前記学習シナリオのデータを再生成する、請求項8に記載の強化学習補助装置。
【請求項10】
前記表示制御部は、前記テストシナリオに対する収束性に関する情報を、図表化して前記表示部に表示させる、請求項9に記載の強化学習補助装置。
【請求項11】
前記表示制御部は、前記評価周期毎の評価結果として、前記推論モデルの前記テストシナリオに対する出力値と、前記テストシナリオの値との平均誤差又は最大誤差を前記表示部に表示する、請求項9に記載の強化学習補助装置。
【請求項12】
前記表示制御部は、前記テストシナリオの時系列データ、及び、前記推論モデルの前記テストシナリオに対する出力値と、前記テストシナリオの値との誤差の時系列データを前記表示部に表示する、請求項11に記載の強化学習補助装置。
【請求項13】
前記操作部は、
前記表示部における画面の位置に対応する操作信号を入力可能である、請求項12に記載の強化学習補助装置。
【請求項14】
前記操作部は、前記表示部に表示される前記学習シナリオの作図、前記実行学習回数、前記評価周期、前記学習シナリオのサンプリング周期、及び学習シナリオの一周期の時間、予想部で収束の判断に用いる許容誤差の条件の少なくともいずれかを前記表示部の画面位置に対応する操作信号により入力可能である、請求項13に記載の強化学習補助装置。
【請求項15】
請求項1に記載の強化学習補助装置と、
前記学習シナリオを用いた前記学習モデルの学習を行う強化学習装置と、
を備え、
前記学習モデルは、前記学習シナリオを用いて、現在の状態に対する行動を学習している、強化学習補助システム。
【請求項16】
学習モデルに対する学習データの単位となる学習シナリオを生成する生成工程と、
前記学習シナリオを用いて学習した前記学習モデルにおいて、前記学習シナリオに対応し、前記学習シナリオと異なるテストシナリオに対する前記学習モデルの収束性を予測する予測工程と、
を備える、強化学習補助方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、強化学習補助装置、強化学習補助システム、及び強化学習補助方法に関する。
【背景技術】
【0002】
近年、モデルが複雑で、高度な制御が要求される分野のブレークスルー技術として、人工知能技術のひとつである強化学習(ReinforcemensLearning)が注目されている。この強化学習を用いて、モータなどの制御を学習する学習モデルでは、制御対象に対して、操作量を与え、その結果得られた制御値から報酬値を計算し、高い報酬値が得られるように各状態に対する操作量を学習する。
【0003】
また、空調やポンプ等の、あらかじめ運転パターンが決まっているモータなどを制御する際、想定される運転パターンを学習シナリオとして、学習モデルを学習することが知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-34994号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、学習シナリオを用いる強化学習では、学習シナリオによって学習後の精度や収束に必要な学習回数が変化する。このため、様々な学習シナリオを試行して想定する運転パターンの通りに制御できる学習シナリオを見つける必要がある。このように、学習シナリオは無数にあるため、各学習シナリオを素早く評価し、短い時間で運動パターン通りに制御できる学習データを見つけることが望まれている。
【0006】
ところが、学習シナリオの作成では、プログラムで数式を用いて作成するのが一般的である。このため、ユーザには理解しづらく、更には連続した時間に対応する目標値を設定する必要があるために、学習データの変更には時間がかかってしまう。また、強化学習を行う際には収束するまで学習を行う必要があり、収束するまでの学習回数が多くなる場合には、学習時間が長くなってしまい、学習シナリオの評価が困難となってしまう恐れがある。
【0007】
このような課題を解決するため、本実施形態における課題は、学習シナリオの生成、及び学習シナリオの評価の少なくとも一方をより効率的に行える強化学習補助装置、強化学習補助システム、及び強化学習補助方法を提供することである。
【課題を解決するための手段】
【0008】
本実施形態によれば、強化学習補助装置は、生成部と、予測部と、を備える。生成部は、学習モデルに対する学習データの単位となる学習シナリオを生成する。予測部は、学習シナリオを用いて学習した学習モデルにおいて、学習シナリオに対応し、学習シナリオと異なるテストシナリオに対する学習モデルの収束性を予測する。
【発明の効果】
【0009】
学習シナリオの生成、及び学習シナリオの評価の少なくとも一方をより効率的に行える。
【図面の簡単な説明】
【0010】
図1】強化学習補助システムの構成例を示すブロック図。
図2】学習シナリオの一例を示す図。
図3】テストシナリオの一例を示す図。
図4図3のテストシナリオに対する推論部の出力結果を示す図。
図5】収束予測部の演算経過を示す図。
図6】収束予測部の推論経過を示す図。
図7】学習シナリ作成用の表示画像の例。
図8図7の学習シナリオを用いた場合の予測部の評価結果例を示す図。
図9図7の学習シナリオに対する結果例を示す図で。
図10】テストシナリ作成用の表示画像の例を示す図。
図11図9のテストシナリオに対する推論部の出力結果を示す図。
図12】テストシナリオを変更して学習シナリオを生成する過程例を示す図。
図13】テストシナリオから学習シナリオを生成する続きの過程例を示す図。
図14】強化学習補助システムの動作例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態に係る強化学習補助装置、強化学習補助システム、及び強化学習補助方法について、図面を参照しながら詳細に説明する。なお、以下に示す実施形態は、本発明の実施形態の一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。また、本実施形態で参照する図面において、同一部分又は同様な機能を有する部分には同一の符号又は類似の符号を付し、その繰り返しの説明は省略する場合がある。また、図面の寸法比率は説明の都合上実際の比率とは異なる場合や、構成の一部が図面から省略される場合がある。
【0012】
(一実施形態)
図1は、本実施形態に係る強化学習補助システム1の構成例を示すブロック図である。図1を用いて、強化学習補助システム1の構成を説明する。図1に示すように、本実施形態に係る強化学習補助システム1は、例えば強化学習に用いる学習シナリオの生成、及び評価が可能なシステムである。
【0013】
本実施形態では、運転パターンに対応するデータをテストシナリオと称し、強化学習に用いる学習データの単位を学習シナリオと称する。学習シナリオは、例えばテストシナリオの特徴的な情報に対応しており、テストシナリオを再現する学習モデルを学習するために用いられる。
【0014】
テストシナリオを学習した学習モデルはテストシナリオを再現することが可能である。しかし、テストシナリオを学習した学習モデルのテストシナリオに対する再現性が必ずしも最適ではないことが分かってきている。そこで、本実施形態では、例えばテストシナリオに対する再現性がより高い学習シナリオを生成する。或いは、例えば所定の収束条件に対する収束性のより高い学習シナリオを生成する。
【0015】
図1に示すように、強化学習装置100は、例えば、CPU(Censral Processing Unis)を含んで構成され、モータなど一定の運転パターン(テストシナリオ)が想定されている制御対象のより適した行動を、学習シナリオを用いた強化学習によって取得するための装置である。この強化学習装置100は、環境部110、状態入力部120、学習部130、学習シナリオ取得部140、学習パラメータ記憶部150、及び学習パラメータ出力部160を備える。なお、強化学習装置100の詳細は後述する。強化学習装置100は、例えば、学習パラメータ記憶部150に記憶されるプログラムを実行することにより、各処理部を構成する。
【0016】
強化学習補助装置200は、例えば、CPU(Censral Processing Unis)を含んで構成され、様々なシナリオの作成、及びその評価が可能な装置である。強化学習補助装置200は、評価部210、予測部220、作成部230、表示制御部240、表示部250、及び操作部260を備える。強化学習補助装置200は、例えば、評価部210の評価用パラメータ記憶部212に記憶されるプログラムを実行することにより、各処理部を構成する。
【0017】
評価部210は、作成部230が作成した学習シナリオを用いて強化学習装置100で学習した学習モデルの収束過程における性能を評価する。この評価部210は、評価用パラメータ取得部211、評価用パラメータ記憶部212、評価環境部213、評価状態認識部214、評価目標認識部215、テストシナリオ記憶部216、推論部217、及び評価結果出力部218を有する。なお、評価部210の詳細も後述する。
【0018】
予測部220は、学習モデルの収束過程における性能の情報を用いて、学習シナリオで学習する際の学習モデルの収束性、テストシナリオの再現性を予測する。予測部220は、評価結果記憶部221と、収束予測部222とを有する。
【0019】
作成部230は、テストシナリオ、及びテストシナリオに対応する様々な学習シナリオの作成が可能である、この作成部230は、作図部231、及びシナリオ出力部232を有する。なお、本実施形態に係る作成部230が生成部に対応する。また作成部230の詳細も後述する。
【0020】
表示制御部240は、強化学習補助装置200が生成した各種のデータを画像として表示部250に表示させる。表示部250は、例えば、モニタであり、表示制御部240の制御に従い、各種のデータを画像として表示する。操作部260は、例えばマウスやキーボードで構成され、操作者の操作に応じた操作信号を、強化学習装置100、及び強化学習補助装置200に入力可能である。なお、表示部250と操作部260を一体化したタッチパネルとして構成してもよい。
【0021】
(強化学習装置)
図2は、学習シナリオの一例を示す図である。横軸はステップ時間sであり、縦軸は制御値ωr(s)である。この学習シナリオは、テストシナリオ(図3参照)に対応しており、例えばテストシナリオの加速領域、及び減速領域の情報を抽出して生成されている。
【0022】
ここで、図2を参照しつつ、強化学習装置100の詳細を説明する。強化学習装置100は、学習シナリオを用いて、学習モデルを学習する。この強化学習装置100では、学習モデルにおける学習の途中経過の情報を生成することが可能である。後述の強化学習補助装置200では、この学習の途中経過の情報を用いて、学習シナリオを用いて学習した学習モデルの、収束性、及びテストシナリオに対する再現性が評価される。
【0023】
環境部110は、例えば制御対象及び制御対象の情報を取得する機器を有する。本実施形態では、この環境部110は、制御対象の現在の状態ω(s)、状態ω(s)から学習部130の学習モデルで算出される行動推定V(s)よって環境である制御対象を操作したことによる新たな状態ω(s+1)を生成可能である。例えば、本実施形態では、現在の状態ω(s)が制御値に対応し、制御対象がモータであれば、現在の状態ω(s)が現在のモータの回転速度であり、行動推定V(s)が電圧であり、新たな状態ω(s+1)は、電圧を印可したことによる次の回転速度である。
【0024】
環境部110は、制御対象から取得した現在の状態ω(s)及び、この状態ω(s)から学習部130の学習モデルで算出される行動推定V(s)と、この行動推定V(s)によって環境である制御対象を操作したことによる新たな状態ω(s+1)とを用いて報酬R(s)を生成する。例えば、行動推定V(s)に対する報酬R(s)は、状態ω(s+1)と、図2で示す制御値ωr(s+1)と、に基づき算出される。例えば、報酬R(s)は、状態ω(s+1)が目的とする制御値ωr(s+1)に近いほど、大きな値になるように設定される。なお、本実施形態では、一つの状態ω(s)で説明するが、これに限定されない。状態ω(s)は、複数種類であってもよい。
【0025】
学習部130には、図2で示す制御値ωr(s)が目標値として、時系列に目標認識部122から順にステップ時間s毎に供給される。また、学習部130には、環境部110からステップ時間sにおける状態ω(s)と即時報酬R(s)が供給される。これにより、学習部130は、学習モデルを大きな報酬R(s)が得られるように学習する。このような学習が繰り返し行われることにより、学習モデルによる制御対象の制御では、図2で示す制御値の時系列変動に対する再現性が向上する。つまり、学習モデルの学習が進むと、状態ω(s)に対して状態ωr(s+1)に近づく行動推定V(s)を出力するようになる。
【0026】
より具体的には、環境部110は、モータなどの実機を動作させ、その動きをセンサやカメラで計測することで、制御対象に対する行動推定V(s)によって変化した新たな状態ω(s+1)と、その結果の評価を行う報酬R(s)を生成する。また、環境部110は、制御対象のモデルのシミュレータを用いて、シミュレーションにより、シミュレーションモデルを動作させ、制御対象に対する行動推定V(s)によって変化した状態と、変化した新たな状態ω(s+1)と、その結果の評価を行う報酬R(s)を生成してもよい。上述のように、制御対象がモータである場合には、例えば状態ω(s)は、実測されるモータの回転速度であり、行動推定V(s)は、モータに印可される電圧であり、制御値ωr(s+1)は、モータの目標回転速度である。
【0027】
状態入力部120の学習シナリオ記憶部121は、例えば図2に示す制御値ωr(s)の時系列データを学習シナリオとして記憶する。目標認識部122は、学習シナリオ記憶部121に記憶される学習シナリオデータからステップ時間sに対応する制御値ωr(s)を目標値として認識し、学習部130に出力する。すなわち、目標認識部122は、学習シナリオデータに基づき、各ステップ時間sに対応する制御値ωr(s)を時系列に学習部130に出力する。
【0028】
学習部130は、学習機能を有し、上述のように、状態認識部123から供給される現在の状態ω(s)と、環境部110から供給される報酬R(s)を用いて、例えば強化学習であるQ学習により、学習モデル(例えばニューラルネットワーク)を学習する。すなわち、この学習モデルは、状態ω(s)を入力とし、行動推定V(s)を出力する。
【0029】
学習シナリオ取得部140は、強化学習補助装置200のシナリオ出力部232から学習シナリオのデータを取得し、学習シナリオ記憶部121に出力する。学習パラメータ記憶部150は、学習部130により学習される学習モデルの各パラメータを、所定の周期毎に記憶する。この学習モデルのパラメータは、例えば、ニューラルネットワークの重み係数などの情報である。すなわち、学習パラメータ記憶部150は、学習モデルの所定回数毎の学習経過として、学習モデルのパラメータを時系列に記憶する。そして、学習パラメータ出力部160は、学習パラメータ記憶部150に記憶された学習モデルの各パラメータを学習回数に関連づけ、強化学習補助装置200の評価用パラメータ取得部211に供給する。
【0030】
(強化学習補助装置の評価部)
評価部210の評価用パラメータ取得部211は、学習パラメータ出力部160を介して、学習回数に関連づけられた学習モデルのパラメータを取得し、評価用パラメータ記憶部212に供給する。評価用パラメータ記憶部212は、学習経過として、学習回数に関連づけられた学習モデルのパラメータを記憶する。
【0031】
推論部217は、評価用パラメータ記憶部212に記憶される学習モデルのパラメータを用いて、推論モデルを生成する。すなわち、この推論モデルは、制御モデルに対応する。上述のように、この推論モデルは、例えば状態ωr(s)を入力とし、行動推定V(s)を出力する。
【0032】
図3は、テストシナリオの一例を示す図である。横軸はステップ時間sであり、縦軸は制御値ωr(s)である。
【0033】
ここで、図3を参照しつつ、評価部210の詳細を説明する。テストシナリオは、上述のように、例えば運転パターンに対応する。モータの場合、加速部分と、減速部分のパターンが重要視される場合がある。この場合、定速運転部分のデータは、学習には冗長となってしまう。このため、例えば図2で上述したように、加速部分と、減速部分とのデータを、学習シナリオとしている。一方で、制御モデルの評価は、運転パターンに対応させて行われる。このため、評価部210では、図3で示すように、実際の運転パターンに対応するテストシナリオを評価に用いる。テストシナリオに対する評価は、1周期分のデータで行われる。例えば図3では、1~30ステップ時間(s)が1周期分のデータとなる。
【0034】
評価部210の評価環境部213は、現在の状態ω(s)に対して推論部217で算出される行動推定V(s)を入力として、次の状態ω(s+1)を生成する。そして、評価環境部213は、次の状態ω(s+1)を評価状態認識部214に出力に出力する。より具体的には、評価環境部213は、環境部110と同様に、モータなどの実機を動作させ、その動きをセンサやカメラで計測することで、制御対象に対する行動推定V(s)によって変化した次の状態ω(s+1)を生成する。また、評価環境部213は、環境部110と同様に、制御対象のモデルのシミュレータを用いて、シミュレーションにより、モデルを動作させ、制御対象に対する行動推定V(s)によって変化した次の状態ω(s+1)を生成してもよい。
【0035】
評価状態認識部214は、上述のように評価環境部213から制御対象の次の状態ω(s+1)を取得し、制御対象の状態を認識し、推論部217に出力する。
【0036】
評価目標認識部215は、テストシナリオ記憶部216に記憶されるテストシナリオデータ(図3参照)から時間に対応する制御値ωr(s)を目標値として認識し、推論部217に出力する。テストシナリオ記憶部216は、例えば図3に示す制御値ωr(s)(例え目標回転速度)の時系列データをテストシナリオとして記憶する。
【0037】
上述のように、推論部217には、図3で示す制御値である制御値ωr(s)が、時系列に評価目標認識部215から順にステップ毎に供給される。推論部217の推論モデル(制御モデル)は、状態ωr(s)に応じて、ステップ時間s毎に行動推定V(s)を生成し、評価環境部213に出力する。
【0038】
図4は、図3のテストシナリオに対する推論部217の出力結果を示す図である。横軸は時間であり、縦軸は制御値である。ラインL10は、テストシナリオである。ラインL12は、推論部217の制御モデルが出力した行動推定V(s)に対して評価環境部213が出力した状態ω(s+1)である。例えば、制御対象がモータの場合には、ラインL10はモータの目標回転速度に対応し、ラインL12は評価環境部213が出力するモータの実回転速度に対応する。評価結果出力部218は、評価環境部213が出力した制御値に対応する状態ω(s+1)を、テストシナリオのステップ時間sに関連づけて、予測部220の評価結果記憶部220に出力する。
【0039】
(強化学習補助装置の予測部)
予測部220の評価結果記憶部220は、学習モデルの学習回数毎のテストシナリオのステップ時間sに関連づけられた状態ω(s+1)を、記憶する。
【0040】
図5は、収束予測部222の演算経過を示す図である。横軸は時間であり、縦軸は図4で示したラインL10とラインL12との差分値である。図5に示すように、収束予測部222は、テストシナリオの1周期分(例えば30秒)のラインL10とラインL12との差分値を演算し、この差分値の絶対値の平均値である平均誤差を学習回数に対する評価結果として演算する。なお、収束予測部222が演算する評価結果は、平均誤差に限定されず、例えば最大誤差でもよい。
【0041】
図6は、収束予測部222の推論経過を示す図である。横軸は学習回数であり、縦軸は平均誤差である。ラインL14は、学習回数毎の評価結果である平均誤差の値である。収束予測部222は、学習回数毎の評価結果である平均誤差に基づいて、収束曲線L16を生成する。収束予測部222は、収束曲線L16の生成に例えば、最小二乗近似、スプライン補間、多重回帰分析、ニューラルネットワークなどの一般的なアルゴリズムを用いることが可能である。
【0042】
収束予測部222は、収束曲線L16に基づき、学習モデルの収束値を予測する。また、収束予測部222は、収束曲線L16に基づき、所定の収束値(収束条件)、例えば0.2に達するまでの学習回数を予測する。なお、収束値が0に近いほど、その学習モデルのテストシナリオに対する再現性が高いことを示す。
【0043】
このように、収束予測部222は、学習が収束する前の例えば学習回数が10000回までの評価値を用いて、例えば学習モデルの収束状態での学習結果を予測することが可能である。これにより、学習シナリオの評価をより短い時間で行うことが可能となる。このため、後述するように、学習シナリオを操作者が生成する度に、より短い時間で、学習シナリオを評価することが可能となる。
【0044】
(強化学習補助装置の作成部及び表示制御部)
【0045】
作図部231は、表示制御部240を介してグラフィカルユーザーインターフェース(GUI:Graphical User Interface)を用いてテストシナリオ、及び学習シナリオを作成することが可能である。シナリオ出力部232は、作図部231が生成したテストシナリオ、及び学習シナリオを学習シナリオ記憶部121、及びテストシナリオ記憶部216に関連づけて記憶させる。
【0046】
図7は、作図部231が生成した学習シナリ作成用の表示画像M8の例を示す図である。図7に示すように作図部231は、表示制御部240を介して、表示部250に学習シナリ用の表示画像M8を表示させることが可能である。学習シナリ用の表示画像M8は、学習シナリオL18のステップ時間s毎のデータを表示する。縦軸は制御値ωr(s)であり、横軸はステップ時間sである。
【0047】
操作者は、操作部260を介して、実行学習回数A10、評価周期A12、サンプリング周期A14、学習シナリオ時間A16、収束条件A18を入力可能である。また、学習開始ボタンA20を指示すると、学習シナリオL18の評価が開始される。実行学習回数A10は、学習シナリオL18に対する学習回数である。例えば、30ステップ有する学習シナリオL18を用いた実行学習回数が10000回ならば、300000ステップの学習が学習モデルに対して行われる。
【0048】
評価周期A12は、学習回数に対する評価周期である。例えば500回なら、500回の学習毎に学習済みの学習モデルのパラメータを用いて、学習モデルの誤差などを評価する。サンプリング周期A14は、学習シナリオL18をシナリオデータにする場合の各ステップ時間sの時間間隔である。例えば1秒なら、30ステップ分のデータが生成される。同様に、例えば0.1秒なら、300ステップ分のデータが生成される。
【0049】
学習シナリオ時間A16は、学習シナリオL18の1周期分の時間範囲である。例えば30秒なら、30秒分の学習シナリオL18のデータが学習モデルの1回分の学習に用いられる。収束条件A18は、収束条件を設定する。例えば、0.2であれば、収束予測部222は、誤差が0.2に達するまでの学習回数を予測する。
【0050】
また、作図部231は、各ポイントP10を、操作部260の操作により移動させることで学習シナリオL18の形状変更が可能である。作図部231は、移動させられた各ポイントP10を、スプライン補間や、最小二乗近似補間などで接続し、学習シナリL18を再生成する。このように、学習シナリオL18を時間と制御値の2軸のGUIを用いて作成可能となり、学習シナリオL18の変更と、変更内容の把握がより容易となる。
【0051】
次に、学習開始ボタンA20を指示すると、学習シナリオL18の評価が開始される。図8は、図7の学習シナリオL18を用いた場合の予測部220の評価結果例を示す図である。
【0052】
画面M10、M10a、M12は、表示制御部240を介して表示部250に表示された画面例である。画面M10は、上述したように収束予測部222の処理結果である誤差L14と収束予測曲線L16を表示する。画面M10aは、収束誤差に用いる誤差の演算方法を示す。
【0053】
また、画面M12は、収束予測部222の処理結果として、収束時の誤差値の見込値である収束誤差見込みと、誤差が収束条件A18(図7参照)に達するまでの学習回数見込みである。上述のように、収束誤差見込みが、学習シナリオL18で学習した学習モデルのテストシナリオL10(図4参照)に対す再現性を客観的な数値として示している。例えば、0であれば完全にテストシナリオL10(図4参照)を再現出来ることを推定している。
【0054】
このように、収束予測部222により収束する学習回数見込み、収束誤差見込みを予測し、表示させることにより、学習シナリオの評価をより短時間で行うことが可能となる。つまり、学習モデルの学習を途中で停止させても、学習モデルの収束性を推定可能となる。
【0055】
これにより、このような結果をみた操作者は、各ポイントP10を、操作部260の操作により移動させ新たな学習シナリL18を再生成し、再評価することがより短時間で可能となる。このような操作を繰り返し、目的とする学習シナリオを生成することが可能となる。目的とする学習シナリオを生成した後には、例えば実行学習回数A10(図7参照)を、必要学習回数見込みを参考に設定し、最終的な学習モデルを強化学習装置100に学習させることができる。
【0056】
図9は、図7の学習シナリオL18に対する結果例を示す図である。画面M14、M16、M18は、作図部231が表示制御部240を介して表示部250に表示させた画面例である。画面M14は、図7の学習シナリオL18に対する推論部217の出力結果を示す図である。横軸は時間であり、縦軸は制御値である。ラインL20は、テストシナリオである。ラインL22は、学習シナリオL18により学習した推論部217の学習モデルが、出力した行動値V(s)に対して、評価環境部213が出力した制御値に対応する状態ω(s+1)である。横軸はステップ時間sであり、縦軸は制御値ωr(s)である。
【0057】
画面M16は、収束予測部222の演算経過を示す図である。横軸はステップ時間sであり、縦軸はM14で示したラインL20とラインL22との差分値である。画面M18は、実行学習回数A10(図7参照)を示す画像である。このような画像を提示することにより、学習シナリオL18を用いた場合の、学習モデルの性能を判断することが容易となる。
【0058】
図10は、作図部231が表示制御部240を介して生成したテストシナリ作成用の表示画像M18の例を示す図である。図10に示すように作図部231は、表示制御部240を介して、表示部250にテストシナリ用の表示画像M18を表示させることが可能である。テストシナリ用の表示画像M18は、テストシナリオL20のステップ時間s毎のデータを表示する。縦軸は制御値ωr(s)であり、横軸はステップ時間sである。
【0059】
操作者は、操作部260を介して、テストシナリオ期間A22を設定する。これにより、作図部231は、テストシナリオ期間A22に応じたテストシナリオL20を生成可能となる。
【0060】
また、作図部231は、各ポイントP12を、操作部260の操作により移動させることが可能である。作図部231は、移動させられた各ポイントP12を、スプライン補間や、最小二乗近似補間などで接続し、テストシナリオL20を再生成する。このように、テストシナリオL20を時間と制御値の2軸のGUIを用いて作成可能となり、テストシナリオL20の変更と、変更内容の把握がより容易となる。
【0061】
図11は、図9のテストシナリオL20に対する推論部217の出力結果を示す図である。すなわち、テストシナリオL20自体を学習シナリオとして10000回学習した後の評価結果を示す。図11において、学習回数はテストシナリオL20自体を用いて学習した学習モデルの学習回数を示し、時間は図10の横軸のステップ時間sに対応する。評価結果は、テストシナリオL20の各時間に対する誤差を示し、シナリオデータは、テストシナリオL20の各時間に対するデータ値を示す。
【0062】
例えば、操作者は、このような分析結果を参照しつつ、テストシナリオL20を変更して学習シナリオを生成することが可能である。例えば、図11を参照すると、テストシナリオL20の一定値である0、10に対する誤差が大きく、収束性を悪くしていることが把握可能となる。
【0063】
図12は、テストシナリオL20を変更して学習シナリオを生成する過程例を示す図である。操作者が学習シナリ作成用の表示画像(図7参照)を用いて、テストシナリオL20を変更して学習シナリオL23を生成する過程を示している。テストシナリオL20では、一定値である0、10に対する誤差が大きく、収束性を悪くしているので、マークM20の範囲を中心とした学習シナリオL23を生成した例である。学習シナリオL23に対する対する評価も予測部220の評価結果例を示す図(図8参照)で容易に可能となる。これにより、例えば、操作者は、テストシナリオL20の直線領域を減らすことで、収束性が上がることを客観的に短時間で把握可能となる。
【0064】
図13は、学習シナリオL23を変更して学習シナリオL18(図7参照)を生成する過程例を示す図である。操作者が学習シナリ作成用の表示画像(図7参照)を用いて、学習シナリオL23のポイントP12を操作し、学習シナリオL24を生成している。学習シナリオL24に対する対する評価も予測部220の評価結果例を示す図(図8参照)で容易に可能となる。これにより、例えば、操作者は学習シナリオL23の直線領域を更に減らすことで、更に収束性が上がることを客観的に短時間で把握可能となる。そして、更に操作者は、学習シナリオL24を連続的にコピーして図7で示す学習シナリオL18を生成可能となる。或いは、操作者は、学習シナリオL24に対して、学習シナリオ期間A16を10とし、実行学習回数A10を30000とすることで、図7の学習シナリオL18と等価の学習シナリオを生成可能となる。このように、学習シナリオを時間と制御値の2軸のGUIを用いて作成可能となり、学習シナリオデータの変更と、変更内容の把握がより容易となるので、目的とする学習シナリオL18の生成もより短時間で可能となる。
【0065】
以上が、本実施形態に係る構成の説明であるが、以下に図14を用いて制御処理例を説明する。図14は、強化学習補助システム1の動作例を示すフローチャートである。図14に示すように、強化学習補助装置200は、所定のGUI(図7、10参照)を用いてテストシナリオと、テストシナリオに対応する学習シナリオとの作成を行う(ステップS1)。
【0066】
次に、強化学習装置100は、強化学習補助装置200の生成した学習シナリオに基づき、学習モデルの学習を行う(ステップS2)。強化学習装置100は、指定の実行学習回数A10(図7参照)が終了したか否かを判定する(ステップS3)、終了していないと判定する場合(ステップS3のNo)、ステップS2からの処理をくり返す。この間に強化学習装置100は、評価周期A12(図7参照)にしたがった周期で学習モデルのパラメータを記憶する
【0067】
一方で、強化学習装置100は、終了していると判定する場合(ステップS3のYes)、強化学習装置100は、周期的に記憶した学習モデルのパラメータを、強化学習補助装置200に出力する。
【0068】
次に、強化学習補助装置200は、周期的に記憶した学習モデルのパラメータを用いて、テストシナリオに対する評価として、周期別の平均誤差を生成する(図6参照)(ステップS4)。
【0069】
次に、強化学習補助装置200は、周期別の平均誤差を用いて収束性を予測する(図6参照)(ステップS5)。続けて、強化学習補助装置200は、表示部250に収束性の予測に関する情報(図8参照)を表示させ、処理を終了する(ステップS6)。
【0070】
以上説明したように、本実施形態によれば、作図部231が、学習モデルに対する学習データの単位となる学習シナリオL18を生成し、予測部220が、学習シナリオL18を用いて学習した学習モデルにおいて、学習シナリオL18に対応し、学習シナリオL18と異なるテストシナリオL20に対する学習モデルの収束性を予測することとした。これにより、運転パターに対応するテストシナリオL20と異なる学習シナリオL18のテストシナリオL20に対する評価をより短時間で可能となる。
【0071】
また、作図部231が生成した学習シナリオL18、及びテストシナリオL20を、表示制御部240を介して表示部250に表示させ、操作部260を介して、表示部250に表示されるシナリオL18、L20の形状などを変更し、再生成することとした。これにより、シナリオL18、L20の変更の状態を観察しながら、シナリオL18、L20の再生成が可能となる。
【0072】
また、予測部220が、学習シナリオL18を用いた学習途中の学習モデルのテストシナリオL20に対する評価値により、所定の収束値を満たす学習回数と、テストシナリオL20に対する再現性を数値化することとした。これにより、学習シナリオL18を用いた学習モデルが収束する前の段階で、学習シナリオL18の評価を行うことが可能となり、より短時間で客観的な評価の伴う学習シナリオL18の再生成が可能となる。
【0073】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規な装置、方法及びプログラムは、その他の様々な形態で実施することができる。また、本明細書で説明した装置、方法及びプログラムの形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。
【符号の説明】
【0074】
1:強化学習補助システム、100:強化学習装置、200:強化学習補助装置、217:推論部、220:予測部、230:作成部(生成部)、240:表示制御部、250:表示部、260:操作部、L10、L20:テストシナリオ、L18、L23、L24:学習シナリオ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14