(57)【要約】【課題】計算量を抑えつつ判別精度を向上できる強化学習方法、強化学習プログラムおよび強化学習装置を提供する。【解決手段】強化学習方法は、複数の制御対象であって、複数の制御対象それぞれが少なくとも１つの他の制御対象との間で自身の制御による影響よりも小さい影響を与えるまたは受ける制御対象のそれぞれに対する制御を強化学習する処理をコンピュータが実行する。強化学習方法は、複数の制御対象のそれぞれについて、他の制御対象からの影響を考慮しない条件での強化学習を実行する処理をコンピュータが実行する。強化学習方法は、複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、他の制御対象からの影響を含めた条件で強化学習を実行する処理をコンピュータが実行する。【選択図】図５
2020080103.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御対象であって、前記複数の制御対象それぞれが少なくとも１つの他の制御対象との間で自身の制御による影響よりも小さい影響を与えるまたは受ける制御対象のそれぞれに対する制御を強化学習する処理をコンピュータが実行する強化学習方法であって、
前記複数の制御対象のそれぞれについて、前記他の制御対象からの影響を考慮しない条件での強化学習を実行し、
前記複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、前記他の制御対象からの影響を含めた条件で強化学習を実行する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【請求項２】
さらに、前記他の制御対象からの影響を考慮しない条件での強化学習を実行する際に、前記複数の制御対象のそれぞれについて、前記他の制御対象からの影響度を学習する、処理をコンピュータが実行し、
前記他の制御対象からの影響を含めた条件で強化学習を実行する処理は、学習した前記影響度が所定の閾値以上である他の制御対象からの影響を含めた条件で強化学習を実行する、
ことを特徴とする請求項１に記載の強化学習方法。
【請求項３】
前記所定の条件は、強化学習の回数が所定回数に到達した場合、強化学習の報酬に基づく値が基準値以下となった場合、価値関数の値の各強化学習における差分が基準値以下となった場合、強化学習の報酬に基づく値の移動平均の各強化学習における差分が基準値以上となった場合、または、強化学習の報酬に基づく値について前記他の制御対象からの影響が前記強化学習結果の変化よりも大きくなった場合である、
ことを特徴とする請求項１または２に記載の強化学習方法。
【請求項４】
前記複数の制御対象は、少なくとも影響を与えるまたは受ける制御対象との関係性が、前記強化学習の実行の際には変化しない、
ことを特徴とする請求項１〜３のいずれか１つに記載の強化学習方法。
【請求項５】
複数の制御対象であって、前記複数の制御対象それぞれが少なくとも１つの他の制御対象との間で自身の制御による影響よりも小さい影響を与えるまたは受ける制御対象のそれぞれに対する制御を強化学習する処理をコンピュータに実行させる強化学習プログラムであって、
前記複数の制御対象のそれぞれについて、前記他の制御対象からの影響を考慮しない条件での強化学習を実行し、
前記複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、前記他の制御対象からの影響を含めた条件で強化学習を実行する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【請求項６】
複数の制御対象であって、前記複数の制御対象それぞれが少なくとも１つの他の制御対象との間で自身の制御による影響よりも小さい影響を与えるまたは受ける制御対象のそれぞれに対する制御を強化学習する強化学習装置であって、
前記複数の制御対象のそれぞれについて、前記他の制御対象からの影響を考慮しない条件での強化学習を実行する第１学習部と、
前記複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、前記他の制御対象からの影響を含めた条件で強化学習を実行する第２学習部と、
を有することを特徴とする強化学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習方法、強化学習プログラムおよび強化学習装置に関する。
【背景技術】
【０００２】
近年、複数の対象から構成されるシステムの制御においても、機械学習を用いる動きがある。例えば、工場における機械や空調機を単一の制御装置で制御し、独立した工場が複数存在する場合に、ある工場の制御装置の学習結果を、他の工場の制御装置に転用することが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１４２５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数の対象から構成されるシステムにおいて、各対象が相互作用を及ぼし合う場合、強化学習を行おうとすると、計算量が、対象の数が増加するに伴い爆発的に増加してしまうことになる。このため、計算量を抑えつつ判別精度を向上させることが困難である。
【０００５】
一つの側面では、計算量を抑えつつ判別精度を向上できる強化学習方法、強化学習プログラムおよび強化学習装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、強化学習方法は、複数の制御対象であって、複数の制御対象それぞれが少なくとも１つの他の制御対象との間で自身の制御による影響よりも小さい影響を与えるまたは受ける制御対象のそれぞれに対する制御を強化学習する処理をコンピュータが実行する。強化学習方法は、複数の制御対象のそれぞれについて、他の制御対象からの影響を考慮しない条件での強化学習を実行する処理をコンピュータが実行する。強化学習方法は、複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、他の制御対象からの影響を含めた条件で強化学習を実行する処理をコンピュータが実行する。
【発明の効果】
【０００７】
計算量を抑えつつ判別精度を向上できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、学習の収束速度が低下する場合の一例を示す図である。
【図２】図２は、隣接する制御対象間の干渉の影響を学習できない場合の一例を示す図である。
【図３】図３は、隣接する制御対象間で室温情報を共有して学習を行う場合の一例を示す図である。
【図４】図４は、隣接する制御対象数と学習回数との関係の一例を示す図である。
【図５】図５は、実施例の制御システムの構成の一例を示すブロック図である。
【図６】図６は、各部屋の関係性の一例を示す図である。
【図７】図７は、実施例の強化学習器の構成の一例を示すブロック図である。
【図８】図８は、学習の経過の一例を示す図である。
【図９】図９は、室温制御の一例を示す図である。
【図１０】図１０は、第一段階の学習の終了判定の一例を示す図である。
【図１１】図１１は、第一段階の学習の終了判定の他の一例を示す図である。
【図１２】図１２は、第一段階の学習の終了判定の他の一例を示す図である。
【図１３】図１３は、学習回数の比較の一例を示す図である。
【図１４】図１４は、計算量の比較の一例を示す図である。
【図１５】図１５は、学習の経過の比較の一例を示す図である。
【図１６】図１６は、実施例の学習処理の一例を示すフローチャートである。
【図１７】図１７は、強化学習プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する強化学習方法、強化学習プログラムおよび強化学習装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１０】
まず、複数の対象から構成されるシステムにおいて、各対象が相互作用を及ぼし合う場合における課題の詳細について説明する。図１は、学習の収束速度が低下する場合の一例を示す図である。図１に示すように、単一の学習器１０は、複数の対象である部屋１１ａ，１１ｂ，１１ｃの室温を、空調機１２ａ，１２ｂ，１２ｃを用いて制御するものとする。学習器１０は、全ての部屋１１ａ〜１１ｃの室温情報を用いて各部屋の空調機１２ａ〜１２ｃに対する入力電力を集中的に決定する。この場合、学習器１０では、制御対象数、つまり部屋数の増加に伴って、学習対象数が指数関数的に増加し、学習の収束速度が低下する。例えば、図１のグラフ１３に示すように、制御対象数が少ない場合のグラフ１４に対し、制御対象数が多い場合のグラフ１５は、領域１６に示すように、学習開始時付近において収束速度が低下する。
【００１１】
図２は、隣接する制御対象間の干渉の影響を学習できない場合の一例を示す図である。図２に示すように、部屋１１ａ〜１１ｃのそれぞれに設置された学習器１０ａ，１０ｂ，１０ｃは、部屋１１ａ〜１１ｃの室温を、空調機１２ａ〜１２ｃを用いて制御するものとする。学習器１０ａ〜１０ｃは、それぞれ設置された部屋の室温情報を用いて空調機１２ａ〜１２ｃに対する入力電力をそれぞれ独立して決定する。この場合、学習器１０ａ〜１０ｃは、隣接する制御対象間（部屋間）の干渉の影響を学習できず、適切な制御を達成することが困難となる。例えば、図２のグラフ１７に示すように、学習器１０ａ〜１０ｃのそれぞれの学習結果を示すグラフ１８は、干渉の影響を考慮した場合の最適な制御結果を示すグラフ１９に対し、十分な学習回数が経過した領域２０に至っても制御性能が十分でないことがわかる。
【００１２】
図３は、隣接する制御対象間で室温情報を共有して学習を行う場合の一例を示す図である。図３に示すように、部屋１１ａ〜１１ｃのそれぞれに設置された学習器１０ｄ，１０ｅ，１０ｆは、部屋１１ａ〜１１ｃの室温を、隣接する部屋（制御対象）の室温情報を共有して空調機１２ａ〜１２ｃを用いて制御するものとする。学習器１０ｄ〜１０ｆは、それぞれ設置された部屋の室温情報と、隣接する部屋の室温情報とを用いて空調機１２ａ〜１２ｃに対する入力電力をそれぞれ独立して決定する。この場合、学習器１０ｄ〜１０ｆは、隣接する全ての制御対象（部屋）の室温情報を組み合わせて制御方策を学習することが求められる。図３の例では、隣接する部屋の影響を考慮しているため、十分な学習回数が経過すると、十分な制御性能を得ることができる。
【００１３】
しかしながら、学習器１０ｄ〜１０ｆは、隣接する部屋数が多い部屋についての制御方策の学習を行う場合、学習回数が増加するため、学習の収束速度が遅くなる。図４は、隣接する制御対象数と学習回数との関係の一例を示す図である。図４の例では、隣接する部屋数ｎが増加すると、グラフ２１に示すように、必要な学習回数が指数関数的に増加する。例えば、隣接する部屋数ｎ＝４の場合、必要な学習回数は４０万回近くに達することになる。
【００１４】
これに対し、本実施例では、このような制御システムの次に挙げる性質を利用することで、学習回数を低減することができる。性質その１：対象間の隣接関係が時刻によって変化しない。例えば、部屋の配置や部屋間の壁の厚さおよび種類は変化しない。性質その２：自身の状態による影響が、隣接する他の対象からの干渉による影響より大きい。例えば、各部屋の室温は、その部屋自身の前の時刻の室温に最も大きく依存する。性質その３：隣接する対象からの干渉による影響の浸透がゆるやかであり、その影響度には、隣接する条件または対象別に大小が存在する。例えば、３部屋が連結した中央の部屋について、部屋間の壁のうち、一方の壁が他方の壁と比べて厚い場合、一方の壁側の部屋からの影響度は、他方の壁側の部屋からの影響度よりも小さくなる。
【００１５】
本実施例では、まず、第一段階として、制御学習器は、他の部屋からの影響を考慮せずに、自身が制御する部屋の室温情報を用いて実際に制御しながら学習を行う。また、並行して、影響度学習器は、他の部屋の室温情報を用いて、他の部屋からの干渉による影響度を学習する。次に、第二段階として、制御学習器は、影響度学習器の学習結果に基づいて、干渉による影響度が閾値以上となる他の部屋を特定する。制御学習器は、特定した他の部屋の室温情報を反映して、自身が制御する部屋の室温情報を用いて実際に制御しながら学習を行う。これにより、制御学習器は、計算量を抑えつつ、学習器の判別精度、つまり制御性能を向上させることができる。
【００１６】
次に、実施例の制御システムの構成について説明する。図５は、実施例の制御システムの構成の一例を示すブロック図である。図５に示すように、制御システム５は、制御対象である部屋Ｒ１〜Ｒ９の室温を制御する制御装置５０と、部屋Ｒ１〜Ｒ９にそれぞれ設置されるセンサ７０Ｒ１〜７０Ｒ９および空調機７１Ｒ１〜７１Ｒ９とを有する。制御装置５０は、ＰＩ（Proportional  Integral：比例・積分）制御器６０と、部屋Ｒ１〜Ｒ９にそれぞれ対応する強化学習器１００Ｒ１〜１００Ｒ９を有する。なお、以下の説明では、部屋Ｒ１〜Ｒ９、センサ７０Ｒ１〜７０Ｒ９、空調機７１Ｒ１〜７１Ｒ９、および、強化学習器１００Ｒ１〜１００Ｒ９は、それぞれ区別しない場合は、部屋Ｒ、センサ７０、空調機７１および強化学習器１００と表現する。
【００１７】
各センサ７０の出力は、ＰＩ制御器６０、ならびに、センサ７０のそれぞれに対応する強化学習器１００および隣接する部屋Ｒの強化学習器１００に入力される。各センサ７０の出力は、例えば、室温情報が挙げられる。各空調機７１には、ＰＩ制御器６０および対応する強化学習器１００から制御された入力電力が入力される。
【００１８】
ＰＩ制御器６０は、各センサ７０から入力される室温情報に基づいて、各空調機７１に対する入力電力（制御入力）を決定し、対応する空調機７１に出力する。ＰＩ制御器６０は、例えば、室温情報に基づいて、デジタル演算回路等を用いて出力電力、つまり各空調機７１に対する入力電力を制御する。また、ＰＩ制御器６０は、例えば、デジタル演算回路を設定したりパラメータを調整する情報処理装置を有するようにしてもよい。当該情報処理装置は、例えば、組込み用のシングルボードコンピュータやパーソナルコンピュータ等の各種の情報処理装置を用いることができる。
【００１９】
センサ７０は、部屋Ｒの室温を計測するセンサである。センサ７０は、例えば、測温抵抗体やサーミスタを用いて温度を計測し、計測した温度を室温情報として出力する。
【００２０】
空調機７１は、部屋Ｒの温度や湿度等を調整する空気調和機である。空調機７１は、ＰＩ制御器６０および強化学習器１００から出力される入力電力（制御入力）に基づいて、送風する空気の温度や湿度を調整する。なお、空調機７１に入力される入力電力は、例えば、ＰＩ制御器６０から出力される入力電力と、強化学習器１００から出力される入力電力との和となる。
【００２１】
強化学習器１００は、強化学習装置の一例であり、対応する部屋Ｒおよび隣接する部屋Ｒの室温情報に基づいて、対応する部屋Ｒの室温を制御しながら強化学習を行う情報処理装置である。
【００２２】
ここで、図６を用いて各部屋Ｒの配置について説明する。図６は、各部屋の関係性の一例を示す図である。図６に示すように、部屋Ｒ１〜Ｒ９は、配置３０のように碁盤の目状の配置であるとする。各部屋Ｒには、センサ７０と、空調機７１と、強化学習器１００とが設置される。配置３０では、隣接する部屋Ｒ間で温度干渉が存在する。例えば、部屋Ｒ５は、部屋Ｒ２，Ｒ４，Ｒ６，Ｒ８の４部屋から温度干渉を受ける。
【００２３】
次に、図７を用いて強化学習器１００の構成について説明する。図７は、実施例の強化学習器の構成の一例を示すブロック図である。強化学習器１００は、入力部１１０と、出力部１１１と、記憶部１２０と、制御部１３０とを有する。なお、強化学習器１００は、図７に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００２４】
入力部１１０には、対応する部屋Ｒおよび隣接する部屋Ｒから室温情報が入力される。また、入力部１１０には、制御装置５０の図示しない操作部から設定温度情報が入力される。入力部１１０は、入力された室温情報および設定温度情報を制御部１３０に出力する。
【００２５】
出力部１１１は、制御部１３０から入力される入力電力ｕを、対応する空調機７１に出力する。
【００２６】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、第１学習済モデル記憶部１２１と、第２学習済モデル記憶部１２２とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００２７】
第１学習済モデル記憶部１２１は、設定温度情報の設定温度Ｔ０と、室温情報の温度（以下、室温ともいう。）Ｔｘとに基づく入力電力ｕを学習させた学習済モデルを記憶する。室温Ｔｘは、例えば、部屋Ｒ５に対応する強化学習器１００Ｒ５の場合、部屋Ｒ５の室温Ｔ５と、隣接する部屋Ｒの室温Ｔのうち、影響すると特定された部屋Ｒの室温Ｔ、例えば、室温Ｔ２，Ｔ８とを用いることを示す。第１学習済モデル記憶部１２１は、学習済モデルとして、例えば、Ｑ学習の各種パラメータを記憶する。
【００２８】
第２学習済モデル記憶部１２２は、自身が制御する部屋Ｒの室温情報の温度Ｔと、隣接する部屋Ｒｙの室温情報の温度Ｔｙとに基づいて、隣接する部屋Ｒｙからの温度干渉による影響度を学習させた学習済モデルを記憶する。例えば、部屋Ｒ５に対応する強化学習器１００Ｒ５の場合、自身が制御する部屋Ｒの室温Ｔ５と、隣接する部屋Ｒ２，Ｒ４，Ｒ６，Ｒ８の室温Ｔ２，Ｔ４，Ｔ６，Ｔ８とを用いる。第２学習済モデル記憶部１２２は、学習済モデルとして、例えば、Ｑ学習の各種パラメータを記憶する。
【００２９】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、制御学習部１３１と、影響度学習部１３２とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図７に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０は、制御学習部１３１および影響度学習部１３２の強化学習における時刻ｔを管理する。
【００３０】
制御学習部１３１は、制御装置５０の図示しない操作部から制御開始が指示されると、各種パラメータ等の初期化を行い、対象となる部屋Ｒの室温の制御を開始する。制御学習部１３１は、時間経過に応じて第一段階および第二段階の学習を行う。
【００３１】
まず、図８を用いて第一段階および第二段階の学習について説明する。図８は、学習の経過の一例を示す図である。図８のグラフ３１に示すように、制御学習部１３１は、例えば、設定温度Ｔ０と室温Ｔとの二乗誤差が時間経過（学習日数）とともに小さくなるように学習を行う。図８の「Ｓｔｅｐ１」は第一段階を示し、「Ｓｔｅｐ２」は第二段階を示す。第一段階として、制御学習部１３１は、領域３２において、他の部屋Ｒからの影響を考慮せずに、自身が制御する部屋Ｒの室温情報を用いて実際に制御しながら学習を行う。また、並行して、影響度学習部１３２は、領域３３において、他の部屋Ｒの室温情報を用いて、他の部屋Ｒからの干渉による影響度を学習する。なお、領域３２と領域３３とは、同一であってもよいし、ずれていてもよい。例えば、初期段階は自身が制御する部屋Ｒの室温情報を用いる学習を行い、初期段階の収束後に他の部屋Ｒからの干渉による影響度の学習を開始するようにしてもよい。
【００３２】
次に、第二段階として、影響度学習部１３２は、領域３４において、学習結果に基づいて、干渉による影響度が閾値以上となる他の部屋Ｒを特定する。影響度学習部１３２は、特定した他の部屋Ｒを制御学習部１３１に出力する。制御学習部１３１は、特定した他の部屋Ｒの室温情報を反映して、自身が制御する部屋Ｒの室温情報を用いて実際に制御しながら学習を行う。このように、強化学習器１００は、第一段階で情報を限定して優先的に学習することで学習速度を向上させ、第二段階で干渉の学習結果を反映させて再学習することで、適切な制御を達成することができる。
【００３３】
図７の説明に戻って、制御学習部１３１は、制御を開始すると、自身が制御する部屋Ｒの室温情報（状態情報）を取得する。これは、強化学習の状態観測に対応する。制御学習部１３１は、取得した室温情報に基づいて、第一段階の学習の終了条件を満たすか否かを判定する。第一段階の学習の終了条件は、例えば、学習回数を用いることができる。制御学習部１３１は、第一段階の学習の終了条件を満たすと判定した場合には、他の部屋Ｒからの干渉による影響度の学習が完了しているか否かを判定する。制御学習部１３１は、干渉による影響度の学習が完了していないと判定した場合には、特定指示を影響度学習部１３２に出力する。
【００３４】
制御学習部１３１は、干渉による影響度の学習が完了していると判定した場合、または、影響度学習部１３２から特定情報が入力された場合には、特定済みの部屋Ｒ、または、特定情報の特定した部屋Ｒに基づいて、特定した部屋Ｒの室温情報を取得する。なお、干渉による影響度の学習が完了している場合とは、制御学習部１３１に対して既に特定情報が影響度学習部１３２から入力され、影響度の判定が行われていない部屋がない状態である。また、制御学習部１３１は、特定した部屋Ｒの室温情報を、影響度学習部１３２を介して取得するようにしてもよい。
【００３５】
制御学習部１３１は、第一段階の学習の終了条件を満たすか否かの判定において、第一段階の学習の終了条件を満たしていないと判定した場合には、自身が制御する部屋Ｒの室温情報に基づいて、強化学習における行動（制御方策）を決定する。また、制御学習部１３１は、特定した部屋Ｒの室温情報を取得した場合には、自身が制御する部屋Ｒの室温情報、および、特定した部屋Ｒの室温情報に基づいて、強化学習における行動（制御方策）を決定する。制御学習部１３１は、決定した行動に基づく入力電力ｕを決定し、決定した入力電力ｕを、出力部１１１を介して空調機７１に出力する。
【００３６】
制御学習部１３１は、時刻ｔが時刻ｔ＋１に進むと、入力部１１０から入力された設定温度情報に基づく設定温度Ｔ０と室温情報の温度Ｔとの誤差に基づく報酬を取得する。制御学習部１３１は、取得した報酬に基づいて、決定した行動（制御方策）を学習するか否かを判定する。
【００３７】
制御学習部１３１は、学習すると判定した場合には、学習を実行して終了判定に進む。制御学習部１３１は、例えば、報酬に基づく利得が最大化する方向の行動であれば、学習すると判定して学習を実行する。制御学習部１３１は、学習結果を第１学習済モデル記憶部１２１に記憶する。制御学習部１３１は、学習しないと判定した場合には、学習を実行せずに終了判定に進む。
【００３８】
制御学習部１３１は、学習処理を終了するか否かを判定する。制御学習部１３１は、学習処理を終了すると判定した場合には、学習処理を終了する。制御学習部１３１は、例えば、最適な制御結果に収束した場合に学習処理を終了する。制御学習部１３１は、学習処理を終了しないと判定した場合には、引き続き、自身が制御する部屋の室温情報を取得して強化学習を継続する。
【００３９】
言い換えると、制御学習部１３１は、複数の制御対象のそれぞれについて、他の制御対象からの影響を考慮しない条件での強化学習を実行する。制御学習部１３１は、複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、他の制御対象からの影響を含めた条件で強化学習を実行する。制御学習部１３１は、学習した影響度が所定の閾値以上である他の制御対象からの影響を含めた条件で強化学習を実行する。また、複数の制御対象は、少なくとも影響を与えるまたは受ける制御対象との関係性が、強化学習の実行の際には変化しない。
【００４０】
影響度学習部１３２は、制御装置５０の図示しない操作部から制御開始が指示されると、例えば、所定時間待機後に、隣接する他の部屋Ｒの室温情報を用いて、隣接する他の部屋Ｒからの干渉による、自身が制御する部屋Ｒへの影響度を学習する。なお、影響度学習部１３２は、影響度の学習を所定時間待機することなく、制御学習部１３１における学習と同時に開始してもよい。影響度学習部１３２は、学習結果を第２学習済モデル記憶部１２２に記憶する。
【００４１】
影響度学習部１３２は、制御学習部１３１から特定指示が入力されると、第２学習済モデル記憶部１２２を参照し、干渉による影響度の学習結果に基づいて、影響する部屋Ｒを特定する。すなわち、影響度学習部１３２は、干渉による影響度の学習結果に基づいて、干渉による影響度が所定の閾値以上となる他の部屋Ｒを特定する。なお、所定の閾値は、例えば、自身が制御部屋Ｒの室温に対して、１％以上の変動を与える影響度とすることができる。影響度学習部１３２は、特定した他の部屋Ｒを特定情報として制御学習部１３１に出力する。
【００４２】
言い換えると、影響度学習部１３２は、他の制御対象からの影響を考慮しない条件での強化学習を実行する際に、複数の制御対象のそれぞれについて、他の制御対象からの影響度を学習する。
【００４３】
ここで、図９を用いて室温制御について説明する。図９は、室温制御の一例を示す図である。図９では、図６の配置３０において最も隣接する部屋数が多い部屋Ｒ５を一例として説明する。まず、第一段階（Ｓｔｅｐ１）として、制御学習部１３１Ｒ５は、部屋Ｒ５の設定温度Ｔ０と室温Ｔ５とを用いて、室温制御を学習し、入力電力ｕ５を決定する。また、影響度学習部１３２Ｒ５は、自身が制御する部屋Ｒ５の室温Ｔ５と、隣接する他の部屋Ｒ２，Ｒ４，Ｒ６，Ｒ８それぞれの室温情報の温度（室温）Ｔ２，Ｔ４，Ｔ６，Ｔ８とを用いて、温度干渉に関する学習を行う。つまり、影響度学習部１３２Ｒ５は、室温Ｔ２，Ｔ４，Ｔ６，Ｔ８を用いて、隣接する他の部屋Ｒ２，Ｒ４，Ｒ６，Ｒ８からの干渉による、自身が制御する部屋Ｒ５への影響度を学習する。
【００４４】
制御学習部１３１Ｒ５は、ある程度学習が進み、第一段階の学習の終了条件を満たすと判定すると、第二段階（Ｓｔｅｐ２）として、温度干渉の学習結果を影響度学習部１３２Ｒ５から取得する。図９の例では、制御学習部１３１Ｒ５は、温度干渉の影響度が所定の閾値以上である部屋Ｒ２，Ｒ８の室温Ｔ２，Ｔ８を取得する。なお、制御学習部１３１Ｒ５は、温度干渉の影響度が所定の閾値未満である部屋Ｒ４，Ｒ６の室温Ｔ４，Ｔ６は取得しない。制御学習部１３１Ｒ５は、室温Ｔ２，Ｔ８を第一段階での学習結果に加え、再び室温制御を学習し、入力電力ｕ５を決定する。つまり、制御学習部１３１Ｒ５は、設定温度Ｔ０と、室温Ｔ２，Ｔ５，Ｔ８とを用いて、室温制御を学習し、入力電力ｕ５を決定する。
【００４５】
続いて、図１０から図１２を用いて第一段階の学習の終了判定について説明する。図１０は、第一段階の学習の終了判定の一例を示す図である。図１０に示すグラフ３５は、学習回数（Episode）に対応する、室温Ｔとその設定温度Ｔ０との二乗誤差を表す。グラフ３５では、学習回数が、予め決定した所定回数３６に到達した場合に、第一段階の学習の終了条件を満たしたとして、第一段階（Ｓｔｅｐ１）から第二段階（Ｓｔｅｐ２）に切り替える。なお、所定回数３６は、例えば１５００回である。
【００４６】
図１０に示すグラフ３７は、学習回数（Episode）に対応する、室温Ｔとその設定温度Ｔ０との二乗誤差を表す。グラフ３７では、二乗誤差が、予め決定した基準値３８以下となった場合（図中、破線３９）に、第一段階の学習の終了条件を満たしたとして、第一段階（Ｓｔｅｐ１）から第二段階（Ｓｔｅｐ２）に切り替える。
【００４７】
図１１は、第一段階の学習の終了判定の他の一例を示す図である。図１１では、自身の制御する部屋Ｒの室温情報を用いた場合、他の部屋Ｒからの干渉を無視した学習が可能であることから、価値関数の差分、または、二乗誤差の移動平均の差分を利用する。図１１に示すグラフ４０は、学習回数に対応する価値関数の差分を表す。価値関数は、例えば、Ｑ学習の状態ｓと行動ａとに基づく関数である。価値関数の差分は、価値関数の値の各学習における差分であり、制御方策が学習により変化しなくなることに対応する。グラフ４０では、価値関数の差分が予め決定した基準値４１以下となった領域４２において、第一段階の学習の終了条件を満たしたとして、第一段階（Ｓｔｅｐ１）から第二段階（Ｓｔｅｐ２）に切り替える。
【００４８】
図１１に示すグラフ４３は、学習回数（Episode）に対応する、報酬等の状態から算出される値、例えば二乗誤差の移動平均の各学習における差分を表す。グラフ４３では、二乗誤差の移動平均の差分が予め決定した基準値４４以上となった領域４５において、第一段階の学習の終了条件を満たしたとして、第一段階（Ｓｔｅｐ１）から第二段階（Ｓｔｅｐ２）に切り替える。
【００４９】
図１２は、第一段階の学習の終了判定の他の一例を示す図である。図１２では、自身の制御する部屋Ｒの室温情報を用いた場合、結果に対するその影響は小さくなるため、相対的に他の部屋Ｒからの干渉による影響が制御結果に大きく反映されることを利用する。図１２に示すグラフ４６は、学習回数（Episode）に対応する、室温に関する二乗誤差とその移動平均を表す。グラフ４６の領域４７では、報酬等の状態から算出される値、例えば二乗誤差に関して、学習による結果の変化が他の部屋Ｒからの干渉による影響よりも大きい状態である。一方、領域４８では、二乗誤差に関して、学習による結果の変化が他の部屋Ｒからの干渉による影響よりも小さい状態である。従って、グラフ４６では、二乗誤差に関して、他の部屋Ｒからの干渉による影響が、学習による結果の変化より大きくなった場合に、第一段階の学習の終了条件を満たしたとして、第一段階（Ｓｔｅｐ１）から第二段階（Ｓｔｅｐ２）に切り替える。
【００５０】
図１０から図１２に示すように、第二段階に移行するための所定の条件は、強化学習の回数が所定回数に到達した場合、または、強化学習の報酬に基づく値が基準値以下となった場合を用いることができる。また、当該所定の条件は、価値関数の値の各強化学習における差分が基準値以下となった場合、または、強化学習の報酬に基づく値の移動平均の各強化学習における差分が基準値以上となった場合を用いることができる。また、当該所定の条件は、強化学習の報酬に基づく値について他の制御対象からの影響が強化学習結果の変化よりも大きくなった場合を用いることができる。
【００５１】
次に、図１３から図１５を用いて学習回数、計算量および学習経過の比較について説明する。図１３は、学習回数の比較の一例を示す図である。図１３では、条件として、室温Ｔの状態数を「６」、空調機７１に対する入力電力の選択肢（行動数）を「５」、各状態と各行動との組み合わせに対する学習回数を「１０回」とし、強化学習により各状態において最適な行動を選択するように学習した場合である。また、図１３では、隣接する部屋数が「４」の部屋の学習回数とする。この場合、全状態数を学習する場合（以下、比較例１とする。）における学習回数は、「３８８，８００回」となる。一方、実施例における学習回数は、温度干渉の影響度が閾値以上である隣接する部屋数を「２」とすると、「２４，０６０回」となる。実施例では、自身の部屋の室温制御に関する学習と、温度干渉に関する学習と、干渉の影響度の学習結果を反映させた個別の制御方策の学習との和となるので学習回数を削減できることがわかる。なお、干渉による影響が大きい部屋に関しては、第二段階でその情報を加えて制御方策を再学習するため、学習回数の削減は、学習後の最終的な制御性能には影響を及ぼさない。
【００５２】
図１４は、計算量の比較の一例を示す図である。図１４の表４９は、比較例１と実施例との計算量を比較したものである。Ｑ学習では、各学習において状態と行動の各組み合わせに関して価値関数の値の維持または更新を行う。従って、計算量のオーダーは、Ｏ（ｋＮＭ）となる。ここで、ｋは学習回数、Ｎは状態数、Ｍは行動数を示す。比較例１では、状態数および行動数を（Ｎ，Ｍ）＝（６＾７，１３）とした。実施例では、第一段階の学習では（Ｎ，Ｍ）＝（６＾３，５）とし、第二段階の学習では（Ｎ，Ｍ）＝（６＾５，５）とした。また、各エピソード（episode）において、１４４０回学習を行った。表４９では、実施例の第一段階の学習終了時（episode＝１５００）までの計算量、実施例の制御結果が定常状態（episode＝３０００）となるまでの計算量、および、比較例１の制御結果が定常状態（episode＝８０００）となるまでの計算量を比較している。なお、比較例１と実施例１の定常状態での制御性能は同等であるとする。すると、表４９に示すように、同等の制御性能を得るまでの計算量は、比較例１の４．２×１０＾１３に対して、実施例では８．６×１０＾１０と削減できていることがわかる。
【００５３】
図１５は、学習の経過の比較の一例を示す図である。図１５に示すグラフ８０は、比較例１と、ＰＩ制御器による制御を行う比較例２と、実施例との学習の経過を示すグラフである。グラフ８０に示すように、学習初期の領域８１，８２では、比較例１と比べて収束速度が速いことがわかる。また、実施例は、比較例２と比べても、早くに制御性能が向上していることがわかる。さらに、実施例は、比較例１が定常状態となる領域８３と同等の制御性能を、領域８２の後半部分（Episode＝２０００前後）において達成していることがわかる。なお、実施例では、Episode＝１５００で第一段階から第二段階の学習に切り替わっている。
【００５４】
続いて、実施例の強化学習器１００の動作について説明する。図１６は、実施例の学習処理の一例を示すフローチャートである。
【００５５】
制御学習部１３１は、制御装置５０の図示しない操作部から制御開始が指示されると、各種パラメータ等の初期化を行い、対象となる部屋Ｒの室温の制御を開始する（ステップＳ１１）。また、影響度学習部１３２は、制御装置５０の図示しない操作部から制御開始が指示されると、隣接する他の部屋Ｒからの干渉による、自身が制御する部屋Ｒへの影響度の学習を開始する。
【００５６】
制御学習部１３１は、制御を開始すると、自身が制御する部屋Ｒの室温情報を取得する（ステップＳ１２）。制御学習部１３１は、取得した室温情報に基づいて、第一段階の学習の終了条件を満たすか否かを判定する（ステップＳ１３）。制御学習部１３１は、第一段階の学習の終了条件を満たすと判定した場合には（ステップＳ１３：肯定）、他の部屋Ｒからの干渉による影響度の学習が完了しているか否かを判定する（ステップＳ１４）。制御学習部１３１は、干渉による影響度の学習が完了していないと判定した場合には（ステップＳ１４：否定）、特定指示を影響度学習部１３２に出力する。
【００５７】
影響度学習部１３２は、制御学習部１３１から特定指示が入力されると、第２学習済モデル記憶部１２２を参照し、干渉による影響度の学習結果に基づいて、影響する部屋Ｒを特定する（ステップＳ１５）。影響度学習部１３２は、特定した他の部屋Ｒを特定情報として制御学習部１３１に出力する。
【００５８】
制御学習部１３１は、ステップＳ１４において、干渉による影響度の学習が完了していると判定した場合（ステップＳ１４：肯定）、または、影響度学習部１３２から特定情報が入力された場合には、特定した部屋Ｒの室温情報を取得する（ステップＳ１６）。
【００５９】
制御学習部１３１は、ステップＳ１３において、第一段階の学習の終了条件を満たしていないと判定した場合には（ステップＳ１３：否定）、自身が制御する部屋Ｒの室温情報に基づいて、強化学習における行動（制御方策）を決定する（ステップＳ１７）。また、制御学習部１３１は、ステップＳ１６において、特定した部屋Ｒの室温情報を取得した場合には、自身が制御する部屋Ｒの室温情報、および、特定した部屋Ｒの室温情報に基づいて、強化学習における行動（制御方策）を決定する（ステップＳ１７）。制御学習部１３１は、決定した行動に基づく入力電力ｕを決定し、決定した入力電力ｕを、出力部１１１を介して空調機７１に出力する。
【００６０】
制御学習部１３１は、時刻ｔが時刻ｔ＋１に進むと（ステップＳ１８）、設定温度情報に基づく設定温度Ｔ０と室温情報の温度Ｔ（室温Ｔ）との誤差に基づく報酬を取得する（ステップＳ１９）。制御学習部１３１は、取得した報酬に基づいて、決定した行動（制御方策）を学習するか否かを判定する（ステップＳ２０）。制御学習部１３１は、学習すると判定した場合には（ステップＳ２０：肯定）、学習を実行し（ステップＳ２１）、ステップＳ２２に進む。制御学習部１３１は、学習しないと判定した場合には（ステップＳ２０：否定）、学習を実行せずにステップＳ２２に進む。
【００６１】
制御学習部１３１は、学習処理を終了するか否かを判定する（ステップＳ２２）。制御学習部１３１は、学習処理を終了しないと判定した場合には（ステップＳ２２：否定）、ステップＳ１２に戻る。制御学習部１３１は、学習処理を終了すると判定した場合には（ステップＳ２２：肯定）、学習処理を終了する。これにより、強化学習器１００は、計算量を抑えつつ、判別精度、つまり制御性能を向上させることができる。また、強化学習器１００は、事前の学習や細かなハイパーパラメータ調整を行わずに、学習初期段階から各対象を適切に制御できる。また、強化学習器１００は、干渉による影響を考慮した適切な制御方策を学習することができる。
【００６２】
このように、強化学習器１００は、複数の制御対象であって、複数の制御対象それぞれが少なくとも１つの他の制御対象との間で自身の制御による影響よりも小さい影響を与えるまたは受ける制御対象のそれぞれに対する制御を強化学習する。また、強化学習器１００は、複数の制御対象のそれぞれについて、他の制御対象からの影響を考慮しない条件での強化学習を実行する。また、強化学習器１００は、複数の制御対象のそれぞれの強化学習結果が所定の条件を満たした後に、他の制御対象からの影響を含めた条件で強化学習を実行する。その結果、強化学習器１００は、計算量を抑えつつ、判別精度、つまり制御性能を向上させることができる。
【００６３】
また、強化学習器１００は、他の制御対象からの影響を考慮しない条件での強化学習を実行する際に、複数の制御対象のそれぞれについて、他の制御対象からの影響度を学習する。また、強化学習器１００は、学習した影響度が所定の閾値以上である他の制御対象からの影響を含めた条件で強化学習を実行する。その結果、強化学習器１００は、影響が大きい他の制御対象の影響を考慮することができる。
【００６４】
また、強化学習器１００における所定の条件は、強化学習の回数が所定回数に到達した場合、強化学習の報酬に基づく値が基準値以下となった場合、または、価値関数の値の各強化学習における差分が基準値以下となった場合である。また、所定の条件は、強化学習の報酬に基づく値の移動平均の各強化学習における差分が基準値以上となった場合、または、強化学習の報酬に基づく値について他の制御対象からの影響が強化学習結果の変化よりも大きくなった場合である。その結果、強化学習器１００は、学習の収束速度を向上させることができる。
【００６５】
また、強化学習器１００における複数の制御対象は、少なくとも影響を与えるまたは受ける制御対象との関係性が、強化学習の実行の際には変化しない。その結果、強化学習器１００は、計算量を抑えつつ、判別精度、つまり制御性能を向上させることができる。
【００６６】
なお、上記実施例では、制御対象として、空調機７１を挙げたが、これに限定されない。制御対象として、上述の性質その１から性質その３までを満たすような制御対象であれば、適用することができる。例えば、互いに周波数の干渉を受ける発電機を制御対象とすることができる。
【００６７】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、制御学習部１３１を第一段階の強化学習を実行する第１学習部と、第二段階の強化学習を実行する第２学習部とに分割してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００６８】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００６９】
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１７は、強化学習プログラムを実行するコンピュータの一例を示す図である。
【００７０】
図１７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００７１】
ハードディスク装置２０８には、図７に示した制御学習部１３１および影響度学習部１３２の各処理部と同様の機能を有する強化学習プログラムが記憶される。また、ハードディスク装置２０８には、第１学習済モデル記憶部１２１、第２学習済モデル記憶部１２２、および、強化学習プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００の管理者に対して表示画面等の各種画面を表示する。インタフェース装置２０５は、図７に示した入力部１１０および出力部１１１と同様の機能を有しセンサ７０および空調機７１と接続される。通信装置２０６は、例えば、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００７２】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図７に示した制御学習部１３１および影響度学習部１３２として機能させることができる。
【００７３】
なお、上記の強化学習プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの強化学習プログラムを記憶させておき、コンピュータ２００がこれらから強化学習プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００７４】
５  制御システム
５０  制御装置
６０  ＰＩ制御器
７０  センサ
７１  空調機
１００  強化学習器
１１０  入力部
１１１  出力部
１２０  記憶部
１２１  第１学習済モデル記憶部
１２２  第２学習済モデル記憶部
１３０  制御部
１３１  制御学習部
１３２  影響度学習部
【図１】
2020080103.tif 000003
【図２】
2020080103.tif 000004
【図３】
2020080103.tif 000005
【図４】
2020080103.tif 000006
【図５】
2020080103.tif 000007
【図６】
2020080103.tif 000008
【図７】
2020080103.tif 000009
【図８】
2020080103.tif 000010
【図９】
2020080103.tif 000011
【図１０】
2020080103.tif 000012
【図１１】
2020080103.tif 000013
【図１２】
2020080103.tif 000014
【図１３】
2020080103.tif 000015
【図１４】
2020080103.tif 000016
【図１５】
2020080103.tif 000017
【図１６】
2020080103.tif 000018
【図１７】
2020080103.tif 000019