(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】デバイス制御装置、デバイス制御プログラム、環境分類装置、および、アクチュエータ制御装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20231205BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022543840
(86)(22)【出願日】2020-08-18
(86)【国際出願番号】 JP2020031125
(87)【国際公開番号】W WO2022038674
(87)【国際公開日】2022-02-24
【審査請求日】2023-01-05
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】野口 博史
(72)【発明者】
【氏名】片岡 操
(72)【発明者】
【氏名】磯田 卓万
(72)【発明者】
【氏名】服部 恭太
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2018/173121(WO,A1)
【文献】特開2019-153246(JP,A)
【文献】特開2020-065920(JP,A)
【文献】特開2020-112483(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
システム稼働環境に配置された、センサデバイスとアクチュエータデバイスとに通信接続されるデバイス制御装置であって、
過去に前記センサデバイスから取得した過去のセンサ情報から分類ラベルを対応付ける分類特定用データを参照し、今回の前記センサデバイスから取得した今回のセンサ情報に分類ラベルを付与する分類部と、
前記分類ラベルと、当該分類ラベルごとにあらかじめ用意される学習モデルとを対応付けるモデル特定用データを参照し、前記分類部が付与した分類ラベルに対応する学習モデルを強化モデルとして選択し、
前記強化モデルを用いて前記アクチュエータデバイスを制御するとともに、その制御にしたがって前記センサデバイスから取得したセンサ情報をもとに、前記強化モデルを強化学習する制御部と、を有することを特徴とする
デバイス制御装置。
【請求項2】
前記分類部は、前記今回のセンサ情報と所定値以上の類似度を有する過去のセンサ情報が前記分類特定用データに登録されていない場合、新規に発行する分類ラベルである新規ラベルを前記今回のセンサ情報に付与して前記分類特定用データを更新し、
前記制御部は、未学習状態の学習モデルを前記強化モデルとして選択し、その強化モデルと前記新規ラベルとを対応付けて前記モデル特定用データを更新することを特徴とする
請求項1に記載のデバイス制御装置。
【請求項3】
前記制御部は、前記強化モデルを強化学習した結果の報酬の評価値が所定閾値未満の場合には、今回使用した前記強化モデルに対応する分類ラベルを誤りと判定して前記分類部に再分類要求信号を送信し、
前記分類部は、前記再分類要求信号を受けて、それ以前に前記今回のセンサ情報に付与されていない分類ラベルを前記分類特定用データから読み出し、その読み出した分類ラベルを前記今回のセンサ情報に付与することを特徴とする
請求項1に記載のデバイス制御装置。
【請求項4】
前記制御部は、前記強化モデルを強化学習した結果の報酬の上昇度合いが所定閾値以上の場合には、前記強化モデルの強化学習に使用したセンサ情報を強化データとして前記分類部に通知するとともに、今回の前記強化モデルを次回の同じ分類ラベルに対応する学習モデルとして保存し、
前記分類部は、通知された強化データのセンサ情報を今回の分類ラベルに対応付けるように前記分類特定用データを更新することを特徴とする
請求項1に記載のデバイス制御装置。
【請求項5】
コンピュータを、請求項1ないし請求項4のいずれか1項に記載のデバイス制御装置として機能させるためのデバイス制御プログラム。
【請求項6】
システム稼働環境に配置された、センサデバイスとアクチュエータデバイスとに通信接続される環境分類装置であって、
過去に前記センサデバイスから取得した過去のセンサ情報から分類ラベルを対応付ける分類特定用データを参照し、今回の前記センサデバイスから取得した今回のセンサ情報に分類ラベルを付与することで、分類ラベルごとにあらかじめ用意される学習モデルから、前記アクチュエータデバイスの制御に用いる学習モデルを特定可能とする分類部を有することを特徴とする
環境分類装置。
【請求項7】
システム稼働環境に配置された、センサデバイスとアクチュエータデバイスとに通信接続されるアクチュエータ制御装置であって、
今回の前記センサデバイスから取得した今回のセンサ情報から特定された学習モデルである強化モデルを用いて前記アクチュエータデバイスを制御するとともに、その制御にしたがって前記センサデバイスから取得したセンサ情報をもとに、前記強化モデルを強化学習する制御部と、を有することを特徴とする
アクチュエータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス制御装置、デバイス制御プログラム、環境分類装置、および、アクチュエータ制御装置に関する。
【背景技術】
【0002】
今日、IoT(Internet of Things)の急速な普及拡大により、多種多様かつ膨大な数のデバイスがネットワークに接続されつつある。2025年には100億台を超えるデバイスがインターネットに接続されると言われている。今後、家庭や工場、街頭など様々な環境に多くのデバイスが設置され、それらを利用した多様なサービスの登場が予想される。
【0003】
デバイスを利用して実施されるサービスの例として、センサデバイスを利用して環境から情報を収集し、その情報をもとにアクチュエータデバイスを制御するサービスがある。センサデバイスは、カメラや温度センサなどの環境から情報を取得するデバイスである。アクチュエータデバイスは、スピーカ、ライト、ディスプレイなどの環境へ物理的な作用を及ぼすデバイスである。
【0004】
一般に、このような物理空間に配備された複数のデバイスから構成されるシステムは、設置条件や環境変化の影響を受けるため、連携動作させるための制御論理が複雑になる。例えば、環境内に設置された温度センサをもとにした暖房機の制御では、温度センサと暖房機の距離が離れている場合には、暖房機の出力結果が観測地点の温度に反映されるまでに時間を要する。
【0005】
そのため、反映されるまでに時間を考慮した暖房機の出力調整が必要である。また、人がいる場所のみを温めるといった高度な制御を行うには、近傍のセンサを用いて、人の位置をリアルタイムに感知、推定することも必要である。
このように、複数デバイスを連携させるシステムの構築には、従来は多大な時間と専門知識を要する設計や検証が必要であり、サービスの安価かつ迅速な提供の障害となっている。
【0006】
非特許文献1には、複数のデバイスを連携したシステムの構築ツール例として、R-env:連舞というツールが記載されている。本ツールは、デバイス間のインタフェース差分の吸収機能や、連携シナリオの設計GUIツールを提供することで、デバイス連携サービスの開発者の負担を低減する。しかし、デバイスの連携動作に伴う個々のデバイスの詳細な制御論理については、依然として人手による設計や事前の調整が必要である。
【0007】
例えば、カメラ映像からロボットを目標物へ移動させるシステムを考える。カメラの撮影映像に基づいて、ロボットの位置座標と目標物への距離を求める制御論理を設計し、さらに、目標地点へ向かうためのロボットの移動方向と速度とを算出する制御論理を設計する必要がある。これらの制御論理は、カメラとロボットの位置関係や筐体サイズなどの、IoTデバイスが配置される環境を考慮する必要がある。
この環境は、膨大な数の設置位置と種類の組み合わせにより様々に変化する。よって、様々な環境に応じたIoTデバイスの論理設計を全て人手で対応するには、多大な労力を要する。
【0008】
一方、非特許文献2には、機械学習の手法として、報酬を最大化するように学習モデルを改善する強化学習が記載されている。学習モデルは、例えば、過去の実績をもとにして、カメラ映像に応じた適切なロボット移動量を出力する制御論理が実装されたものである。
これにより、環境に応じた適切な学習モデルを自動的に作成し、その学習モデルを用いてアクチュエータ制御することで、複雑な制御論理を人手で調整する手間を削減できる。
【先行技術文献】
【非特許文献】
【0009】
【文献】松元 崇裕、松村 成宗、細淵 貴司他著、“「R-env:連舞TM」クラウド対応型インタラクション制御技術”、The 30th Annual Conference of the Japanese Society for Artificial Intelligence,2016,1I4-NFC-02b-1
【文献】Aurelien Geron著、「scikit-learnとTensorFlowによる実践機械学習」、オライリー・ジャパン、2018年04月発行
【発明の概要】
【発明が解決しようとする課題】
【0010】
非特許文献2などの一般的な機械学習は、学習モデルの作成環境と使用環境との差が大きいと効用が得られないため、再現性がない環境への適用は難しい。例えば、近傍の複数カメラの撮影映像を活用してロボットを目標物へ移動させるシステムを機械学習によって構成するには、カメラの設置位置が固定され、地形や障害物が変化しないことが望ましい。なぜならば、環境が変化する場合には、起こり得る全ての状況を網羅する学習を行う必要があり、そのためには多大な時間をかけて大量のデータを収集する必要がある。
【0011】
一方、将来のサービスは、日常を取り巻く様々な環境において、ネットワークにつながる多種多様な種類、位置関係のデバイスを組み合わせて実現されると予想される。よって、過去に作成した学習モデルを将来のサービスに流用するときに、過去の学習時の環境を完全に再現する将来の環境は少ない。
【0012】
また、システムを構成するデバイスの種類や位置関係の多様さに加えて、外気温や照度、遮蔽物の有無といったシステムの稼動環境の多様さも考慮する必要がある。よって、起こり得る状況の多様さは甚大であり、多様な環境1つ1つを網羅するように学習モデルを準備することは、コスト的に困難である。非特許文献1などの従来の開発ツールには、環境の多様さに配慮したものは存在しなかった。
【0013】
そこで、本発明は、多様な環境内でも適切なアクチュエータ制御を行うための学習モデルを効率的に構築することを主な課題とする。
【課題を解決するための手段】
【0014】
前記課題を解決するために、本発明のデバイス制御装置は、以下の特徴を有する。
本発明は、システム稼働環境に配置された、センサデバイスとアクチュエータデバイスとに通信接続されるデバイス制御装置であって、
過去に前記センサデバイスから取得した過去のセンサ情報から分類ラベルを対応付ける分類特定用データを参照し、今回の前記センサデバイスから取得した今回のセンサ情報に分類ラベルを付与する分類部と、
前記分類ラベルと、当該分類ラベルごとにあらかじめ用意される学習モデルとを対応付けるモデル特定用データを参照し、前記分類部が付与した分類ラベルに対応する学習モデルを強化モデルとして選択し、
前記強化モデルを用いて前記アクチュエータデバイスを制御するとともに、その制御にしたがって前記センサデバイスから取得したセンサ情報をもとに、前記強化モデルを強化学習する制御部と、を有することを特徴とする。
【発明の効果】
【0015】
本発明によれば、多様な環境内でも適切なアクチュエータ制御を行うための学習モデルを効率的に構築することができる。
【図面の簡単な説明】
【0016】
【
図1】本実施形態に係わるデバイス制御システムの構成図である。
【
図2】本実施形態に係わるデバイス制御装置のハードウェア構成図である。
【
図3】本実施形態に係わるモデルテーブルおよび分類テーブルの構成図である。
【
図4】本実施形態に係わる
図3から既存モデルの強化学習後の状態を示すモデルテーブルおよび分類テーブルの構成図である。
【
図5】本実施形態に係わる
図3から新規モデルの追加後の状態を示すモデルテーブルおよび分類テーブルの構成図である。
【
図6】本実施形態に係わる分類部が実行する分類処理を示すフローチャートである。
【
図7】本実施形態に係わる
図6に続き、分類部が実行する再分類処理を示すフローチャートである。
【
図8】本実施形態に係わる制御部が実行する強化学習の実行処理を示すフローチャートである。
【
図9】本実施形態に係わる
図8に続き、制御部が実行する強化学習後の処理を示すフローチャートである。
【
図10】本実施形態に係わる報酬の評価値の判定処理の詳細を示すグラフである。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【0018】
図1は、デバイス制御システム100の構成図である。
デバイス制御システム100は、1つ以上のアクチュエータデバイス21および1つ以上のセンサデバイス22が配備されたシステム稼働環境2と、そのシステム稼働環境2の各デバイスを制御するためのデバイス制御装置1とが、ネットワークで接続されて構成される。
システム稼働環境2の各デバイス(アクチュエータデバイス21、センサデバイス22)はネットワークを介して接続されており相互に情報交換できる。
【0019】
システム稼働環境2の環境下の各デバイスの種類、各デバイスの設置位置(レイアウト)、および、設置位置における環境条件のうちの少なくとも1つにより、同じ物理空間でもシステム稼働環境2が異なることもある。例えば、同じ部屋に同じデバイスを配置する場合でも、各デバイスの設置位置(レイアウト)を変化させたときはシステム稼働環境2も変化前とは異なるものとしてもよい。
さらに、同じ部屋に同じデバイスを同じレイアウトで配置しても、環境条件を変化させたとき(例えば朝から夜に変化、夏から冬に変化など)はシステム稼働環境2も変化前とは異なるものとしてもよい。
このように、システム稼働環境2を多様化させることで、それぞれの環境に特化した精度の高い学習モデルを構築しやすくなる。
【0020】
アクチュエータデバイス21は、システム稼働環境2内(室内など)に設置され、システム稼働環境2内に作用するデバイスである。例えば、アクチュエータデバイス21はスピーカ、ライト、ディスプレイ、空調機などの室内に固定の機器でもよいし、室内を移動するロボットでもよい。
センサデバイス22は、システム稼働環境2内に設置され、システム稼働環境2に関する各種のデータを計測するデバイスである。例えば、センサデバイス22は室内を監視するカメラでもよいし、室内の気温を計測する温度センサでもよい。
また、アクチュエータデバイス21とセンサデバイス22とは、同一の筐体に集約してもよい。
【0021】
なお、センサデバイス22に関する「センサ情報」は、以下に例示する1つ以上の情報である。
・センサデバイス22自身を示す情報。例えば、デバイスが通知する型番等の機種を示す情報。
・センサデバイス22とシステム稼働環境2との関係で規定される情報。例えば、センサデバイス22がカメラであるときには、システム稼働環境2内におけるカメラの設置位置情報や、カメラの画角情報。
・センサデバイス22から出力される計測データ。例えば、センサデバイス22がカメラであれば、センサ情報は画像データである。センサデバイス22が温度センサであれば、センサ情報は気温データである。
【0022】
デバイス制御装置1は、複数のシステム稼働環境2を区別するための識別子として「分類ラベル」を用いる。分類ラベルは、過去に登録済の「既存ラベル」と、今回に新規発行した「新規ラベル」とが存在する。
デバイス制御装置1は、制御部11と、分類部12と、強化データ格納部13と、モデルテーブル(モデル特定用データ)14と、分類テーブル(分類特定用データ)15と、強化モデル16と、モデル集合17とを有する。
なお、デバイス制御装置1の構成要素は、
図1で示したように1つの筐体に収容してもよいし、複数の筐体に分散して収容してもよい。例えば、デバイス制御装置1は、分類部12と分類テーブル15とを有する環境分類装置3、および、制御部11と強化データ格納部13とモデルテーブル14と強化モデル16とモデル集合17とを有するアクチュエータ制御装置4に機能を分散してもよい。
【0023】
分類部12は、センサデバイス22からのセンサ情報を入力とし、分類テーブル15(詳細は
図3)を参照して、センサ情報に対応する分類ラベルを出力する。これにより、入力したセンサ情報のセンサデバイス22が稼働するシステム稼働環境2を分類する。
制御部11は、分類部12からの分類ラベルを受け、モデルテーブル14(詳細は
図3)を参照して、分類ラベルに対応する学習モデルをモデル集合17として登録済の既存モデルから選択する。
選択された学習モデルは、強化モデル16として転移(データコピー)され、アクチュエータデバイス21の制御に使用される。強化モデル16は、センサ情報を入力とし、そのセンサ情報に適したアクチュエータデバイス21の制御量を出力する。制御量とは、例えば、移動可能なアクチュエータデバイス21の移動方向と移動距離との組み合わせ情報である。
【0024】
さらに、制御部11は、アクチュエータデバイス21の制御結果に応じて変化するセンサデバイス22からのセンサ情報を強化データとして強化データ格納部13に格納するとともに、強化データをもとに強化モデル16を強化学習(改善)する。強化学習は、報酬と呼ばれる任意に定めた指標値を最大とする行動を、試行の反復によって作成した学習モデルを用いて導き出す機械学習の一手法であり、例えば、非特許文献2に記載されている。
【0025】
つまり、強化学習は、センサデバイス22から得られるシステム稼働環境2の状況と、アクチュエータデバイス21の制御値とを、統計的なデータ処理によって機械的に(自動的に)強化モデル16として結びつける手法である。これにより、制御論理の設計を手作業で行うよりも、工数を削減できる。
さらに、既存モデルを強化モデル16に転移してから強化学習を開始することで、データが無い状態から新規に学習を行う場合と比較して、学習に必要なデータ量を削減し、少数の試行で適切な解を導ける。
【0026】
図2は、デバイス制御装置1のハードウェア構成図である。
デバイス制御装置1は、CPU901と、RAM902と、ROM903と、HDD904と、通信I/F905と、入出力I/F906と、メディアI/F907とを有するコンピュータ900として構成される。
通信I/F905は、外部の通信装置915と接続される。入出力I/F906は、入出力装置916と接続される。メディアI/F907は、記録媒体917からデータを読み書きする。さらに、CPU901は、RAM902に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部を制御する。そして、このプログラムは、通信回線を介して配布したり、CD-ROM等の記録媒体917に記録して配布したりすることも可能である。
【0027】
以下、
図3~
図5を参照して、デバイス制御装置1の処理概要を説明する。
図3は、モデルテーブル14および分類テーブル15の構成図である。
分類テーブル15は、分類部12がセンサ情報から分類ラベルを求めるためのテーブルである。モデルテーブル14は、制御部11が分類ラベルから学習モデル(モデル集合17の既存モデル)を求めるためのテーブルである。
【0028】
なお、モデルテーブル14および分類テーブル15は、それぞれ対応テーブルとして図示した。しかし対応テーブルは説明をわかりやすくするためのデータ形式であり、入力情報から対応する出力情報を求められる任意のデータ形式を採用してもよい。
例えば、センサ情報が画像の場合には、分類テーブル15の代わりにCNN(Convolutional Neural Network)などを利用した画像分類機能によって、画像の分類結果(分類ラベル)が得られる。
【0029】
さらに、分類部12は、今回入力されたセンサ情報「K21」と、分類テーブル15に登録済のセンサ情報「K1,K2,K3,…」とを照合し、各センサ情報との間でどのくらい類似しているかを示す指標である「類似度」を求める。類似度は、センサ情報が画像データの場合は、画像の色相の並びや画像内の特徴点の位置などのセンサ情報から得られる特徴量を互いに比較することで、定量的な値として計算できる。
以下に例示する類似度は、最も非類似の「0」から同一の「100」までの点数とし、点数が高いほどセンサ情報どうしが類似するものとする。
・センサ情報「K21」と、センサ情報「K1」との間の類似度=90。
・センサ情報「K21」と、センサ情報「K2」との間の類似度=80。
・センサ情報「K21」と、センサ情報「K3」との間の類似度=20。
【0030】
分類部12は、最大の類似度「90」を算出したセンサ情報「K1」を採用し、その「K1」に対応する分類ラベル「L1」を含む分類結果信号を制御部11に通知する。制御部11は、通知された分類ラベル「L1」をモデルテーブル14に入力し、対応する学習モデル「M1」をモデル集合17の既存モデルから得る。なお、モデルテーブル14は、各分類ラベルと各学習モデルとを対応付ける。
【0031】
制御部11は、学習モデル「M1」を強化モデル16として転移し、強化学習を開始する。しかし、学習モデル「M1」の強化学習は報酬がさほど上昇せず、あまり強化モデル16をセンサ情報「K21」のシステム稼働環境2に最適化できなかった。そこで、制御部11は、学習モデル「M1」が誤りである旨の再分類要求信号を分類部12に返信する。
【0032】
分類部12は、再分類要求信号を受け、次点の類似度「80」を算出したセンサ情報「K2」を採用し、その対応する分類ラベル「L2」を制御部11に通知する。
制御部11は、通知された分類ラベル「L2」をモデルテーブル14に入力し、対応する学習モデル「M2」をモデル集合17の既存モデルから得る。制御部11は、学習モデル「M2」を強化モデル16として、強化学習を開始する。今回は学習モデル「M2」の強化学習は報酬が大きく上昇したために成功する。そこで、制御部11は、学習モデル「M2」が正解である旨の分類確定信号を分類部12に返信する。
【0033】
図4は、
図3から既存モデルの強化学習後の状態を示すモデルテーブル14および分類テーブル15の構成図である。
分類部12は、分類確定信号を受け、今回の強化学習前のセンサ情報「K21」に加え、強化学習中に使用され強化データ格納部13に格納しておいたセンサ情報「K22」を、分類ラベル「L2」と対応付けるように分類テーブル15を更新する。そのため、分類確定信号にはセンサ情報「K22」が含まれる。
【0034】
制御部11は、モデル集合17から読み取った強化学習前の学習モデル「M2」を、強化モデル16として強化学習した後の学習モデル「M21」に更新する。つまり、モデル集合17の学習モデル「M2」は、学習モデル「M21」に置き換わる。
さらに、制御部11は、置き換わった学習モデル「M21」を、モデルテーブル14にも反映させる。これにより、次回からも強化学習した後の学習モデル「M21」を活用できるため、強化学習の時間を短縮できる。
【0035】
図5は、
図3から新規モデルの追加後の状態を示すモデルテーブル14および分類テーブル15の構成図である。
図4では、既存ラベルに対応する既存モデルを更新する例を説明したが、
図5では、新規ラベルと新規モデルとを生成する例を説明する。
分類部12は、今回入力されたセンサ情報「K4」と、分類テーブル15に登録済のセンサ情報「K1,K2,K3,…」とを照合して以下の類似度を求める。
・センサ情報「K4」と、センサ情報「K1」との間の類似度=40。
・センサ情報「K3」と、センサ情報「K2」との間の類似度=20。
・センサ情報「K2」と、センサ情報「K3」との間の類似度=10。
【0036】
この場合、今回入力されたセンサ情報「K4」は、分類テーブル15のどのエントリとも非類似(例えば類似度の閾値「50」未満)である。そこで、分類部12は、今回入力されたセンサ情報「K4」用に、新規ラベル「L4」を作成して、分類テーブル15に登録するとともに、分類結果信号に含めて制御部11に通知する。
制御部11は、通知された新規ラベル「L4」がモデルテーブル14には登録されていないので、新規ラベル「L4」に対応する新規モデル「M4」を白紙(未学習)の状態から作成して、強化モデル16とする。そして、強化学習した後の強化モデル16(学習モデル「M4」)は、既存モデルとしてモデル集合17に登録される。
以上、
図3~
図5を参照して、デバイス制御装置1の処理概要を説明した。以下、
図6からは、デバイス制御装置1の処理の詳細を説明する。
【0037】
図6は、分類部12が実行する分類処理を示すフローチャートである。
分類部12は、過去に蓄積したセンサ情報に対してシステム稼働環境2ごとに分類ラベルを付加することで、分類テーブル15を構築する(S101)。分類部12は、システム構成要求として新たなセンサデバイス22(またはその管理者)から今回のセンサ情報を受け取り、その今回のセンサ情報を分類テーブル15を用いて分類する(S102)。
【0038】
分類部12は、S102の分類結果として、今回のセンサ情報に類似する(類似度が50以上の)既存ラベルが分類テーブル15に存在するか否かを判定する(S103)。S103でYesならS104に進み、NoならS105に進む。
S104では、分類部12は、最も類似度の高い既存ラベルを、分類結果信号として制御部11に通知する。
S105では、分類部12は、新規ラベルを作成し、分類結果信号として制御部11に通知する。
【0039】
図7は、
図6に続き、分類部12が実行する再分類処理を示すフローチャートである。
分類部12は、前回の分類結果信号で送信した分類ラベルが誤りであることを示す再分類要求信号を、制御部11から受信する(S111)。分類部12は、分類結果信号で未使用の(つまりまだ分類結果として通知していない)既存ラベルが存在するか否かを判定する(S112)。S112でYesならS113に進み、NoならS114に進む。
【0040】
S112,Yesの場合、分類部12は、前回分類した既存ラベルの次に類似度が高い既存ラベルを、分類結果信号として制御部11に通知する(S113)。
S112,Noとなるのは、分類誤りの判定を繰り返した結果、存在する全てのラベルに対応する学習モデルを適用したにもかかわらず、依然学習モデルの構築ができないと判定された場合である。そのときには、分類部12は、今回のシステム稼働環境2を示す新規ラベルを作成し、分類結果信号として制御部11に通知する(S114)。
【0041】
そして、S113またはS114の分類結果信号に対して制御部11から分類確定信号が通知されたときには、分類部12は、分類確定信号に含まれるセンサ情報(強化データ)に確定した分類ラベルを付与した結果を分類テーブル15に保存する(S121)。つまり、分類確定信号が通知された分類ラベルには、分類に使用したセンサ情報に加え、分類後に制御部11が収集して使用した全てのセンサ情報が対応付けられる。これにより、新たにシステム構成要求を受けた場合に、過去のシステム構成要求と同様の分類誤りを防止できる。
【0042】
図8は、制御部11が実行する強化学習の実行処理を示すフローチャートである。
制御部11は、分類部12から分類結果信号を受信すると(S201)、分類結果信号の分類ラベルを入力としてモデルテーブル14から対応する既存モデルを検索する(S202)。
制御部11は、既存モデルが存在するか否かを判定する(S203)。S203でYesならS211に進み、NoならS221に進む。
【0043】
S203,Yesの場合、制御部11は、S202で検索されたモデル集合17の既存モデルを、強化モデル16として複製し(S211)、その強化モデル16に対してセンサ情報を入力としたアクチュエータ制御を行う。そして、制御部11は、複製した強化モデル16をもとに継続して強化学習を実行する(S212)。
【0044】
S203,Noの場合、制御部11は、新規ラベルに対応するエントリ(対応する新規モデル)をモデルテーブル14に追加する(S221)。新規モデルとは、どのシステム稼働環境2にも依存しない白紙のモデル(未学習のモデル)である。制御部11は、事前情報が無い状態の新規モデルを強化モデル16として強化学習を実行する(S222)。
【0045】
図9は、
図8に続き、制御部11が実行する強化学習後の処理を示すフローチャートである。
制御部11は、センサデバイス22からのセンサ情報を強化モデル16に入力して、アクチュエータデバイス21への制御命令を出力する強化学習(
図8のS212またはS222)を、規定試行回数まで実行する(S231)。制御部11は、強化学習を行うたびに、強化モデル16の報酬を高めるように強化モデル16を随時更新する。なお、強化学習の実行中には、制御部11は、収集した全てのセンサ情報を強化データ格納部13に保存しておく。
【0046】
制御部11は、報酬の評価値が所定閾値よりも高いか否かを判定する(S232)。S232でYesならS233に進み、NoならS241に進む。なお、新規ラベルに対応する新規モデルから新規の強化学習を行う場合には(
図8のS222)、既存ラベルに対応する既存モデルを転移して強化学習を行う場合と異なり、S232の判定を省略してS233に処理を進める。
また、S232の判定を行う契機は複数設定してもよい。例えば、判定を行う試行回数および所定閾値の組み合わせを複数用意し、学習を継続中に段階的に判定してもよい。
【0047】
S232,Noの場合は、システム稼働環境2でアクチュエータデバイス21が提供するサービスの目的を達成する学習モデルを構築できない場合である。
この場合、制御部11は、今回の強化モデル16(分類ラベル)の選択が誤っていたとみなして破棄し、その分類ラベルを付加した再分類要求信号を分類部12に通知する(S241)。
なお、S241で分類誤りと判定し、使用する学習モデルを変更する際にも、それまでに強化データ格納部13に収集したセンサ情報は、次に適用する学習モデルへ継承する。
【0048】
S232,Yesの場合、制御部11は、正しい分類が行えたのでサービスの目的を達成するまで、今回の強化モデル16での強化学習を反復する(S233)。制御部11は、例えば、S232の判定と同様に、一定回数の試行における強化学習の報酬の評価値をもとに、サービスの目的を達成したか否かを判定する。
【0049】
最終的にサービスの目的を達成すると、制御部11は、強化学習を終了する。そして、制御部11は、強化学習で更新された強化モデル16をモデル集合17内の複製元の学習モデルから置き換えることで、モデル集合17に反映する(S234)。
制御部11は、強化学習に利用した分類ラベルと、強化学習に利用した強化データ格納部13の強化データ(センサ情報)を含む分類確定信号を分類部12に送信する(S235)。分類確定信号で送信する強化データには、S241で継承された分類誤り時の強化データを含めてもよい。
【0050】
図10は、報酬の評価値の判定処理(
図9のS232)の詳細を示すグラフである。
グラフの横軸は、強化学習の試行回数iであり、左端を試行前(i=0)とし右端をS231の規定試行回数(i=N)とする。グラフの縦軸は、試行i回目における報酬R[i]であり、今回の試行結果を曲線71で示す。
【0051】
制御部11は、以下の方法1または方法2に例示されるように、獲得した報酬R[i]の統計量を用いて、報酬の評価値が高いか(S232,Yes)否か(S232,No)を判定する。報酬とは、強化学習における行動の評価を指す指標であり、強化学習を実施するうえで不可欠な要素である。
(方法1):報酬R[i]のi=0からi=Nまでの平均値R[E]が所定閾値よりも高いときに、報酬の評価値が高い(S232,Yes)とする。平均値R[E]=(R[0]+R[1]+…R[N])/(N+1)である。これにより、採用した学習モデルの有効性を報酬の絶対量により評価できる。
(方法2):報酬R[i]のi=0からi=Nまでの報酬の微分係数(直線72の傾き73)が所定閾値よりも高いときに、報酬の評価値が高い(S232,Yes)とする。これにより、採用した学習モデルの有効性を報酬の上昇度合いにより評価できる。
【0052】
[効果]
本発明は、システム稼働環境2に配置された、センサデバイス22とアクチュエータデバイス21とに通信接続されるデバイス制御装置1であって、
過去にセンサデバイス22から取得した過去のセンサ情報から分類ラベルを対応付ける分類テーブル15を参照し、今回のセンサデバイス22から取得した今回のセンサ情報に分類ラベルを付与する分類部12と、
分類ラベルと、当該分類ラベルごとにあらかじめ用意される学習モデルを対応付けるモデルテーブル14を参照し、分類部12が付与した分類ラベルに対応する学習モデルを強化モデル16として選択し、
強化モデル16を用いてアクチュエータデバイス21を制御するとともに、その制御にしたがってセンサデバイス22から取得したセンサ情報をもとに、強化モデル16を強化学習する制御部11と、を有することを特徴とする。
また、本発明は、デバイス制御装置1を構成するための環境分類装置3およびアクチュエータ制御装置4である。
【0053】
これにより、センサ情報から適切な学習モデルを判定し、それぞれ類似の環境に関するセンサ情報を用いて学習モデルを強化学習できる。よって、機械学習の学習空間を環境ごとに分割し、環境ごとに特化した学習モデルを生成することで、各環境に応じた適切なアクチュエータ制御を少量の学習データから導ける。
また、デバイスの設置位置や環境の差異の機微を人手で把握することなく、自動的に適切な数の分類ラベルを生成できる。さらに、網羅的な学習データを事前に用意せずに済み、特殊なハードウェアが不要であり、ソフトウェアの機能だけで実装が可能である。
【0054】
本発明は、分類部12が、今回のセンサ情報と所定値以上の類似度を有する過去のセンサ情報が分類テーブル15に登録されていない場合、新規に発行する分類ラベルである新規ラベルを今回のセンサ情報に付与して分類テーブル15を更新し、
制御部11が、未学習状態の学習モデルを強化モデル16として選択し、その強化モデル16と新規ラベルとを対応付けてモデルテーブル14を更新することを特徴とする。
【0055】
これにより、不適切な既存モデルが誤って今回のシステム稼働環境に採用されることを予防できる。なお、これまでに扱われていない新規環境に対して、大きく異なる環境で構築した既存モデルを適用することは、不適切な制御を誘発し学習の達成を妨げてしまう。
【0056】
本発明は、制御部11が、強化モデル16を強化学習した結果の報酬の評価値が所定閾値未満の場合には、今回使用した強化モデル16に対応する分類ラベルを誤りと判定して分類部12に再分類要求信号を送信し、
分類部12が、再分類要求信号を受けて、まだ今回のセンサ情報に付与されていない分類ラベルを分類テーブル15から読み出し、その読み出した分類ラベルを今回のセンサ情報に付与することを特徴とする。
【0057】
これにより、転移する学習モデルの選択が誤っていたときでも、正しい学習モデルを選択し直すことができる。
【0058】
本発明は、制御部11が、強化モデル16を強化学習した結果の報酬の上昇度合いが所定閾値以上の場合には、強化モデル16の強化学習に使用したセンサ情報を強化データとして分類部12に通知するとともに、今回の強化モデル16を次回の同じ分類ラベルに対応する学習モデルとして保存し、
分類部12が、通知された強化データのセンサ情報を今回の分類ラベルに対応付けるように分類テーブル15を更新することを特徴とする。
【0059】
これにより、新たにシステム構成要求を受けた場合に、過去のシステム構成要求と同様の分類誤りを防止できる。
【符号の説明】
【0060】
1 デバイス制御装置
2 システム稼働環境
3 環境分類装置
4 アクチュエータ制御装置
11 制御部(アクチュエータ制御装置)
12 分類部(環境分類装置)
13 強化データ格納部
14 モデルテーブル(モデル特定用データ)
15 分類テーブル(分類特定用データ)
16 強化モデル
17 モデル集合(学習モデル)
21 アクチュエータデバイス
22 センサデバイス
100 デバイス制御システム