(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162483
(43)【公開日】2024-11-21
(54)【発明の名称】機械学習プログラム、機械学習方法、および機械学習装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20241114BHJP
B23K 26/21 20140101ALN20241114BHJP
【FI】
G06N20/00
B23K26/21 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023078022
(22)【出願日】2023-05-10
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】金子 敏充
(72)【発明者】
【氏名】皆本 岳
【テーマコード(参考)】
4E168
【Fターム(参考)】
4E168BA74
4E168CA06
4E168CA11
4E168DA32
(57)【要約】
【課題】速度制御を含む制御対象点の目標に対する平均誤差の最小化を図る。
【解決手段】制御対象時刻における制御対象点の速度に関する情報を含む観測情報を取得する取得ステップと、観測情報および制御方策に応じて決定された、制御対象点の速度制御に関する情報を含む制御情報を出力する出力ステップと、観測情報から導出される速度以外の指標の値の評価指標と目標との誤差が小さいほど高い報酬を、観測情報に含まれる制御対象点の速度に応じて補正した補正報酬を決定する補正報酬決定ステップと、観測情報および補正報酬から制御方策を強化学習する学習ステップと、をコンピュータに実行させるための機械学習プログラム。
【選択図】
図6
【特許請求の範囲】
【請求項1】
制御対象時刻における制御対象点の速度に関する情報を含む観測情報を取得する取得ステップと、
前記観測情報および制御方策に応じて決定された、前記制御対象点の速度制御に関する情報を含む制御情報を出力する出力ステップと、
前記観測情報から導出される速度以外の指標の値の評価指標と目標との誤差が小さいほど高い報酬を、前記観測情報に含まれる前記制御対象点の速度に応じて補正した補正報酬を決定する補正報酬決定ステップと、
前記観測情報および前記補正報酬から前記制御方策を強化学習する学習ステップと、
をコンピュータに実行させるための機械学習プログラム。
【請求項2】
前記補正報酬決定ステップは、
前記報酬を前記制御対象点の速度が速いほど低くなるように補正した前記補正報酬を決定する、
請求項1に記載の機械学習プログラム。
【請求項3】
前記補正報酬の割引率を前記観測情報から導出される前記制御対象点の速度に応じて補正した補正割引率を決定する補正割引率決定ステップを備え、
前記学習ステップは、
前記観測情報、前記補正報酬、および前記補正割引率から、前記制御方策を強化学習する、
請求項1に記載の機械学習プログラム。
【請求項4】
前記補正割引率決定ステップは、
前記制御対象点の速度が速いほど前記割引率の値が小さくなるように補正した前記補正割引率を決定する、
請求項3に記載の機械学習プログラム。
【請求項5】
前記補正割引率決定ステップは、
入力を受付けた入力速度に対する入力割引率に応じた前記割引率を、前記制御対象点の速度に応じて補正した前記補正割引率を決定する
請求項3に記載の機械学習プログラム。
【請求項6】
取得した前記観測情報から導出される前記評価指標を含む第1の経験データ、および該観測情報とは前記制御対象時刻の異なる1または複数の他の前記観測情報から導出される前記評価指標をそれぞれ含む1または複数の第2の経験データ、の群に基づいて、前記群に含まれる複数の前記評価指標から選択した複数の前記評価指標を、前記目標として設定する目標設定ステップを含み、
前記補正報酬決定ステップは、
設定された複数の前記目標の各々ごとに、取得した前記観測情報から導出される前記評価指標と複数の前記目標の各々との誤差が小さいほど高い報酬を、前記観測情報に含まれる前記制御対象点の速度に応じて補正した前記補正報酬を決定する、
請求項1に記載の機械学習プログラム。
【請求項7】
前記目標設定ステップは、
前記第1の経験データに含まれる前記評価指標と、前記第2の経験データに含まれる前記評価指標にノイズを加えたノイズ付加評価指標と、を前記目標として設定する、
請求項6に記載の機械学習プログラム。
【請求項8】
前記目標設定ステップは、
ユーザによって選択された目標選択方法に応じて前記目標を設定する、
請求項6に記載の機械学習プログラム。
【請求項9】
前記目標設定ステップは、
ユーザによって選択された数の前記目標を設定する、
請求項6に記載の機械学習プログラム。
【請求項10】
制御対象時刻における制御対象点の速度に関する情報を含む観測情報を取得する取得ステップと、
前記観測情報および制御方策に応じて決定された、前記制御対象点の速度制御に関する情報を含む制御情報を出力する出力ステップと、
前記観測情報から導出される速度以外の指標の値の評価指標と目標との誤差が小さいほど高い報酬を、前記観測情報に含まれる前記制御対象点の速度に応じて補正した補正報酬を決定する補正報酬決定ステップと、
前記観測情報および前記補正報酬から前記制御方策を強化学習する学習ステップと、
を含む機械学習方法。
【請求項11】
制御対象時刻における制御対象点の速度に関する情報を含む観測情報を取得する取得部と、
前記観測情報および制御方策に応じて決定された、前記制御対象点の速度制御に関する情報を含む制御情報を出力する出力部と、
前記観測情報から導出される速度以外の指標の値の評価指標と目標との誤差が小さいほど高い報酬を、前記観測情報に含まれる前記制御対象点の速度に応じて補正した補正報酬を決定する補正報酬決定部と、
前記観測情報および前記補正報酬から前記制御方策を強化学習する学習部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、機械学習プログラム、機械学習方法、および機械学習装置に関する。
【背景技術】
【0002】
強化学習を様々な制御の学習に適用する試みがなされている。特許文献1には、指令経路からの逸脱に基づいて報酬を算出して強化学習を行うことで、指令経路からの逸脱をできるだけ少なくするように速度制御を学習する方法が開示されている。非特許文献1には、レーザー溶接に於いて、所望のビード幅と生成されたビード幅との差に基づいて報酬を算出し、溶接速度を含む溶接制御を強化学習で学習する方法が開示されている。非許文献2には、与えられた目標を満たすようにシステムを制御する場合に、蓄積した経験データの目標を差し替えて学習に用いることで制御方策を学習する方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】M. Schmitz, F. Pinsker, あ. Ruhri, B. Jiang and G. Safronov, “Enabling Rewards for Reinforcement Learning in Laser Beam Welding processes through Deep Learning,” 19th IEEE International Conference on Machine Learning and Applications (ICMLA), 14-17 December, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0005】
強化学習は割引累積報酬の期待値を最大化する方策を学習する手法である。割引累積報酬は、現在時刻以降に得られる報酬を、現在時刻からの時間差が大きいほど小さな重みを乗じて総和を取ったものである。特許文献1や非特許文献1のように誤差に基づいて算出される報酬を用いて強化学習を行えば、誤差を小さくする制御方法を学習することができる。しかし、制御対象点の速度が変化する場合、速度によって単位時間あたりの移動距離が変動するため、軌跡によって計算される誤差だけでなく速度によっても割引累積誤差が変動する。このため従来技術では、速度制御を含む制御対象点の軌跡の目標軌跡に対する平均誤差の最小化を図ることは困難であった。
【0006】
本発明が解決しようとする課題は、速度制御を含む制御対象点の目標に対する平均誤差の最小化を図ることができる、機械学習プログラム、機械学習方法、および機械学習装置を提供することである。
【課題を解決するための手段】
【0007】
実施形態の機械学習プログラムは、制御対象時刻における制御対象点の速度に関する情報を含む観測情報を取得する取得ステップと、前記観測情報および制御方策に応じて決定された、前記制御対象点の速度制御に関する情報を含む制御情報を出力する出力ステップと、前記観測情報から導出される速度以外の指標の値の評価指標と目標との誤差が小さいほど高い報酬を、前記観測情報に含まれる前記制御対象点の速度に応じて補正した補正報酬を決定する補正報酬決定ステップと、前記観測情報および前記補正報酬から前記制御方策を強化学習する学習ステップと、をコンピュータに実行させるための機械学習プログラムである。
【図面の簡単な説明】
【0008】
【
図2】制御対象点の位置における評価指標の目標と、実際に達成された評価指標と、の対応関係を示す図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、本実施形態の機械学習プログラム、機械学習方法、および機械学習装置を詳細に説明する。
【0010】
図1は、本実施形態の学習システム1の一例の模式図である。
【0011】
学習システム1は、機械学習装置10と、制御対象装置20と、を備える。機械学習装置10と制御対象装置20とは、通信可能に接続されている。
【0012】
機械学習装置10は、強化学習を行う情報処理装置である。言い換えると、機械学習装置10は学習の主体となるエージェントである。機械学習装置10は、本実施形態の機械学習プログラムを実行するためのコンピュータである。
【0013】
制御対象装置20は、機械学習装置10による制御対象物である。言い換えると、制御対象装置20は、機械学習装置10が学習した制御方策に応じて決定される制御情報の適用対象である。
【0014】
制御対象装置20は、例えば、直交座標ロボットや多関節ロボット等のロボット、レーザー加工またはレーザー溶接等の工作機械、および、無人搬送機やドローン等の無人移動体、などの機器である。制御対象装置20は、これらの機器の動作をシミュレートする計算機シミュレータであってもよい。
【0015】
機械学習装置10は、制御対象装置20よって制御される制御対象点が評価指標における目標を達成するように制御方策を学習する。すなわち、機械学習装置10は、目標に対する制御対象点の平均誤差を最小化する制御方策を学習する。
【0016】
制御対象点とは、時系列に沿って連続する制御対象時刻の各々で制御対象となるポイントである。制御対象装置20がロボットである場合には、制御対象点は、例えば、ロボットアームの先端やエンドエフェクタの特定位置である。また、制御対象装置20がレーザー加工またはレーザー溶接等の工作機器である場合には、制御対象点は、例えば、レーザー加工時のレーザー照射点である。また、制御対象装置20が無人搬送機やドローン等の無人移動体である場合には、制御対象点は、例えば、無人移動体の重心である。
【0017】
強化学習においては、学習の主体となる機械学習装置10と、制御対象となる制御対象装置20とのやりとりにより、機械学習装置10の学習が進められる。
【0018】
具体的には、制御対象装置20は、各制御対象時刻における制御対象点の観測情報を機械学習装置10へ出力する。機械学習装置10は、制御対象装置20から取得した観測情報および制御方策に応じて行動を表す制御情報を決定し、制御対象装置20へ出力する。これらの一連の流れの処理が繰り返されることで機械学習装置10の学習が進められる。
【0019】
観測情報とは、制御対象時刻における制御対象点の状態を表す情報であり、制御対象装置20の制御に必要な情報である。本実施形態では、観測情報は、制御対象時刻における制御対象点の速度に関する情報を少なくとも含む。
【0020】
制御対象点の速度に関する情報は、制御対象時刻における制御対象点の速度を特定可能な情報であればよい。制御対象点の速度に関する情報は、詳細には、制御対象時刻における制御対象点の位置、速度、加速度、単位時間当たりの移動距離、の少なくとも1つを表す情報である。
【0021】
制御情報とは、制御対象点の行動の制御に用いられる情報である。本実施形態では、制御情報は、制御対象点の速度制御に関する情報を少なくとも含む。
【0022】
具体的には、制御対象装置20がドローンである場合には、制御情報は前後左右上下の各々の方向の速度または加速度などであり、観測情報はドローンの位置、速度、および周囲の情報等のドローンの制御に必要な情報である。周囲の情報は、例えば、カメラで撮影した周囲の画像、距離画像、および占有グリッドマップ等である。
【0023】
制御対象装置20が多関節ロボットである場合には、制御情報は各関節のトルク、角度、制御対象点の位置・姿勢・速度などである。観測情報は各関節の角度・角速度、制御対象点の位置・姿勢・速度、作業環境の情報などの多関節ロボットの制御に必要な情報である。作業環境の情報は、例えば、カメラで撮影した周囲の画像、距離画像、等である。
【0024】
制御対象装置20がレーザー溶接機である場合には、制御情報は溶接速度、溶接加速度、レーザーパワー、スポット径などである。観測情報はレーザーの照射位置、照射速度、スポット径、材料間のギャップ、ビードまたは溶融池の幅、溶接位置周辺の情報等の、レーザー溶接機の制御に必要な情報である。溶接位置周辺の情報は、例えば、カメラで撮影した溶接位置周囲の画像、温度分布等である。
【0025】
次に、強化学習の基本的な概念について説明する。本実施形態では、強化学習として、目標条件付き強化学習を用いる形態を説明する。
【0026】
目標条件付き強化学習とは、目標gが与えられているときに、ある制御対象時刻tにおいて入力された状態stから、行動atを決定する制御方策を学習する方法である。
【0027】
状態stは、制御対象時刻tにおける観測情報またはその一部に相当する。行動atは、制御情報に相当する。
【0028】
制御方策は、π(at|st,g)によって表される確率分布である。制御方策π(at|st,g)は、例えば、確率値または確率モデルのパラメータを出力するニューラルネットワークで学習される。
【0029】
目標条件付き強化学習は、下記式(1)によって表される割引累積報酬の期待値を最大化する制御方策π(at|st,g)を学習することを目的とする学習である。割引累積報酬は、現在時刻以降に得られる報酬を、現在時刻からの時間差が大きいほど小さな重みを乗じて総和を取ったものである。
【0030】
【0031】
式(1)中、r(st,at,g)は、目標gが与えられているときに、状態stにおいて行動atを行った結果、時刻t+1に算出された報酬を表す。式(1)中、γは割引率を表す。kは、0以上の整数である。
【0032】
割引率γとは、遠い将来の報酬をどれだけ考慮して行動を決定するかを調整する、0以上1以下のパラメータである。言い換えると、割引率γは、どこまでの将来を考慮するかを調整するためのハイパーパラメーターである。割引率γには、遠い将来に得られる報酬ほど割り引いて評価するためのパラメータが用いられる。割引率γは、学習を安定化させる正則化の役割も果たしている。
【0033】
強化学習には様々なアルゴリズムが知られている。その多くは、価値関数V(st,g)や行動価値関数Q(st,at,g)の学習ステップを含む。
【0034】
価値関数V(st,g)は、目標gが与えられたときに、状態stから現在の制御方策π(at|st,g)に従って行動して得られる割引累積報酬の推定値である。価値関数V(st,g)の値は、TD(Temporal Difference)学習と呼ばれる手法を用いる場合、以下の式(2)によって表される更新式により更新(学習)される。
【0035】
【0036】
式(2)中、αは学習率を表す。
【0037】
行動価値関数Q(st,at,g)は、目標gが与えられたときに、状態stにおいて行動atを取った後に現在の制御方策π(at|st,g)に従って行動した場合に得られる割引累積報酬の推定値である。行動価値関数Q(st,at,g)の値は、TD学習では、以下の式(3)によって表される更新式により更新(学習)される。
【0038】
【0039】
式(3)中、以下式(4)は、一般に計算が困難である。
【0040】
【0041】
このため、式(3)中の式(4)に替えて、価値関数V(st,g)を用いたり、制御方策π(a|st+1,g)に従ってサンプリングした行動aのみの行動価値関数Q(st+1,a,g)を用いたりする。
【0042】
価値関数V(st,g)および行動価値関数Q(st,at,g)は、例えば、線形モデルやニューラルネットワークで学習される。
【0043】
次に、目標条件付き強化学習を用いて、制御対象が評価指標における目標を達成するような制御方策を学習する方法を説明する。
【0044】
図2は、制御対象点の位置xにおける評価指標の目標gと、実際に達成された評価指標f(x)と、の対応関係の一例を示す図である。
【0045】
位置xは、事前に予定された制御対象点の軌跡上の、基準位置からの距離である。制御対象点の軌跡は、事前に予定された制御対象時刻の各々における制御対象点の軌跡である。予定された制御対象点の軌跡が直線である場合には、基準位置を原点として予定された軌跡をそのままx軸とすればよい。
【0046】
目標とは、評価指標f(x)の目標となる値である。
【0047】
評価指標f(x)とは、観測情報から導出される、速度以外の指標の値であり、実際に達成された指標である。導出とは、算出、演算、決定、特定、読取、の何れかを意味する。上述したように、観測情報は、例えば、制御対象装置20の種類に応じて、ドローンの位置、速度、周囲の情報等のドローンの制御に必要な情報、各関節の角度・角速度、制御対象点の位置・姿勢・速度、作業環境の情報などの多関節ロボットの制御に必要な情報、溶接速度、溶接加速度、レーザーパワー、スポット径などである。観測情報はレーザーの照射位置、照射速度、スポット径、材料間のギャップ、ビードまたは溶融池の幅、溶接位置周辺の情報等の、レーザー溶接機の制御に必要な情報、等を含む。評価指標f(x)は、観測情報から導出されるこれらの指標の内、速度以外の指標の値である。
【0048】
具体的には、評価指標f(x)および目標gとしては、例えばドローン制御の場合、事前に設定された制御対象点の軌跡である設定軌跡と現在の制御対象点の位置との距離を評価指標f(x)とし、目標gとして該距離0(ゼロ)を与える。レーザー溶接制御の場合には、ビード幅もしくは溶け込み深さを評価指標f(x)とし、目標gとして正の定数を与える。
【0049】
目標条件付き強化学習では、目標を達成するように強化学習を行う。このため、目標gと実際に達成された評価指標f(x)との誤差d(x)が小さいほど大きな報酬r(st,at,g)が与えられるように報酬を定義する。誤差d(x)としては、例えばL1距離やL2距離を用いることができる。目標条件付き強化学習では、時刻tからt+1の間で誤差d(x)を積分し、-1を乗じて、以下の(5)式のように報酬r(st,at,g)を定義して学習する。
【0050】
【0051】
式(5)中、x(t)は、時刻tにおける制御対象点の位置を表す。時刻tは、制御対象時刻tと同じ意味である。
【0052】
式(5)によって表される報酬の定義は、下記式(6)によって表される目的関数の期待値を最小化する制御方策π(at|st,g)の学習を意味する。
【0053】
【0054】
式(6)は、制御対象点の目標に対する平均誤差を表す目的関数である。詳細には、式(6)によって表される平均誤差は、事前に予定された制御対象点の軌跡である目標の軌跡と、実際の制御対象点の軌跡との誤差d(x)を、目標の軌跡に沿って積分した積分値を表す。
【0055】
また、式(5)によって表される報酬の定義の近似として、時刻t+1における誤差d(x)のみを用いて、報酬r(st,at,g)を、r(st,at,g)=d(x(t+1))と定義する方法も行われている。この式によって表される報酬の定義は、上記式(6)を離散的に計算した下記式(7)によって表される目的関数の期待値を最小化する制御方策π(at|st,g)の学習に相当する。
【0056】
【0057】
ドローン等の制御対象装置20の制御において、事前に予定された制御対象点の軌跡と実際の軌跡との差分を最小化したい場合、強化学習で学習するための割引率γを導入した目的関数は下記式(8)によって表される。
【0058】
【0059】
式(8)は、制御対象点の目標に対する平均誤差を表す目的関数である。詳細には、式(8)によって表される平均誤差は、事前に予定された制御対象点の軌跡である目標の軌跡と、実際の制御対象点の軌跡との誤差d(x)を、目標の軌跡に沿って積分した積分値を表す。
【0060】
レーザー溶接等の制御対象装置20において、ビード幅もしくは溶け込み深さを事前に予定された値にしたい場合も、同じく式(8)が目的関数となる。
【0061】
ここで、制御対象点の速度が一定の場合、上記式(6)によって表される目的関数の期待値の最小化は、上記式(8)によって表される目的関数の最小化と同じである。しかし、制御対象点の速度が一定ではない場合には、上記式(6)によって表される目的関数の期待値の最小化と、上記式(8)によって表される目的関数の最小化と、は異なるものとなる。詳細には、例えば、誤差d(x)の値が大きい場合、速度が小さい場合に比べて速度が大きい場合のほうが目標gとのずれが大きく、式(8)への影響が大きくなる。しかし、式(6)は時間に対して誤差d(x)を積算しているため、速度の影響が考慮されない。
【0062】
このため、従来の強化学習では、速度制御を含む制御対象点の制御方策を強化学習により学習する場合、本来の目的関数である式(8)を最適化する強化学習を行うことはできなかった。すなわち、従来の強化学習では、速度制御を含む制御対象点の制御方策を強化学習により学習する際、目標に対する制御対象点の平均誤差を最小化することは困難であった。
【0063】
そこで、本実施形態の機械学習装置10では、観測情報に含まれる制御対象点の速度に応じて報酬を補正した補正報酬を用いて、制御方策を強化学習する。補正報酬を用いることで、本実施形態の機械学習装置10は、速度の変化が平均誤差の値に影響を与えないようにすることができ、平均誤差が最小となる制御方策を学習することができる。
【0064】
また、本実施形態の機械学習装置10は、更に、報酬の割引率に替えて、報酬の割引率を制御対象点の移動距離に応じて補正した補正割引率を用いて、制御方策を強化学習する。補正割引率を用いることで、本実施形態の機械学習装置10は、速度の変化が割引累積報酬の値に影響を与えないようにすることができ、平均誤差が最小となる制御方策を学習することができる。
【0065】
すなわち、本実施形態の機械学習装置10では、速度影響を考慮して上記式(8)によって表される平均誤差を最小化する制御方策を学習する方法を提供する。
【0066】
そのため、本実施形態では、報酬を下記式(9)で定義する。
【0067】
【0068】
上記式(9)によって表される報酬により、上記式(8)は、以下式(10)によって表される。
【0069】
【0070】
上述したように、目標条件付き強化学習は、上記式(1)によって表される割引累積報酬の期待値を最大化する制御方策π(at|st,g)を学習することを目的とする学習である。このため、上記式(10)によって表される割引累積報酬の期待値を最大化するためには、時刻t+kの割引率γkを、下記式(11)に置き換える必要がある。
【0071】
【0072】
よって、本実施形態においては、価値関数V(st,g)のTD学習は、下記式(12)によって表される更新式により決定される。
【0073】
【0074】
また、本実施形態においては、行動価値関数Q(st,at,g)のTD学習は、下記式(13)によって表される更新式により決定される。
【0075】
【0076】
すなわち、本実施形態では、価値関数V(st,g)の更新式である上記式(2)、および行動価値関数Q(st,at,g)の更新式である上記式(3)の割引率γに替えて、割引率γを速度で補正した補正割引率を用いる。補正割引率は、以下式(14)によって表される。
【0077】
【0078】
式(14)中、x(t+1)-x(t)は、時刻tの速度v(t)と制御周期δTと、を用いてv(t)δTとして計算することもできる。すなわち、補正割引率は、以下式(15)で表すこともできる。
【0079】
【0080】
また、本実施形態では、観測情報に含まれる制御対象点の速度に応じて報酬を補正した補正報酬として、上記式(9)または上記式(9)の近似計算である例えば下記式(16)~式(19)等を用いる。
【0081】
【0082】
すなわち、本実施形態の機械学習装置10では、観測情報に含まれる制御対象点の速度に応じて報酬を補正した補正報酬を用いて、制御方策を強化学習する。補正報酬を用いることで、本実施形態の機械学習装置10は、平均誤差が最小となる制御方策を学習することができる。
【0083】
また、本実施形態の機械学習装置10は、更に、報酬の割引率に替えて、報酬の割引率を制御対象点の移動距離に応じて補正した補正割引率を用いて、制御方策を強化学習する。補正割引率を用いることで、本実施形態の機械学習装置10は、速度の変化が割引累積報酬の値に影響を与えないようにすることができ、平均誤差が最小となる制御方策を更に学習することができる。
【0084】
ここで、目標条件付き強化学習の問題点は、学習初期において目標gを達成する行動系列がなかなか得られないため、学習に非常に多くの行動探索が必要になることである。そこで、本実施形態の機械学習装置10では、更に、目標条件付き強化学習を効率化するため、目標を達成できなかった行動系列の目標を差し替えることにより、目標を達成した行動系列として学習に用いる。例えば、目標gの達成に向けて行動系列a0,a1,a2,・・・・atを実行した結果、残念ながら目標gは達成されずに別の目標g’を達成してしまったものする。このとき、目標gに対して行動系列a0,a1,a2,・・・・atは失敗事例となるが、目標を別の目標g’に差し替えれば成功事例として学習に使うことができる。このように、失敗事例をそのまま失敗事例として学習するだけでなく、目標を差し替えることで成功事例を作り出し、学習に用いることで学習を効率化することができる。
【0085】
このため、本実施形態の機械学習装置10では、複数の評価指標を目標として設定することで、効率良く制御方策を学習することができる。
【0086】
次に、本実施形態における機械学習装置10の構成について詳細に説明する。
【0087】
図3は、本実施形態の機械学習装置10の一例の機能ブロック図である。
【0088】
機械学習装置10は、通信部12と、UI(ユーザ・インターフェース)部14と、記憶部16と、を備える。通信部12、UI部14、記憶部16、および制御部18は、バス19などを介して通信可能に接続されている。
【0089】
通信部12は、ネットワーク等を介して制御対象装置20等の外部の情報処理装置と通信する。UI部14は、表示機能と、入力機能と、を有する。表示機能は、各種の情報を表示する。表示機能は、例えば、ディスプレイ、投影装置、などである。入力機能は、ユーザによる操作入力を受付ける。入力機能は、例えば、マウスおよびタッチパッドなどのポインティングデバイス、キーボード、などである。表示機能と入力機能とを一体的に構成したタッチパネルとしてもよい。記憶部16は、各種の情報を記憶する。
【0090】
UI部14および記憶部16は、有線または無線で制御部18に通信可能に接続された構成であればよい。UI部14および記憶部16の少なくとも一方と制御部18とをネットワーク等を介して接続してもよい。
【0091】
また、UI部14および記憶部16の少なくとも一方は、機械学習装置10の外部に設けられていてもよい。また、UI部14、記憶部16、および制御部18に含まれる1または複数の機能部の少なくとも1つを、ネットワーク等を介して機械学習装置10に通信可能に接続された外部の情報処理装置に搭載した構成としてもよい。
【0092】
制御部18は、機械学習装置10において情報処理を実行する。制御部18は、取得部18Aと、学習部18Bと、出力部18Cと、経験データ編集部18Dと、目標設定部18Eと、補正報酬決定部18Fと、補正割引率決定部18Gと、を備える。
【0093】
取得部18A、学習部18B、出力部18C、経験データ編集部18D、目標設定部18E、補正報酬決定部18F、および補正割引率決定部18Gは、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(tral Processing Unit)など)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0094】
取得部18Aは、観測情報を取得する。観測情報は、上述したように、制御対象時刻tにおける制御対象点の状態を表す情報であり、制御対象時刻tにおける制御対象点の速度に関する情報を含む。また、観測情報には、評価指標に対する目標gも含まれる。取得部18Aは、制御対象装置20から制御対象時刻tごとに順次出力される観測情報を順次取得する。取得部18Aは、制御対象時刻tの観測情報を取得するごとに、取得した観測情報を学習部18Bへ出力する。
【0095】
学習部18Bは、取得部18Aから受付けた制御対象時刻tの観測情報に対して、一部データの抽出、スケーリング、クリッピング等の処理を行うことで、該観測情報を、強化学習に用いる状態stに変換する。観測情報に画像が含まれている場合には、学習部18Bは、画像処理や画像認識処理を行ってもよい。
【0096】
次に、学習部18Bは、取得部18Aから受付けた制御対象時刻tの観測情報に対して、現在の制御方策π(at|st,g)を用いて、行動atを決定する。
【0097】
詳細には、学習部18Bは、観測情報から目標gを抽出することで、制御方策π(at|st,g)を特定する。そして、学習部18Bは、確率分布によって表される制御方策π(at|st,g)に従って、行動atをサンプリングする。学習部18Bは、確率が最大となる行動atを決定してもよい。状態stと目標gから直接行動atを出力するよう制御方策π(at|st,g)が構成されている場合には、学習部18Bは、状態stと目標gと制御方策π(at|st,g)とを用いて、直接行動atを決定してもよい。また、学習部18Bは、開始から一定期間は制御方策π(at|st,g)を使わずに、ランダムに行動atをサンプリングしてもよい。
【0098】
学習部18Bは、これらの処理により決定した行動atを、出力部18Cへ出力する。
【0099】
出力部18Cは、観測情報および制御方策に応じて決定された、制御対象点の速度制御に関する情報を含む制御情報を出力する。詳細には、出力部18Cは、学習部18Bから行動atを受付ける。出力部18Cは、学習部18Bから受付けた行動atにスケーリングなどの処理を行うことで、該行動atを制御情報に変換し、制御対象装置20に出力する。
【0100】
また、学習部18Bは、学習に用いるデータを経験データとし、記憶部16に記憶する。詳細には、学習部18Bは、制御対象時刻tに対応する経験データとして、目標gと、達成された評価指標f(x(t))と、制御対象点の速度v(t)または速度x(t)-x(t-1)と、1制御時刻前の状態st-1と、1制御時刻前の行動at-1と、を含む経験データを、記憶部16に記憶する。
【0101】
使用する強化学習アルゴリズムにより、学習部18Bは、状態st、価値関数の値V(st,g)、行動価値関数の値Q(st,at,g)、行動at-1の確率値π(at-1|st-1,g)等を経験データに更に含めて記憶部16に記憶してもよい。
【0102】
学習部18Bは、更に、一定の頻度で、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)を更新する処理を行う。この更新処理が、学習に相当する。この学習については詳細を後述する。
【0103】
記憶部16は、学習部18Bから入力された経験データを、予め定められた経験データ数の最大値まで記憶する。制御部18は、記憶部16に記憶される経験データが最大値を超えた場合には、古い経験データから廃棄する。
【0104】
学習部18Bが制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)の更新処理を行う際には、経験データ編集部18Dは、一定数(M個)の経験データを記憶部16からランダムにサンプリングする。Mは1以上の整数である。また、経験データ編集部18Dは、サンプリングしたM個の経験データの各々に対応する制御対象時刻tを基準とし、該基準とした制御対象時刻tから予め定めた期間内の他の制御対象時刻t’に対応する他の経験データを、M個の経験データの各々に対応する周辺の経験データ系列として特定する。
【0105】
そして、経験データ編集部18Dは、サンプリングしたM個の経験データと、M個の経験データの各々に対応する周辺の経験データ系列と、を用いて、学習部18Bが学習に用いる編集済経験データをMK個生成する。Kは、1以上の整数である。
【0106】
詳細には、経験データ編集部18Dは、サンプリングしたM個の経験データと、M個の経験データの各々に対応する周辺の経験データ系列とを、目標設定部18Eへ出力する。
【0107】
目標設定部18Eは、取得部18Aで取得した観測情報から導出される評価指標f(x(t))を含む第1の経験データ、および該観測情報とは異なる制御対象時刻t’の1または複数の他の観測情報から導出される評価指標f(x(t’))をそれぞれ含む1または複数の第2の経験データ、の群に基づいて、該群に含まれる複数の評価指標から選択した複数の評価指標を、目標gjとして設定する。
【0108】
第1の経験データは、サンプリングしたM個の経験データに相当する。第2の経験データは、M個の経験データの各々に対応する周辺の経験データ系列に相当する。
【0109】
詳細には、目標設定部18Eは、経験データ編集部18Dから受付けたM個の経験データの各々に対して、K個の目標gjを決定する。jは、下記式(20)によって表される。
【0110】
【0111】
まず、目標設定部18Eは、M個の経験データの各々に対して、該経験データに含まれる目標gを、目標g0(j=0)として設定する。次に、目標設定部18Eは、M個の経験データの各々に対応する周辺の経験データ系列を構成する経験データである第2の経験データに含まれる評価指標f(x(t’))をランダムにK-1個サンプリングし、K-1個の目標gj(j=1,2,...,K-1)を決定する。これらの処理により、目標設定部18Eは、M個の経験データの各々に対して、K個の目標gj(j=0,1,2,...,K-1)を設定する。
【0112】
目標設定部18Eは、K-1個の評価指標f(x(t’))サンプリング範囲を、経験データの制御対象時刻tより未来の制御対象時刻t’に達成された評価指標f(x(t’))に限定してもよい。
【0113】
また、目標設定部18Eは、第2経験データに含まれる評価指標f(x(t’))からサンプリングしたK-1個の評価指標f(x(t’))の各々に、ノイズを加えたノイズ付加評価指標を、K-1個の目標gj(j=1,2,...,K-1)として設定してもよい。ノイズには、ガウス分布や一様分布等の確率分布に従って生成されたノイズを用いればよい。
【0114】
また、目標設定部18Eは、M個の経験データ(第1の経験データ)の各々に対応する周辺の経験データ系列を構成する経験データである第2の経験データに替えて、M個の経験データの各々に含まれる評価指標f(x(t))の取りうる範囲内からランダムに選択した値を、K-1個の目標gj(j=1,2,...,K-1)として設定してもよい。
【0115】
なお、目標設定部18Eは、ユーザによって選択された目標選択方法に応じてK個の目標gj(j=1,2,...,K-1)を設定してもよい。また、目標設定部18Eは、ユーザによって選択された数であるK-1個の目標gj(j=1,2,...,K-1)をサンプリングしてもよい。
【0116】
例えば、目標設定部18Eは、目標選択方法および目標の選択数の入力を受付けるための表示画面をUI部14に表示する。
【0117】
図4は、表示画面30の一例の模式図である。例えば、目標設定部18Eは、表示画面30をUI部14に表示する。
【0118】
表示画面30は、目標選択方法の選択欄と、目標gjの選択数の入力欄と、を含む。
【0119】
目標選択方法には、例えば、「追加なし」、「ランダム」、「未来」、「未来(ノイズ付与)」、等が挙げられる。「追加なし」は、経験データに含まれる目標g以外の新たな目標gjの追加無しを表す。「ランダム」は、ランダムな選択を表す。「未来」は、経験データに対応する制御対象時刻tより未来の制御対象時刻t’に対応する第2の経験データに含まれる評価指標f(x(t’))からの選択を表す。「未来(ノイズ付与)」は、未来の制御対象時刻t’に対応する第2の経験データに含まれる評価指標f(x(t’))にノイズを付与することを表す。
【0120】
表示画面30に含まれる目標gjの選択数の入力欄は、第2の経験データの評価指標から選択するK-1個の選択数を表す。
【0121】
ユーザは、表示画面30を視認しながらUI部14を操作することで、所望の目標選択方法および目標の選択数を入力する。目標設定部18Eは、表示画面30を介してユーザによって選択された目標選択方法に応じて、ユーザによって入力されたK-1個の目標gjを第2の経験データの評価指標から選択すればよい。
【0122】
例えば、表示画面30を介して、「追加なし」がユーザによって選択された場面を想定する。この場合、この場合、目標設定部18Eは、M個の経験データに含まれている目標gだけを目標gjとして選択し、それ以外の目標を選択しない。このため、この場合には、強制的にK=1となる。
【0123】
また、「ランダム」がユーザによって選択された場面を想定する。この場合、目標設定部18Eは、M個の経験データ(第1の経験データ)の各々に対応する周辺の経験データ系列を構成する経験データである第2の経験データの各々に含まれる達成された評価指標f(x(t’))を、ランダムにK-1個サンプリングすればよい。そして、目標設定部18Eは、サンプリングした評価指標f(x(t’))を、目標j(j=1,2,...,K-1)として加えればよい。
【0124】
また、「未来」がユーザによって選択された場面を想定する。この場合、目標設定部18Eは、M個の経験データ(第1の経験データ)に対して該経験データより未来の制御対象時刻t’の経験データ(第2の経験データ)において達成された評価指標f(x(t’))をランダムにK-1個サンプリングすればよい。そして、目標設定部18Eは、サンプリングした評価指標f(x(t’))を、目標j(j=1,2,...,K-1)として加えればよい。
【0125】
また、「未来(ノイズ付与)」がユーザによって選択された場面を想定する。この場合、目標設定部18Eは、M個の経験データ(第1の経験データ)に対して該経験データより未来の制御対象時刻t’の経験データ(第2の経験データ)において達成された評価指標f(x(t’))をランダムにK-1個サンプリングする。そして、目標設定部18Eは、サンプリングした評価指標f(x(t’))にノイズを加えたノイズ付き評価指標を、目標j(j=1,2,...,K-1)として加えればよい。ノイズとしては、上述したように、ガウス分布等の確率分布に従って生成したノイズを用いればよい。
【0126】
目標設定部18Eで選択された目標gjが、第1の経験データに含まれる目標gに類似する物ばかりである場合には学習効率向上への寄与が低下する。しかし、ノイズ付き評価指標を目標jとして加えることで、目標gjの値のバリエーションを増やすことができ、学習効率の向上を図ることができる。
【0127】
また、上述したように、表示画面30に含まれる目標gjの選択数の入力欄は、第2の経験データの評価指標から選択するK-1個の選択数を表す。目標設定部18Eは、表示画面30を介してユーザによって入力された選択数であるK―1個の目標gjを第2の経験データの評価指標から選択することで、K-1個の目標gj(j=1,2,...,K-1)をサンプリングすればよい。
【0128】
図3に戻り説明を続ける。目標設定部18Eによる上記処理によって、M個の経験データの各々に対して、K個の目標g
j(j=0,1,2,...,K-1)が設定される。
【0129】
目標設定部18Eは、M個の経験データの各々に対して設定したK個の目標gj(j=0,1,2,...,K-1)、すなわち、MK個の目標gjを経験データ編集部18Dに出力する。
【0130】
経験データ編集部18Dは、M個の経験データの各々ごとに、M個の経験データの各々に含まれる評価指標f(x(t+1))および速度情報v(t+1)または速度情報x(t+1)-x(t)と、目標設定部18Eから受付けたK個の目標gj(j=0,1,2,...,K-1)と、を補正報酬決定部18Fへ出力する。
【0131】
補正報酬決定部18Fは、観測情報から導出される速度以外の指標の値の評価指標f(x(t+1))と目標gjとの誤差が小さいほど高い報酬を、観測情報に含まれる制御対象点の速度に応じて補正した補正報酬を決定する。
【0132】
詳細には、補正報酬決定部18Fは、報酬を制御対象点の速度が速いほど低くなるように補正した補正報酬を決定する。
【0133】
本実施形態では、補正報酬決定部18Fは、目標設定部18Eで設定されたK個の目標gj(j=0,1,2,...,K-1)の各々ごとに、取得した観測情報から導出される評価指標f(x(t+1))とK個の目標gj(j=0,1,2,...,K-1)の各々との誤差が小さいほど高い報酬を計算する。そして、補正報酬決定部18Fは、計算した報酬を、観測情報に含まれる制御対象点の速度情報に応じて補正した補正報酬を決定する。
【0134】
具体的には、補正報酬決定部18Fは、経験データ編集部18Dから受付けた、経験データに含まれる評価指標f(x(t+1))および速度情報v(t+1)または速度情報x(t+1)-x(t)と、該経験データに対応するK個の目標gj(j=0,1,2,...,K-1)と、を用いて、補正報酬を算出する。
【0135】
補正報酬の算出には、上記式(9)または上記式(9)の近似計算である例えば上記式(16)~式(19)等を用いる。補正報酬決定部18Fは、目標gj(j=0,1,2,...,K-1)の各々と、経験データに含まれる評価指標f(x(t+1))と、のL1距離またはL2距離等により、これらの式中のd(x(t+1))を算出すればよい。
【0136】
補正報酬決定部18Fは、補正報酬を計算することで、補正報酬を決定する。なお、補正報酬決定部18Fは、上記補正報酬を計算する外部装置等で計算された補正報酬を受付けることで、補正報酬を決定してもよい。
【0137】
補正報酬決定部18Fは、M個の経験データごとに決定した、K個の目標gj(j=0,1,2,...,K-1)の各々に応じた補正報酬r(st,at,gj)を、経験データ編集部18Dへ出力する。
【0138】
経験データ編集部18Dは、M個の経験データの各々ごとに、該経験データに含まれる状態st、行動at、評価指標f(x(t+1))、および速度情報v(t+1)または速度情報x(t+1)-x(t)と、目標設定部18Eから受付けた目標gjと、補正報酬決定部18Fから受付けた該目標gjに応じた補正報酬r(st,at,gj)と、を含む編集済経験データを生成する。すなわち、経験データ編集部18Dは、1つの経験データに対して、目標gに替えてK個の目標gjが設定され、該K個の目標gjの各々応じた補正報酬r(st,at,gj)が更に設定された、K個の編集済経験データを生成する。そして、経験データ編集部18Dは、M個の経験データから生成したMK個の編集済経験データを、学習部18Bへ出力する。
【0139】
学習部18Bは、観測情報および補正報酬r(st,at,gj)から制御方策π(at|st,g)を強化学習する。
【0140】
すなわち、学習部18Bは、経験データ編集部18Dから受付けたMK個の編集済経験データを用いて、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)を更新する処理を行う。
【0141】
まず、学習部18Bは、経験データ編集部18Dから受付けたMK個の編集済経験データの各々に含まれる速度情報v(t+1)または速度情報x(t+1)-x(t)を、補正割引率決定部18Gへ出力する。
【0142】
補正割引率決定部18Gは、補正報酬の割引率γを観測情報から導出される制御対象点の速度に応じて補正した補正割引率を決定する。詳細には、補正割引率決定部18Gは、制御対象点の速度が速いほど大きく割り引く(すなわち、割引率γの値が小さくなる)ように補正した補正割引率を決定する。
【0143】
具体的には、補正割引率決定部18Gは、速度情報v(t+1)または速度情報x(t+1)-x(t)を累乗の指数とした割引率γの累乗を、補正割引率として計算する。すなわち、補正割引率決定部18Gは、制御対象時刻t+1における補正割引率を、下記式(21)または式(22)により計算する。
【0144】
【0145】
なお、補正割引率決定部18Gは、入力を受付けた入力速度に対する入力割引率に応じた割引率を、制御対象点の速度に応じて補正した補正割引率を決定してもよい。
【0146】
ユーザは、UI部14を操作することで入力割引率を直接入力してもよいが、直感的にどの程度報酬が割り引かれるかがわかりにくい。そこで、補正割引率決定部18Gは、より直観的に入力割引率を設定可能な表示画面をUI部14に表示することが好ましい。
【0147】
図5Aは、表示画面32の一例の模式図である。補正割引率決定部18Gは、表示画面32をUI部14に表示する。表示画面32には、単位時間当たりの移動距離の入力欄、および該移動距離のときの入力割引率の入力欄(表示画面32では「割引率」と表示されている)が含まれる。
図5Aには、入力速度の入力欄として、単位時間当たりの移動距離の入力欄を一例として示す。しかし、表示画面32には、単位時間当たりの移動距離の入力欄に替えて、速度の入力欄を設けてもよい。表示画面32に、入力割引率と共に、単位時間当たりの移動距離または速度などの入力速度の入力欄を設けることで、速度に対してどれだけ報酬が割り引かれるのかがわかるため、ユーザは、より直観的に速度(単位時間当たりの移動距離)に対する所望の割引率を入力することができる。
【0148】
ユーザは、表示画面32を視認しながらUI部14を操作することで、単位時間当たりの移動距離と、該移動距離において誤差および報酬が割り引かれる割合である入力割引率と、を入力する。
【0149】
ユーザによるUI部14の操作指示によって、移動距離Xと、該移動距離Xに対するユーザ所望の入力割引率Gと、が入力された場面を想定する。
【0150】
この場合、補正割引率決定部18Gは、該移動距離Xにおける該入力割引率Gから、下記式(23)により割引率γを計算する。
【0151】
【0152】
そして、補正割引率決定部18Gは、式(23)によって計算した割引率γと、上記式(14)または式(15)と、を用いて補正割引率を計算すればよい。これらの計算により、補正割引率決定部18Gは、補正割引率を決定する。
【0153】
また、確認のため、補正割引率決定部18Gは、決定した補正割引率と単位時間当たりの移動距離との対応を表す対応情報をUI部14に表示してもよい。
【0154】
図5Bは、表示画面34の一例の模式図である。例えば、補正割引率決定部18Gは、表示画面34をUI部14に表示する。表示画面34は、補正割引率と移動距離との対応を表す線
図DCを含むグラフを対応情報として含む。なお、対応情報は、補正割引率と移動距離との対応を表す情報であればよく、グラフに限定されない。
【0155】
このように、補正割引率決定部18Gは、ユーザによる入力を受付けた入力速度に対する入力割引率に応じた割引率γを、制御対象点の速度に応じて補正した補正割引率を決定してもよい。無人移動体やロボットの環境、レーザー溶接の材料など、制御対象装置20の条件が変化した場合には、適切な割引率も変化すると考えられる。このため、割引率をユーザによって設定および変更可能とすることで、補正割引率決定部18Gは、制御対象装置20の条件に応じた補正割引率の決定が可能となる。
【0156】
図3に戻り説明を続ける。補正割引率決定部18Gは、計算した補正割引率を学習部18Bへ出力する。
【0157】
学習部18Bは、経験データ編集部18Dから受付けたMK個の編集済経験データ、および補正割引率決定部18Gから受付けた補正割引率を用いて、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)を更新(学習)する処理を行う。
【0158】
方策オン型と呼ばれる強化学習アルゴリズムを用いる場合、学習部18Bは、一定数の経験データが記憶部16に記憶されたタイミング、または、ドローンの飛行や溶接が終了したタイミング等のタイミングで、上述した経験データのサンプリングを行い、経験データに基づいて生成された編集済経験データを用いて、更新処理を行ってよい。
【0159】
一方、方策オフ型と呼ばれる強化学習アルゴリズムを用いる場合、学習部18Bは、毎回もしくは数回に一回の割合で一定数の経験データを記憶部16からサンプリングし、経験データに基づいて生成された編集済経験データを用いて、更新処理を行ってよい。方策オフ型の場合には、予め定められた経験データ数の最大値となるまで記憶部16に経験データを記憶し、最大値を超えた場合には古い経験データから廃棄してよい。
【0160】
学習部18Bは、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)の更新には、任意の強化学習アルゴリズムを使うことができる。本実施形態では、学習部18Bは、割引率γに替えて、補正割引率決定部18Gから受付けた補正割引率を用いて、これらの更新処理を行うことが好ましい。例えば、TD学習により価値関数V(st,g)および行動価値関数Q(st,at,g)の少なくとも一方を学習する場合には、学習部18Bは、上記式(2)および式(3)を用いて価値関数V(st,g)および行動価値関数Q(st,at,g)を更新すればよい。
【0161】
学習部18Bは、割引率γに替えて補正割引率を用いる点以外は、使用する強化学習アルゴリズムに沿って処理を行えばよい。
【0162】
次に、本実施形態の機械学習装置10が実行する情報処理の流れの一例を説明する。
【0163】
図6は、本実施形態の機械学習装置10が実行する情報処理の流れの一例を示すフローチャートである。
【0164】
取得部18Aが、制御対象装置20から制御対象時刻tの観測情報を取得する(ステップS100)。
【0165】
学習部18Bは、ステップS100で取得した観測情報から状態stおよび目標gを算出し、行動atを決定する(ステップS102)。出力部18Cは、ステップS102で決定した行動atを制御情報に変換し、制御対象装置200に出力する(ステップS104)。
【0166】
学習部18Bは、ステップS100で取得した制御対象時刻tの観測情報に応じたデータを記憶部16に記憶する(ステップS106)。上述したように、経験データは、目標gと、達成された評価指標f(x(t))と、制御対象点の速度情報である速度v(t)または速度(1制御周期を単位とする単位時間あたりの移動距離によって表される速度)x(t)-x(t-1)、および1制御時刻前の状態st-1と、行動at-1と、を含む。
【0167】
学習部18Bは、学習を実行するタイミングであるか否かを判断する(ステップS108)。すなわち、学習部18Bは、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)の更新処理を行うタイミングであるか否を判断する。例えば、学習部18Bは、一定の制御対象時刻ごとに更新処理を実行する。このため、学習部18Bは、前回の学習実行から一定の制御対象時刻分の期間を経過したか否かを判別することで、ステップS108の判断を行う。
【0168】
ステップS108で否定判断すると(ステップS108:No)、ステップS110へ進む。ステップS110では、制御部18は処理を終了するか否かを判断する(ステップS110)。ステップS110で肯定判断すると(ステップS110:Yes)、本ルーチンを終了する。ステップS110で否定判断すると(ステップS110:No)、上記ステップS100へ戻る。
【0169】
一方、学習部18Bが学習を実行するタイミングであると判断すると(ステップS108:Yes)、ステップS112へ進む。
【0170】
ステップS112では、経験データ編集部18Dは、一定数(M個)の経験データを記憶部16からランダムにサンプリングすることで、M個の経験データを取得する(ステップS112)。経験データ編集部18Dは、サンプリングしたM個の経験データと、M個の経験データの各々に対応する周辺の経験データ系列とを、目標設定部18Eへ出力する。
【0171】
目標設定部18Eは、ステップS112で取得したM個の経験データである第1の経験データと、M個の経験データの各々に対応する周辺の経験データ系列を構成する第2の経験データと、の群に基づいて、該群に含まれる複数の評価指標から選択したKの評価指標を、K個の目標gj(j=0,1,2,...,K-1)として設定する(ステップS114)。
【0172】
経験データ編集部18Dは、M個の経験データの各々ごとに、M個の経験データの各々に含まれる評価指標f(x(t+1))および速度情報v(t+1)または速度情報x(t+1)-x(t)と、目標設定部18Eから受付けたK個の目標gj(j=0,1,2,...,K-1)と、を補正報酬決定部18Fへ出力する。
【0173】
補正報酬決定部18Fは、ステップS112で取得した経験データに含まれる評価指標f(x(t+1))および速度情報v(t+1)または速度情報x(t+1)-x(t)と、該経験データに対応するステップ114で設定されたK個の目標gj(j=0,1,2,...,K-1)と、を用いて、補正報酬r(st,at,gj)を決定する(ステップS116)。
【0174】
経験データ編集部18Dは、M個の経験データの各々ごとに、該経験データに含まれる状態st、行動at、評価指標f(x(t+1))、および速度情報v(t+1)または速度情報x(t+1)-x(t)と、目標設定部18Eから受付けた目標gjと、補正報酬決定部18Fから受付けた該目標gjに応じた補正報酬r(st,at,gj)と、を含む編集済経験データを生成する。そして、経験データ編集部18Dは、M個の経験データから生成したMK個の編集済経験データを、学習部18Bへ出力する。学習部18Bは、経験データ編集部18Dから受付けたMK個の編集済経験データの各々に含まれる速度情報v(t+1)または速度情報x(t+1)-x(t)を、補正割引率決定部18Gへ出力する。
【0175】
補正割引率決定部18Gは、学習部18Bから受付けた速度情報v(t+1)または速度情報x(t+1)-x(t)を累乗の指数とした割引率γの累乗を、補正割引率として決定する(ステップS118)。
【0176】
学習部18Bは、経験データ編集部18Dから受付けたMK個の編集済経験データ、および補正割引率決定部18Gから受付けた補正割引率を用いて、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)を更新(学習)する処理を行う(ステップS120)。そして、上記ステップS110へ進む。
【0177】
以上説明したように、本実施形態の機械学習装置10は、取得部18Aと、出力部18Cと、補正報酬決定部18Fと、学習部18Bと、を備える。取得部18Aは、制御対象時刻における制御対象点の速度に関する情報を含む観測情報を取得する。出力部18Cは、観測情報および制御方策に応じて決定された、制御対象点の速度制御に関する情報を含む制御情報を出力する。補正報酬決定部18Fは、観測情報から導出される速度以外の指標の値の評価指標と目標との誤差が小さいほど高い報酬を、観測情報に含まれる制御対象点の速度に応じて補正した補正報酬を決定する。学習部18Bは、観測情報および補正報酬から制御方策を強化学習する。
【0178】
このように、本実施形態の機械学習装置10は、観測情報に含まれる制御対象点の速度に応じて報酬を補正した補正報酬を用いて、制御方策を強化学習する。速度に応じて補正された補正報酬を用いることで、本実施形態の機械学習装置10は、速度制御を含む制御対象点の目標に対する平均誤差が最小となる制御方策を学習することができる。
【0179】
従って、本実施形態の機械学習装置10は、速度制御を含む制御対象点の目標に対する平均誤差の最小化を図ることができる。
【0180】
また、本実施形態の機械学習装置10は、更に、報酬の割引率に替えて、報酬の割引率を制御対象点の移動距離に応じて補正した補正割引率を用いて、制御方策を強化学習する。補正割引率を用いることで、本実施形態の機械学習装置10は、速度の変化が割引累積報酬の値に影響を与えないようにすることができ、平均誤差が最小となる制御方策を更に学習することができる。
【0181】
また、本実施形態の機械学習装置10は、更に、目標設定部18Eを含む。目標設定部18Eは、取得した観測情報から導出される評価指標を含む第1の経験データ、および該観測情報とは制御対象時刻の異なる1または複数の他の観測情報から導出される評価指標をそれぞれ含む1または複数の第2の経験データ、の群に基づいて、該群に含まれる複数の評価指標から選択したK個の評価指標を、K個の目標gjとして設定する。
【0182】
そして、補正報酬決定部18Fは、設定されたK個の目標gjの各々ごとに、取得した観測情報から導出される評価指標とK個の目標gjの各々との誤差が小さいほど高い報酬を、制御対象点の速度に応じて補正した補正報酬を決定する。そして、学習部18Bは、目標設定部18Eから受付けた目標gjと、補正報酬決定部18Fから受付けた該目標gjに応じた補正報酬r(st,at,gj)と、を含む編集済経験データに基づいて強化学習を行う。
【0183】
このため、学習部18Bは、行動atを決定する際に設定されていた目標gだけではなく、結果的に達成された評価指標を目標gjとした編集済経験データを学習に用いることができる。このため、本実施形態の機械学習装置10は、上記効果に加えて、学習効率を大幅に高めることができる。
【0184】
(変形例)
なお、上記実施形態では、制御部18が、目標設定部18Eと、補正割引率決定部18Gと、を備えた構成である形態を一例として説明した。しかし、制御部18は、目標設定部18Eおよび補正割引率決定部18Gの少なくとも一方を備えない構成であってもよい。
【0185】
目標設定部18Eを備えない構成の場合、補正報酬決定部18Fは、K個の目標gj(j=0,1,2,...,K-1)に替えて、経験データ編集部18Dで取得したM個の経験データの各々に含まれる目標gを用いて、M個の経験データの各々ごとに補正報酬を決定すればよい。
【0186】
また、補正割引率決定部18Gを備えない構成の場合、学習部18Bは、補正割引率に替えて、補正前の割引率である割引率γを用いて、制御方策π(at|st,g)、価値関数V(st,g)、および行動価値関数Q(st,at,g)を更新(学習)する処理を行えばよい。詳細には、この場合、学習部18Bは、価値関数V(st,g)および行動価値関数Q(st,at,g)の更新に、上記式(2)および式(3)を用いればよい。これは、上記式(12)および式(13)をそれぞれ上記式(2)および式(3)に代用して近似する方法であり、速度の変化が少ない場合に有効である。この方法は、既存の強化学習処理がそのまま適用できるという利点がある。
【0187】
次に、上記実施形態の機械学習装置10のハードウェア構成の一例を説明する。
【0188】
図7は、上記実施形態の機械学習装置10の一例のハードウェア構成図である。
【0189】
上記実施形態の機械学習装置10は、CPU(Central Processing Unit)90Bなどの制御装置と、ROM(Read Only Memory)90CやRAM(Random Access Memory)90DやHDD(ハードディスクドライブ)90Eなどの記憶装置と、各種機器とのインターフェースであるI/F部90Aと、各部を接続するバス90Fとを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0190】
上記実施形態の機械学習装置10では、CPU90Bが、ROM90CからプログラムをRAM90D上に読み出して実行することにより、上記各部がコンピュータ上で実現される。
【0191】
なお、上記実施形態の機械学習装置10で実行される上記各処理を実行するためのプログラムは、HDD90Eに記憶されていてもよい。また、上記実施形態の機械学習装置10で実行される上記各処理を実行するためのプログラムは、ROM90Cに予め組み込まれて提供されていてもよい。
【0192】
また、上記実施形態の機械学習装置10で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disc)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施形態の機械学習装置10で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態の機械学習装置10で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【0193】
なお、上記には、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0194】
10 機械学習装置
14 UI部
18A 取得部
18B 学習部
18C 出力部
18E 目標設定部
18F 補正報酬決定部
18G 補正割引率決定部
20 制御対象装置