(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】制御対象デバイス選択装置、制御対象デバイス選択方法およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231219BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022548298
(86)(22)【出願日】2020-09-09
(86)【国際出願番号】 JP2020034153
(87)【国際公開番号】W WO2022054176
(87)【国際公開日】2022-03-17
【審査請求日】2023-02-17
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】中里 彦俊
(72)【発明者】
【氏名】阿部 健二
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2020-125102(JP,A)
【文献】特開2018-136767(JP,A)
【文献】国際公開第2020/022123(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
制御対象デバイスを選択する制御対象デバイス選択装置であって、
各IoTデバイスから取得したデータで示される外界因子について、各外界因子の不純度を計算することにより、報酬に影響を与える前記外界因子を構成要素として抽出し、抽出した外界因子の値を所定のレンジ幅に分割して、前記制御対象デバイスを制御する状況を、分割したレンジごとに分類として定義する状況分類部と、
各IoTデバイスから取得した外界因子について、前記分類ごとに、複数の制御対象デバイスのデバイス制御値を生成する制御値生成部と、
各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するスコア計算部と、
同一の前記分類に含まれるデバイス制御値を示すデバイス制御因子パターンごとに、前記デバイス制御値と前記スコアとで示される各学習データを、学習データDBに記憶する学習データ管理部と、
前記学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成する学習モデル管理部と、
前記分類それぞれのデバイス制御因子パターンにおいて、特定の制御対象デバイスの制御値のみを変更し、変更後の制御結果であるスコアが、前記スコアの上限値および下限値を所定のレンジ幅に分割したレンジのうちの所定のレンジ内に収まる場合に、当該特定の制御対象デバイスを、非関与デバイス候補として特定するとともに、前記非関与デバイス候補における非関与の分類の範囲を特定する非関与デバイス候補特定処理を実行し、前記制御対象デバイスそれぞれにおいて前記非関与デバイス候補特定処理を実行し、非関与の分類ごとに、前記デバイス制御因子パターンの中からデバイス制御値を選択し、特定した前記非関与デバイス候補を除いた制御対象デバイスの制御を行い、所定の報酬を満たす場合に、当該非関与デバイス候補を非関与デバイスとして確定するとともに、前記非関与の分類の範囲を確定する非関与デバイス特定部と、
前記非関与の分類の範囲においては、前記非関与デバイスを除いた各制御対象デバイスに前記デバイス制御値を送信するデバイス制御部と、
を備えることを特徴とする制御対象デバイス選択装置。
【請求項2】
同一の前記分類における学習データのスコアが、所定期間以上継続して前記所定の報酬を満たさない場合に、前記外界因子以外の未知若しくは未計測の前記報酬に影響を与える要因を示すロケーション特性が変化したと判定する持続的外乱判定部をさらに備え、
前記持続的外乱判定部が、前記所定期間以上継続して前記スコアが前記所定の報酬を満たさず、前記ロケーション特性が変化したと判定したことにより、前記学習データ管理部が、前記所定期間より以前の学習データを削除し、前記学習モデル管理部が、前記分類ごとの学習モデルを更新した場合、
前記状況分類部が、所定の時間間隔で分類の定義を再度行った結果、前記分類の定義におけるレンジに変更があった際に、前記学習データ管理部が前記学習データの再分類を行い、前記学習モデル管理部が、変更後の分類において学習データを更新した場合、
前記状況分類部が、所定の時間間隔で報酬に影響を与える前記外界因子の構成要素の抽出を行った結果、前記構成要素が変化した際に、前記学習データ管理部が、それ以前の学習データを削除し、前記学習モデル管理部が、変化した前記構成要素を用いた分類ごとに学習モデルを更新した場合、
のいずれかの場合を検出すると、前記非関与デバイスの確定と、前記非関与の分類の範囲の確定とを再度実行させる非関与デバイス更新指示を、前記非関与デバイス特定部に出力する非関与デバイス更新部を備えること
を特徴とする請求項1に記載の制御対象デバイス選択装置。
【請求項3】
制御対象デバイスを選択する制御対象デバイス選択装置の制御対象デバイス選択方法であって、
前記制御対象デバイス選択装置は、
各IoTデバイスから取得したデータで示される外界因子について、各外界因子の不純度を計算することにより、報酬に影響を与える前記外界因子を構成要素として抽出し、抽出した外界因子の値を所定のレンジ幅に分割して、前記制御対象デバイスを制御する状況を、分割したレンジごとに分類として定義するステップと、
各IoTデバイスから取得した外界因子について、前記分類ごとに、複数の制御対象デバイスのデバイス制御値を生成するステップと、
各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するステップと、
同一の前記分類に含まれるデバイス制御値を示すデバイス制御因子パターンごとに、前記デバイス制御値と前記スコアとで示される各学習データを、学習データDBに記憶するステップと、
前記学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成するステップと、
前記分類それぞれのデバイス制御因子パターンにおいて、特定の制御対象デバイスの制御値のみを変更し、変更後の制御結果であるスコアが、前記スコアの上限値および下限値を所定のレンジ幅に分割したレンジのうちの所定のレンジ内に収まる場合に、当該特定の制御対象デバイスを、非関与デバイス候補として特定するとともに、前記非関与デバイス候補における非関与の分類の範囲を特定する非関与デバイス候補特定処理を実行し、前記制御対象デバイスそれぞれにおいて前記非関与デバイス候補特定処理を実行し、非関与の分類ごとに、前記デバイス制御因子パターンの中からデバイス制御値を選択し、特定した前記非関与デバイス候補を除いた制御対象デバイスの制御を行い、所定の報酬を満たす場合に、当該非関与デバイス候補を非関与デバイスとして確定するとともに、前記非関与の分類の範囲を確定するステップと、
前記非関与の分類の範囲においては、前記非関与デバイスを除いた各制御対象デバイスに前記デバイス制御値を送信するステップと、
を実行することを特徴とする制御対象デバイス選択方法。
【請求項4】
コンピュータを、請求項1または請求項2に記載の制御対象デバイス選択装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習を用いて生成された制御値を用いて制御される制御対象デバイスを選択する、制御対象デバイス選択装置、制御対象デバイス選択方法およびプログラムに関する。
【背景技術】
【0002】
システムの異常状態の検知に、正常状態の学習データのみを用いてDNN(Deep Neural Network)により、異常状態を分類する技術が公開されている(例えば、特許文献1参照)。
特許文献1の技術によれば、正常状態の傾向が時系列に変化する場合、直近から一定期間分の学習データのみで、学習モデルを再構築する。さらに、一時的な高負荷等の「正常な外れ値」の傾向変化に対応させるように、直近一定期間のデータの中から特異データの種別に限定して正常な外れ値を学習モデルの再構築に利用することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、強化学習における報酬(スコア)は、環境として計測される外界の状況の変化(以下、「外乱」と称する。)によって大きく変動することがある。特許文献1に記載の技術は、システム状態値そのものの時系列的な変化を想定して学習モデルの再構築をしているが、システム状態値の変動に影響する要因による外乱については、考慮していない。
また、従来強化学習における報酬(スコア)に変動を与える因子(後記する「外界因子」)は、人手により特定する必要があり、その特定因子のレンジをクラスごとに「状況」(Situation)として定義することも、人手により行う必要があった。
【0005】
この問題については、強化学習における報酬(スコア)に変動を与える外乱構成要因(外界因子)を、自動的に抽出するとともに、その外乱構成要因に基づき「状況」(Situation)を自動的に定義して、学習モデルを更新することで、制御対象となるデバイス(制御対象デバイス)の適切な制御値を生成し、そのデバイスを制御することができる。
【0006】
ところで、強化学習を活用した個別環境でのデバイス間協調制御を行うシステムでは、個別環境内で各制御対象デバイスが連携しながら、所定報酬(目標報酬)を満たすように徐々に制御を最適化していく。その際、報酬達成に関与しないデバイス、つまり、当該デバイスが稼働しなくても報酬達成の状況が変わらないデバイスが存在し、このようなデバイスを他のタスクに回したり、非稼働にしたりすることにより、デバイスの稼働効率を向上させることができる。
この報酬達成に関与しないデバイス(以下「非関与デバイス」と称することがある。)は、(1)環境の状況に関わらず報酬達成に非関与のデバイス、(2)環境の特定状況において報酬達成に非関与のデバイス、の2種類が存在する。
【0007】
強化学習を活用した個別環境でのデバイス間協調制御を行うシステムとして、
図1に示すような、対象車両追跡システムを例に説明する。このシステムでは、あるコース(始点から終点)において、移動対象である車両を、制御対象デバイスである首振りカメラ5aにより追跡する。車両追跡のための各首振りカメラ5aの制御値は、固定カメラ3aから得られた「状況」(Situation)(ここでは、後記する外界因子である「車両の速度」)の情報に基づき、強化学習された学習モデルにより生成される。
【0008】
ここで、強化学習において設定される報酬(スコア)は、追跡区間のコースを対象車両が通過するのに要した時間のうちの、いずれかの首振りカメラ5aにおいて車両を捕捉できた時間の合計である。つまり、追跡区間のコース全体を通して、いずれかの首振りカメラ5aが対象車両を捕捉している時間が長い程、高いスコアとなる。
【0009】
この環境において、制御対象デバイスである首振りカメラ5aのうち、首振りカメラ5a1は、コースの近傍に位置するものの、コースが撮影範囲に含まれないため、「状況」(Situation)(「車両の速度」)に関わらず報酬達成に非関与のデバイスとなる。
また、首振りカメラ5a2は、車両の速度が50km以上の「状況」(Situation)の場合に、首振りカメラ5a2の左右に位置する首振りカメラ5aが同時に車両を捕捉することできる状態のため、車両の速度が50km以上の「状況」(Situation)では報酬達成に非関与のデバイスとなる。
このような報酬達成に非関与のデバイスをそのまま稼働し続けることはデバイスの稼働効率の低下をまねくものとなる。
【0010】
このような点に鑑みて本発明がなされたのであり、本発明は、強化学習における報酬達成に非関与のデバイスとそのデバイスが非関与である「状況」(Situation)の範囲を特定して、その非関与のデバイス以外の制御対象デバイスを選択し、デバイス稼働効率を向上させることを課題とする。
【課題を解決するための手段】
【0011】
本発明に係る制御デバイス選択装置は、制御対象デバイスを選択する制御対象デバイス選択装置であって、各IoTデバイスから取得したデータで示される外界因子について、各外界因子の不純度を計算することにより、報酬に影響を与える前記外界因子を構成要素として抽出し、抽出した外界因子の値を所定のレンジ幅に分割して、前記制御対象デバイスを制御する状況を、分割したレンジごとに分類として定義する状況分類部と、各IoTデバイスから取得した外界因子について、前記分類ごとに、複数の制御対象デバイスのデバイス制御値を生成する制御値生成部と、各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するスコア計算部と、同一の前記分類に含まれるデバイス制御値を示すデバイス制御因子パターンごとに、前記デバイス制御値と前記スコアとで示される各学習データを、学習データDBに記憶する学習データ管理部と、前記学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成する学習モデル管理部と、前記分類それぞれのデバイス制御因子パターンにおいて、特定の制御対象デバイスの制御値のみを変更し、変更後の制御結果であるスコアが、前記スコアの上限値および下限値を所定のレンジ幅に分割したレンジのうちの所定のレンジ内に収まる場合に、当該特定の制御対象デバイスを、非関与デバイス候補として特定するとともに、前記非関与デバイス候補における非関与の分類の範囲を特定する非関与デバイス候補特定処理を実行し、前記制御対象デバイスそれぞれにおいて前記非関与デバイス候補特定処理を実行し、非関与の分類ごとに、前記デバイス制御因子パターンの中からデバイス制御値を選択し、特定した前記非関与デバイス候補を除いた制御対象デバイスの制御を行い、所定の報酬を満たす場合に、当該非関与デバイス候補を非関与デバイスとして確定するとともに、前記非関与の分類の範囲を確定する非関与デバイス特定部と、前記非関与の分類の範囲においては、前記非関与デバイスを除いた各制御対象デバイスに前記デバイス制御値を送信するデバイス制御部と、を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、強化学習における報酬達成に非関与のデバイスとそのデバイスが非関与である「状況」(Situation)の範囲を特定して、その非関与のデバイス以外の制御対象デバイスを選択し、デバイス稼働効率を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】本実施形態の一事例として対象車両追跡システムを説明する図である。
【
図2】報酬(スコア)変動を左右する要因として、「状況」(Situation)と「デバイス制御因子」を説明するための図である。
【
図3】本実施形態に係る制御対象デバイス選択装置の構成を示すブロック図である。
【
図4】本実施形態に係る非関与デバイス特定処理を説明するための図である。
【
図5】本実施形態に係る制御対象デバイス選択装置が実行する非関与デバイス特定処理の流れを示すフローチャートである。
【
図6】本実施形態に係る制御対象デバイス選択装置が実行する非関与デバイス更新処理の流れを示すフローチャートである。
【
図7】本実施形態に係る制御対象デバイス選択装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0014】
次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本発明において前提となる、強化学習を活用した個別環境でのデバイス間協調制御システムにおいて、当該強化学習を行う際の報酬(スコア)の変動を左右する要因について定義する。
本実施形態では、報酬(スコア)変動を左右する要因として、「状況」(Situation)と「デバイス制御因子」の2つを定義する。
「状況」(Situation)は、さらに「外界因子」と「ロケーション特性」の2つに分類する。
【0015】
「外界因子」とは、報酬の変動に影響を与える可能性のあることが既知であり、かつ、計測器などにより値を計測可能な因子を指す。報酬の変動に影響を与えるものと与えないものが存在し、「状況」(Situation)定義時には、影響を与える外界因子を取り扱う。
【0016】
「ロケーション特性」とは、外界因子以外の未知若しくは未計測(計測不可能)な報酬変動に影響を与える因子である。特定環境(ロケーション)ごとにそれぞれ特定のロケーション特性パターンが存在する。ただし、個別環境下での強化学習により最適なデバイス制御値を決定する際には、隠蔽され考慮されなくてもよい因子でもある。
【0017】
「デバイス制御因子」は、制御対象となるデバイス群(後記する「制御対象デバイス群」)の各デバイスにおける制御値(例えば、List型)を示す情報である。各デバイスにおける制御値(以下、「デバイス制御値」と称する。)は、所定のレンジ幅ごとに同一のカテゴリとみなし、デバイス制御因子を構成してもよい。
【0018】
図1で示した、対象車両追跡システムの例で説明すると、制御対象デバイスは首振りカメラ5aであり、強化学習により算出される「デバイス制御因子」(デバイス制御値)は、首振りカメラ5aの回転方向、指定角度(対象車両を追跡するための回転を開始するときに指定される角度)、回転開始時間(指定角度に設定されてから、その後に回転を開始するまでの時間)などとなる。
【0019】
また、「外界因子」は、例えば、車両の速度である。そして、「状況」(Situation)の外界因子(構成要素)が車両の速度である場合、所定のレンジ幅ごとに「状況」(Situation)を分類する。例えば、Situation「A」として速度0~15km、Situation「B」として速度16~30km、Situation「C」として速度31~45kmのように設定する。
図1に示す例では、固定カメラ3aにより車両の速度を計測し、その速度の情報を用いて、該当する「状況」(Situation)を特定し、その「状況」(Situation)(例えば、車両の速度が20kmであれば、Situation「B」の速度16~30km)に応じたデバイス制御値(ここでは、回転方向、指定角度、回転開始時刻など)を設定して各カメラデバイス(首振りカメラ5a)を制御する。そして、その制御結果(ここでは、車両がコースを通過する時間のうち、各カメラデバイスが補足した時間の割合)を報酬(スコア)として算出する。
【0020】
図1で説明した例では、外界因子は、車両の速度のみで説明した。しかしながら、実際に、報酬変動に影響を与える因子は、車両の速度以外にも、
図2に示すように、例えば、道路上の霧の発生を検知するための温度や湿度、風速、夜間撮影時に影響がある照度など、既知である計測可能な因子がある。また、未知であり未計測なロケーション特性として、例えば、走行車両の速度を低下させるための「ハンプ」(段差・コブ)の道路への設置や、道路幅を狭くする狭さくの設置、道路周辺における樹木の成長に伴う運転への影響が挙げられる。
これらのスコア変動に影響する外界因子とロケーション特性により定まる「状況」(Situation)ごとに、各デバイスのデバイス制御因子を設定して、報酬(スコア)を計算する。
【0021】
なお、本発明は、
図1および
図2で示した対象車両追跡システムに限定されず、強化学習を活用した個別環境でのデバイス間協調制御を行うシステムであればよい。
例えば、データセンタの冷却システム、工場内のロボット自動運搬システム、農家における灌漑水量調整システムなど、様々なシステムに適用することができる。
【0022】
データセンタの冷却システムでは、外界因子として、各サーバ周辺の温度、外気温、サーバの消費電力、サーバの稼働効率などの情報を取得し、消費電力総量が所定値以下であり、該当エリアで時間t以内に温度X度以上下げることなどを目標報酬とする。このときの制御対象デバイスは、空調機であり、デバイス制御因子(デバイス制御値)は、風量、目標温度、風向などである。この場合、報酬達成に非関与な空調機を特定し、その特定した空調機を除いた他の空調機を制御対象デバイスとする。
【0023】
工場内のロボット自動運搬システムでは、外界因子として、各ロボットのカメラ映像などの情報を取得し、全荷物をより短時間で正確にラインに運搬することなどを目標報酬とする。このときの制御対象デバイスは、運搬用ロボットであり、デバイス制御因子(デバイス制御値)は、ロボットの速度、モータ回転数、ブレーキ強度などである。この場合、報酬達成に非関与な運搬用ロボットを特定し、その特定した運搬用ロボットを除いた他の運搬用ロボットを制御対象デバイスとする。
【0024】
農家における灌漑水量調整システムでは、外界因子として、農地に設定されたセンサから、温度、湿度、日照量、土壌含水量、土壌品質、降雨量、画像から識別する植物の生長具合などの情報を取得し、土壌含水量が所定値以上であり最終収穫量が所定値以上となることを目標報酬とする。このとき制御対象デバイスは、堆肥ロボットであり、デバイス制御因子(デバイス制御値)は、水量、堆肥量などである。この場合、報酬達成に非関与な堆肥ロボットを特定し、その特定した堆肥ロボットを除いた他の堆肥ロボットを制御対象ロボットとする。
このように、本発明は、強化学習を活用した個別環境でのデバイス間協調制御を行うシステムであれば、適用可能であるが、以下においては、対象車両追跡システムを一例として説明する。
【0025】
本実施形態に係る制御対象デバイス選択装置1は、強化学習における報酬達成に非関与のデバイスを特定し、その特定したデバイスが非関与である「状況」(Situation)の範囲を特定する。そして、制御対象デバイス選択装置1は、その特定した「状況」(Situation)において、非関与のデバイスを除いて制御対象デバイスを選択し、デバイス制御を実行する。これにより、非関与のデバイスを他のタスクに回したり、非稼働にしたりすることにより、デバイスの稼働効率を向上させることができる。
また、制御対象デバイス選択装置1は、非関与デバイスとその「状況」(Situation)の範囲を、運用履歴(学習データ)の蓄積による、「状況」(Situation)の定義の見直しや、ロケーション特性の変化に応じて、適宜更新する。
以下、制御対象デバイス選択装置1の具体的な構成について説明する。
【0026】
図3は、本実施形態に係る制御対象デバイス選択装置1の構成を示すブロック図である。
制御対象デバイス選択装置1は、カメラデバイス(固定カメラ3a)、各種のセンサデバイス(例えば、温度センサ3b、湿度センサ3c、照度センサ3d、風速計3e)などのIoTデバイス3に通信接続される。そして、制御対象デバイス選択装置1は、これらのIoTデバイス3からの情報を用いて、報酬(スコア)が所定値(目標報酬)以上となるように、デバイス制御値を強化学習により生成し、通信接続された制御対象デバイス5の制御を行う。制御対象デバイス5は、対象車両追跡システムの例であれば、首振りカメラ5aである。このとき、制御対象デバイス選択装置1は、非関与デバイスを除いた制御対象デバイス5(首振りカメラ5a)を選択してデバイス制御値による制御を行う。
この制御対象デバイス選択装置1は、制御部10と、入出力部11と、記憶部12とを備える。
【0027】
入出力部11は、IoTデバイス群30の各IoTデバイス3や、制御対象デバイス群50の各制御対象デバイス5等との間の情報について入出力を行う。この入出力部11は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
【0028】
記憶部12は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
この記憶部12には、
図3に示すように、IoTデバイス情報DB200、制御対象デバイス情報DB300および学習データDB400が格納される。また、記憶部12には、制御部10の各機能部を実行させるためのプログラムや、制御部10の処理に必要な情報が一時的に記憶される。
【0029】
このIoTデバイス情報DB200には、各IoTデバイス3の識別情報に対応付けて、そのIoTデバイスの種別の情報、設置位置の情報が格納される。
また、このIoTデバイス情報DB200に、IoTデバイス3の種別ごとに、そのIoTデバイス3から取得できる情報である外界因子の上限値/下限値、およびこの上限値/下限値で示されるレンジをN分割した分割レンジであるクラスが予め格納される。この分割レンジは、学習データを取得するための初期学習段階(詳細は後記)において仮に設定されるものである。
【0030】
制御対象デバイス情報DB300には、各制御対象デバイス5の識別情報に対応付けて、その制御対象デバイス5の種別の情報と、配置位置の情報とが格納される。
この制御対象デバイス情報DB300は、報酬(スコア)の算出に関連する一まとまりの制御対象デバイス群50をスポットとして管理する。複数のスポットが制御対象デバイス情報DB300に格納されていてもよい。
【0031】
学習データDB400は、制御対象デバイス選択装置1が生成した、各制御対象デバイス5についてのデバイス制御値と、そのデバイス制御値で制御対象デバイス5を制御した際の報酬(スコア)とが学習データとして格納される。この学習データは、制御対象デバイス選択装置1が設定した「状況」(Situation)のクラスごとに、各制御対象デバイス5のデバイス制御値が、デバイス制御因子パターンとして格納される。
【0032】
制御部10は、制御対象デバイス選択装置1が実行する処理の全般を司り、状況認識部110と、強化学習部120と、デバイス制御部130と、スコア計算部140とを含んで構成される。
【0033】
状況認識部110は、IoTデバイス群30の各IoTデバイス3からデータを取得する。このデータには、各IoTデバイス3が測定した外界因子(例えば、車両の速度や、気温、湿度等)の測定値とともに、各IoTデバイス3の識別情報が付されている。そして、状況認識部110は、各データの値に基づき、その外界因子ごとのレンジを決定し、「状況」(Situation)を判定する。
具体的には、状況認識部110は、初期学習段階においては、各IoTデバイス3から取得したデータの値に基づき、IoTデバイス情報DB200に格納された、その外界因子の分割レンジにおけるクラスを特定する。なお、「初期学習段階」とは、後記する強化学習部120(状況分類部122)による「状況」(Situation)の定義(構成要素の抽出と分類)が行われる前の段階をいう。また、単に「学習段階」と記載するときは、「状況」(Situation)の定義が行われ、学習データによる強化学習が行われている段階をいう。
【0034】
状況認識部110は、学習段階と、所定の報酬(スコア)を満たした後の運用段階においては、各IoTデバイス3から取得したデータの値に基づき、強化学習部120(状況分類部122)が定義した「状況」(Situation)において、分類されたどの「状況」(後記する「状況」(1Situation))に当該データが属するかを判定する。
【0035】
強化学習部120は、報酬(スコア)の増減に与える影響の大きい外界因子を、「状況」(Situation)の影響因子(構成要素)として抽出する。そして、強化学習部120は、「状況」(Situation)の各外界因子に対して、所定のレンジ幅ごとにクラス分類を行い、各制御対象デバイス5のデバイス制御値を生成する。
そして、強化学習部120は、所定の報酬(目標報酬)に達することにより、学習段階を終了した際に、強化学習における報酬達成に非関与のデバイスを特定し、その特定したデバイスが非関与である「状況」(Situation)の範囲を特定する。そして、強化学習部120は、その特定した「状況」(Situation)において、非関与のデバイスを除いて制御対象デバイスを選択し、運用段階としてのデバイス制御を実行する。
【0036】
この強化学習部120は、「状況」(Situation)の構成要素である外界因子について、所定期間ごとに更新を行い、「状況」(Situation)ごとの学習モデルの更新と学習データの再保管を行う。
また、強化学習部120は、所定期間継続して報酬(スコア)が過去と比べて大きく変動する持続的外乱発生を、ロケーション特性の変化とみなし、新たなロケーション特性の学習データを保管して、「状況」(Situation)ごとの学習モデルを再生成する。
強化学習部120は、このように「状況」(Situation)の外界因子やレンジの更新があったときや、ロケーション特性が変化したときに、非関与デバイス、および、その非関与の「状況」(Situation)の範囲を再度特定して更新する。
この強化学習部120は、
図3に示すように、制御値生成部121と、状況分類部122と、学習データ管理部123と、学習モデル管理部124と、持続的外乱判定部125と、制御値呼出部126と、制御対象デバイス選択部127とを備える。
【0037】
制御値生成部121は、学習データが少ない初期学習段階においては、状況認識部110が特定した、各外界因子の分割レンジ毎に、外界因子(例えば、車両の速度や、気温、湿度等)の測定値に対応付けた、デバイス制御値を生成する。この際、制御値生成部121は、例えばランダムに各制御対象デバイス5の制御値を生成する。
なお、初期学習段階においては、制御値生成部121が生成したデバイス制御値を、デバイス制御部130を介して各制御対象デバイス5に送信することにより、その結果である報酬(スコア)をスコア計算部140が計算する。これにより、学習データ管理部123が学習データを記憶部12内の学習データDB400に保管していく。
【0038】
状況分類部122は、個別環境(特定のロケーション特性)下で、同一のデバイス制御因子のパターン(以下、「デバイス制御因子パターン」と称する。)を用いて、特定の外界因子を変化させることにより、報酬(スコア)に与える影響の大きい外界因子を抽出する。そして、状況分類部122は、複数のデバイス制御因子パターンに共通して出現する外界因子を「状況」(Situation)の構成要素として抽出し、各構成要素に対して、所定のレンジ幅ごとのクラス分類を行う。
【0039】
状況分類部122は、例えば、以下のようにして、報酬(スコア)に与える影響の大きい外界因子を「状況」(Situation)の構成要素として抽出する。
状況分類部122は、複数の外界因子の中から一つの外界因子を特定する。そして、状況分類部122は、特定した外界因子を除く他の外界因子およびデバイス制御因子パターンを固定した上で、特定した外界因子のみの値を変化させた学習データを、学習データDB400から抽出する。ここで、外界因子の値の「変化」とは、外界因子の上限値と下限値との間をN分割した分割レンジのうち、異なるレンジへ移行させることを示す。
状況分類部122は、同じデバイス制御因子パターンにおいて、特定した外界因子それぞれの値を変化させた学習データの報酬(スコア)を抽出する。
そして、状況分類部122は、各外界因子の報酬(スコア)の不純度(例えば、エントロピー)を計算し、不純度が大きい上位N個の外界因子を抽出する。
【0040】
状況分類部122は、所定のM個以上のデバイス制御因子パターン(α,β,…,γ)について、各デバイス制御因子パターン(α,β,…,γ)における不純度が大きい上位N個の外界因子を抽出する。そして、状況分類部122は、抽出した各デバイス制御因子パターンの上位N個の外界因子を参照し、抽出した全デバイス制御因子パターンにおいて出現する外界因子の出現回数の総和が大きい順にP個抽出し、「状況」(Situation)の構成要素とする。
【0041】
状況分類部122は、抽出したP個の外界因子に対し、頻出順に各外界因子に対しQ個のレンジ幅に分割してクラスを形成し、決定木を構成する。そして、状況分類部122は、構成した決定木における最終分岐点を1つの「状況」(Situation)、つまり1Situationとして定義する。以降の記載において、特に分岐(分類)したそれぞれの「状況」を意図する場合に「状況」(1Situation)と記載する。なお、「状況」(1Situation)は請求項に記載の「分類」に相当する。
【0042】
状況分類部122は、運用開始時等において外界因子のバリエーションが少ない時期である学習データ不足時や、運用段階における所定の時間間隔で、報酬(スコア)に与える影響の大きい外界因子の抽出と「状況」(Situation)の再定義を繰り返す。そして、「状況」(Situation)の構成要素に変更がある場合には、1つの「状況」(1Situation)ごとの学習データの再分類と学習モデルの再生成が、学習データ管理部123および学習モデル管理部124により行われる。
また、学習モデル更新後、目標報酬(スコア)に対し予測されたデバイス制御値が目標を満たさない「状況」(1Situation)については、目標報酬(スコア)を満たすデバイス制御値の発見まで、予測制御値の生成と学習モデルの更新を実行する。
【0043】
学習データ管理部123は、制御値生成部121が生成したデバイス制御値と、そのデバイス制御の結果に基づきスコア計算部140が算出したスコアとを、学習データとして「状況」(1Situation)ごとに学習データDB400に記憶する。
【0044】
学習モデル管理部124は、学習データを用いて強化学習される、「状況」(1Situation)ごとの学習モデル100(100A,100B,100C、…)を管理する。学習モデル管理部124は、状況分類部122において、「状況」(Situation)の構成要素が変更された場合には、その「状況」(1Situation)ごとの学習モデルを再生成する。
また、学習モデル管理部124は、強化学習による学習モデルの生成において、所定の目標報酬(スコア)を満たすことにより、学習段階を終了し運用段階に移行した後においても、各状況(1Situation)ごとに(非関与デバイスを除いた)制御対象デバイス5のデバイス制御値をまとめたデバイス制御情報(デバイス制御因子パターン)とそのスコアとを取得して、学習データDB400に保管していく。
【0045】
持続的外乱判定部125は、運用段階での、同一「状況」(1Situation)におけるデバイス制御因子パターンにおいて、所定の目標報酬を満たさない期間が所定期間T以上継続した場合に、持続的外乱が発生し、ロケーション特性が変化していると判定する。そして、持続的外乱判定部125は、所定期間Tより前の該当ロケーションにおける全「状況」(1Situation)の学習データを、学習データ管理部123を介して削除し、学習モデルの更新を実行させる。
学習モデルの更新後に、目標報酬(スコア)に対し、予測されたデバイス制御値の目標を満たさない「状況」(1Situation)については、目標報酬(スコア)を満たすデバイス制御値が発見されるまで、デバイス制御値の生成と、学習モデルの更新を実行させる。
【0046】
制御値呼出部126は、学習段階および運用段階において、状況認識部110が判定した「状況」(1Situation)に基づき、記憶部12内の学習データDB400を参照し、その「状況」(1Situation)に対応した、デバイス制御値(デバイス制御因子パターン)を抽出して、デバイス制御部130に出力する。その際、制御値呼出部126は、その「状況」(1Situation)に含まれるデバイス制御値(デバイス制御因子パターン)のうち、報酬(スコア)が最も高いデバイス制御値を抽出して各制御対象デバイス5に送信する。これにより、学習モデルについて、強化学習により、より報酬(スコア)が高くなるようにパラメータを調整することができる。
【0047】
制御対象デバイス選択部127は、所定の報酬(目標報酬)に達することにより、学習段階を終了した際に、強化学習における報酬達成に非関与のデバイスを特定し、その特定したデバイスが非関与である「状況」(Situation)の範囲を特定する。そして、制御対象デバイス選択部127は、その特定した「状況」(Situation)において、非関与のデバイスを除いて制御対象デバイス5を選択し、運用段階としてのデバイス制御を実行させる。
また、制御対象デバイス選択部127は、非関与デバイスとその非関与となる「状況」(Situation)の範囲とについて、運用段階において、「状況」(Situation)として定義された外界因子やレンジの更新があったときや、ロケーション特性が変化したとき等を契機に、再度特定して更新する。
この制御対象デバイス選択部127は、非関与デバイス特定部1271と非関与デバイス更新部1272とを備える。
【0048】
非関与デバイス特定部1271は、特定環境(ロケーション)において、強化学習における報酬達成に非関与のデバイス(非関与デバイス)を特定し、その非関与デバイスが非関与である「状況」(Situation)の範囲を特定する。具体的には、非関与デバイス特定部1271は、以下の機能を備える。
【0049】
非関与デバイス特定部1271は、所定の報酬(目標報酬)に達することにより、強化学習による学習モデルの学習段階が終了したことを契機として以下の処理を実行する。
非関与デバイス特定部1271は、学習データDB400に格納された、各「状況」(1Situation)ごとのデバイス制御因子パターン(デバイス制御値)について、ある特定デバイスXの制御値のみを、変更させた場合に、報酬(スコア)が所定のレンジ内に収まるか否かを判定する。ここでの「変更」は、元の制御値に近い値となるのを避けるため、変更後の制御値を乱数により発生させたり、該当の「状況」(1Situation)のレンジでは用いられていない範囲の制御値を設定する。
そして、非関与デバイス特定部1271は、そのデバイスXの制御値のみを変更して、各制御対象デバイス5を制御した際の報酬(スコア)を取得し、その報酬(スコア)が変更前と同じ所定のレンジ内に収まる場合に、そのデバイスXを非関与デバイス候補とする。そして、非関与デバイス特定部1271は、デバイスXに対し、各「状況」(1Situation)において、同様の処理を行い、非関与の「状況」(1Situation)の範囲を特定する。
【0050】
図4に示す例で説明する。非関与デバイス特定部1271は、ある「状況」(Situation「A」)における同一分割レンジ内のデバイス制御因子パターン「α」を抽出し、デバイスXの制御値のみを変更する。ここでは、デバイスYについては、制御値の因子<Y1, Y2,…,Yn>の値を<y12, y2n,…,yn2>に固定し、デバイスXについては、制御値の因子<X1, X2,…,Xn>の値のうち、<x11, x22,…,xn1>の値を変更する。この時、報酬R(スコア)の値がどのクラス(R1~Rn)に属するのかを決定する。例えば、報酬Rのレンジにおいて、R1の範囲が、所定のレンジ内(例えば、目標報酬以上の範囲)であるとすると、デバイスXの値を変更した場合の報酬Rの値が、同じくクラスR1に収まる場合に、そのデバイスXは、報酬達成に非関与のデバイスの可能性があるため、非関与デバイス候補とする。以下、この処理を、「非関与デバイス候補特定処理」と称する。
この処理を、他のすべての「状況」(Situation)(Situation「B」…)のデバイス制御因子パターンについてデバイスXの制御値のみを変更することにより、非関与である「状況」(Situation)の範囲を特定する。ここで、例えば、すべての「状況」(Situation)について非関与の範囲として特定される場合あるし、特定の「状況」(1Situation)、例えば、Situation「A」とSituation「B」のみが非関与の範囲として特定される場合もある。
【0051】
次に、非関与デバイス特定部1271は、非関与として特定された「状況」(1Situation)ごとに、所定の報酬(目標報酬)を満たすデバイス制御因子パターンの中から1つのデバイス制御値を選択し、非関与デバイス候補(ここでは、デバイスX)を除いた制御対象デバイス5の制御を行い、引き続き所定の報酬(目標報酬)を満たすか否かを判定する。そして、非関与デバイス特定部1271は、判定の結果、所定の報酬(目標報酬)を満たす場合、その非関与デバイス候補(デバイスX)を非関与デバイスとして確定し、該当「状況」(Situation)の範囲を非関与の「状況」(Situation)の範囲として確定する。
なお、非関与デバイス特定部1271は、所定の報酬(目標報酬)を満たすデバイス制御因子パターンの中から1つのデバイス制御値のみを選択し、非関与デバイス候補を除いて所定の報酬(目標報酬)を満たすか否かの判定をすればよく、すべてのデバイス制御値について判定する必要はない。所定の報酬(目標報酬)を満たすデバイス制御値が1つでも判明すればよいため、運用履歴が少ない段階においても、非関与デバイスを削減できるメリットがある。
【0052】
非関与デバイス特定部1271は、他のデバイス(例えば、デバイスY)に対して、同様に、非関与デバイス候補とその非関与の「状況」(Situation)の範囲を特定する。そして、非関与デバイス特定部1271は、確定した非関与デバイス(ここでは、デバイスX)と非関与デバイス候補(ここではデバイスY)とを除いた制御対象デバイス5の制御を行い、引き続き所定の報酬(目標報酬)を満たすかを否かを判定する。ここで、所定の報酬(目標報酬)を満たす場合には、デバイスXとその非関与の「状況」(Situation)の範囲に加えて、デバイスYを非関与デバイスとして確定し、その非関与の「状況」(Situation)の範囲を確定する。この処理をすべての制御対象デバイス5に対して繰り返し、最終的な非関与デバイスとその非関与の「状況」(Situation)の範囲を確定する。
【0053】
非関与デバイス特定部1271は、確定した非関与デバイスとその非関与の「状況」(Situation)の範囲の情報を、学習データ管理部123に出力することにより、運用段階において、制御値呼出部126が、学習データDB400からデバイス制御値(デバイス制御因子パターン)を抽出する際に、非関与の「状況」(Situation)の範囲においては、非関与デバイスとして確定したデバイス制御値の情報を抽出しないようにする。よって、デバイス制御部130は、非関与の「状況」(Situation)の範囲においては、非関与デバイスを除いた各制御対象デバイス5にデバイス制御値を送信する。
これにより、特定の「状況」(Situation)の範囲において報酬(スコア)に対し非関与とされた制御対象デバイス5については、電源や制御を停止したり、他のタスクへ割り当てたりすることができ、デバイス稼働効率を向上させることができる。
【0054】
図3に戻り、非関与デバイス更新部1272は、運用段階において、学習データ管理部123が管理する学習データのデータ構成の変更を契機に、非関与デバイス特定部1271が特定した、非関与デバイスとその非関与の「状況」(Situation)の範囲の情報を更新させる。
具体的には、非関与デバイス更新部1272は、学習データに関する以下の3ケースとなる状態を検出し、非関与デバイスとその非関与の「状況」(Situation)の範囲とを更新する。
【0055】
(ケース1)「状況」(Situation)の分岐(分類)のレンジの変更があった場合
外界因子<F1, F2,…,Fn>の各因子に対して、Q個のレンジ幅に分割していたものを、Q+1のレンジ幅に分割するように変更された場合や、ある外界因子において設定されていた外界因子の上限値や下限値が変更された場合である。
この(ケース1)は、例えば、状況分類部122が運用段階において、所定の時間間隔で、「状況」(Situation)の分類の見直しを行い、学習データの再分類や学習モデルの再生成が行われたことが契機となる。
【0056】
例えば、対象車両追跡システムにおいて、外界因子が車両の速度であった場合に、それまでの外界因子(構成要素)が時速10~100kmとして学習していたところ、新たな上限値が120kmとなり、時刻10~120kmとして「状況」(Situation)が再定義された場合である。
【0057】
(ケース1)の場合、非関与デバイス更新部1272は、新たに定義された「状況」(Situation)の学習データが蓄積され、所定の報酬(目標報酬)を満たすようになったときに、非関与デバイス特定部1271に、非関与デバイスの特定とその非関与の「状況」(Situation)の範囲の特定を再度実行させる指示情報(以下、「非関与デバイス更新指示」と称する。)を出力する。
【0058】
(ケース2)外界因子の構成要素が変化した場合
外界因子<F1, F2,…,Fn>の構成要素自体が変化し、新規の外界因子<F1’, F2’,…,Fn’>で構成された新たな「状況」(Situation)として定義された場合である。
この(ケース2)は、例えば、状況分類部122が運用段階において、所定の時間間隔で、「状況」(Situation)における報酬(スコア)に与える影響の大きい外界因子の見直しを行った結果、外界因子の構成要素が変化したことにより、所定の報酬(目標報酬)を満たすまでの学習データの収集と学習モデルの再生成とが行われたことが契機となる。
【0059】
例えば、対象車両追跡システムにおいて、それまで外界因子が、車両の速度、気温、湿度、照度であったものに、風速が外界因子として加わり、「状況」(Situation)の分割レンジも風速0~40mを分割したレンジを含む新たな「状況」(Situation)として再定義された場合である。
【0060】
(ケース2)の場合、学習データ管理部123は、それまでの学習データを破棄する。そして、非関与デバイス更新部1272は、新たに定義された「状況」(Situation)の学習データが学習データDB400に蓄積され、所定の報酬(目標報酬)を満たすようになったときに、非関与デバイス特定部1271に、非関与デバイスの特定とその非関与の「状況」(Situation)の範囲の特定を再度実行させる指示情報(非関与デバイス更新指示)を出力する。
【0061】
(ケース3)ロケーション特性が変化した場合
持続的外乱判定部125が、運用段階において、所定の目標報酬を満たさない期間が所定期間T以上継続したことにより、持続的外乱が発生し、ロケーション特性が変化していると判定した場合、所定期間Tより前の該当ロケーションにおける全「状況」(1Situation)の学習データが、学習データ管理部123を介して削除され、学習モデルの更新が実行される。
【0062】
例えば、対象車両追跡システムの運用段階において、コース上のある場所で、走行車両の速度を低下させるための「ハンプ」(段差・コブ)が道路に設置されたり、コース脇に建設されたビルにより、制御対象デバイス5である首振りカメラ5aのコース上の撮影範囲が制限されたりした場合である。このとき、外界因子からの情報では、環境の変化を計測できないが、持続的外乱判定部125は、報酬(スコア)が継続して低下していることから、ロケーション特性の変化があると判定する。
【0063】
(ケース3)の場合、持続的外乱判定部125は、所定期間Tより前の該当ロケーションにおける全「状況」(1Situation)の学習データを、学習データ管理部123を介して削除し、学習モデルの更新を実行させる。そして、持続的外乱判定部125は、学習モデルの更新後に、目標報酬(スコア)に対し、予測されたデバイス制御値の目標を満たさない「状況」(1Situation)については、目標報酬(スコア)を満たすデバイス制御値が発見されるまで、デバイス制御値の生成と、学習モデルの更新を実行させる。
非関与デバイス更新部1272は、新たな学習データが学習データDB400に蓄積され、所定の報酬(目標報酬)を満たすようになったときに、非関与デバイス特定部1271に、非関与デバイスの特定とその非関与の「状況」(Situation)の範囲の特定を再度実行させる指示情報(非関与デバイス更新指示)を出力する。
【0064】
このようにすることにより、非関与デバイス更新部1272は、運用段階における、新規な「状況」(Situation)の設定、外界因子の構成要素の変化、ロケーション特性の変化等の環境変化に対応して、報酬(スコア)変動に非関与なデバイスとその非関与の「状況」(Situation)の範囲を見直すことができる。よって、環境変化に伴う本来関与すべきデバイスの非関与による所定報酬の未達成や所定報酬達成までの試行回数の増加を未然に防いだ上で、デバイス効率を継続して向上させることが可能となる。
【0065】
図3に戻り、デバイス制御部130は、強化学習部120が決定したデバイス制御値を、各制御対象デバイス5に制御情報として送信する。これにより、各制御対象デバイス5は、デバイス制御値に基づき制御を実行する。
【0066】
スコア計算部140は、各制御対象デバイス5の制御結果に基づき、所定の報酬(スコア)を計算する。スコア計算部140は、報酬(スコア)を計算するために必要となる情報を、各制御対象デバイス5や、外部の管理装置等から取得する。
【0067】
<処理の流れ>
次に、制御対象デバイス選択装置1が実行する処理の流れについて説明する。
【0068】
≪非関与デバイス特定処理≫
まず、制御対象デバイス選択装置1の制御対象デバイス選択部127(非関与デバイス特定部1271)が実行する非関与デバイス特定処理について説明する。
図5は、本実施形態に係る制御対象デバイス選択装置1が実行する非関与デバイス特定処理の流れを示すフローチャートである。
この非関与デバイス特定処理は、所定の報酬(目標報酬)に達することにより、学習段階が終了した際、つまり、運用段階に移行する際に実行される。なお、制御対象デバイス選択部127(非関与デバイス特定部1271)は、学習段階が終了したことを、学習データ管理部123からの通知で受け取ったり、デバイス間協調制御を行うシステムの管理装置等からの通知で受け取ったりすることにより、認識することができる。
【0069】
まず、制御対象デバイス選択部127の非関与デバイス特定部1271は、一つの制御対象デバイス5(例えば、デバイスX)を特定し、学習データDB400に格納された、各「状況」(1Situation)ごとのデバイス制御因子パターン(デバイス制御値)について、その特定した制御対象デバイス5(デバイスX)の制御値のみを変更し、報酬(スコア)が所定のレンジ内に収まるか否かを判定する(ステップS1)。
ここで、報酬(スコア)が、すべての「状況」(1Situation)において所定のレンジ内に収まらない場合(ステップS1→No)、その特定した制御対象デバイス(デバイスX)は、報酬達成に関与するデバイスであると判定して、次の制御対象デバイス5を選択するため、ステップS1に戻る。
なお、非関与デバイス特定部1271は、すべての制御対象デバイス5の判定を実行し、そのすべてが報酬達成に関与するデバイスであると判定した場合には処理を終了する。
【0070】
一方、報酬(スコア)が、いずれかの「状況」(1Situation)において所定のレンジ内に収まる場合(ステップS1→Yes)、つまり、一つの「状況」(1Situation)でも所定のレンジ内に収まる場合には、非関与デバイス特定部1271は、その制御対象デバイス5(デバイスX)を非関与デバイス候補とし、その非関与の「状況」(1Situation)の範囲を特定する(ステップS2)。
なお、ステップS1~S2までの処理を、「非関与デバイス候補特定処理」と称する。
【0071】
次に、非関与デバイス特定部1271は、非関与として特定された「状況」(1Situation)ごとに、所定の報酬(目標報酬)を満たすデバイス制御因子パターンの中から1つのデバイス制御因子パターンを選択し、非関与デバイス候補(ここでは、デバイスX)を除いた各制御対象デバイス5の制御を行い、引き続き所定の報酬(目標報酬)を満たすか否かを判定する(ステップS3)。
ここで、判定の結果、特定した各「状況」(1Situation)のすべてにおいて、報酬(スコア)が所定の報酬(目標報酬)を満たさない場合(ステップS3→No)、その特定した非関与デバイス候補(デバイスX)は、報酬達成に関与するデバイスであると判断して、次の制御対象デバイス5を選択するため、ステップS1に戻る。
【0072】
一方、報酬(スコア)が、いずれかの「状況」(1Situation)において所定の報酬(目標報酬)を満たす場合(ステップS3→Yes)、つまり、一つの「状況」(1Situation)でも所定の報酬(目標報酬)を満たした場合には、非関与デバイス特定部1271は、その非関与デバイス候補(デバイスX)を非関与デバイスとして確定し、その所定の報酬(目標報酬)を満たした「状況」(1Situation)を、非関与の「状況」(1Situation)の範囲として確定する(ステップS4)。
【0073】
次に、非関与デバイス特定部1271は、まだ、非関与デバイス候補確定処理を実行していない、他の制御対象デバイス5の一つ(例えば、デバイスY)を特定する。そして、ステップS1~S2と同様に、非関与デバイス候補特定処理を実行する(ステップS5)。
これにより、他の制御対象デバイス5(デバイスY)を非関与デバイス候補として特定し、その非関与の「状況」(1Situation)の範囲を特定したものとする。
【0074】
続いて、非関与デバイス特定部1271は、ステップS5において非関与として特定された「状況」(1Situation)ごとに、所定の報酬(目標報酬)を満たすデバイス制御因子パターンの中から1つのデバイス制御値を選択する。そして、非関与デバイス特定部1271は、ステップS4において確定済みの非関与デバイス(デバイスX)と、ステップS5で特定した非関与デバイス候補(デバイスY)を除いて、各制御対象デバイス5の制御を行い、引き続き所定の報酬(目標報酬)を満たすか否かを判定する(ステップS6)。
ここで、判定の結果、特定した各「状況」(1Situation)のすべてにおいて、報酬(スコア)が所定の報酬(目標報酬)を満たさない場合(ステップS6→No)、その特定した非関与デバイス候補(デバイスY)は、報酬達成に関与するデバイスであると判断して、次の制御対象デバイス5を選択するため、ステップS5に戻る。
【0075】
一方、報酬(スコア)が、いずれかの「状況」(1Situation)において所定の報酬(目標報酬)を満たす場合(ステップS6→Yes)、つまり、一つの「状況」(1Situation)でも所定の報酬(目標報酬)を満たした場合には、非関与デバイス特定部1271は、その非関与デバイス候補(デバイスY)を非関与デバイスとして確定し、その所定の報酬(目標報酬)を満たした「状況」(1Situation)を、非関与の「状況」(1Situation)の範囲として確定する(ステップS7)。
【0076】
次に、非関与デバイス特定部1271は、すべての制御対象デバイス5について処理を行ったか否かを判定する(ステップS8)、そして、まだ処理を行っていない制御対象デバイス5がある場合には(ステップS8→No)、ステップS5に戻り処理を続ける。
一方、非関与デバイス特定部1271は、すべての制御対象デバイス5について処理を行った場合には(ステップS8→Yes)、処理を終了する。
【0077】
≪非関与デバイス更新処理≫
次に、運用段階において、非関与デバイス更新部1272が、非関与デバイス特定部1271が特定した、非関与デバイスとその非関与の「状況」(Situation)の範囲の情報を、学習データ管理部123が管理する学習データのデータ構成の変更を契機に更新する処理について説明する。
図6は、本実施形態に係る制御対象デバイス選択装置1が実行する非関与デバイス更新処理の流れを示すフローチャートである。
【0078】
まず、非関与デバイス更新部1272は、運用段階において、「状況」(Situation)として定義された外界因子やレンジの更新、ロケーション特性の変化があったことにより、学習データの「状況」(Situation)の変更や学習モデルの再生成(再構築)があったか否かを判定する(ステップS11)。
具体的には、非関与デバイス更新部1272は、上記した、(ケース1)「状況」(Situation)の分岐(分類)のレンジの変更、(ケース2)外界因子の構成要素の変化、(ケース3)ロケーション特性の変化、のうちのいずれか1つがあったか否かを判定する。
【0079】
ステップS11において、(ケース1)~(ケース3)のいずれにも該当しない場合には(ステップS11→No)、運用段階における、(ケース1)~(ケース3)の事象が発生しているか否かの監視を続ける。
【0080】
一方、非関与デバイス更新部1272は、(ケース1)~(ケース3)のいずれかの事象が発生したことにより、学習データの「状況」(Situation)の変更や学習モデルの再生成(再構築)があったと判定した場合には(ステップS11→Yes)、ステップS12へ進む。
【0081】
ステップS12において、非関与デバイス更新部1272は、(ケース1)~(ケース3)のいずれかに制御対象デバイス選択装置1が対応した結果、所定の報酬(目標報酬)を満たす学習データが蓄積され、学習モデルの更新が完了したか否かを判定する。
そして、非関与デバイス更新部1272は、学習データの蓄積と学習モデルの更新が完了していない場合には(ステップS12→No)、完了するまで待つ。
【0082】
一方、非関与デバイス更新部1272は、学習データの蓄積と学習モデルの更新が完了したと判定した場合には(ステップS12→Yes)、非関与デバイス特定処理(
図5参照)の再実行指示(非関与デバイス更新指示)を、非関与デバイス特定部1271に出力する(ステップS13)。
非関与デバイス特定部1271は、この非関与デバイス更新指示を受信したことを契機として、非関与デバイス特定処理(
図5)を実行し、非関与デバイスとその非関与の「状況」(Situation)の範囲を更新する(ステップS14)。
【0083】
このようにすることにより、運用段階における、新規な「状況」(Situation)の定義、「状況」(Situation)の構成要素の変化、ロケーション特性の変化等の環境変化に対応して、報酬変動に非関与なデバイスとその非関与の「状況」(Situation)の範囲を見直すことができる。
【0084】
<ハードウェア構成>
本実施形態に係る制御対象デバイス選択装置1は、例えば
図7に示すような構成のコンピュータ900によって実現される。
図7は、本実施形態に係る制御対象デバイス選択装置1の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
【0085】
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、
図3に示す制御対象デバイス選択装置1の制御部10による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
【0086】
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
【0087】
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
【0088】
メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
【0089】
例えば、コンピュータ900が本実施形態に係る制御対象デバイス選択装置1として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより制御対象デバイス選択装置1の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
【0090】
<効果>
以下、本発明に係る制御対象デバイス選択装置等の効果について説明する。
本発明に係る制御対象デバイス選択装置は、制御対象デバイス5を選択する制御対象デバイス選択装置1であって、各IoTデバイス3から取得したデータで示される外界因子について、各外界因子の不純度を計算することにより、報酬に影響を与える外界因子を構成要素として抽出し、抽出した外界因子の値を所定のレンジ幅に分割して、制御対象デバイス5を制御する状況を、分割したレンジごとに分類として定義する状況分類部122と、各IoTデバイス3から取得した外界因子について、分類ごとに、複数の制御対象デバイス5のデバイス制御値を生成する制御値生成部121と、各制御対象デバイス5の制御結果から得られる報酬を示すスコアを計算するスコア計算部140と、同一の分類に含まれるデバイス制御値を示すデバイス制御因子パターンごとに、デバイス制御値とスコアとで示される各学習データを、学習データDB400に記憶する学習データ管理部123と、学習データを用いて、所定の報酬を満たすように強化学習することにより、分類ごとの学習モデルを生成する学習モデル管理部124と、分類それぞれのデバイス制御因子パターンにおいて、特定の制御対象デバイス5の制御値のみを変更し、変更後の制御結果であるスコアが、スコアの上限値および下限値を所定のレンジ幅に分割したレンジのうちの所定のレンジ内に収まる場合に、当該特定の制御対象デバイス5を、非関与デバイス候補として特定するとともに、非関与デバイス候補における非関与の分類の範囲を特定する非関与デバイス候補特定処理を実行し、制御対象デバイス5それぞれにおいて非関与デバイス候補特定処理を実行し、非関与の分類ごとに、デバイス制御因子パターンの中からデバイス制御値を選択し、特定した非関与デバイス候補を除いた制御対象デバイス5の制御を行い、所定の報酬を満たす場合に、当該非関与デバイス候補を非関与デバイスとして確定するとともに、非関与の分類の範囲を確定する非関与デバイス特定部1271と、非関与の分類の範囲においては、非関与デバイスを除いた各制御対象デバイス5にデバイス制御値を送信するデバイス制御部130と、を備えることを特徴とする。
【0091】
このようにすることにより、制御対象デバイス選択装置1は、強化学習における報酬達成に非関与のデバイスとそのデバイスが非関与である「状況」(Situation)の範囲(分類の範囲)を特定して、その非関与のデバイス以外の制御対象デバイスを選択し、デバイス稼働効率を向上させることができる。
【0092】
また、制御対象デバイス選択装置1において、同一の分類における学習データのスコアが、所定期間以上継続して所定の報酬を満たさない場合に、外界因子以外の未知若しくは未計測の報酬に影響を与える要因を示すロケーション特性が変化したと判定する持続的外乱判定部125をさらに備え、持続的外乱判定部125が、所定期間以上継続してスコアが所定の報酬を満たさず、ロケーション特性が変化したと判定したことにより、学習データ管理部123が、所定期間より以前の学習データを削除し、学習モデル管理部124が、分類ごとの学習モデルを更新した場合、状況分類部122が、所定の時間間隔で分類の定義を再度行った結果、分類の定義におけるレンジに変更があった際に、学習データ管理部123が学習データの再分類を行い、学習モデル管理部124が、変更後の分類において学習データを更新した場合、状況分類部122が、所定の時間間隔で報酬に影響を与える外界因子の構成要素の抽出を行った結果、構成要素が変化した際に、学習データ管理部123が、それ以前の学習データを削除し、学習モデル管理部124が、変化した構成要素を用いた分類ごとに学習モデルを更新した場合、のいずれかの場合を検出すると、非関与デバイスの確定と、非関与の分類の範囲の確定とを再度実行させる非関与デバイス更新指示を、非関与デバイス特定部1271に出力する非関与デバイス更新部1272を備えることを特徴とする。
【0093】
このようにすることにより、制御対象デバイス選択装置1は、運用段階における環境変化(ロケーション特性の変化、分類のレンジの変化、構成要素の変化)に対応して、報酬変動に非関与なデバイスとその非関与の分類の範囲を見直すことができる。よって、環境変化に伴う本来関与すべき制御対象デバイス5の非関与による所定報酬の未達成や、所定報酬達成までの学習データ生成の試行回数の増加を未然に防ぎ、かつ、デバイス稼働効率を継続して向上させることができる。
【0094】
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
【符号の説明】
【0095】
1 制御対象デバイス装置
3 IoTデバイス
5 制御対象デバイス
10 制御部
11 入出力部
12 記憶部
100 学習モデル
110 状況認識部
120 強化学習部
121 制御値生成部
122 状況分類部
123 学習データ管理部
124 学習モデル管理部
125 持続的外乱判定部
126 制御値呼出部
127 制御対象デバイス選択部
130 デバイス制御部
140 スコア計算部
200 IoTデバイス情報DB
300 制御対象デバイス情報DB
400 学習データDB
1271 非関与デバイス特定部
1272 非関与デバイス更新部