(57)【要約】【課題】予測精度の劣化を抑制することを課題とする。【解決手段】エッジ端末は、電子機器のログに基づいて２以上のクラスに分類する分類モデルを受信し、分類モデルが出力する予測値と時間毎に観測された実測値とを用いて予測誤差を算出する。エッジ端末は、予測誤差がある状態を満たすように、分類モデルの逐次学習を実行し、予測誤差の累積和が閾値以上の場合、分類モデルの配信元であるサーバ装置に、分類モデルの再学習を要求する。【選択図】図３
2020154785.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
電子機器のログに基づいて２以上のクラスに分類する分類モデルを受信し、
前記分類モデルが出力する予測値と時間毎に観測された実測値とを用いて予測誤差を算出し、
前記予測誤差がある状態を満たすように、前記分類モデルの逐次学習を実行し、
前記予測誤差の累積和が閾値以上の場合、前記分類モデルの配信元であるサーバ装置に、前記分類モデルの再学習を要求する
処理を実行することを特徴とする予測方法。
【請求項２】
空調機の制御対象である空間内の温度および外気温から、ユーザが前記空調機を制御する操作内容を予測する前記分類モデルに、予測対象時間における前記空間内の温度および外気温を入力し、
前記分類モデルの予測値として、前記空調機の設定温度を上げる操作、設定温度を下げる操作、設定温度を維持する操作のいずれかを示す情報を取得し
取得された前記予測値に応じて、前記空調機を制御する処理を、前記コンピュータが実行することを特徴とする請求項１に記載の予測方法。
【請求項３】
前記実行する処理は、前記予測値と前記実測値とが異なることにより前記予測誤差が発生した場合、前記予測値と前記実測値とを用いたオンライン勾配降下法により、前記分類モデルが有する重みを更新し、前記予測値と前記実測値とが一致することにより前記予測誤差が発生しない場合、前記分類モデルの逐次学習を抑制することを特徴とする請求項２に記載の予測方法。
【請求項４】
前記算出する処理は、前記予測値と前記実測値とを用いた交差エントロピー誤差により、前記予測誤差を算出し、
前記要求する処理は、前記交差エントロピー誤差の累積和が閾値以上となった場合に、前記分類モデルの再学習を要求することを特徴とする請求項１から３のいずれか一つに記載の予測方法。
【請求項５】
コンピュータに、
電子機器のログに基づいて２以上のクラスに分類する分類モデルを受信し、
前記分類モデルが出力する予測値と時間毎に観測された実測値とを用いて予測誤差を算出し、
前記予測誤差がある状態を満たすように、前記分類モデルの逐次学習を実行し、
前記予測誤差の累積和が閾値以上の場合、前記分類モデルの配信元であるサーバ装置に、前記分類モデルの再学習を要求する
処理を実行させることを特徴とする予測プログラム。
【請求項６】
コンピュータが、
環境が異なる各空間に設置される各電子機器のログを収集し、
前記各電子機器のログから生成される学習データを用いて、２以上のクラスに分類する分類モデルを学習し、
学習済みの分類モデルを前記各空間に設置される各所定装置に配信し、
前記各所定装置のいずれかからの要求に応じて、前記分類モデルの再学習を実行し、
再学習済みの分類モデルを前記各所定装置に再配信する
処理を実行することを特徴とするモデル学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測方法、予測プログラムおよびモデル学習方法に関する。
【背景技術】
【０００２】
ユーザにとって快適な室温となるように、室温変化の履歴やエアコンの操作などのログ情報を学習データとして、室温変化や室温操作などの空調制御を予測する学習モデルを学習する技術が利用されている。近年では、クラウドサーバと、対象空間（エッジ）のエアコンやリモコンとを連携させた技術が知られている。例えば、クラウドサーバが、対象空間が異なる各ユーザのログ情報を収集して、空調制御を予測する学習モデルを学習し、各エッジに配信する。そして、各エッジのリモコン等は、ログ情報を学習モデルに入力し、学習モデルの出力結果にしたがって空調制御を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−２８９０６号公報
【特許文献２】特開２０１５−１８３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、エッジ側で予測を行うので、高速な予測を実行できる一方で、学習モデルをクラウドサーバが更新するので、突発的な気温変動にリアルタイムで追従することが難しく、予測精度が劣化することがある。
【０００５】
例えば、クラウドサーバが、１週間ごとのように予め設定された期間で学習モデルの更新を実行して、更新された学習モデルを各エッジに配信するので、エッジ側では、寒波や梅雨明けなどの突発的に気温が変動しても、１週間が経過しないと精度のよい学習モデルが配信されない。このため、学習モデルの更新が要求される場合でも、学習モデルの更新と配信とにタイムラグが発生しレスポンス性が悪い。
【０００６】
一つの側面では、予測精度の劣化を抑制することができる予測方法、予測プログラムおよびモデル学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、予測方法は、電子機器のログに基づいて２以上のクラスに分類する分類モデルを受信し、前記分類モデルが出力する予測値と時間毎に観測された実測値とを用いて予測誤差を算出する処理を実行する。予測方法は、前記予測誤差がある状態を満たすように、前記分類モデルの逐次学習を実行し、前記予測誤差の累積和が閾値以上の場合、前記分類モデルの配信元であるサーバ装置に、前記分類モデルの再学習を要求する処理を実行する。
【発明の効果】
【０００８】
一実施形態によれば、予測精度の劣化を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかるシステムの全体構成例を示す図である。
【図２】図２は、実施例１にかかる学習モデルの配信と更新を説明する図である。
【図３】図３は、実施例１にかかるシステムの機能構成を示す機能ブロック図である。
【図４】図４は、センサ値ＤＢに記憶される情報の例を示す図である。
【図５】図５は、操作ログＤＢに記憶される情報の例を示す図である。
【図６】図６は、空調制御サーバの学習データを示す図である。
【図７】図７は、ユーザ操作の判定例を示す図である。
【図８】図８は、エッジ側での予測と学習を説明する図である。
【図９】図９は、予測誤差の取り扱いを説明する図である。
【図１０】図１０は、空調制御サーバの処理の流れを示すフローチャートである。
【図１１】図１１は、エッジ端末の処理の流れを示すフローチャートである。
【図１２】図１２は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する予測方法、予測プログラムおよびモデル学習方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１１】
［全体構成例］
図１は、実施例１にかかるシステムの全体構成例を示す図である。図１に示すように、このシステムは、クラウドサービスをユーザに提供する空調制御サーバ１００と、空調制御対象の空間の一例である部屋１から３に設置される各装置と、外部サーバ群５００とがネットワークＮを介して相互に通信可能に接続される、クラウドサーバとエッジ端末とを連携させた空調制御システムである。なお、ネットワークＮには、有線や無線を問わず、インターネットなどの各種通信網を採用することができる。
【００１２】
各部屋は、クラウドサーバによる制御対象であるエッジの一例である。例えば、部屋１は、室内に設置されて室内の空調制御を実行する空調機１ａ、空調機１ａへの空調制御指示を送信するリモコン１ｂを有する。部屋２は、室内に設置されて室内の空調制御を実行する空調機２ａ、無線ネットワークやＵＰｎＰ（Universal  Plug  and  Play）などを用いて空調機２ａへの空調制御指示を送信する情報端末２ｂを有する。また、部屋３は、空調制御サーバ１００からの指示内容を受信して、当該指示内容にしたがって空調制御を実行する、室内に設置される空調機３ａを有する。
【００１３】
なお、ここでは、各部屋内において、空調制御サーバ１００と通信を行って各空調機を制御する装置を、エッジ端末１０として説明する。例えば、部屋１の場合は、リモコン１ｂがエッジ端末１０に該当し、部屋２の場合は、情報端末２ｂがエッジ端末１０に該当し、部屋３の場合は、空調機３ａがエッジ端末１０に該当する。
【００１４】
また、図示しないが、各部屋には、外気温を測定するセンサ、室内の温度や湿度を測定するセンサなどが設置される。また、各種センサがセンシングしたセンサ値（観測値）は、各センサ等により、空調制御サーバ１００に送信される。また、各空調機や各エッジ端末は、空調制御のオン／オフとその時刻とを対応付けた操作ログなどを収集して、空調制御サーバ１００に送信する。なお、ここでは、部屋が３つの場合を示したが、あくまで例示であり、部屋数等を限定するものではない。
【００１５】
外部サーバ群５００は、各地域の気温情報を保持する気象サーバなどである。例えば、気象サーバは、各部屋近隣の日ごとの気温、気温遷移などを保持し、空調制御サーバ１００に提供する。
【００１６】
空調制御サーバ１００は、各部屋のユーザにクラウドサービスを提供するクラウドサーバであり、各部屋からセンサ値や操作ログなどを受信し、これらを学習データとして学習モデルを学習する。例えば、空調制御サーバ１００は、室温や外気温などの温度情報を説明変数、温度を上げる（Ｕｐ）・温度を下げる（Ｄｏｗｎ）・温度を維持する（Ｋｅｅｐ）などを示すユーザ操作を説明変数として、クラス分類を行う学習モデル（分類モデル）を学習する。そして、空調制御サーバ１００は、学習済みの学習モデルを各エッジ端末１０に配信する。
【００１７】
そして、各部屋の各エッジ端末１０は、空調制御サーバ１００から配信された学習モデルを用いて、各部屋の現在の温度情報からユーザ操作を予測し、予測結果に応じた空調制御を実行する。このようして、エッジ側での空調制御を実現する。
【００１８】
ところで、一般的な単純なエッジクラウド連携では、学習モデルは、各エッジに配信された後はモデルの更新が行われずに予測に利用されるので、例えば突然の寒波のように、学習時に利用された通常時とは異なる気象変化が発生したときに、予測精度が劣化する。この場合、一般的には、急激な気象変化に対応するために、その都度、クラウドサーバ（空調制御サーバ１００）上で学習モデルの更新を行って各エッジ端末１０に配信することが考えられる。
【００１９】
しかし、この手法では、通信頻度が多く、通信に時間もかかるので、リアルタイムに学習モデルを更新することが難しく、レスポンス性が低い。すなわち、単純なエッジクラウド連携では、計算資源の限られたエッジ側では大規模なデータに基づく学習ができないので、局所解に陥ったときにすぐに抜けられず、予測誤差が増える。
【００２０】
そこで、実施例１にかかる空調制御システムでは、各エッジ端末１０が、空調制御サーバ１００から配信された学習モデルを用いた予測を用いた空調制御を行いつつ、予測結果を用いて、ローカルで学習モデルの更新を実行する。そして、各エッジ端末１０は、予測精度が閾値以上になったときに、学習モデルの再学習を空調制御サーバ１００に要求する。
【００２１】
図２は、実施例１にかかる学習モデルの配信と更新を説明する図である。図２に示すように、空調制御サーバ１００は、例えば家庭などの各部屋から、空調機の操作ログや各センサのセンサ値などである観測値を取得して、これらの観測値を学習データとして学習モデルを学習する（Ｓ１）。そして、空調制御サーバ１００は、学習済みの学習モデルを各エッジに配信する（Ｓ２）。
【００２２】
その後、各エッジのエッジ端末１０は、配信された学習モデルを用いて、ユーザ操作の予測を実行し、予測値に応じた空調制御を実行するとともに、予測値の正否を用いて、学習モデルをローカルで更新する（Ｓ３）。ここで、エッジ端末１０は、予測誤差の累積が閾値未満であれば、ローカルのみで更新するが、予測誤差の累積が閾値以上となった場合、空調制御サーバ１００に学習モデルの再学習を要求する（Ｓ４）。
【００２３】
すると、空調制御サーバ１００は、学習モデル配信後に収集して蓄積した観測値を学習データとして、学習モデルの再学習を実行する（Ｓ５）。そして、空調制御サーバ１００は、再学習後の学習モデルを各エッジに配信する（Ｓ６）。その後、エッジ端末１０は、再学習後の学習モデルを用いて、Ｓ３以降と同様の処理を実行する。
【００２４】
このようにすることで、予測誤差が大きくなるまで、エッジ側で予測と学習を両立することができるので、エッジ端末１０と空調制御サーバ１００との通信頻度を削減し、レスポンス性が高い学習システムを構築することができる。この結果、予測精度の劣化を抑制することができる。
【００２５】
［機能構成］
次に、図１に示した各装置の機能構成について説明する。図３は、実施例１にかかるシステムの機能構成を示す機能ブロック図である。なお、外部サーバ群５００に含まれる気象サーバ、各部屋のセンサや空調機などは一般的な機能を有するので、詳細な説明は省略する。ここでは、空調制御サーバ１００とエッジ端末１０について説明する。
【００２６】
（空調制御サーバ１００の機能構成）
図３に示すように、空調制御サーバ１００は、通信部１０１、記憶部１０２、制御部１１０を有する。通信部１０１は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１０１は、各部屋に設置される空調機、エッジ端末１０、センサなどのデバイスから運転結果、空調制御情報、操作ログなどの各種データを受信し、エッジ端末１０に空調制御のコマンドや情報を送信する。
【００２７】
記憶部１０２は、データや制御部１１０が実行するプログラムを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１０２は、センサ値ＤＢ１０３、操作ログＤＢ１０４、学習データＤＢ１０５、学習結果ＤＢ１０６を記憶する。
【００２８】
センサ値ＤＢ１０３は、各部屋のセンサにより取得された外気温や室温に関するセンサ値を記憶するデータベースである。例えば、ここで記憶されるセンサ値は、空調制御サーバ１００が各センサから取得する観測値であり、温度の時間変化などセンサが測定できる他の観測値を含んでいてもよい。また、センサ値ＤＢ１０３は、ユーザごと、すなわち各部屋（空間）のセンサごとにセンサ値を記憶する。
【００２９】
図４は、センサ値ＤＢ１０３に記憶される情報の例を示す図である。図４に示すように、センサ値ＤＢ１０３は、「エアコン、日時、室温、外気温」などを対応付けて記憶する。ここで記憶される「エアコン」は、空調機を識別する識別子であり、「日時」は、データが測定された日時である。「室温」は、各室内の各センサにより測定された室内の温度であり、「外気温」は、各室の各センサにより測定された室外の温度である。図４の例では、一時間ごとのセンサ値を示し、エアコン１について、「2019年11月1日の0：00では、室温が20度、外気温が10度」であったことを示す。
【００３０】
操作ログＤＢ１０４は、各部屋の空調機の操作に関するログ情報を記憶するデータベースである。ここで記憶されるログ情報は、空調制御サーバ１００が各空調機や各空調機のリモコンなどから取得する情報であり、設定温度など空調機などが測定できる他の情報を含んでいてもよい。また、操作ログＤＢ１０４は、ユーザごと、すなわち各空間の空調機ごとに操作ログを記憶する。
【００３１】
図５は、操作ログＤＢ１０４に記憶される情報の例を示す図である。図５に示すように、操作ログＤＢ１０４は、「エアコン、日時、ＯＮ／ＯＦＦ」を対応付けて記憶する。ここで記憶される「エアコン」は、空調機を識別する識別子であり、「日時」は、測定された日時である。「ＯＮ／ＯＦＦ」は、各空調機の操作ログである。図５の例では、2019年11月1日の0：00では、エアコン１の状態がOFFであったことを示す。
【００３２】
学習データＤＢ１０５は、学習モデルの学習に利用する学習データ、すなわち訓練データを記憶するデータベースである。図６は、空調制御サーバ１００の学習データを示す図である。図６に示すように、学習データＤＢ１０５は、「エアコン、時刻、ユーザ操作（ラベル）、特徴量１（５分前）、特徴量２（１０分前）、特徴量３（１５分前）」を対応付けて記憶する。
【００３３】
ここで記憶される「エアコン」は、空調機を識別する識別子である。「時刻」は、ユーザ操作が行われた時刻である。「ユーザ操作」は、ユーザが空調制御を行った操作内容であり、例えば設定温度を上げる「Ｕｐ」・設定温度を下げる「Ｄｏｗｎ」・設定温度を維持する（何もしない）「Ｋｅｅｐ」などが設定される。「特徴量１（５分前）」は、ユーザ操作が行われた時刻の５分前に取得されたセンサ値などであり、「特徴量２（１０分前）」は、ユーザ操作が行われた時刻の１０分前に取得されたセンサ値などであり、「特徴量３（１５分前）」は、ユーザ操作が行われた時刻の１５分前に取得されたセンサ値などである。
【００３４】
すなわち、「ユーザ操作」を目的変数、「特徴量１、特徴量２、特徴量３」を説明変数として学習に利用される。ここで、ユーザ操作の判定例について説明する。図７は、ユーザ操作の判定例を示す図である。図７に示すように、センサ値などが取得される時間ｔ１、時間ｔ２などのように、例えば５分間隔で取得される。そして、学習データとして利用される時間幅が３である場合、５分前のデータ、１０分前のデータ、１５分前のデータが学習データとして利用される。各時間におけるユーザ操作の内容は、操作ログなどから取得できる情報であって、その時間内で実際にユーザの操作による運転行動が設定される。
【００３５】
例えば、時間（時刻）ｔ１に対応する学習データを生成する場合、時間ｔ１の５分前の時間ｔ−１のセンサ値、時間ｔ１の１０分前の時刻ｔ−２のセンサ値、時間ｔ１の１５分前の時間ｔ−３のセンサ値が説明変数に設定され、時間ｔ１から３０分以内で実際に発生したユーザ操作である「設定温度を上げる」を示す「Ｕｐ」が目的変数に設定された、学習データが生成される。
【００３６】
学習結果ＤＢ１０６は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１０６は、制御部１１０による学習データの判別結果（分類結果）、ニューラルネットワークやロジスティック回帰などを用いた学習モデルを構築するための各種パラメータなどを記憶する。
【００３７】
なお、これらのＤＢ以外にも、上記ＤＢ以外にも様々な情報を記憶することができる。例えば、外部の気象サーバなどから取得した気象情報を記憶する気象情報ＤＢを記憶することもできる。例えば、気象情報ＤＢは、空調制御サーバ１００が任意のタイミングで気象サーバから取得した、外気温や湿度の観測値、外気温や湿度の予報値、天候などを記憶する。
【００３８】
制御部１１０は、空調制御サーバ１００全体を司る処理部であり、例えばプロセッサなどである。この制御部１１０は、ログ収集部１１１、学習部１１２、配信部１１３、再学習部１１４を有する。なお、ログ収集部１１１、学習部１１２、配信部１１３、再学習部１１４は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００３９】
ログ収集部１１１は、各部屋の各センサ等から各種観測値を収集する処理部である。具体的には、ログ収集部１１１は、各センサからセンサ値を取得してセンサ値ＤＢ１０３に格納し、各空調機から操作ログを取得して操作ログＤＢ１０４に格納し、気象サーバなどから気象情報などを取得して記憶部１０２等に格納する。すなわち、ログ収集部１１１は、学習データの対象となる各種データをクラウド上に収集する。
【００４０】
また、ログ収集部１１１は、図７を用いて説明した手法により、収集したログから学習データを生成して学習データＤＢ１０５に格納する。なお、ログ収集部１１１は、学習モデル配信後も、定期的に、各エッジからセンサ値などを収集する。
【００４１】
学習部１１２は、学習モデルを学習する処理部である。具体的には、学習部１１２は、ニューラルネットワークやロジスティック回帰などを用いた学習モデルを、学習データＤＢ１０５に記憶される各学習データを用いて学習する。そして、学習部１１２は、学習が終了すると、学習結果として、学習モデルを構築するための各種パラメータを学習結果ＤＢ１０６に格納する。
【００４２】
すなわち、学習部１１２は、５分前、１０分間、１５分前の各センサ値から、３０分以内に発生するユーザ操作を予測する学習モデルを構築する。なお、学習モデルには、ニューラルネットワークやロジスティック回帰などを採用することができる。また、学習を終了するタイミングは、所定数以上の学習データを用いた学習が完了した時点や復元誤差が閾値未満となった時点など、任意に設定することができる。
【００４３】
配信部１１３は、学習済みの学習モデルを各エッジに配信する処理部である。例えば、配信部１１３は、学習結果ＤＢ１０６に記憶される学習結果である各種パラメータを、各エッジ端末１０に配信する。
【００４４】
再学習部１１４は、学習済みの学習モデルの再学習を実行する処理部である。例えば、再学習部１１４は、いずれかのエッジ端末１０から再学習の要求を受信すると、前回の配信後に収集されたログ情報から学習データを生成し、当該学習データの再学習を実行する。つまり、再学習部１１４は、再学習部１１４は、配信後の学習モデルを、前回の学習終了後に取集された大量のログに基づく大量の学習データにより更新する。なお、再学習は、前回の学習終了後に取集されたログに基づく学習データだけに限らず、前回の学習にも用いられた学習データと前回の学習終了後に取集されたログに基づく学習データとの両方を用いて実行することもできる。
【００４５】
そして、再学習部１１４は、再学習が終了すると、再学習結果として、再学習後の学習モデルを構築するための各種パラメータを学習結果ＤＢ１０６に格納する。また、再学習部１１４は、再学習を要求したエッジ端末１０、または、前回の学習モデルが配信済みである各エッジ端末１０に、再学習結果を再配信する。
【００４６】
（エッジ端末１０の機能構成）
図３に示すように、エッジ端末１０は、通信部１１、記憶部１２、制御部２０を有する。通信部１１は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、空調制御サーバ１００との間、空調機やセンサなど同じ空間内の他端末との間で、各種データの送受信を実行する。
【００４７】
記憶部１２は、データや制御部２０が実行するプログラムを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、センサ値ＤＢ１３、操作ログＤＢ１４、学習結果ＤＢ１５を記憶する。
【００４８】
センサ値ＤＢ１３は、同じ空間である部屋内のセンサにより取得された外気温や室温に関するセンサ値を記憶するデータベースである。例えば、ここで記憶されるセンサ値は、学習データに利用されたり、空調制御サーバ１００に送信されたりする。なお、記憶される情報は、図４と同様なので、詳細な説明は省略する。ただし、図４とは異なり、センサ値ＤＢ１３は、他のエッジに関する情報は記憶せず、エッジ端末１０が設置されるエッジに関する情報のみを記憶する。
【００４９】
操作ログＤＢ１４は、同じ空間である部屋内の空調機の操作に関するログ情報を記憶するデータベースである。例えば、ここで記憶されるログ情報は、空調機や空調機のリモコンなどから取得される情報であり、学習データに利用されたり、空調制御サーバ１００に送信されたりする。ただし、図５とは異なり、操作ログＤＢ１４は、他のエッジに関する情報は記憶せず、エッジ端末１０が設置されるエッジに関する情報のみを記憶する。
【００５０】
学習結果ＤＢ１５は、学習モデルの構築に使用される各種パラメータを記憶するデータベースである。例えば、学習結果ＤＢ１５は、空調制御サーバ１００から配信された学習結果や、制御部２０によるオンライン学習の結果などを記憶する。
【００５１】
制御部２０は、エッジ端末１０全体を司る処理部であり、例えばプロセッサなどである。この制御部２０は、ログ収集部２１、予測部２２、更新部２３、判定部２４を有する。なお、ログ収集部２１、予測部２２、更新部２３、判定部２４は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。例えば、制御部２０は、空調制御サーバ１００から配信された学習結果を受信して、学習結果ＤＢ１５に格納する。
【００５２】
ここで、エッジ端末１０では、配信された学習モデルによる予測と、学習モデルのオンライン学習とを実行し、予測誤差が大きくなったタイミングで、空調制御サーバ１００に再学習を要求する。図８は、エッジ側での予測と学習を説明する図である。図８に示すように、エッジ端末１０は、ある時刻において、５分前の温度などである特徴量１、１０分前の特徴量２、１５分前の特徴量３が集まると、これらの特徴量１から３を予測データとして、配信された学習モデルに入力し、予測結果（出力結果）を取得する。
【００５３】
そして、エッジ端末１０は、Ｕｐ、Ｄｏｗｎ、Ｋｅｅｐを示す予測結果にしたがって、空調制御を実行する。その後、エッジ端末１０は、当該予測結果に対するユーザ操作として、予測から３０分以内のユーザ操作（例えばＫｅｅｐ）などを取得する。そして、エッジ端末１０は、予測結果と実際のユーザ操作との予測誤差を算出し、この予測誤差を用いて学習モデルの更新を実行する。
【００５４】
また、エッジ端末１０は、今までの予測誤差の累積を算出して累積判定を実行する。具体的には、エッジ端末１０は、予測誤差の累積値が閾値未満であれば、配信済みの学習モデルの使用を継続する。一方、エッジ端末１０は、予測誤差の累積値が閾値以上であれば、学習モデルの再学習を空調制御サーバ１００に要求する。
【００５５】
このように、エッジ端末１０は、予測誤差が許容できる範囲内であれば、配信後の学習モデルを少しずつ更新して使用し続ける。そして、エッジ端末１０は、突発的な寒波などの発生により、予測誤差が許容できない状態となった場合に、空調制御サーバ１００による再学習を要求する。
【００５６】
図３に戻り、ログ収集部２１は、部屋内の各センサ等から各種データを収集する処理部である。具体的には、ログ収集部２１は、センサからセンサ値を取得してセンサ値ＤＢ１３に格納し、空調機から操作ログを取得して操作ログＤＢ１４に格納する。また、ログ収集部２１は、定期的に、収集した各種データを空調制御サーバ１００に送信する。
【００５７】
予測部２２は、学習済みの学習モデルを用いてユーザ操作を予測する処理部である。例えば、予測部２２は、空調制御サーバ１００から配信された学習結果を学習結果ＤＢ１５から読み出して、学習済みの学習モデルを構築する。そして、予測部２２は、収集されたセンサ値などの情報を予測データとして学習モデルに入力し、予測結果（出力結果）を取得する。そして、予測部２２は、予測結果にしたがって空調制御を実行し、予測結果を更新部２３や判定部２４に出力する。
【００５８】
例えば、予測部２２は、時刻Ｔにおいて、時刻Ｔの１５分前からのセンサ値が収集されると、予測データを生成する。具体的には、予測部２２は、時刻Ｔの５分前の温度、湿度、外気温などを含む特徴量１、時刻Ｔの１０分前の特徴量２、時刻Ｔの１５分前の特徴量３を生成する。そして、予測部２２は、これらの特徴量１から３を予測データとして、配信された学習モデルに入力して予測結果を取得する。
【００５９】
ここで、予測部２２は、予測結果として、３０分以内にＵｐのユーザ操作が発生する確率、３０分以内にユーザ操作が発生したＫｅｅｐの状態である確率、３０分以内にＤｏｗｎのユーザ操作が発生する確率を示す分類結果を取得する。
【００６０】
そして、予測部２２は、Ｕｐである確率が最も高い場合は、５分後に空調機の設定温度を上げられると予測し、現状の設定温度を所定値（例えば１度）だけ上げ、５分後もユーザが快適な温度となるように制御する。
【００６１】
また、予測部２２は、Ｋｅｅｐである確率が最も高い場合は、５分後の空調機の設定温度がユーザによって変更されないと判定し、現在の設定値のままで維持する。また、予測部２２は、Ｄｏｗｎである確率が最も高い場合は、５分後に空調機の設定温度が下げられると予測し、現状の設定温度を所定値（例えば１度）だけ下げて、５分後もユーザが快適な温度となるように制御する。
【００６２】
更新部２３は、予測部２２による予測結果と、実際のユーザ操作とを用いて、ローカルで学習モデルを更新する処理部である。具体的には、更新部２３は、予測誤差が小さくなるように、もしくは、予測誤差が０になるように、ローカルで学習モデルを更新する。すなわち、更新部２３は、オンライン勾配降下法によるオンライン学習（逐次学習）を実行し、観測されたデータで、既に構築された学習モデルの微修正を実行する。
【００６３】
例えば、更新部２３は、予測結果が「Ｕｐ」のときに、当該予測が行われた時刻から３０分以内に発生したユーザ操作を空調機等から取得する。そして、更新部２３は、３０分以内に発生したユーザ操作が「Ｋｅｅｐ」である場合、式（１）に示すオンライン勾配降下法により、学習モデルの重みを更新し、更新結果を学習結果ＤＢ１５に格納する。その後の予測では、更新後の学習モデルが用いられる。
【００６４】
【数１】
2020154785.tif 000003
【００６５】
なお、式（１）におけるｗは重みであり、Ｅは誤差であり、ρは学習率である。また、式（１）における誤差は、式（２）に示す交差エントロピー誤差を用いることができる。例えば、ｉ番目の時間窓内に含まれるデータがＮ個あるときの交差エントロピー誤差は、式（２）のＥｉで算出することができる。ここで、ｔｎｋは、ｎ番目のデータｋ次元目を示す空調機の操作履歴であり、ｙｎｋは、予測（推論）結果である。
【００６６】
【数２】
2020154785.tif 000004
【００６７】
判定部２４は、学習モデルの再学習を要求するか否かを判定する処理部である。具体的には、判定部２４は、更新部２３により算出される予測誤差の累積に基づいて、再学習の要否を判定する。例えば、判定部２４は、式（３）に示す式を用いて、更新部２３で算出された各時間窓の交差エントロピー誤差の累積和（ＣＥ）を算出する。そして、判定部２４は、累積和（ＣＥ）が閾値以上となった場合に、空調制御サーバ１００に学習モデルの更新を要求して、更新後の新たな学習モデルを取得する。
【００６８】
【数３】
2020154785.tif 000005
【００６９】
図９は、予測誤差の取り扱いを説明する図である。図９に示すように、時間ｔ１、ｔ３、ｔ５では、予測と実際のユーザ操作とが一致することから、予測誤差は０となり、学習モデルのオンライン学習も行われず、累積和にも加算されない。一方、時間ｔ２では、予測が「Ｕｐ（温度を上げる）」であったが、実際の操作が「何もしない」であったことから、予測を打ち消す操作が行われている。同様に、時間ｔ４では、予測が「Ｄｏｗｎ（温度を下げる）」であったが、実際の操作が「何もしない」であったことから、予測を打ち消す操作が行われている。したがって、時間ｔ２とｔ４では、予測と実際のユーザ操作とが異なるので予測誤差が発生し、学習モデルのオンライン学習が行われるとともに、累積和にも加算される。
【００７０】
［処理の流れ］
続いて、図１に示すシステムにおける処理の流れを説明する。ここでは、空調制御サーバ１００の処理と、エッジ端末１０の処理について説明する。
【００７１】
（空調制御サーバ１００の処理）
図１０は、空調制御サーバ１００の処理の流れを示すフローチャートである。図１０に示すように、ログ収集部１１１は、各エッジからログを収集して、センサ値ＤＢ１０３や操作ログＤＢ１０４に格納する（Ｓ１０１）。
【００７２】
続いて、学習部１１２は、ログ収集部１１１によってログから生成された学習データを用いて、学習モデルを学習する（Ｓ１０２）。その後、配信部１１３は、学習済みの学習モデルを、各部屋の各エッジ端末１０に配信する（Ｓ１０３）。その後も、ログ収集部１１１は、ログ収集を継続する（Ｓ１０４）。
【００７３】
その後、再学習部１１４は、いずれかのエッジ端末１０から再学習の要求を受信すると（Ｓ１０５：Ｙｅｓ）、前回の学習完了後に取得されたログを含む学習データを用いて、学習モデルの再学習を実行する（Ｓ１０６）。
【００７４】
そして、再学習部１１４は、再学習後の学習モデルを各エッジ端末に配信する（Ｓ１０７）。なお、この処理は、管理者等により終了操作が行われるまで継続される。
【００７５】
（エッジ端末１０の処理）
図１１は、エッジ端末１０の処理の流れを示すフローチャートである。図１１に示すように、エッジ端末１０が学習モデルを受信すると（Ｓ２０１：Ｙｅｓ）、ログ収集部２１は、部屋内のセンサ等からログを収集して、センサ値ＤＢ１３や操作ログＤＢ１４に格納する（Ｓ２０２）。
【００７６】
そして、予測部２２は、ログから生成される予測対象データを学習モデルに入力して予測を実行する（Ｓ２０３）。その後、予測部２２は、予測結果に基づき、空調制御を実行する（Ｓ２０４）。
【００７７】
その後、更新部２３は、予測されたユーザ操作が確定すると（Ｓ２０５：Ｙｅｓ）、予測結果と実際のユーザ操作との予測誤差を算出し（Ｓ２０６）、予測誤差を用いて、学習モデルの更新を実行する（Ｓ２０７）。
【００７８】
そして、判定部２４は、予測誤差の累積和を算出し（Ｓ２０８）、累積和が閾値以上であれば（Ｓ２０８：Ｙｅｓ）、学習モデルの再学習を空調制御サーバ１００に送信する（Ｓ２０９）。一方、予測誤差の累積和が閾値未満であれば（Ｓ２０８：Ｎｏ）、Ｓ２０２以降が継続される。
【００７９】
［効果］
上述したように、エッジ側では、クラウド上の空調制御サーバ１００上で構築された学習モデルを用いて、予測および空調制御を行うとともに、逐次に観測されるデータでオンライン学習を行ってモデルを微修正しつつ、学習モデルを利用する。そして、エッジ側での予測誤差が大きくなると、クラウド上の空調制御サーバ１００で再学習を行う。このため、エッジ側で気象変化に即時対応することができるとともに、突然の寒波などの大きな気象変化時にはクラウドによって対応することができるので、処理性能の低いエッジ端末を用いても、レスポンス性が高い学習システムを構築することができ、予測精度の劣化を抑制することができる。
【実施例２】
【００８０】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００８１】
［対象空間］
上記実施例では、会社などの部屋を一例として説明したが、これに限定されるものではない。例えば、電車や車などの車内、マシンルーム、飛行機の機内など様々な空間を対象とすることができる。
【００８２】
［学習データ］
上記実施例では、学習データとして、室温、外気温、湿度を用いる例を説明したが、これに限定されるものではない。例えば、室温と外気温を学習データとしてユーザ操作を予測する学習モデル、５分間などの所定時間内の室温の変化と外気温の変化を学習データとしてユーザ操作を予測する学習モデルなどを学習することもできる。
【００８３】
［数値］
上記実施例で説明したセンサ値の項目、数値などは、図示したものに限定されず、一般的なウェアラブル端末やセンサなどで収集可能な情報を用いることができる。また、予測間隔も、３０分後や２時間後など任意に変更することができる。その場合、センサ値などの収集単位も任意の時間に変更する。また、学習データとして、センサ値と操作ログを使用する例を説明したが、これに限定されるものではなく、センサ値のみを使用することもできる。
【００８４】
［予測］
上記実施例では、ユーザ操作を予測する学習モデルを構築する例を説明したが、これに限定されるものではなく、室温を予測する学習モデルを構築することもできる。この場合、３０分後の室温などを目的変数とする。また、上記実施例では、交差エントロピー誤差を用いる例を説明したが、これに限定されるものではなく、二乗誤差などを用いることもできる。
【００８５】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、エッジ端末１０の予測部２２と更新部２３とを統合することもできる。
【００８７】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８８】
［ハードウェア］
上述した空調制御サーバ１００とエッジ端末１０とは同様のハードウェア構成を有するので、ここでは、コンピュータ３００として説明する。図１２は、ハードウェア構成例を説明する図である。図１２に示すように、コンピュータ３００は、通信装置３００ａ、ＨＤＤ（Hard  Disk  Drive）３００ｂ、メモリ３００ｃ、プロセッサ３００ｄを有する。また、図１２に示した各部は、バス等で相互に接続される。
【００８９】
通信装置３００ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ３００ｂは、図３に示した機能を動作させるプログラムやＤＢを記憶する。
【００９０】
プロセッサ３００ｄは、図３に示した各処理部と同様の処理を実行するプログラムをＨＤＤ３００ｂ等から読み出してメモリ３００ｃに展開することで、図３等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、エッジ端末１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ３００ｄは、ログ収集部２１、予測部２２、更新部２３、判定部２４等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ３００ｄは、ログ収集部２１、予測部２２、更新部２３、判定部２４等と同様の処理を実行するプロセスを実行する。
【００９１】
このように、エッジ端末１０は、プログラムを読み出して実行することで空調制御方法を実行する情報処理装置として動作する。また、エッジ端末１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、エッジ端末１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００９２】
１０  エッジ端末
１１  通信部
１２  記憶部
１３  センサ値ＤＢ
１４  操作ログＤＢ
１５  学習結果ＤＢ
２０  制御部
２１  ログ収集部
２２  予測部
２３  更新部
２４  判定部
１００  空調制御サーバ
１０１  通信部
１０２  記憶部
１０３  センサ値ＤＢ
１０４  操作ログＤＢ
１０５  学習データＤＢ
１０６  学習結果ＤＢ
１１０  制御部
１１１  ログ収集部
１１２  学習部
１１３  配信部
１１４  再学習部
【図１】
2020154785.tif 000006
【図２】
2020154785.tif 000007
【図３】
2020154785.tif 000008
【図４】
2020154785.tif 000009
【図５】
2020154785.tif 000010
【図６】
2020154785.tif 000011
【図７】
2020154785.tif 000012
【図８】
2020154785.tif 000013
【図９】
2020154785.tif 000014
【図１０】
2020154785.tif 000015
【図１１】
2020154785.tif 000016
【図１２】
2020154785.tif 000017