(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024023443
(43)【公開日】2024-02-21
(54)【発明の名称】機械学習および処理された訓練データを用いた非侵入型負荷監視
(51)【国際特許分類】
H02J 3/00 20060101AFI20240214BHJP
G06N 20/00 20190101ALI20240214BHJP
H02J 13/00 20060101ALI20240214BHJP
【FI】
H02J3/00 130
G06N20/00
H02J13/00 301A
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023201645
(22)【出願日】2023-11-29
(62)【分割の表示】P 2021555350の分割
【原出願日】2020-09-17
(31)【優先権主張番号】16/698,346
(32)【優先日】2019-11-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ミマールオール,セリム
(72)【発明者】
【氏名】ギュネル,アルハン
(72)【発明者】
【氏名】ベンジャミン,オーレン
(72)【発明者】
【氏名】シェン,アンキ
(57)【要約】 (修正有)
【課題】公共事業計量装置を用いた非侵入型負荷監視方法、システム及び非一時的なコンピュータ読取可能媒体を提供する。
【解決手段】新規の学習スキームを用いた非侵入型負荷監視を実現する方法は、世帯エネルギ使用量から装置エネルギ使用量をディスアグリゲートする訓練された機械学習モデルを格納する。機械学習モデルは、世帯エネルギ使用量からターゲット装置のエネルギ使用量を予測するように訓練され、ある期間に亘る世帯エネルギ使用量を受ける。世帯エネルギ使用量は、ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギと、を含む。方法はまた、エネルギ使用料データを処理し、処理した訓練された機械学習モデルを使用し、受けた世帯エネルギ使用量に基づいて、上記期間に亘るターゲット装置のエネルギ使用量を予測する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするための方法であって、前記方法は、
世帯エネルギ使用量から装置エネルギ使用量をディスアグリゲートするように構成された、訓練された機械学習モデルを格納するステップを含み、前記機械学習モデルは、世帯エネルギ使用量からターゲット装置のエネルギ使用量を予測するように訓練され、前記方法はさらに、
ある期間にわたる世帯エネルギ使用量を受けるステップを含み、前記世帯エネルギ使用量は、前記ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含み、前記方法はさらに、
前記訓練された機械学習モデルを使用し、受けた前記世帯エネルギ使用量に基づいて、前記期間にわたる前記ターゲット装置のエネルギ使用量を予測するステップを含む、方法。
【請求項2】
前記訓練された機械学習モデルは、複数の世帯のエネルギ使用量の値と、前記ターゲット装置のラベル付けされたエネルギ使用量の値と、一組の他の装置のラベル付けされたエネルギ使用量の値とを用いて、訓練される、請求項1に記載の方法。
【請求項3】
前記機械学習モデルを訓練するために使用される訓練データは、複数の世帯からのエネルギ使用量と、前記複数の世帯の前記エネルギ使用量の中の前記ターゲット装置のラベル付けされたエネルギ使用量の値と、前記複数の世帯の前記エネルギ使用量の中の前記一組の他の装置のラベル付けされたエネルギ使用量の値とを含み、
前記機械学習モデルの前記訓練は、前記ターゲット装置のエネルギ使用量の値を予測する精度を最適化する、請求項2に記載の方法。
【請求項4】
前記訓練データは複数の世帯のエネルギ使用量の値を含み、前記複数の世帯のうちの大半の前記エネルギ使用量は、前記ターゲット装置からのラベル付けされたエネルギ使用量と、前記一組の他の装置のうちの少なくとも1つの装置からのラベル付けされたエネルギ使用量とを含む、請求項3に記載の方法。
【請求項5】
前記複数の世帯からの前記エネルギ使用量の値と、前記ターゲット装置の前記ラベル付けされたエネルギ使用量の値と、前記一組の他の装置の前記ラベル付けされたエネルギ使用量の値とを含む前記訓練データは、実質的に1時間単位の粒度を含み、前記期間にわたる、受けた前記世帯エネルギ使用量は、実質的に1時間単位の粒度を含む、請求項4に記載の方法。
【請求項6】
そのエネルギ使用量が、前記一組の他の装置のサブセットからのラベル付けされたエネルギ使用量を含まない、特定の世帯について、前記他の装置のサブセットの前記ラベル付けされたエネルギ使用量がゼロに設定されるように、前記訓練データを処理するステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記予測されたエネルギ使用量は、少なくとも1日にわたる、少なくとも実質的に1時間単位の粒度の、前記ターゲット装置の予測されたエネルギ使用量を含む、請求項6に記載の方法。
【請求項8】
前記一組の他の装置は、前記訓練データを含む前記複数の世帯の前記エネルギ使用量に基づいて決定される、請求項7に記載の方法。
【請求項9】
前記一組の他の装置のうちの複数の他の装置は、前記訓練データを含む前記複数の世帯
の前記エネルギ使用量に基づく、請求項8に記載の方法。
【請求項10】
前記一組の他の装置は、前記訓練データを含む前記複数の世帯の前記エネルギ使用量の中の前記一組の他の装置の既知のエネルギ使用量の値に基づいて決定される、請求項9に記載の方法。
【請求項11】
前記一組の他の装置は、当該一組の他の装置について前記機械学習モデルを訓練するように構成された訓練データの量が基準を満たすように、決定される、請求項10に記載の方法。
【請求項12】
ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのシステムであって、前記システムは、
プロセッサと、
前記プロセッサが実行する命令を格納するメモリとを備え、前記命令により、前記プロセッサは、
世帯エネルギ使用量から装置エネルギ使用量をディスアグリゲートするように構成された、訓練された機械学習モデルを格納するように構成されており、前記機械学習モデルは、世帯エネルギ使用量からターゲット装置のエネルギ使用量を予測するように訓練されており、前記プロセッサはさらに、
ある期間にわたる世帯エネルギ使用量を受けるように構成されており、前記世帯エネルギ使用量は、前記ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含み、前記プロセッサはさらに、
前記訓練された機械学習モデルを使用し、受けた前記世帯エネルギ使用量に基づいて、前記期間にわたる前記ターゲット装置のエネルギ使用量を予測するように構成されている、システム。
【請求項13】
前記訓練された機械学習モデルは、複数の世帯のエネルギ使用量の値と、前記ターゲット装置のラベル付けされたエネルギ使用量の値と、一組の他の装置のラベル付けされたエネルギ使用量の値とを用いて、訓練される、請求項12に記載のシステム。
【請求項14】
前記機械学習モデルを訓練するために使用される訓練データは、複数の世帯からのエネルギ使用量と、前記複数の世帯の前記エネルギ使用量の中の前記ターゲット装置のラベル付けされたエネルギ使用量の値と、前記複数の世帯の前記エネルギ使用量の中の前記一組の他の装置のラベル付けされたエネルギ使用量の値とを含み、
前記機械学習モデルの前記訓練は、前記ターゲット装置のエネルギ使用量の値を予測する精度を最適化する、請求項13に記載のシステム。
【請求項15】
前記訓練データは複数の世帯のエネルギ使用量の値を含み、前記複数の世帯のうちの大半の前記エネルギ使用量は、前記ターゲット装置からのラベル付けされたエネルギ使用量と、前記一組の他の装置のうちの少なくとも1つの装置からのラベル付けされたエネルギ使用量とを含む、請求項14に記載のシステム。
【請求項16】
前記複数の世帯からの前記エネルギ使用量の値と、前記ターゲット装置の前記ラベル付けされたエネルギ使用量の値と、前記一組の他の装置の前記ラベル付けされたエネルギ使用量の値とを含む前記訓練データは、実質的に1時間単位の粒度を含み、前記期間にわたる、受けた前記世帯エネルギ使用量は、実質的に1時間単位の粒度を含む、請求項15に記載のシステム。
【請求項17】
前記命令により、前記プロセッサは、そのエネルギ使用量が、前記一組の他の装置のサブセットからのラベル付けされたエネルギ使用量を含まない、特定の世帯について、前記
他の装置のサブセットの前記ラベル付けされたエネルギ使用量がゼロに設定されるように、前記訓練データを処理するように構成される、請求項16に記載のシステム。
【請求項18】
前記予測されたエネルギ使用量は、少なくとも1日にわたる、少なくとも実質的に1時間単位の粒度の、前記ターゲット装置の予測されたエネルギ使用量を含む、請求項17に記載のシステム。
【請求項19】
前記一組の他の装置は、前記訓練データを含む前記複数の世帯の前記エネルギ使用量の中の前記一組の他の装置の既知のエネルギ使用量の値に基づいて決定される、請求項18に記載のシステム。
【請求項20】
命令が格納された非一時的なコンピュータ読取可能媒体であって、前記命令がプロセッサによって実行されると、前記プロセッサは、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートし、前記命令が実行されると、前記プロセッサは、
世帯エネルギ使用量から装置エネルギ使用量をディスアグリゲートするように構成された、訓練された機械学習モデルを格納しており、前記機械学習モデルは、世帯エネルギ使用量からターゲット装置のエネルギ使用量を予測するように訓練されており、前記命令が実行されると、前記プロセッサはさらに、
ある期間にわたる世帯エネルギ使用量を受け、前記世帯エネルギ使用量は、前記ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含み、前記命令が実行されると、前記プロセッサはさらに、
前記訓練された機械学習モデルを使用し、受けた前記世帯エネルギ使用量に基づいて、前記期間にわたる前記ターゲット装置のエネルギ使用量を予測する、非一時的なコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
分野
本開示の実施形態は、概して公共事業計量装置に関し、より具体的には公共事業計量装置を用いた非侵入型負荷監視に関する。
【背景技術】
【0002】
背景
特定のソース位置にある各種エネルギ使用装置の非侵入型負荷監視(「NILM」:non-intrusive load monitoring)およびディスアグリゲーション(disaggregation)は非
常に難しいことがわかっている。たとえば、ある世帯の、装置および/または電気自動車のエネルギ使用量を、監視された総合的な世帯エネルギ使用量からディスアグリゲートすることは、その世帯の装置および/または電気自動車の多様性(たとえば製造法、モデル、製造年など)に一部起因して困難であった。計量装置の進歩はいくつかの機会を提供したが、ディスアグリゲーションを首尾よく実現することは依然として困難である。ラベル付けされたデータセットの利用可能性、または、ラベル付けされた装置エネルギ使用量の値(たとえば電化製品1、電気自動車1、電化製品2などのエネルギ使用量の値でラベル付けされた世帯エネルギ使用量の値)を含むソース位置エネルギ使用量の値の利用可能性が限られていることが、進歩をさらに妨げてきた。そのため、これらの限られたデータセットから学習することにより、ソース位置の全体のエネルギ使用量からターゲット装置のエネルギ使用量を首尾よく予測することができるNILMおよびディスアグリゲーション技術は、この技術分野を大幅に改善し、これらの技術を実現するユーザに利益をもたらすであろう。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本開示の実施形態は、概して新規の学習スキームを用いた非侵入型負荷監視のためのシステムおよび方法に向けられている。世帯エネルギ使用量から装置エネルギ使用量をディスアグリゲートするように構成された、訓練された機械学習モデルを格納することができ、機械学習モデルは、世帯エネルギ使用量からターゲット装置のエネルギ使用量を予測するように訓練される。ある期間にわたる世帯エネルギ使用量を受けることができ、世帯エネルギ使用量は、ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含む。訓練された機械学習モデルを使用し、受けた世帯エネルギ使用量に基づいて、上記期間にわたるターゲット装置のエネルギ使用量を予測することができる。
【0004】
実施形態の特徴および利点は、以下の説明に記載される、またはこの説明から明らかであろう、または本開示を実施することによって知ることができる。
【0005】
さらに他の実施形態、詳細事項、利点、および変形は、以下の好ましい実施形態の詳細な説明を添付の図面と合わせて考慮することにより、明らかになるであろう。
【図面の簡単な説明】
【0006】
【
図1】実施形態の一例に係る、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのシステムを示す図である。
【
図2】実施形態の一例に係る、システムに作動的に結合されたコンピューティングデバイスのブロック図を示す。
【
図3】実施形態の一例に係る、機械学習モデルを使用することで、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。
【
図4A】実施形態の一例に係る、サンプル畳み込みニューラルネットワークを示す図である。
【
図4B】実施形態の一例に係る、サンプル畳み込みニューラルネットワークを示す図である。
【
図5A】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図5B】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図5C】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図5D】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図5E】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図5F】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図5G】実施形態の一例に係る、装置固有のディスアグリゲーションを表すサンプルグラフを示す図である。
【
図6】実施形態の一例に係る、複数の機械学習モデルを使用することで、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。
【
図7】実施形態の一例に係る、機械学習モデルを訓練することで、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。
【
図8】実施形態の一例に係る、訓練された機械学習モデルを用いて、ターゲット装置に対応付けられるディスアグリゲートされたエネルギ使用量を予測するためのフロー図を示す。
【
図9】実施形態の一例に係る、訓練された畳み込みニューラルネットワークを用いて、ターゲット装置に対応付けられるディスアグリゲートされたエネルギ使用量を予測するためのフロー図を示す。
【
図10】実施形態の一例に係る、複数の機械学習モデルを訓練することで、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。
【
図11】実施形態の一例に係る、複数の訓練された機械学習モデルを用いて、ターゲット装置に対応付けられるディスアグリゲートされたエネルギ使用量を予測するためのフロー図を示す。
【発明を実施するための形態】
【0007】
詳細な説明
実施形態は、新規の学習方式を用いて非侵入型負荷監視を実行する。NILMおよびディスアグリゲーションとは、ソース位置における合計エネルギ使用量(たとえば高度メータリングインフラストラクチャから提供された、ある世帯におけるエネルギ使用量)を入力として取り込み、このソース位置においてエネルギを使用する1つ以上の電化製品、電気自動車、およびその他の装置のエネルギ使用量を推定することである。実施形態は、訓練された機械学習モデルを活用することにより、ターゲット装置のエネルギ使用量を、ソース位置における総合的なエネルギ使用量に基づいて予測する。たとえば、ターゲット装置は大型電化製品または電気自動車であってもよく、ソース位置は世帯であってもよく、訓練された機械学習モデルは、この世帯のエネルギ使用量を入力として受けて、ターゲット装置のエネルギ使用量(たとえばこの世帯全体としてのエネルギ使用量に含まれるターゲット装置のエネルギ使用量)を予測することができる。
【0008】
実施形態は、ラベル付けされたエネルギ使用量データを用いて機械学習モデルを訓練する。たとえば、機械学習モデルは、設計/選択されたニューラルネットワーク等であってもよい。複数のソース位置(たとえば世帯)からエネルギ使用量データを取得することができ、エネルギ使用量データは装置固有のエネルギ使用量でラベル付けすることができる。たとえば、世帯エネルギ使用量の値はある期間をカバーすることができ、この期間内の個々の装置(たとえば電化製品1、電気自動車1、電化製品2など)のエネルギ使用量の値をラベル付けすることができる。そうすると、いくつかの実施形態において、この世帯および装置固有のエネルギ使用量を処理することにより、機械学習モデルのための訓練データを生成することができる。
【0009】
いくつかの実施形態において、機械学習モデルを訓練することにより、ターゲット装置のエネルギ使用量を予測(たとえばディスアグリゲート)することができる。たとえば、訓練データは、複数の異なるソース位置(たとえば世帯)におけるターゲット装置固有のエネルギ使用量を含み得るものであり、したがって、機械学習モデルを訓練することにより、訓練データにおける傾向を識別し、ターゲット装置のエネルギ使用量を予測することができる。いくつかの実施形態において、機械学習モデルを訓練することによりターゲット装置のエネルギ使用量を予測する一方で、訓練データは、1つ以上の他の装置のエネルギ使用量予測/損失計算/勾配更新を含み得る。たとえば、機械学習モデルのための訓練技術(たとえば予測生成、損失計算、勾配伝播、精度改善など)の実施形態を実現する場合、一組の他の装置を、ターゲット装置とともに含めることができる。
【0010】
いくつかの実施形態において、一組の他の装置は、訓練データに、および/または訓練データの中の利用できる装置固有のラベル付けされたデータ値に基づくことができる。たとえば、装置固有のエネルギ使用量でラベル付けされたソース位置のエネルギ使用量データの利用可能性は限られている可能性がある。実施形態は、機械学習モデルを訓練するための技術において使用される一組の他の装置と、訓練データにおいて利用可能なラベル付けされた装置固有のエネルギ使用量データの値との、対応関係を含む。言い換えると、訓練データにおいて利用可能なラベル付けされた装置固有のエネルギ使用量データの値は、複数の異なる装置のラベルを含み得るものであり、訓練データの特定のソース位置内に出現する装置の多数の異なる組合せが存在する場合があり、同一のソース位置において異なる装置が一緒に現れる頻度は変動する可能性がある。訓練技術において使用される一組の他の装置は、訓練データ内の装置の多様性、特定のソース位置における装置の異なる組合せ、および/または装置の異なる組合せの出現頻度に基づき得る。
【0011】
いくつかの実施形態において、一組の他の装置の訓練データをターゲット装置の訓練データと組合せて使用する場合、訓練技術は、ターゲット装置と一組の他の装置とを含み得る。この実装形態は、訓練されている機械学習モデルが、一組の他の装置に基づいて学習した特徴を使用して、ターゲット装置のエネルギ使用量/ディスアグリゲーションをより正確に予測することを可能にする。いくつかの実施形態において、一組の他の装置と利用可能な訓練データとの対応関係は、一組の他の装置を含めることで実現される訓練/予測/精度の利点をさらに強化する。
【0012】
実施形態は、高度メータリングインフラストラクチャ(AMI:advanced metering infrastructure)から提供された世帯内の合計エネルギを使用して、対応する装置固有のエネルギ使用量を正確に推定または予測する。非侵入型負荷監視(NILM)のドメインは、Hart, George W., "Nonintrusive appliance load monitoring," Proceedings of the IEEE, vol. 80, no. 12, pp. 1870-1891, 1992に記載されている見識のように、研究上の大きな注目を集めてきた。NILMによる正確なディスアグリゲーションは、エネルギ節約の機会、パーソナライゼーション、改善された送電網計画などを含めて数多くの利点を
提供する。
【0013】
実施形態は、限られた訓練セットに基づいて、大型の家庭用電化製品および電気自動車等の多数のエネルギ消費装置の電力負荷(power load)を正確にディスアグリゲートすることができる、深層学習方式を利用する。正確なディスアグリゲーションは、一般世帯のエネルギ消費装置(たとえば大型電化製品および電気自動車)のようなエネルギ消費装置の多様性および対応する使用状態のために、難しくなる可能性がある。加えて、NILMドメインでは、利用できる訓練データは限られている可能性がある。したがって、訓練データセットの利点を最大にすることができる学習方式は特に有効となり得る。
【0014】
実施形態では、訓練データを使用して、これらの難しい状態で有効に学習するように設計された学習モデルを訓練することができる。学習モデルに対する入力は、他の種類の入力とともに、AMIから提供することができる。実施形態は、電気装置のエネルギ使用量を高い粒度/分解能および低い粒度/分解能(たとえば1分、5分、15分、30分、1時間、またはそれよりも長い時間)で正確に予測することができる。
【0015】
実施形態は、ターゲット装置のディスアグリゲーションのために設計されたNILMの学習方式を利用するが、他の1つ以上の非ターゲット装置をこの学習方式において使用することができる。たとえば、訓練データセットのサブセットは、ラベル付けされた装置エネルギ使用量を含み得るものであり、これがより大きな訓練セットを生み出す。NILMドメインでは、計量される訓練データに限りがある可能性があり、また、データセット内の、いずれか特定の場所のラベル付けされた装置の数に限りがある可能性がある。
【0016】
既存の学習方式による従来のNILMの実現には、それ自身の欠陥がある。過去に検討された提案されている方策のうちのいくつかは、組合せ最適化、ベイズ法、隠れマルコフモデル、または深層学習の上に構築されている。しかしながら、これらのモデルのうちの多くは、さまざまな欠点があるので、現実世界のシナリオにおいては役に立たない。たとえば、これらの解決策のうちのいくつかは、計算コストが高く、したがって実用的ではない。それ以外は、特定のデプロイされた計量能力では利用できないまたは実用的ではないことが多い、高い分解能/粒度の入力(たとえばAMIデータまたは訓練データ)を必要とする。
【0017】
たとえば、提案されているある方策は、複数のエネルギ消費装置に注目しているが、このシナリオは、(たとえば効果的に訓練するためには)同じソース位置における複数のラベル付けされたエネルギ消費装置が必要であるという制約があるために、限られた訓練データセットを活用する訳ではない。結果として、訓練データセットを十分に利用していない。提案されているもう1つの方策は、訓練データセットからターゲット装置を選択するが、学習方式において他の装置は使用しない。この場合、学習に参加する装置の数が限られているために、システムの有効性が制限される。実施形態は、NILMの問題を実際的な時間内に現実世界の制約の下で適格に解決する。
【0018】
実施形態は、学習方式においてターゲット装置を使用し非ターゲット装置も使用することにより、ドメイン内の限られた訓練データセットを有効に利用する。たとえば、学習は、非ターゲット装置(たとえばラベル付けされたエネルギ使用量、損失計算、および勾配伝搬)に基づいて実行することができるが、ラベル付けされたデータの欠落等の、訓練データにおける無効なエントリを、破棄するのではなくゼロ値で置き換えることができる。この形態のデータキュレーション(curation)は、ターゲット装置の正確なディスアグリゲーション予測を、非ターゲット装置からのデータも利用することで、実現する。たとえば、訓練は、キュレート/処理されたデータセットに対して行うことができる。実施形態は、ターゲット装置のディスアグリゲーションの正確な予測を柔軟に行うことができる。
モデルは、ターゲット装置のための訓練中に、他の非ターゲット装置から、訓練データのサブセットから、またはこれらの任意の組合せから、学習することができる。この柔軟性が、より優れた訓練データの利用を実現し、ターゲット装置のディスアグリゲーションのより高いレベルの精度をもたらす。
【0019】
実施形態は、任意の適切なメータ(たとえばAMIなど)からのデータ(たとえば訓練および/または入力)を使用することができ、利用されるデータ(たとえば訓練および/または入力)は、15分、30分、または1時間等の、低い粒度を有し得る。ターゲット装置のディスアグリゲートされたエネルギ使用量の予測は、多くの理由で有用となり得る、すなわち、公共事業およびその顧客にエネルギ節約の機会を提供し、パーソナライゼーションの機会を提供し、ピークタイム需要管理を含むより優れた送電網計画を可能にする。たとえば、電気事業は、大型電化製品または装置からエネルギ使用量をアグリゲートするための技術に投資することができる。これらの投資の動機は、AMIおよびスマートグリッド技術の進歩、エネルギ効率への関心の高まり、より適切な情報に対する顧客の関心などを含む。
【0020】
いくつかの実施形態は、畳み込みニューラルネットワーク(「CNN」)を含む深層学習のフレームワーク上に、あるアーキテクチャを実現する。このアーキテクチャは拡張可能でもあり、入力および出力のサイズに合わせて調整することができる。深層学習のフレームワークの機能を、たとえば層の初期化、実現されたオプティマイザー、値の正規化、ドロップアウトなどを、利用、削除、または調整することができる。実際、CNNの多くのアプリケーションは、視覚パターンを(たとえば分類のために画像から直接)認識するように設計されている。その例は、LeNet、AlexNet、ZFNet、GoogleNet/Inception、VGGNet、およびResNetを含む。一方、実施形態は、CNNアーキテクチャを、ターゲット装置のエネルギ使用量のディスアグリゲーションを予測するために使用する。たとえば、CNNを、さまざまなカーネルサイズおよび形状を有する、並列に実行される複数の畳み込み層を有するように、設計することができる。この設計を使用して、(たとえば粒度1分、5分、15分、30分、1時間、またはそれよりも長い時間にわたり)測定されたエネルギ使用量データの傾向およびその他の側面を学習することができる。
【0021】
いくつかの実施形態は、複数の訓練された学習モデルを利用して、より高い予測精度を実現する。たとえば、アンサンブル方策は、複数の訓練されたモデルからの出力を組合せることができる。このアンサンブル方策を実現する実施形態は、ディスアグリゲーションおよび検出/識別の問題を解決するように設計された複数の深層学習モデルを組合せることにより、より高い精度を実現することができる。たとえば、これらのモデルの出力を、可能性のある複数のやり方で組合せることにより、最適な精度を実現することができる。実施形態は、同一入力、ディスアグリゲーションおよび検出/識別についての、2つの異なっているが関連のある問題を、解決する。各問題をより効果的に解決するために、別々のモデルを使用することができる。ディスアグリゲーションおよび検出/識別モデルから得られた結果は、いくつかのやり方により、すなわち、a)検出/識別に対する重み付け、b)ディスアグリゲーションに対する重み付け、c)各モデルに対する等しい(実質的に等しい)重み付けにより、組合せることができる。たとえば、2つのモデルを組合せて最終出力にするという特定の方式は、複数の要素に、すなわち、しきい値、および、各モデルの予測出力と最終出力との間の距離に、基づき得る。
【0022】
実施形態は、(たとえば各ターゲット装置ごとに)ディスアグリゲーションおよび検出/識別モデルを訓練し構築する。(たとえば距離メトリックによって測定される)各モデルの相互の距離と、各モデルの、ラベル付けされた/既知の値からの距離とに応じて、a)検出/識別に対する重み付け、b)ディスアグリゲーションに対する重み付け、c)各
モデルを等しく(または実質的に等しく)重み付けするという、アンサンブル/組合せ方策を選択できる。いくつかの実施形態は、たとえばモデル間の不一致に基づいて、出力をデータ値(たとえばしきい値)を用いて増強(augment)してもよい。実装形態および結
果は、モデルを組合せて最終出力にした場合の、複数のエネルギ消費装置(たとえば大型の家庭用電化製品および/または電気自動車)に対する改善されたディスアグリゲーション予測を示す。
【0023】
次に、その例が添付の図面に示される本開示の実施形態を詳細に参照する。以下の詳細な説明において、本開示の十分な理解を得るために数多くの具体的な詳細事項が記載されている。しかしながら、本開示はこれらの具体的な詳細事項がなくても実施し得ることは当業者には明らかであろう。その他の例において、周知の方法、手順、構成要素、および回路は、実施形態の局面を不必要に曖昧にしないよう、詳細には説明していない。可能な限り、同様の参照番号が同様の要素に使用される。
【0024】
図1は、実施形態の一例に係る、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのシステムを示す。システム100は、ソース位置102と、メータ104と、ソース位置106と、メータ108と、装置110、112、および114と、ネットワークノード116とを含む。ソース位置102は、装置110、112、および114を備えた世帯等の、エネルギを消費または生成する装置を含む、またはそうでなければこの装置に対応付けられる、任意の適切な場所とすることができる。いくつかの実施形態において、装置110、112、および114は、洗濯機、乾燥機、空調装置、加熱器、冷蔵庫、テレビ、コンピューティングデバイスなどのような、エネルギを使用する電化製品および/または電気自動車とすることができる。たとえば、ソース位置102は電力(たとえば電気)の供給を受けることができ、装置110、112、および114はソース位置102から供給される電力を得ることができる。いくつかの実施形態において、ソース位置102は世帯であり、世帯への電力は、送電網、ローカル電源(たとえば太陽光パネル)、これらの組合せ、またはその他任意の適切なソースから供給される。
【0025】
いくつかの実施形態において、メータ104を用いてソース位置102におけるエネルギ使用量(たとえば電気使用量)を監視することができる。たとえば、メータ104は、スマートメータ、高度メータリングインフラストラクチャ(「AMI」)メータ、自動メータ読取(「AMR」:automatic meter reading)メータ、簡易エネルギ使用量メータ
などであってもよい。いくつかの実施形態において、メータ104は、ソース位置102におけるエネルギ使用量に関する情報を、中央電力系統、供給者、第三者、またはその他任意の適切なエンティティに送信することができる。たとえば、メータ104は、ソース位置102におけるエネルギ使用量を伝達するために、エンティティとの間で双方向通信を実現することができる。いくつかの実施形態において、メータ104は、エンティティとの間で片方向通信を実現してもよく、この場合、メータの測定読取値がエンティティに送信される。
【0026】
いくつかの実施形態において、メータ104は、有線通信リンクおよび/またはワイヤレス通信リンクを介して通信することができ、ワイヤレス通信プロトコル(たとえばセルラー技術)、Wi-Fi(登録商標)、Wi-Fiを介したワイヤレスアドホックネットワーク、ワイヤレスメッシュネットワーク、省電力長距離ワイヤレス(「LoRa」)、Zigbee(登録商標)、Wi-SUN、ワイヤレスローカルエリアネットワーク、有線ローカルエリアネットワークなどを、活用することができる。装置110、112、および114(ならびに図示されていないその他の装置)は、ソース位置102においてエネルギを使用することができ、メータ104は、ソース位置のエネルギ使用量を監視し対応するデータを(たとえばネットワークノード116)にレポートすることができる。
【0027】
いくつかの実施形態において、ソース位置106およびメータ108は、ソース位置102およびメータ104と同様のものとすることができる。たとえば、ネットワーキングノード116は、ソース位置102およびソース位置106に関するエネルギ使用量情報を、メータ104およびメータ106から受信することができる。いくつかの実施形態において、ネットワークノード116は、中央電力系統、供給者、送電網、分析サービスプロバイダ、第三者エンティティ、またはその他任意の適切なエンティティの一部とすることができる。
【0028】
以下の説明は、1つの基準(criterion)または複数の基準(criteria)の記載を含む
。これらの用語は本開示全体を通して区別なく使用され、複数の基準の範囲は1つの基準の範囲を含むことを意図し、1つの基準の範囲は複数の基準の範囲を含むことを意図している。
【0029】
図2は、実施形態に係るコンピュータサーバ/システム200のブロック図である。システム200のすべてまたは部分は、
図1に示される要素のいずれかを実現するために使用されてもよい。
図2に示されるように、システム200は、プロセッサ222およびメモリ214等のシステム200の各種構成要素間で情報を伝達するように構成されたバスデバイス212および/または他の通信機構を含み得る。加えて、通信デバイス220は、プロセッサ222からネットワーク(図示せず)を介して別のデバイスに送信されるべきデータを符号化し別のシステムからネットワークを介して受信したプロセッサ222に対するデータを復号することにより、プロセッサ222と他のデバイスとの間の接続性を可能にしてもよい。
【0030】
たとえば、通信デバイス220は、ワイヤレスネットワーク通信を提供するように構成されたネットワークインターフェイスカードを含み得る。赤外線、無線、Bluetooth(登録商標)、Wi-Fi、および/またはセルラー通信を含む、さまざまなワイヤレス通信技術を使用することができる。これに代えて、通信デバイス220は、イーサネット(登録商標)接続等の有線ネットワーク接続を提供するように構成されてもよい。
【0031】
プロセッサ222は、システム200の計算および制御機能を実行するための1つ以上の汎用または専用プロセッサを含み得る。プロセッサ222は、マイクロプロセッシングデバイス等の単一の集積回路を含んでいてもよく、または協働して動作することでプロセッサ222の機能を実現する複数の集積回路デバイスおよび/または回路基板を含んでいてもよい。加えて、プロセッサ222は、メモリ214内に格納されたオペレーティングシステム215、予測ツール216、およびその他のアプリケーション218等のコンピュータプログラムを実行してもよい。
【0032】
システム200は、プロセッサ222が実行する命令および情報を格納するためのメモリ214を含み得る。メモリ214は、データを取り出し、提示し、修正し、格納するためのさまざまな構成要素を含み得る。たとえば、メモリ214は、プロセッサ222によって実行されると機能を提供するソフトウェアモジュールを格納してもよい。モジュールは、システム200に対してオペレーティングシステム機能を提供するオペレーティングシステム215を含み得る。モジュールは、オペレーティングシステム215、本明細書に開示されるNILMおよびディスアグリゲーション機能を実現する予測ツール216、ならびにその他のアプリケーションモジュール218を含み得る。オペレーティングシステム215は、システム200に対してオペレーティングシステム機能を提供する。いくつかの例において、予測ツール216は、インメモリ構成として実現されてもよい。いくつかの実装形態において、システム200は、予測ツール216の機能を実行する場合、本明細書に開示される機能を実行する非従来型の専用コンピュータシステムを実現する。
【0033】
非一時的なメモリ214は、プロセッサ222からアクセス可能なさまざまなコンピュータ読取可能媒体を含み得る。たとえば、メモリ214は、ランダムアクセスメモリ(「RAM」)、ダイナミックRAM(「DRAM」)、スタティックRAM(「SRAM」)、読出専用メモリ(「ROM」)、フラッシュメモリ、キャッシュメモリ、および/またはその他任意の種類の非一時的なコンピュータ読取可能媒体の、任意の組合せを含み得る。プロセッサ222はさらに、バス212を介して、液晶ディスプレイ(「LCD」)等のディスプレイ224に結合される。キーボード226およびコンピュータマウス等のカーソルコントロールデバイス228がさらに通信デバイス212に結合されて、ユーザがシステム200に対してインターフェイスすることを可能にする。
【0034】
いくつかの実施形態において、システム200は、より大きなシステムの一部とすることができる。したがって、システム200は、追加機能を含むために1つ以上の追加の機能モジュール218を含み得る。その他のアプリケーションモジュール218は、たとえば、Oracle(登録商標)ユーティリティカスタマークラウドサービス、Oracle(登録商標)クラウドインフラストラクチャ、Oracle(登録商標)クラウドプラットフォーム、Oracle(登録商標)クラウドアプリケーションの、さまざまなモジュールを含み得る。予測ツール216、その他のアプリケーションモジュール218、およびシステム200のその他任意の適切な構成要素は、Oracle(登録商標)データサイエンスクラウドサービス、Oracle(登録商標)データインテグレーションサービス、またはその他の適切なOracle(登録商標)の製品もしくはサービスの、さまざまなモジュールを含み得る。
【0035】
データベース217は、バス212に結合されることにより、モジュール216および218のための集中ストレージを提供し、たとえばコンピュータビジョンツール216または他のデータソースが受信したデータを格納する。データベース217は、論理的に関連する記録またはファイルの統合されたコレクションにデータを格納することができる。データベース217は、オペレーショナルデータベース、分析データベース、データウェアハウス、分散型データベース、エンドユーザデータベース、外部データベース、ナビゲーションデータベース、インメモリデータベース、文書指向データベース、リアルタイムデータベース、リレーショナルデータベース、オブジェクト指向データベース、非リレーショナルデータベース、NoSQLデータベース、Hadoop(登録商標)分散型ファイルシステム(「HFDS」)、または当技術分野で周知のその他任意のデータベースとすることができる。
【0036】
単一システムとして示されているが、システム200の機能は分散型システムとして実現されてもよい。たとえば、メモリ214およびプロセッサ222は、集合的にシステム200を表す複数の異なるコンピュータに分散していてもよい。一実施形態において、システム200は、デバイス(たとえばスマートフォン、タブレット、コンピュータなど)の一部であってもよい。ある実施形態において、システム200は、デバイスから独立していてもよく、開示されている機能をこのデバイスに対して遠隔から提供してもよい。さらに、システム200の1つ以上の構成要素が含まれていなくてもよい。たとえば、ユーザまたはコンシューマデバイスとしての機能の場合、システム200は、スマートフォンまたはその他のワイヤレスデバイスであってもよく、このスマートフォンまたはその他のワイヤレスデバイスは、プロセッサとメモリとディスプレイとを含み、
図2に示されるその他の構成要素のうちの1つ以上を含まず、アンテナ、トランシーバ、またはその他任意の適切なワイヤレスデバイスの構成要素等の
図2に示されていない追加の構成要素を含む。
【0037】
図3は、実施形態の一例に係る、機械学習モデルを用いて、ターゲット装置に対応付け
られるエネルギ使用量をディスアグリゲートするためのシステムを示す。システム300は、入力データ302と、処理モジュール304と、予測モジュール306と、訓練データ308と、出力データ310とを含む。いくつかの実施形態において、入力データ302は、ソース位置からのエネルギ使用量を含み得るものであり、処理モジュール304はこのデータを処理することができる。たとえば、処理モジュール304は、入力データ302を処理することにより、入力データに基づいて特徴を生成することができる。
【0038】
いくつかの実施形態において、予測モジュール306は、訓練データ308によって訓練される機械学習モジュール(たとえばニューラルネットワーク)とすることができる。たとえば、訓練データ308は、ラベル付けされた装置固有のエネルギ使用量データ値を含む、複数のソース位置(たとえば
図1のソース位置102および106)からのエネルギ使用量データ値等の、ラベル付けされたデータを含み得る。いくつかの実施形態において、処理された入力等の処理モジュール304からの出力は、予測モジュール306に、入力として与えることができる。予測モデル306は、入力データ302に対し、ディスアグリゲートされたエネルギ使用量データ等の出力データ310を生成することができる。いくつかの実施形態において、入力データ302は、ソース位置エネルギ使用量データとすることができ、出力データ310は、ターゲット装置(または複数の装置)についてディスアグリゲートされたエネルギ使用量データとすることができる。
【0039】
実施形態は、ニューラルネットワーク等の機械学習モデルを使用して、ターゲット装置のエネルギ使用量を予測する。ニューラルネットワークは、ニューロンと呼ばれる複数のノードを含むことができ、このニューロンは、リンクまたはシナプスを介して他のニューロンに接続される。ニューラルネットワークのいくつかの実装形態は、分類タスクを目的とすることができ、および/または教師あり学習技術の下で訓練することができる。多くの場合、ラベル付けされたデータは、予測タスク(たとえばエネルギ使用量の分類/予測)の実現に役立つ特徴を含み得る。いくつかの実施形態において、訓練されたニューラルネットワーク内のニューロンは、特定の入力データに対して小さな数学的演算を実行することができ、この場合、その対応する重み(または関連性)を使用して、ネットワーク内にさらに送られるかまたは出力として与えられるオペランド(たとえば非線形性を適用することによって部分的に生成される)を生成することができる。シナプスは、2つのニューロンを、対応する重み/関連性で接続することができる。
図3の予測モデル306はニューラルネットワークとすることができる。
【0040】
いくつかの実施形態において、ニューラルネットワークを使用して、ラベル付けされたエネルギ使用量データ値(たとえばある期間にわたる装置固有のエネルギ使用量でラベル付けされた世帯エネルギ使用量データ値)の中の傾向を学習することができる。たとえば、訓練データは特徴を含み得るものであり、ニューラルネットワーク(またはその他の学習モデル)が、これらの特徴を使用して、ターゲット装置に対応付けられる全体的なソース位置エネルギ使用量から、傾向を特定し、エネルギ使用を予測する(たとえばある世帯の全体的なエネルギ使用量をディスアグリゲートすることにより、ターゲット装置によるエネルギ使用量を特定する)ことができる。いくつかの実施形態において、モデルは、訓練/準備されると、デプロイされることができる。実施形態は、複数の製品またはサービス(たとえばOracle(登録商標)の製品またはサービス)を用いて実現することができる。
【0041】
いくつかの実施形態において、予測モジュール306の設計は、任意の適切な機械学習モデルの構成要素(たとえばニューラルネットワーク、サポートベクターマシン、特化された回帰モデルなど)を含み得る。たとえば、ニューラルネットワークは、(たとえば訓練/勾配計算のために)特定のコスト関数とともに実現することができる。ニューラルネットワークは、任意の数の(たとえば0、1、2、3、またはそれよりも多い)隠れ層を
含むことができ、フィードフォワードニューラルネットワーク、リカレントニューラルネットワーク、畳み込みニューラルネットワーク、モジュラーニューラルネットワーク、およびその他任意の適切なタイプを含み得る。
【0042】
図4A~
図4Bは、実施形態の例に係る、サンプル畳み込みニューラルネットワーク(convolutional neural network)を示す。
図4AのCNN400は、層402、404、406、408、および410、ならびにカーネル412、414、および416を含む。たとえば、畳み込みニューラルネットワークの特定の層において、1つ以上のフィルタまたはカーネルを、層の入力データに適用することができる。示されている実施形態において、層402、404、および406は畳み込み層であり、カーネル412は層402に適用され、カーネル414は層404に適用され、カーネル416は層406に適用される。データの形状および基礎となるデータ値は、適用されるフィルタまたはカーネルの形状(たとえば1×1、1×2、1×3、1×4など)、フィルタまたはカーネルの適用方法(たとえば数学的適用)、およびその他のパラメータ(たとえばストライド)に応じて、入力から出力へと変化させることができる。カーネル412、414、および416は1次元カーネルとして示されているが、その他任意の適切な形状を実現することができる。実施形態において、カーネル412、414、および416は、それらの間で一致する1つの形状、2つの異なる形状、または3つの異なる形状(たとえばすべてのカーネルが異なるサイズ)を有することができる。
【0043】
いくつかの例において、畳み込みニューラルネットワークの層は、異種のものであってもよく、畳み込み層、プーリング層、全結合層(たとえば1×1フィルタの適用に類似)などの、さまざまなミックス/シーケンスを含み得る。示される実施形態において、層408および410は全結合層であってもよい。したがって、CNN400は、複数の畳み込み層(たとえば1次元フィルタまたはカーネルを実現する)の後に全結合層が続くフィードフォワード畳み込みニューラルネットワークのある実施形態を示す。実施形態は、その他任意の適切な畳み込みニューラルネットワークを実現することができる。
【0044】
図4BのCNN420は、層422、424、426、428、430、および432、ならびにカーネル434、436、および438を含む。CNN420は、
図4AのCNN400と同様であってもよいが、層422、424、および426は、並列な向きの畳み込み層であってもよく、層428は、層422、424、および426の出力を連結する連結層であってもよい。たとえば、入力層からの入力を、層422、424、および426の各々に与えることができ、これらの層からの出力は、層428で連結される。いくつかの実施形態において、層428からの連結された出力は、全結合層であってもよい層430に与えることができる。たとえば、層430および432の各々は、全結合層であってもよく、層432からの出力を、CNN420が生成する予測とすることができる。
【0045】
いくつかの実施形態において、カーネル434、436、および438は、
図4Aのカーネル412、414、および416と同様のものとすることができる。たとえば、カーネル434、436、および438は、1次元カーネルとして示されているが、その他任意の適切な形状を実現することができる。実施形態において、カーネル434、436、および438は、それらの間で一致する1つの形状、2つの異なる形状、または3つの異なる形状(たとえばすべてのカーネルが異なるサイズ)を有することができる。
【0046】
いくつかの例において、畳み込みニューラルネットワークの層は、異種であってもよく、畳み込み層、プーリング層、全結合層(たとえば1×1フィルタの適用に類似)、並列層、連結層などの、さまざまなミックス/シーケンスを含み得る。たとえば、層422、424、および426は、3つの並列層を表すことができるが、より多くのまたはより少
ない数の並列層を実現することができる。同様に、層422、424、および426の各々の出力は、いくつかの実施形態では連結層である層428への入力として示されているが、層422、424、および426のうちの1つ以上は、連結層の前に追加の畳み込みまたはその他の層を含み得る。たとえば、1つ以上の畳み込み層またはその他の層が、層422(たとえば畳み込み層)と層428(たとえば連結層)との間に存在していてもよい。いくつかの実施形態において、(別のカーネルを有する)別の畳み込み層を、層422と層428との間に実現することができるが、そのような介在層は層424については実現されない。言い換えると、この例において、層422への入力は、層428(たとえば連結層)に入力される前に別の畳み込み層を通過することができるが、層424への入力は、(別の畳み込み層なしで)層428に直接出力される。
【0047】
いくつかの実施形態において、層422、424、426、および428(たとえば3つの並列畳み込み層と1つの連結層)は、CNN420内のあるブロックを表すことができ、1つ以上の追加ブロックを、示されたブロックの前または後に実現することができる。たとえば、あるブロックは、少なくとも2つの並列畳み込み層とそれに続く連結層とによって特徴付けることができる。いくつかの実施形態において、さまざまな並列構造を有する複数の(たとえば3つ以上の)追加の畳み込み層をブロックとして実現することができる。CNN420は、(たとえば1次元フィルタまたはカーネルを実現する)平行な向きの複数の畳み込み層の後に全結合層が続くフィードフォワード畳み込みニューラルネットワークのある実施形態を示す。実施形態は、その他任意の適切な畳み込みニューラルネットワークを実現することができる。
【0048】
いくつかの実施形態において、ニューラルネットワークは、たとえば実現された隠れ層の数に基づいた深層学習のために構成することができる。いくつかの例において、ベイズネットワークを同様に実現することができる、またはその他のタイプの教師あり学習モデルを同様に実現することができる。たとえば、サポートベクターマシンを、いくつかの例において、1つ以上のカーネル(たとえばガウスカーネル、線形カーネルなど)とともに実現することができる。いくつかの実施形態において、
図3の予測モジュール306は、たとえば、第1のモデルの出力が第2のモデルの入力に与えられる、スタックされた複数のモデルであってもよい。いくつかの実装形態は、予測モデルの複数の層を含み得る。
【0049】
いくつかの実施形態において、テストインスタンスをモデルに与えてその精度を計算することができる。たとえば、訓練データ308/ラベル付けされたエネルギ使用量データの一部を、(たとえばモデルを訓練するためではなく)訓練されたモデルをテストするために確保しておくことができる。精度測定値を使用することにより、予測モジュール306を調節することができる。いくつかの実施形態において、精度評価は、訓練データ/処理されたデータのサブセットに基づくことができる。たとえば、データのサブセットを使用することにより、訓練されたモデルの精度を評価することができる(たとえば訓練対テストの比が75%対25%など)。いくつかの実施形態において、テストのさまざまな繰り返しにわたってテストおよび訓練セグメントに対しデータをランダムに選択することができる。
【0050】
いくつかの実施形態において、テストの際、訓練されたモデルは、特定の入力(たとえばテストデータのインスタンス)に基づいて、ターゲット装置のエネルギ使用量の予測されたデータ値を出力することができる。たとえば、テストデータのインスタンスは、既知のラベル付けされたデータ値として、ある期間にわたるターゲット装置の固有のエネルギ使用量を含む、この期間にわたる特定のソース位置(たとえば世帯)のエネルギ使用量データとすることができる。ターゲット装置のエネルギ使用量データ値は特定の入力/テストインスタンスにおいて既知であるので、予測された値を既知の値と比較することにより、精度メトリックを生成することができる。テストデータの複数のインスタンスを使用す
る訓練されたモデルのテストに基づいて、訓練されたモデルの精度を評価することができる。
【0051】
いくつかの実施形態において、予測モジュール306の設計は、訓練、再訓練、および/または更新された訓練中の精度計算に基づいて調節することができる。たとえば、調節は、ニューラルネットワーク内の隠れ層の数を調整すること、カーネル計算(たとえばサポートベクターマシンまたはニューラルネットワークを実現するために使用される)を調整することなどを含み得る。この調節はまた、機械学習モデルが使用する特徴の調整/選択、入力データの処理に対する調整などを含み得る。実施形態は、訓練されたときに所望の性能(たとえば所望の精度レベルで予測を実行すること、所望のリソース利用/時間メトリックに従って実行することなど)を達成する予測モジュール306のための構成に到達するために、精度を訓練/計算しながら、各種調節構成(たとえば機械学習モデルおよび特徴の異なるバージョン)を実現することを含む。いくつかの実施形態において、訓練されたモデルは、さらに使用するためおよびその状態を維持するために、保存または格納することができる。たとえば、予測モジュール306の訓練は、「オフライン」で実行することができ、そうすると、訓練されたモデルを、時間およびリソース効率の良いデータ予測を実現するために格納し必要に応じて使用することができる。
【0052】
予測モジュール306の実施形態は、全体的なソース位置(たとえば世帯)エネルギ使用量データ内のエネルギ使用量データをディスアグリゲートするように訓練される。NILMおよび/またはディスアグリゲーションとは、ソース位置における合計エネルギ使用量(たとえば高度メータリングインフラストラクチャから提供された、ある世帯におけるエネルギ使用量)を入力として取り込み、このソース位置においてエネルギを使用する1つ以上の電化製品、電気自動車、およびその他の装置のエネルギ使用量を推定することである。
図5A~
図5Gは、実施形態の一例に係る、ディスアグリゲートされたエネルギ使用量データを示すサンプルグラフを示す。サンプルグラフに示されるデータは、本明細書に開示されるディスアグリゲーション技術のテストされた実施形態である、たとえば未知のソース位置(たとえば世帯)におけるエネルギ使用量をディスアグリゲートする訓練された機械学習モデルを表す。
【0053】
図5Aは、合計エネルギ使用量データ、ターゲット装置すなわち空調装置のラベル付けされたエネルギ使用量データ、およびこのターゲット装置の予測されたエネルギ使用量データ(たとえば予測モジュール306の訓練された実施形態により予測されたもの)をグラフで表したものを示す。このグラフにおいて、時間はx軸に示され、エネルギ使用量(単位kWh)はy軸に示される。示されているデータは、測定されたデータ(たとえば合計エネルギ使用量データおよびターゲット装置のラベル付けされたエネルギ使用量データ)の1時間単位の粒度を含む。その他任意の適切な粒度も同様に実現することができる。
【0054】
図5Aを参照して、ターゲット装置のラベル付けされたエネルギ使用量データ値(実際の/測定されたデータ値)と、ターゲット装置の予測されたエネルギ使用量データ値との比較は、訓練された予測モデルの精度を示している。たとえば、訓練された予測モデルは、合計エネルギ使用量データ値(または処理されたもの)を(入力として)受け、グラフで表された予測を生成することができる。いくつかの実施形態において、合計エネルギ使用量データ値は、ターゲット装置および複数のその他の装置によるエネルギ使用量を含み得る。
図5Aに示されるように、ターゲット装置の、予測された、ディスアグリゲートされたエネルギ使用量値は、複数日にわたって高度の精度を実現する。その他任意の適切なデータ粒度、期間、またはその他の適切なパラメータを実現することができる。
【0055】
図5B~
図5Gは、合計エネルギ使用量データ、ターゲット装置のラベル付けされたエネルギ使用量データ、およびターゲット装置の予測されたエネルギ使用量データをグラフ
で表したものを示す。たとえば、
図5B~
図5Gのグラフは、ターゲット装置以外、
図5Aのグラフと同様とすることができる。
図5Bのグラフは、炉であるターゲット装置(たとえば電気炉)について予測されたディスアグリゲーションを示す。
図5Cのグラフは、乾燥機であるターゲット装置(たとえば電化製品)について予測されたディスアグリゲーションを示す。
図5Dのグラフは、プールポンプであるターゲット装置について予測されたディスアグリゲーションを示す。
図5Eのグラフは、温水器であるターゲット装置について予測されたディスアグリゲーションを示す。
図5Fのグラフは、冷蔵庫であるターゲット装置について予測されたディスアグリゲーションを示す。
図5Gのグラフは、電気自動車であるターゲット装置について予測されたディスアグリゲーションを示す。
図5A~
図5Gのグラフに示される予測は、該当するターゲット装置に加えて、エネルギを消費する複数の電化製品/装置を含む世帯からの、ソース位置エネルギ使用量を利用することができる。予測されたディスアグリゲーションを生成するために使用される入力(たとえば学習モジュール306への入力)は、訓練に使用されていないエネルギ使用量データを含み得る。言い換えると、訓練された学習モジュール306は、以前に見たことがない入力データの予測を生成する。
【0056】
いくつかの実施形態において、入力302および/または訓練データ308は、エネルギ使用量情報以外の情報を含み得る。たとえば、エネルギ使用量データに関連する気象情報(たとえばエネルギ使用量測定時の降水量、気温などのような天候)、エネルギ使用量データに関連するカレンダー情報(たとえばエネルギ使用量測定時の月、日付、曜日などのようなカレンダー情報)、エネルギ使用量データに関連するタイムスタンプ、およびその他の関連情報を、入力302および/または訓練データ308に含めることができる。
【0057】
実施形態は、ソース位置(たとえば世帯)からのエネルギ使用量データを処理することにより、予測モジュール306を訓練するために使用する訓練データ308を生成する。たとえば、
図5A~
図5Gに示される全体的なソース位置エネルギ使用量データ値を、1つ以上の装置のラベル付けされたエネルギ使用量データ値と組合せることができ、この得られた組合せを処理することにより、訓練データ308に到達することができる。いくつかの実施形態において、ソース位置のエネルギ使用量データは、測定(たとえば計量)を通して取得することができる。加えて、ソース位置内の特定の装置のエネルギ使用量を受信/監視するための測定、計量、または何らかの他の技術を実現することにより、訓練のための装置固有のラベル付けされたエネルギ使用量データを生成することができる。その他の例において、ソース位置エネルギ使用量と、ソース位置内のディスアグリゲートされた装置固有のエネルギとを含むエネルギ使用量データを、第三者から取得することができる。たとえば、訓練データは、既知の状況においてソース位置(たとえば世帯)を監視すること、公的に(またはそれ以外の)利用可能なデータセットを取得すること、訓練データをもたらすジョイントベンチャーまたはパートナーシップを開発すること、およびその他任意の適切な手段を用いること等の、任意の適切なやり方で、取得することができる。
【0058】
処理されて訓練データ308を生成することができるエネルギ使用量データの一例は以下を含む。
【0059】
【0060】
この例のデータのサンプル行に含まれる列は、識別子(identifier)、タイムスタンプ、合計(エネルギ使用量)、およびラベル付けされた装置固有のエネルギ使用量(空調機、電気自動車、洗濯機、乾燥機、食洗機、冷蔵庫など)である。この例は、15分という粒度を含むが、その他適切な粒度も同様に実現することができる(たとえば1分、5分、15分、30分、1時間、数時間など)。いくつかの実施形態において、(たとえば訓練データ308を生成するために)エネルギ使用量データを処理することは、データの粒度を低減し、たとえばそれを用いて一貫した粒度(たとえば1時間)で訓練コーパスを生成できるようにすることを含み得る。このような粒度の低減は、単位時間を構成する要素にわたってデータ使用量値を合計する(たとえば1時間を構成する4つの15分間隔にわたってデータ使用量値を合計する)ことにより、実現することができる。
【0061】
実施形態は、訓練データ308内に含めるべき、決定された一組の装置を含む。たとえば、予測モジュール306の訓練は、ターゲット装置のディスアグリゲーション予測を生成するように構成することができるが、訓練は、ターゲット装置に加えて一組の他の装置のラベル付けされたデータ使用量を利用することができる。いくつかの実施形態において、一組の他の装置は、訓練のために利用可能なエネルギ使用量データおよび/または装置固有のラベル付けされたデータ値に基づくことができる。訓練データは限られていることが多く、そのため、利用可能な訓練データを活用する訓練技術が有益であることが多い。
【0062】
実施形態は、機械学習モデルを訓練するための技術において使用される一組の他の装置と、訓練データにおいて利用可能なラベル付けされた装置固有のエネルギ使用量データの
値との、対応関係を含む。言い換えると、訓練データにおいて利用可能なラベル付けされた装置固有のエネルギ使用量データの値は、複数の異なる装置のラベルを含み得るものであり、訓練データの特定のソース位置内に出現する装置の多数の異なる組合せが存在する場合があり、同一のソース位置において異なる装置が一緒に現れる頻度は変動する可能性がある。訓練技術において使用される一組の他の装置は、訓練データ内の装置の多様性、特定のソース位置における装置の異なる組合せ、および/または装置の異なる組合せの出現頻度に基づき得る。
【0063】
したがって、訓練データ308の複数の異なる変形を、上記表1の前処理されたエネルギ使用量データを処理することによって生成することができる。表2は、エネルギ使用量データを処理することにより、タイムスタンプと、合計ソース位置エネルギ使用量と、単一のターゲット装置としての電気自動車のラベル付けされたエネルギ使用量とを含む、訓練データ308を生成する例を示す。
【0064】
【0065】
いくつかの実施形態において、前処理は、表1から、列のサブセット、行のサブセット、データのアグリゲーション(または何らかの他の数学的/組合せ関数)、およびその他適切な処理を、選択することを含み得る。たとえば、データクリーニング、正規化、スケーリング、または機械学習に適したデータをレンダリングするために使用されるその他の処理を実行することができる。
【0066】
表3は、エネルギ使用量データを処理することにより、タイムスタンプと、合計ソース位置エネルギ使用量と、ターゲット装置(電気自動車)のラベル付けされたエネルギ使用量と、他の装置(空調機)のラベル付けされたエネルギ使用量とを含む、訓練データ308を生成する例を表す。
【0067】
【0068】
表4は、エネルギ使用量データを処理することにより、タイムスタンプと、合計ソース位置エネルギ使用量と、ターゲット装置(電気自動車)のラベル付けされたエネルギ使用量と、その他3つの装置(空調機、洗濯機、および乾燥機)のラベル付けされたエネルギ使用量とを含む、訓練データ308を生成する例を示す。
【0069】
【0070】
この示されている例では、表1のnull値を有する装置が表4に含まれているが、null値はゼロ値に置き換えられている。表1の、洗濯機および乾燥機のnull値は、表1のソース位置エネルギ使用量データが、ラベル付けされた洗濯機および乾燥機のエネルギ使用量データを含まないことを示す。言い換えると、たとえば訓練コーパス、測定/計量装置、またはその他の状況についての制限が原因で、(表1に示される)全体的なソース位置エネルギ使用量データ内の洗濯機および乾燥機のラベル付けされたエネルギ使用量データを利用することができない。
【0071】
いくつかの実施形態において、ソース位置の装置固有のラベル付けされたエネルギ使用
量データを処理することは、null値(またはその他任意のプレースホルダ値)をゼロ値で置換することを含み得る。たとえば、予測モジュール306の所与の実装形態の訓練技術において特定の装置を使用すると判断し、かつ、エネルギ使用量データの一部が(1つ以上のソース位置における)上記特定の装置のラベル付けされた装置固有のエネルギ使用量を欠いていると判断した場合、欠けているこの特定の装置のラベル付けされたエネルギ使用量の値をゼロ値で置換することができる。本明細書でさらに述べるように、ある装置が、たとえ訓練コーパスがこれらの装置のラベル付けされたエネルギ使用量データの包括的なセットを含んでいなくても、所与の実装形態の訓練技術に参加すると、決定することができる。実施形態は、利用可能な訓練データを利用し学習目的でターゲット装置以外の1つ以上の装置を活用し機械学習性能を包括的に改善するために、null値をゼロ値に置換する。
【0072】
表5は、エネルギ使用量データを処理することにより、タイムスタンプと、合計ソース位置エネルギ使用量と、ターゲット装置(電気自動車)のラベル付けされたエネルギ使用量と、その他4つの装置(空調機、洗濯機、乾燥機、および冷蔵庫)のラベル付けされたエネルギ使用量とを含む、訓練データ308を生成する例を示す。
【0073】
【0074】
表5のソース位置について示される例において、ターゲット装置は、ラベル付けされたエネルギ使用量データを有する2つの装置(たとえば空調機および冷蔵庫)と、ラベル付けされたエネルギ使用量データを含まない2つの装置(たとえば洗濯機および乾燥機)とを伴い、この場合、ラベル付けされたエネルギ使用量データがない2つの装置は、ゼロエネルギ使用量データラベルを反映するように処理されている。表6は、エネルギ使用量データを処理することにより、タイムスタンプと、合計ソース位置エネルギ使用量と、ターゲット装置(電気自動車)のラベル付けされたエネルギ使用量と、その他5つの装置(空調機、洗濯機、乾燥機、食洗機、および冷蔵庫)のラベル付けされたエネルギ使用量とを含む訓練データ308を生成する例を示す。
【0075】
【0076】
表6のソース位置について示される例において、ターゲット装置は、ラベル付けされたエネルギ使用量データを有する2つの装置(たとえば空調機および冷蔵庫)と、ラベル付けされたエネルギ使用量データを含まない3つの装置(たとえば食洗機、洗濯機、および乾燥機)とを伴い、この場合、ラベル付けされたエネルギ使用量データがない3つの装置は、ゼロエネルギ使用量データラベルを反映するように処理されている。表2~表6によって実証されているように、いくつかの装置のラベル付けされたエネルギ使用量データを含む、特定のソース位置のエネルギ使用量データを処理することにより、訓練データの異なる変形を生成することができる。実施形態は、これらの変形のうちの1つ以上を利用することにより、機械学習モデルを訓練し有益な結果を達成することができる。
【0077】
たとえば、モジュール306を訓練するための所与の実装形態は、いくつかのファクタを含み得る。ある実装形態が単一のターゲット装置のエネルギ使用量をディスアグリゲートすることを目的とする場合があるが、利用できる訓練データに関連するいくつかの他のファクタが問題となる可能性があり、それは、異なるソース位置におけるターゲット装置のラベル付けされたエネルギ使用量データを含む全体的なエネルギ使用量データの利用可能性、異なるソース位置におけるターゲット装置とともに配置された利用可能なラベル付けされたエネルギ使用量データを有するその他の装置の数および多様性、利用可能なエネルギ使用量データの粒度、ならびにその他の関連するファクタ等である。したがって、所望の予測結果を達成する実装形態は、ターゲット装置のラベル付けされたエネルギ使用量データ、一組の他の装置のラベル付けされたエネルギ使用量データ、および訓練データの一部における上記一組の他の装置のうちの特定の装置のゼロに設定されたエネルギ使用量データの使用を、含み得る。そのため、所望の結果を達成する、表2~表6に示された処理された訓練データの特定の変形は、利用可能な訓練データおよびその関連するファクタに基づく。言い換えると、訓練データ内で利用されることになる一組の装置を、たとえばラベル付けされた装置固有のエネルギ使用量値を有する利用可能なエネルギ使用量データ等に基づいて、決定することができる。
【0078】
いくつかの実施形態において、訓練に参加する一組の他の装置は、利用可能な訓練データに関して特定の基準を満たすことができる。たとえば、利用可能な訓練データは、複数のソース位置(たとえば世帯)のエネルギ使用量の値を含み得るものであり、ソース位置のうちの大半のソース位置のエネルギ使用量は、ターゲット装置からのラベル付けされたエネルギ使用量と、一組の他の装置のうちの少なくとも1つの装置からのラベル付けされ
たエネルギ使用量とを含み得る。別の例において、少なくともしきい値数(たとえば最小数)の他の装置が訓練技術において使用されるように、一組の他の装置を決定してもよい。いくつかの実施形態において、訓練データの任意の所与のインスタンス(たとえば訓練データの行)が、そのエネルギ使用量データ値がゼロ(たとえば0以下、1以下、2以下、3以下など)に設定されるしきい値数以下の他の装置を含むように、一組の他の装置を決定してもよい。いくつかの実施形態において、一組の他の装置を、たとえば訓練データが示す制限に基づいて、nullセットになるように決定してもよい。
【0079】
いくつかの実施形態において、一組の他の装置を、この一組の他の装置に基づいて機械学習モデルを訓練するために使用される訓練データの量が基準を満たすように、決定する。たとえば、一組の他の装置を、少なくともしきい値数(たとえば最小数)の訓練インスタンス(たとえば訓練データの行)が訓練に役立つように、決定してもよい。別の例において、一組の他の装置を、ゼロに設定されたラベル付けされた装置固有のエネルギ使用量データ値の合計が基準を満たす(たとえば訓練データのしきい値百分率未満、たとえば5%、10%、15%、20%、30%、40%、50%未満など)ように、決定してもよい。
【0080】
実施形態はまた、訓練データと一組の他の装置との間の他の対応関係を実現する訓練および実装技術を含み得る。たとえば、訓練データのインスタンス(たとえば訓練データの行)の大半は、追加されたゼロでラベル付けされたエネルギ使用量値(世帯またはデータセットに存在しない一組の他の装置に基づく)を含み得る。別の例において、訓練データのインスタンスの大半は、ターゲット装置の非ゼロでラベル付けされたエネルギ使用量値を含み得る。別の例において、訓練データのインスタンスの大半は、ターゲット装置および一組の他の装置のうちの少なくとも1つの非ゼロでラベル付けされたエネルギ使用量値を含み得る。別の例において、訓練データの少なくともいくつかのインスタンスは、ターゲット装置の追加されたゼロでラベル付けされたエネルギ使用量値を含み得る。別の例において、一組の他の装置の各々は、訓練データのインスタンスの少なくともしきい値量(たとえば10%、20%、30%など)において非ゼロでラベル付けされたエネルギ使用量値を有し得る。別の例において、訓練データの1つ以上のインスタンスは、ターゲット装置および一組の他の装置のうちの少なくとも2つの非ゼロでラベル付けされたエネルギ使用量値を含み得る。訓練技術および一組の他の装置を実現することにより、これらの対応関係のうちのいずれかを、ほとんどを、1つを、または組合せを得ることができる、または、その他任意の適切な対応関係を得ることができる。
【0081】
いくつかの実施形態において、一組の他の装置の訓練データをターゲット装置の訓練データと組合せて使用する場合、訓練技術(たとえば予測生成、損失計算、勾配伝播、精度改善など)を、ターゲット装置および一組の他の装置を用いて実現することができる。たとえば、後処理された訓練データを使用して機械学習モデルを訓練することにより、ソース位置(たとえば世帯)のエネルギ使用量の中からターゲット装置のエネルギ使用量を予測することができる。いくつかの実施形態において、ある期間のソース位置のエネルギ使用量データ等の入力データを、受信し、処理し、訓練された機械学習モデルに与えることにより、ソース位置で使用されたエネルギのうちのどれほどがターゲット装置によって使用されたかについての予測を生成することができる。
【0082】
いくつかの実施形態において、決定した一組の他の装置を用いて機械学習モデルを訓練する場合、訓練されたモデルによって生成される予測は、ターゲット装置についてのディスアグリゲーション予測と、一組の他の装置(たとえば非ターゲット装置)について生成された予測とを含み得る。たとえば、非ターゲット装置について生成される予測は、(たとえば一組の他の装置のラベル付けされた装置固有のエネルギ使用量に基づいて)精度メトリックを計算しモデルを訓練する場合に役立ち得る。ターゲット装置についてのディス
アグリゲーション予測に注目するいくつかの実施形態において、一組の他の装置について生成された予測は破棄することができる。たとえば、これらの実施形態は、他の装置を使用する訓練の利点を利用し、これらの利点はターゲット装置についてのディスアグリゲーション予測を改善する。
【0083】
いくつかの実施形態において、処理された訓練データのバージョンを用いて、畳み込みニューラルネットワークを訓練することにより、ターゲット装置のエネルギ使用量をディスアグリゲートすることができる。
図4Aを参照して、CNN400は、畳み込み層とすることができる層402、404、および406と、全結合層とすることができる層408および410とを含む。1×a形状を有するものとして示されるカーネル412は、層402に適用することができ、1×b形状を有するものとして示されるカーネル414は、層404に適用することができ、1×c形状を有するものとして示されるカーネル416は、層406に適用することができる。いくつかの実施形態において、カーネル412、414、および416の形状は、CNN400の訓練/構成中に調節することができるので、これらは、ディスアグリゲーションタスクの効果的な性能を実現する任意の適切な形状とすることができる。
【0084】
同様に、
図4Bを参照して、CNN420は、畳み込み層とすることができる層422、424、および426と、連結層とすることができる層428と、全結合層とすることができる層430および432とを含む。1×a形状を有するものとして示されるカーネル434は、層422に適用することができ、1×b形状を有するものとして示されるカーネル436は、層434に適用することができ、1×c形状を有するものとして示されるカーネル438は、層426に適用することができる。いくつかの実施形態において、カーネル434、436、および438の形状は、CNN420の訓練/構成中に調節することができるので、これらは、ディスアグリゲーションタスクの効果的な性能を実現する任意の適切な形状とすることができる。
【0085】
いくつかの実施形態において、カーネル412、414、および416の形状は、それぞれ、データの形状を、このデータが層402、404、および406を通過するときに、変化させることができる。たとえば、入力データが層402、404、および406を通過するときに、カーネル412、414、および416を適用することで、入力データの形状を変化させることができる。いくつかの実施形態において、層402、404、および406を通過するデータの形状は、カーネル412、414、および416の形状、各カーネルのストライド、および実現されたパディングに基づく。たとえば、パディングは、0をデータに(たとえばデータの上、下、左、および/または右に)追加することを含み得る。いくつかの実施形態において、層412、414、および416のうちの1つ以上について、カーネル形状、ストライド、およびパディングの組合せにより、データの形状を変化させない、同じ/元のサイズの畳み込みを得ることができる。
【0086】
同様に、カーネル434、436、および438の形状は、それぞれ、データの形状を、このデータが層422、424、および426を通過するときに、変化させることができる。たとえば、入力データが層422、424、および426を通過するときに、カーネル434、436、および438を適用することで、入力データの形状を変化させることができる。いくつかの実施形態において、層422、424、および426を通過するデータの形状は、カーネル434、436、および438の形状、各カーネルのストライド、および実現されたパディングに基づく。いくつかの実施形態において、層434、436、および438のうちの1つ以上について、カーネル形状、ストライド、およびパディングの組合せにより、データの形状を変化させない、同じ/元のサイズの畳み込みを得ることができる。
【0087】
先に述べたように、実施形態は、ターゲット装置のエネルギ使用量ディスアグリゲーションを予測するが、一組の他の装置(たとえば非ターゲット装置)も、学習技術(たとえば予測、損失計算、勾配伝播)に参加することができる。CNNを実現する実施形態は、非ターゲット装置の訓練データ、損失計算、および勾配伝播を用いることにより、異なる層において実現されるカーネルの重み/値を構成することができる。CNNのこの訓練/構成は、ターゲット装置についての予測の精度を改善するのに有効となり得る、非ターゲット装置に基づいて訓練されたニューロンをもたらす。
【0088】
いくつかの実施形態において、複数の機械学習モデルを訓練することができ、これらのモデルの出力を組合せることで、ターゲット装置の予測されたエネルギ使用量のディスアグリゲーションを実現することができる。
図6は、実施形態の一例に係る、複数の機械学習モデルを用いることで、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。
【0089】
システム600は、入力データ602と、処理モジュール604と、予測モジュール606および610と、訓練データ608および612と、組合せモジュール614と、出力616とを含む。いくつかの実施形態において、入力データ602は、ソース位置からのエネルギ使用量を含み得るものであり、処理モジュール604はデータを処理することができる。たとえば、処理モジュール604は、入力データ602を処理し入力データに基づいて特徴を生成することができる。いくつかの実施形態において、入力データ602および処理モジュール604は、
図3の入力データ302および処理モジュール304に類似するものとすることができる。
【0090】
いくつかの実施形態において、予測モジュール606および610は、それぞれ訓練データ608および612によって訓練された機械学習モジュール(たとえばニューラルネットワーク)とすることができる。たとえば、訓練データ608は、ラベル付けされた装置固有のエネルギ使用量データ値を含む、複数のソース位置(たとえば
図1のソース位置102および106)からのエネルギ使用量データ値等の、ラベル付けされたデータを含み得る。いくつかの実施形態において、処理された入力等の処理モジュール604からの出力は、予測モジュール606および610への入力として与えることができる。いくつかの実施形態において、予測モジュール606および610は、
図3の予測モジュール306に類似するものとすることができる。
【0091】
いくつかの実施形態において、訓練データ608は、予測モジュール606を訓練することにより、ターゲット装置のディスアグリゲートされたエネルギ使用量を予測することができ、訓練データ612は、予測モジュール610を訓練することにより、しきい値を上回るターゲット装置のエネルギ使用量を予測することができる。たとえば、予測モジュール606を訓練することによりディスアグリゲーション予測を生成する訓練データ608は、(たとえばあるタイムスパンにわたって)使用されたエネルギの総計を有するラベル付けされたエネルギ使用量データを含み得る。言い換えると、訓練データ608のラベル付けされた装置固有のエネルギ使用量データは、上記表1~表6に示されるもののような、使用されたエネルギの総計を反映する。
【0092】
いくつかの実施形態において、予測モジュール610を訓練することにより検出予測を生成する訓練データ612は、(たとえばあるタイムスパンにわたる)検出されたエネルギ使用量を含み得る。言い換えると、訓練データ612内のラベル付けされた装置固有のエネルギデータは、しきい値を超えるエネルギが使用されたか否かを表すことができる(たとえばオンまたはオフを表すバイナリ値)。いくつかの実施形態において、訓練データ612は、しきい値を上回る任意のラベル付けされた装置固有のエネルギ使用値を1に設定し、しきい値を下回る任意のラベル付けされた装置固有のエネルギ使用値を0に設定す
ることにより、生成することができる。たとえば、訓練データ612のラベル付けされた装置固有のエネルギ使用量は、ラベル付けされた装置のエネルギ使用量の総計を含まない場合がある(たとえばその代わりにバイナリ1または0を含む)。
【0093】
予測モジュール606は、入力データ602に基づいてターゲット装置の予測されたディスアグリゲートされたエネルギ使用量を生成することができ、予測モジュール610は、入力データ602に基づいてターゲット装置検出予測を生成することができる。予測モジュール606および610からのこれらの予測は、組合せモジュール614に入力することができ、組合せモジュールは、出力616として、ターゲット装置の組み合わされたディスアグリゲーション予測を生成することができる。いくつかの実施形態において、組合せモジュール614は、検出予測がディスアグリゲーション予測と一致しない場合などに、検出予測に基づいてターゲット装置の予測されたディスアグリゲーションに値を加算することによって、予測モジュール606からのディスアグリゲーション予測と予測モジュール610からの検出予測とを組合せる。
【0094】
たとえば、予測モジュール606が、特定の期間(たとえば1時間)の間、ターゲット装置の予測されたエネルギ使用量をほとんどまたは全く生成せず、かつ、予測モジュール610が、ターゲット装置はこの期間エネルギを使用していたという予測を生成する場合(たとえばターゲット装置がオンでエネルギを使用していたことを示す1予測)、組合せモジュール614は、ディスアグリゲーション予測を、その期間の予測されたディスアグリゲーションに、エネルギ使用量値(たとえばエネルギ使用量値のしきい値または予め定められた総計)を加えることにより、増強することができる。同様に、予測モジュール606が、特定の期間(たとえば1時間)の間、ターゲット装置の実質的な予測されたエネルギ使用量値(たとえばしきい値を上回るエネルギ使用量値)を生成し、かつ、予測モジュール610が、ターゲット装置はこの期間エネルギを使用していなかったという予測を生成する場合(たとえばターゲット装置がオフでエネルギを使用していなかったことを示す0予測)、組合せモジュール614は、ディスアグリゲーション予測を、その期間の予測されたディスアグリゲーションから、エネルギ使用量値(たとえばエネルギ使用量値のしきい値または予め定められた総計)を減算することにより、増強することができる。
【0095】
いくつかの実施形態において、組合せモジュール614は、重み付けアルゴリズムを使用して、予測モジュール606からのディスアグリゲーション予測と予測モジュール610からの検出予測とを組合せることができる。たとえば、予測モジュール610は、1分、5分、15分、30分、45分、1時間、または他の同様の粒度等で、ターゲット装置の使用時間の間の検出予測を(たとえばオン/オフを示すことにより)生成することができる。予測モジュール606は、1分、5分、15分、30分、45分、1時間、または他の同様の粒度等で、ターゲット装置がエネルギをどれだけ使用するかを推定するディスアグリゲーション予測を生成することができる。
【0096】
組合せモジュール614は、パラメータを用いてある予測を他の予測よりも優先する一般的な重み付けスキーマを実現することができる。たとえば、生成された予測を組合せる場合に、1つ以上のパラメータを用いて重み(たとえばαおよび/またはβ重み、ならびに第1および第2のしきい値)を構成することができる。この例では、これらのパラメータの値に基づいて、ディスアグリゲーション予測を検出予測によって増強する程度を設定する。いくつかの実施形態において、ディスアグリゲーション予測と検出予測との間の一致を求めてもよい。たとえば、時として、ディスアグリゲーション予測は、デバイスがオフであったことを検出予測が示す間に、ターゲット装置のエネルギ使用量を予測する場合がある。同様に、時として、ディスアグリゲーション予測は、デバイスがオンであったことを検出予測が示す間に、ターゲット装置のエネルギ使用量を予測しない場合がある。
【0097】
いくつかの実施形態において、検出予測との不一致が存在する場合に、ディスアグリゲーション予測を増強するように1つ以上のしきい値を設定してもよい。たとえば、検出予測はターゲット装置がオンであったことを示すがディスアグリゲーション予測は関連する期間(たとえば関連する15分、30分、45分、または1時間の時間ウィンドウ)にわたる予測されたエネルギ使用量を含まない場合、エネルギ使用量の第1のしきい値量を、ディスアグリゲーション予測に追加することができる。この例において、ディスアグリゲーション予測が、第1のしきい値を下回る予測されたエネルギ使用量を含む場合、この増強は、予測されたエネルギ使用量を第1のしきい値まで増加させることを含み得る。同様に、検出予測はターゲット装置がオフであったことを示すがディスアグリゲーション予測は関連する期間にわたる第2のしきい値量よりも大きい予測されたエネルギ使用量を含む場合、ディスアグリゲーション予測からの予測されたエネルギ使用量を、エネルギ使用量の第2のしきい値まで低減させることができる。
【0098】
いくつかの実施形態において、1つ以上の重み付けパラメータ(たとえばαおよびβ重み)を用いることにより、ディスアグリゲーション予測のエネルギ使用量値を検出予測によって増強させる程度を調整することができる。たとえば、α重みは第1のしきい値に関連していてもよく、重みはディスアグリゲーション予測に追加されるエネルギ使用量を制御してもよい。サンプル実装形態において、α重みが「1」に設定される場合は、ディスアグリゲーション予測内の関連する時間ウィンドウにわたるエネルギ使用量を、第1のしきい値まで増加させることができ、重みが「0」に設定される場合はエネルギ使用量を追加しない。「1」と「0」との間のα重みの中間値は、重みに比例するエネルギ使用量を追加することができる。たとえば、「0.5」の重みは、エネルギ使用量を第1のしきい値の2分の1まで増加させることができる、または、関連する期間にわたるディスアグリゲーション予測内のエネルギ使用量と第1のしきい値との間のデルタを求めることができ、デルタの「0.5」に等しいエネルギ使用量を加算することができる。
【0099】
同様に、β重みは第2のしきい値に関連していてもよく、重みはディスアグリゲーション予測からのエネルギ使用量の低減量を制御してもよい。サンプル実装形態において、β重みが「1」に設定される場合は、ディスアグリゲーション予測内の関連する時間ウィンドウにわたるエネルギ使用量を、第2のしきい値まで低減することができ、重みが「0」に設定される場合はエネルギ使用量を低減しない。「1」と「0」との間のβ重みの中間値は、重みに比例するエネルギ使用量を低減することができる。たとえば、「0.5」の重みは、エネルギ使用量を第2のしきい値の2倍まで低減することができる、または、関連する期間にわたるディスアグリゲーション予測内のエネルギ使用量と第2のしきい値との間のデルタを求めることができ、デルタの「0.5」に等しいエネルギ使用量をディスアグリゲーション予測から減算することができる。いくつかの実施形態において、これらのパラメータ(たとえばα、β、第1のしきい値、および/または第2のしきい値)のうちの1つまたは任意の組合せを実現することができる、またはその他任意の適切な重み付けスキームを実現することができる。
【0100】
いくつかの実施形態において、組合せモジュール614は、ディスアグリゲーション予測と検出予測とを組合せるように訓練/構成された第3の機械学習モデルを含み得る。たとえば、第3の訓練された機械学習モデルを訓練することにより、ディスアグリゲーション予測および検出予測を用いて、ターゲット装置のエネルギ使用量の総計を予測することができる。いくつかの実施形態において、ディスアグリゲーション予測と検出予測とを、第3の訓練された機械学習モデルが生成した予測を用いて組合せる。たとえば、第3の機械学習モデルのための訓練データは、ターゲット装置のディスアグリゲーション予測、検出予測、およびラベル付けされた(既知の)エネルギ使用量を含み得る。この例において、第3の機械学習モデルへの入力は、ディスアグリゲーション予測および検出予測出力を含み、したがって、訓練データは、ラベル付けされた(既知の)エネルギ使用量データと
ともにこれらの予測を含み、訓練時に損失および勾配計算を実行することができる。
【0101】
いくつかの実施形態において、第3の機械学習モデルへの訓練データ/入力はまた、全体的なソース位置(たとえば世帯)エネルギ使用量を含み得る。たとえば、この全体的なソース位置エネルギ使用量は、予測モジュール606および610を訓練するために使用される訓練データの一部であり、ディスアグリゲーション予測および検出予測を生成するための予測モジュール606および610への入力としても機能する。第3の訓練された機械学習モデルは、ディスアグリゲーション予測と検出予測とを組合せるときに、全体的なソース位置エネルギ使用量からの傾向が精度に影響を及ぼすことを発見する場合がある。したがって、第3の機械学習モデルを訓練する場合、全体的なソース位置エネルギ使用量を用いることにより、これらの予測を如何にして組合せるかを学習することができる。同様に、ディスアグリゲーシ予測と検出予測とを組合せるために組合せ予測を生成する場合、これらの予測と全体的なソース位置エネルギ使用量との両方を、入力として使用することができる。
【0102】
いくつかの実施形態において、第3の機械学習モデルは、たとえば実現された隠れ層の数に基づいた深層学習モデルであってもよい。いくつかの実施形態において、ディスアグリゲーション予測および検出予測は、組合せモジュール614により、決定木、ランダムフォレストアルゴリズム、ベイズ学習、またはその他の適切な組合せ技術を用いて、組み合わされる。
【0103】
図7は、実施形態の一例に係る、機械学習モデルを訓練してターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。いくつかの実施形態において、
図7~
図11の機能は、メモリまたはその他のコンピュータ読取可能媒体もしくは有形の媒体に格納されプロセッサによって実行されるソフトウェアによって実現されてもよい。その他の実施形態において、各機能は、ハードウェアによって(たとえば特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)などを使用して)実行されてもよく、または、ハードウェアとソフトウェアとの任意の組合せによって実行されてもよい。実施形態において、
図7~
図11の機能は、
図2のシステム200の1つ以上の要素によって実行することができる。
【0104】
702において、複数のソース位置におけるターゲット装置および1つ以上の非ターゲット装置によるエネルギ使用量を含むエネルギ使用量データを受けることができる。たとえば、エネルギ使用量データは、上記表1に示されるデータと同様のものとすることができる。いくつかの実施形態において、受けたデータは、タイムスタンプと、あるソース位置(たとえば世帯)における全体的なエネルギ使用量(複数の装置が使用したエネルギを含む)と、ターゲット装置および非ターゲット装置のうちの1つまたは複数の装置のラベル付けされた装置固有のエネルギ使用量とを含み得る。エネルギ使用量データは、エネルギ使用量を監視することにより、または第三者から、またはジョイントベンチャーに基づいて、またはその他任意の適切なチャネルもしくはエンティティを通して、受けることができる。
【0105】
704において、機械学習モデルを構成することができる。たとえば、ニューラルネットワーク、CNN、RNN、ベイズネットワーク、サポートベクターマシン、またはその他任意の適切な機械学習モデル等の、機械学習モデルを構成することができる。層の数(たとえば隠れ層の数)、入力形状、出力形状、幅、深さ、方向(たとえばフィードフォワードまたは双方向)、活性化関数、層またはユニットの種類(たとえばゲート付き回帰型ユニット、長・短期記憶など)、または機械学習モデルのその他適切なパラメータ等の、パラメータを選択することができる。いくつかの実施形態において、構成されたこれらの
パラメータは、モデルを訓練するときに、調節する(たとえば調整する、全体的に変更する、追加する、または削除する)ことができる。
【0106】
いくつかの実施形態において、機械学習モデルはCNNを含み得る。この場合、層の種類(たとえば畳み込み、プーリング、全結合など)、カーネルのサイズおよび種類、ストライド、ならびにその他のパラメータ等のパラメータを、構成することもできる。構成されたこれらのパラメータも、モデルを訓練するときに調節することができる。
【0107】
706において、エネルギ使用量データを処理して訓練データを生成することができる。たとえば、エネルギ使用量データを、ターゲット装置および一組の他の装置(たとえば1つ以上の非ターゲット装置)に基づいて処理することにより、訓練データを生成することができる。処理は、エネルギ使用量データ(たとえばエネルギ使用量データ内のさまざまな装置のラベル付けされた装置固有のエネルギ使用量の利用可能性)と、一組の他の装置との間の対応関係に基づくことができる。いくつかの実施形態において、一組の他の装置は、利用可能なエネルギ使用量データおよび/またはターゲット装置に基づいて、選択することができ、訓練データを生成するために使用されるエネルギ使用量データは、一組の他の装置および/またはターゲット装置に基づいて、選択することができ、または、一組の他の装置およびエネルギ使用量データを組合せて考慮することができ、これらの双方を、(たとえば訓練/性能にとって有益な)これらの間の対応関係に基づいて選択することができる。
【0108】
いくつかの実施形態において、一組の他の装置は、訓練データ内の複数の世帯のエネルギ使用量に基づいて決定される。一組の他の装置のうちの複数の他の装置も、訓練データ内の複数の世帯のエネルギ使用量に基づくことができる。いくつかの実施形態において、一組の他の装置は、訓練データ内の複数の世帯のエネルギ使用量に含まれる、一組の他の装置の既知のエネルギ使用量の値に基づいて、決定される。一組の他の装置は、一組の他の装置について機械学習モデルを訓練するように構成された訓練データの量が基準(たとえばしきい値量)を満たすように、決定することができる。
【0109】
いくつかの実施形態において、訓練に参加しているターゲット装置および一組の他の装置に基づいて、エネルギ使用量データを処理することにより、データをゼロ値のエネルギ使用量で増強することができる。たとえば、データのインスタンス(たとえば行)は、タイムスタンプと、ソース位置における全体的なエネルギ使用量と、さまざまなラベル付けされた装置固有のエネルギ使用量とを含み得る。ターゲット装置または一組の他の装置のうちのいずれかが、あるインスタンスのラベル付けされた装置固有のエネルギ使用量に含まれていない場合、これらの欠落した(またはそうでなければ無効な)エントリをゼロ値で埋めることができる。いくつかの実施形態において、そのエネルギ使用量が、一組の他の装置のサブセットからのラベル付けされたエネルギ使用量を含まない、特定のソース位置(たとえば世帯)について、他の装置のサブセットのラベル付けされたエネルギ使用量がゼロに設定されるように、訓練データを処理することができる。この処理により、学習メカニズムはそれでもなお訓練データのうちの多くの訓練データから学習することができるので、利用可能な訓練データを効率的に使用することができる。加えて、エネルギ使用量データと、学習に参加させるために選択された一組の他の装置との間の対応関係は、ゼロ値の挿入によって生じる可能性がある何らかの潜在的な学習の問題を緩和する。
【0110】
708において、生成された訓練データを用いて機械学習モデルを訓練することにより、ターゲット装置のディスアグリゲートされたエネルギ使用量を予測することができる。この訓練は、予測の生成、損失計算(たとえば損失関数に基づく)、および勾配伝播(たとえば機械学習モデルの層/ニューロンを介する)を含み得る。本明細書に記載のように、ターゲット装置のラベル付けされたエネルギ使用量および一組の他の装置のラベル付け
されたエネルギ使用量の双方が、機械学習モデルを訓練するために使用される。
【0111】
いくつかの実施形態において、訓練された機械学習モデルは、複数の世帯のエネルギ使用量の値と、ターゲット装置のラベル付けされたエネルギ使用量の値と、一組の他の装置のラベル付けされたエネルギ使用量の値とを用いて、訓練される。機械学習モデルを訓練するために使用される訓練データは、複数の世帯からのエネルギ使用量と、これらの世帯のエネルギ使用量の中のターゲット装置のラベル付けされたエネルギ使用量の値と、これらの世帯のエネルギ使用量の中の一組の他の装置のラベル付けされたエネルギ使用量の値とを含み得る。いくつかの実施形態において、機械学習モデルを訓練することで、ターゲット装置のエネルギ使用量の値を予測する精度を最適化することができる。
【0112】
いくつかの実施形態において、複数の世帯のエネルギ使用量の値と、ターゲット装置のラベル付けされたエネルギ使用量の値と、一組の他の装置のラベル付けされたエネルギ使用量の値とを含む訓練データは、実質的に1時間単位の粒度を有する。その他の適切な粒度(たとえば1分、15分、30分、45分など)も同様に実現することができる。いくつかの実施形態において、機械学習モデル、利用される訓練データ、および/または一組の他の装置を、訓練の結果に基づいて調節することができる。たとえば、訓練されたモデルのテストは、訓練されたモデルの精度を示すことができ、テスト精度に基づいて、さまざま調節調整を行うことができる。
【0113】
710において、訓練された機械学習モデルを格納することができる。たとえば、基準(たとえば精度基準またはしきい値)を満たす予測を生成する訓練された学習モデルの格納を、格納されたモデルを用いてディスアグリゲーション予測を実行できるように、行うことができる。
【0114】
図8は、実施形態の一例に係る、訓練された機械学習モデルを使用して、ターゲット装置に対応付けられるディスアグリゲートされたエネルギ使用量を予測するためのフロー図を示す。たとえば、
図7の機能に基づいて訓練された機械学習モデルを用いることにより、
図8の機能を実行することができる。
【0115】
802において、ある期間にわたる世帯エネルギ使用量データを受けることができ、この世帯エネルギ使用量は、ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含む。たとえば、世帯エネルギ使用量データは、1日等のある期間にわたるタイムスタンプに基づいた時間間隔(たとえば実質的に1時間単位の粒度)に分割することができる。他の適切な粒度を実現することができる。
【0116】
804において、受けたエネルギ使用量データを処理することができる。たとえば、この処理は、訓練データの処理と同様のものとすることができる。そのような例において、この処理により、世帯エネルギ使用量入力データを、訓練データと同様になるように変えることができ、そうすることで、訓練された機械学習モデルは、向上した予測結果を実現することができる。この処理は、エネルギ使用量データの1時間単位の粒度の実現、正規化、その他の形態のスケーリング、およびその他任意の適切な処理を含み得る。
【0117】
806において、処理したデータを、訓練された機械学習モデルに、入力データとして与えることができる。たとえば、
図7の機能に従って訓練されたモデルを格納することができ、処理したデータを訓練されたモデルに入力として与えることができる。808において、訓練された機械学習モデルによって予測を生成することができる。たとえば、受けた全体的なエネルギ使用量に基づくターゲット装置のディスアグリゲートされたエネルギ使用量を、訓練された機械学習モデルによって予測することができる。
【0118】
いくつかの実施形態において、予測は、訓練されたモデルに与えられる入力と同様の粒度を有することができる。たとえば、ターゲット装置について予測されたエネルギディスアグリゲーションは、実質的に1時間単位の粒度を有することができる。いくつかの実施形態において、予測されたエネルギ使用量は、少なくとも1日にわたるターゲット装置の予測されたエネルギ使用量を少なくとも実質的に1時間単位の粒度で含む。
【0119】
図9は、実施形態の一例に係る、訓練された畳み込みニューラルネットワークを使用して、ターゲット装置に対応付けられるディスアグリゲートされたエネルギ使用量を予測するためのフロー図を示す。たとえば、
図7の機能に基づいて訓練された畳み込みニューラルネットワークを用いることにより、
図9の機能を実行することができる。
【0120】
いくつかの実施形態において、
図7の機能を用いることにより、畳み込み層と全結合層とのミックスを有するCNNを訓練することができる。たとえば、CNNは、複数の畳み込み層とそれに続く1つ以上の全結合層とを含み得る。CNNは、
図4Aおよび/または
図4Bに示されるネットワークと同様のものとすることができる。たとえば、CNN層のうちの1つを第1のサイズの1次元カーネルを有する畳み込み層とすることができ、CNN層のうちの別の1つを第2のサイズの1次元カーネルを有する畳み込み層とすることができる。いくつかの実施形態において、第1のサイズは第2のサイズよりも小さい。いくつかの実施形態において、CNN層のうちの少なくとも2つの層を並列の畳み込み層とすることができ、
図4Bに示されるように、連結層を用いてCNN内の並列分岐を連結することができる。そのような実施形態において、並列分岐を、入力/訓練データの異なる特徴を学習するように構成することができる。たとえば、並列分岐のうちの第1の分岐に対して実現されるカーネルサイズ、ストライド、およびパディングを、並列分岐のうちの第2の分岐に対して実現されるカーネルサイズ、ストライド、およびパディングと異なるようにすることができる。
【0121】
902において、ある期間にわたるソース位置のエネルギ使用量データを含む入力データを受けることができる。たとえば、ソース位置は世帯とすることができ、世帯エネルギ使用量は、ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含み得る。たとえば、ソース位置のエネルギ使用量は、1日等のある期間にわたるタイムスタンプに基づいた時間間隔(たとえば実質的に1時間単位の粒度)に分割することができる。
【0122】
904において、受けたエネルギ使用量データを処理することができる。たとえば、この処理は、訓練データの処理と同様のものとすることができる。そのような例において、この処理により、ソース位置のエネルギ使用量入力データを、訓練データと同様になるように変えることができ、そうすることで、訓練された機械学習モデルは、向上した予測結果を実現することができる。この処理は、エネルギ使用量データの1時間単位の粒度の実現、正規化、他の形態のスケーリング、およびその他任意の適切な処理を含み得る。
【0123】
906において、処理したデータを、訓練された畳み込みニューラルネットワークに、入力データとして与えることができる。たとえば、
図7の機能に従って訓練された畳み込みニューラルネットワークを格納することができ、処理したデータを訓練されたネットワークに入力として与えることができる。908において、訓練された畳み込みニューラルネットワークによって予測を生成することができる。たとえば、受けた全体的なエネルギ使用量に基づくターゲット装置のディスアグリゲートされたエネルギ使用量は、訓練された畳み込みニューラルネットワークによって予測することができる。いくつかの実施形態において、ディスアグリゲートされたターゲット装置のエネルギ使用量を予測することは、少なくとも、訓練されたCNNを通して入力データをフィードフォワード方向に進めて、入力データの形状が第1の層(第1の1次元カーネルを有する)と第2の層(第2の1
次元カーネルを有する)との間で変化するようにすることを含む。いくつかの実施形態において、第1の層および第2の層は、CNN内において平行な向きを有する。
【0124】
いくつかの実施形態において、予測は、訓練されたネットワークに与えられる入力と同様の粒度を有することができる。たとえば、ターゲット装置について予測されたエネルギディスアグリゲーションは、実質的に1時間単位の粒度を有することができる。いくつかの実施形態において、予測されたエネルギ使用量は、少なくとも1日にわたるターゲット装置の予測されたエネルギ使用量を、少なくとも実質的に1時間単位の粒度で含む。
【0125】
図10は、実施形態の例に係る、複数の機械学習モデルを訓練することにより、ターゲット装置に対応付けられるエネルギ使用量をディスアグリゲートするためのフロー図を示す。1002において、複数のソース位置におけるターゲット装置および1つ以上の他の非ターゲット装置によるエネルギ使用量を含むエネルギ使用量データを受けることができる。たとえば、エネルギ使用量データは、上記表1に示されるデータと同様のものとすることができる。いくつかの実施形態において、受けたデータは、タイムスタンプと、あるソース位置(たとえば世帯)における全体的なエネルギ使用量(複数の装置が使用したエネルギを含む)と、ターゲット装置および非ターゲット装置のうちの1つまたは複数の装置のラベル付けされた装置固有のエネルギ使用量とを含み得る。エネルギ使用量データは、エネルギ使用量を監視することにより、または第三者から、またはジョイントベンチャーに基づいて、またはその他任意の適切なチャネルもしくはエンティティを通して、受けることができる。
【0126】
1004において、第1の機械学習モデルおよび第2の機械学習モデルを構成することができる。たとえば、ニューラルネットワーク、CNN、RNN、ベイズネットワーク、サポートベクターマシン、またはその他任意の適切な機械学習モデル等の、機械学習モデルを構成することができる。層の数(たとえば隠れ層の数)、入力形状、出力形状、幅、深さ、方向(たとえばフィードフォワードまたは双方向)、活性化関数、層またはユニットの種類(たとえばゲート付き回帰型ユニット、長・短期記憶など)、または機械学習モデルのその他適切なパラメータ等の、パラメータを選択することができる。いくつかの実施形態において、構成されたこれらのパラメータは、モデルを訓練するときに、調節する(たとえば調整する、全体的に変更する、追加する、または削除する)ことができる。
【0127】
いくつかの実施形態において、第1の機械学習モデルは、ソース位置のエネルギ使用量の中からターゲット装置のエネルギ使用量をディスアグリゲートするように設計/構成することができる。たとえば、機械学習モデルは、
図7、
図8、および
図9において設計/訓練および/または実現されているものと同様のものとすることができる。いくつかの実施形態において、第2の機械学習モデルは、ソース位置のエネルギ使用量の中からターゲット装置のエネルギ使用量を検出するように設計/構成することができる。たとえば、検出がディスアグリゲーションと異なり得る点として、ディスアグリゲーションはターゲット装置によるエネルギ使用量の総計を求めることを意図しているのに対し、検出はターゲット装置によるしきい値を上回るエネルギ使用量を検出することを意図している点にある。検出の実現は、しきい値を上回るエネルギ使用量を検出することにより、ON中でエネルギを使用しているターゲット装置と、(低レベルのエネルギを引き出し得る)スタンバイモードのターゲット装置とを区別することを意図するものとすることができる。(オフと解釈できる)スタンバイモードとオンとを区別するために使用されるしきい値は、ターゲット装置に依存し得る。いくつかの実施形態において、予測されたディスアグリゲーションは(たとえばある値の範囲の)数値を取ることができるのに対し、予測された検出はバイナリ(たとえばオンまたはオフ)である。
【0128】
1006において、エネルギ使用量データを処理して訓練データセットを生成すること
ができる。たとえば、エネルギ使用量データを、ターゲット装置および一組の他の装置(たとえば1つ以上の非ターゲット装置)に基づいて処理することにより、訓練データセットを生成することができる。処理は、エネルギ使用量データ(たとえばエネルギ使用量データ内のさまざまな装置のラベル付けされた装置固有のエネルギ使用量の利用可能性)と、一組の他の装置との間の対応関係に基づくことができる。いくつかの実施形態において、一組の他の装置は、利用可能なエネルギ使用量データおよび/またはターゲット装置に基づいて、選択することができ、訓練データを生成するために使用されるエネルギ使用量データは、一組の他の装置および/またはターゲット装置に基づいて、選択することができ、または、一組の他の装置およびエネルギ使用量データを組合せて考慮することができ、これらの双方を、(たとえば訓練/性能にとって有益な)これらの間の対応関係に基づいて選択することができる。
【0129】
いくつかの実施形態において、一組の他の装置は、訓練データ内の複数の世帯のエネルギ使用量に基づいて決定される。一組の他の装置のうちの複数の他の装置も、訓練データ内の複数の世帯のエネルギ使用量に基づくことができる。いくつかの実施形態において、一組の他の装置は、訓練データ内の複数の世帯のエネルギ使用量に含まれる、一組の他の装置の既知のエネルギ使用量の値に基づいて、決定される。一組の他の装置は、一組の他の装置について機械学習モデルを訓練するように構成された訓練データの量が基準(たとえばしきい値量)を満たすように、決定することができる。
【0130】
いくつかの実施形態において、訓練に参加しているターゲット装置および一組の他の装置に基づいて、エネルギ使用量データを処理することにより、データをゼロ値のエネルギ使用量で増強することができる。たとえば、データのインスタンス(たとえば行)は、タイムスタンプと、ソース位置における全体的なエネルギ使用量と、さまざまなラベル付けされた装置固有のエネルギ使用量とを含み得る。ターゲット装置または一組の他の装置のうちのいずれかが、あるインスタンスのラベル付けされた装置固有のエネルギ使用量に含まれていない場合、これらの欠落した(またはそうでなければ無効な)エントリをゼロ値で埋めることができる。いくつかの実施形態において、そのエネルギ使用量が一組の他の装置のサブセットのラベル付けされたエネルギ使用量を含まない、特定のソース位置(たとえば世帯)について、他の装置のサブセットのラベル付けされたエネルギ使用量がゼロに設定されるように、訓練データを処理することができる。この処理により、学習メカニズムはそれでもなお訓練データのうちの多くの訓練データから学習することができるので、利用可能な訓練データを効率的に使用することができる。加えて、エネルギ使用量データと、学習に参加させるために選択された一組の他の装置との間の対応関係は、ゼロ値の挿入によって生じる可能性がある何らかの潜在的な学習の問題を緩和する。
【0131】
いくつかの実施形態において、エネルギ使用量データを処理することは、第1の機械学習モデルのための第1の訓練データセットと、第2の機械学習モデルのための第2の訓練データセットとを生成することを含み得る。たとえば、ディスアグリゲーション予測を生成する第1の機械学習モデルは、(たとえばあるタイムスパンにわたって)使用されたエネルギの総計を含むラベル付けされたエネルギ使用量データを用いて訓練される。したがって、第1の訓練データセット内のラベル付けされた装置固有のエネルギデータは、上記表1~表6に示されるもののような、使用されたエネルギの総計を反映するラベル付けされた装置固有のエネルギ使用量を含み得る。いくつかの実施形態において、検出予測を生成する第2の機械学習モデルは、(たとえばあるタイムスパンにわたる)検出されたエネルギ使用量を含むラベル付けされたエネルギ使用量データを用いて訓練される。したがって、第2の訓練データセット内のラベル付けされた装置固有のエネルギデータは、しきい値を上回るエネルギが使用されたか否かを示す(たとえばオンまたはオフを表すバイナリ値)ラベル付けされた装置固有のエネルギ使用量を含み得る。
【0132】
いくつかの実施形態において、第2の訓練データセットは、しきい値を上回る任意のラベル付けされた装置固有のエネルギ使用量の値を1に設定し、しきい値を下回る任意のラベル付けされた装置固有のエネルギ使用量の値を0に設定することにより、生成することができる。たとえば、第2の訓練データセットのラベル付けされた装置固有のエネルギ使用量は、ラベル付けされた装置のエネルギ使用量の総計を含まない場合がある(代わりにバイナリ1または0を含む)。
【0133】
1008において、生成された第1の訓練データセットおよび第2の訓練データセットを用いて、第1の機械学習モデルおよび第2の機械学習モデルを訓練することにより、ターゲット装置のディスアグリゲートされたエネルギ使用量(たとえばエネルギ使用量の総計)およびターゲット装置の検出されたエネルギ使用量(たとえばしきい値を上回るエネルギ使用量等のオンまたはオフ検出)を予測することができる。訓練は、予測の生成、損失計算(たとえば損失関数に基づく)、および勾配伝播(たとえば機械学習モデルの層/ニューロンを介する)を含み得る。本明細書に記載されているように、ターゲット装置のラベル付けされたエネルギ使用量および一組の他の装置のラベル付けされたエネルギ使用量はいずれも、機械学習モデルを訓練するために使用される。
【0134】
いくつかの実施形態において、訓練された機械学習モデルは、複数の世帯のエネルギ使用量の値と、ターゲット装置のラベル付けされたエネルギ使用量の値と、一組の他の装置のラベル付けされたエネルギ使用量の値とを用いて、訓練されたものである。第1の機械学習モデルおよび第2の機械学習モデルを訓練するために使用される第1の訓練データセットおよび第2の訓練データセットは、複数の世帯からのエネルギ使用量と、これらの世帯のエネルギ使用量内のターゲット装置のラベル付けされたエネルギ使用量の値と、これらの世帯のエネルギ使用量内の一組の他の装置のラベル付けされたエネルギ使用量の値とを含み得る。いくつかの実施形態において、第1の機械学習モデルの訓練は、ターゲット装置のエネルギ使用量の値(たとえばエネルギ使用量の総計)を予測する精度を最適化することができ、第2の機械学習モデルの訓練は、ターゲット装置の検出されたエネルギ使用量(たとえばしきい値を上回るエネルギ使用量等の、オンまたはオフ検出)を予測する精度を最適化することができる。
【0135】
いくつかの実施形態において、複数の世帯のエネルギ使用量の値と、ターゲット装置のラベル付けされたエネルギ使用量の値と、一組の他の装置のラベル付けされたエネルギ使用量の値とを含む、第1の訓練データセットおよび第2の訓練データセットは、実質的に1時間単位の粒度を有する。その他の適切な粒度も同様に実現することができる。いくつかの実施形態において、機械学習モデル、利用される訓練データセット、および/または一組の他の装置を、訓練の結果に基づいて調節することができる。たとえば、訓練されたモデルのテストは、訓練されたモデルの精度を示すことができ、テスト精度に基づいて、さまざまな調節調整を行うことができる。
【0136】
1010において、訓練された第1の機械学習モデルおよび訓練された第2の機械学習モデルを格納することができる。たとえば、基準(たとえば精度基準またはしきい値)を満たす予測を生成する訓練された学習モデルの格納を、格納されたモデルを用いてディスアグリゲーションおよび検出予測を実行できるように、行うことができる。
【0137】
図11は、実施形態の一例に係る、複数の訓練された機械学習モデルを用いて、ターゲット装置に対応付けられるディスアグリゲートされたエネルギ使用量を予測するためのフロー図を示す。たとえば、
図10の機能に基づいて訓練された複数の機械学習モデルを用いて
図11の機能を実行することができる。
【0138】
1102において、ある期間にわたる、実質的に1時間単位の粒度の、世帯エネルギ使
用量データを受けることができ、この世帯のエネルギ使用量は、ターゲット装置が消費したエネルギと、複数の他の装置が消費したエネルギとを含む。たとえば、世帯エネルギ使用量データは、1日等のある期間にわたるタイムスタンプに基づいた時間間隔(たとえば実質的に1時間単位の粒度または他の適切な粒度)に分割することができる。
【0139】
1104において、受けたエネルギ使用量データを処理することができる。たとえば、この処理は、訓練データの処理と同様のものとすることができる。そのような例において、この処理により、世帯エネルギ使用量入力データを、訓練データと同様になるように変えることができ、そうすることで、訓練された機械学習モデルは、向上した予測結果を実現することができる。この処理は、エネルギ使用量データの1時間単位の粒度の実現、正規化、他の形態のスケーリング、およびその他任意の適切な処理を含み得る。
【0140】
いくつかの実施形態において、この処理は、第1の訓練された機械学習モデルのための第1の入力データと、第2の訓練された機械学習モデルのための第2の入力データとを生成することを含み得る。たとえば、第1の機械学習モデルは、入力データからターゲット装置のエネルギ使用量をディスアグリゲートするように訓練/構成することができ、第2の機械学習モデルは、入力データからターゲット装置のエネルギ使用量を検出するように訓練/構成することができる。
【0141】
1106において、第1の入力データを、第1の訓練された機械学習モデルに与えることができ、ソース位置のエネルギ使用量データの中からディスアグリゲートされたエネルギ使用量についての予測を生成することができる。たとえば、受けた世帯エネルギ使用量に基づく、上記期間にわたるディスアグリゲートされたターゲット装置のエネルギ使用量の総計を、第1の訓練された機械学習モデルによって予測することができる。
【0142】
いくつかの実施形態において、第1の訓練された機械学習モデルは、
図10の機能に従って訓練することができ、第1の入力データは、入力として、訓練されたモデルに与えることができる。いくつかの実施形態において、予測は、訓練されたモデルに提供される第1の入力/エネルギ使用量データと同様の粒度を有することができる。たとえば、ターゲット装置について予測されたエネルギディスアグリゲーションは、実質的に1時間単位の粒度を有することができる。いくつかの実施形態において、予測されたエネルギ使用量は、少なくとも1日にわたる、少なくとも実質的に1時間単位の粒度の、ターゲット装置について予測されたエネルギ使用量を含む。
【0143】
1108において、第2の入力データを、第2の訓練された機械学習モデルに与えることができ、ソース位置のエネルギ使用量データの中から検出されたエネルギ使用量についての予測を生成することができる。たとえば、受けた世帯エネルギ使用量に基づく、上記期間にわたる検出されたターゲット装置のエネルギ使用量を、第2の訓練された機械学習モデルによって予測することができる。
【0144】
いくつかの実施形態において、第2の訓練された機械学習モデルは、
図10の機能に従って訓練することができ、第2の入力データは、入力として、訓練されたモデルに与えることができる。いくつかの実施形態において、予測は、訓練されたモデルに提供される第2の入力/エネルギ使用量データと同様の粒度を有することができる。たとえば、ターゲット装置について検出されたエネルギ使用量の予測は、実質的に1時間単位の粒度を有することができる。いくつかの実施形態において、検出されたエネルギ使用量の予測は、少なくとも1日にわたる、少なくとも実質的に1時間単位の粒度の、ターゲット装置ついて検出されたエネルギ使用量を含む。
【0145】
1110において、第1の機械学習モデルおよび第2の機械学習モデルからの予測され
た出力を組合せることができる。たとえば、ディスアグリゲーション予測と検出予測とを組合せることにより、ターゲット装置のエネルギ使用量のディスアグリゲーションについて組合された予測を形成することができる。
【0146】
いくつかの実施形態において、ディスアグリゲーション予測と検出予測とを組合せることは、たとえば検出予測がディスアグリゲーション予測と一致しない場合などに、検出予測に基づいてターゲット装置の予測されたディスアグリゲーションに値を加算することを含む。いくつかの実施形態において、ディスアグリゲーション予測および検出予測は、ディスアグリゲーション予測と検出予測との間の不一致を解消する重み付け方式を用いて組合される。
【0147】
いくつかの実施形態において、第3の機械学習モデルを訓練することができ、第3の機械学習モデルは、ディスアグリゲーション予測と検出予測とを組合せるように訓練/構成される。たとえば、第3の訓練された機械学習モデルは、ディスアグリゲーション予測および検出予測を使用して、ターゲット装置のエネルギ使用量の総計を予測するように訓練することができる。いくつかの実施形態において、ディスアグリゲーション予測および検出予測は、第3の訓練された機械学習モデルによって生成された予測を使用して組合される。
【0148】
実施形態は、新規の学習方式を用いて非侵入型負荷監視を実行する。NILMおよびディスアグリゲーションとは、ソース位置における合計エネルギ使用量(たとえば高度メータリングインフラストラクチャから提供された、ある世帯におけるエネルギ使用量)を入力として取り込み、このソース位置においてエネルギを使用する1つ以上の電化製品、電気自動車、およびその他の装置のエネルギ使用量を推定することである。実施形態は、訓練された機械学習モデルを活用することにより、ターゲット装置のエネルギ使用量を、ソース位置における総合的なエネルギ使用量に基づいて予測する。たとえば、ターゲット装置は大型電化製品または電気自動車であってもよく、ソース位置は世帯であってもよく、訓練された機械学習モデルは、この世帯のエネルギ使用量を入力として受けて、ターゲット装置のエネルギ使用量(たとえばこの世帯全体としてのエネルギ使用量に含まれるターゲット装置のエネルギ使用量)を予測することができる。
【0149】
実施形態は、ラベル付けされたエネルギ使用量データを用いて機械学習モデルを訓練する。たとえば、機械学習モデルは、設計/選択されたニューラルネットワーク等であってもよい。複数のソース位置(たとえば世帯)からエネルギ使用量データを取得することができ、エネルギ使用量データは装置固有のエネルギ使用量でラベル付けすることができる。たとえば、世帯エネルギ使用量の値はある期間をカバーすることができ、この期間内の個々の装置(たとえば電化製品1、電気自動車1、電化製品2など)のエネルギ使用量の値をラベル付けすることができる。そうすると、いくつかの実施形態において、この世帯および装置固有のエネルギ使用量を処理することにより、機械学習モデルのための訓練データを生成することができる。
【0150】
いくつかの実施形態において、機械学習モデルを訓練することにより、ターゲット装置のエネルギ使用量を予測(たとえばディスアグリゲート)することができる。たとえば、訓練データは、複数の異なるソース位置(たとえば世帯)におけるターゲット装置固有のエネルギ使用量を含み得るものであり、したがって、機械学習モデルを訓練することにより、訓練データにおける傾向を識別し、ターゲット装置のエネルギ使用量を予測することができる。いくつかの実施形態において、機械学習モデルを訓練することによりターゲット装置のエネルギ使用量を予測する一方で、訓練データは、1つ以上の他の装置のエネルギ使用量予測/損失計算/勾配更新を含み得る。たとえば、機械学習モデルのための訓練技術(たとえば予測生成、損失計算、勾配伝播、精度改善など)の実施形態を実現する場
合、一組の他の装置を、ターゲット装置とともに含めることができる。
【0151】
本明細書全体にわたって説明されている本開示の特徴、構造、または特性は、1つ以上の実施形態において任意の適切なやり方で組合されてもよい。たとえば、本明細書全体を通して、「一実施形態」、「いくつかの実施形態」、「特定のある実施形態」、「特定の複数の実施形態」、またはその他同様の表現が使用されている場合、それは、実施形態に関連して説明されている特定の特徴、構造、または特性が本開示の少なくとも1つの実施形態に含まれ得ることを意味する。したがって、本明細書全体を通して、「一実施形態」、「いくつかの実施形態」、「特定のある実施形態」、「特定の複数の実施形態」、またはその他同様の表現がある場合、それは必ずしもすべてが同一グループの実施形態を指しているとは限らないものであって、記載されている特徴、構造、または特性は、1つ以上の実施形態において任意の適切なやり方で組合されてもよい。
【0152】
上記実施形態は、ステップを異なる順序にしておよび/または要素を開示されている構成と異なる構成にして実施し得ることを、当業者は容易に理解するであろう。したがって、本開示は概要を述べた実施形態を考慮しているが、それでもなお本開示の精神および範囲に含まれる特定の修正、変形、および代替構成が明らかであることは、当業者にとって明白であろう。そのため、本開示の範囲を判断するには添付の請求項を参照する必要がある。
【手続補正書】
【提出日】2023-12-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ターゲット装置に対応付けられる、ディスアグリゲートされたエネルギ使用量を増強するための方法であって、前記方法は、
ソース位置エネルギ使用量からターゲット装置エネルギ使用量をディスアグリゲートするように構成された、訓練された機械学習モデルを格納するステップを含み、前記訓練された機械学習モデルは、ソース位置エネルギ使用量から前記ターゲット装置のエネルギ使用量の総計を予測するように訓練され、前記方法はさらに、
ある期間にわたるソース位置エネルギ使用量を受けるステップを含み、前記ソース位置エネルギ使用量は、前記ターゲット装置が消費したエネルギを含み、前記方法はさらに、
前記訓練された機械学習モデルを使用し、受けた前記ソース位置エネルギ使用量に基づいて、前記ターゲット装置のディスアグリゲーション予測を生成するステップを含み、前記ディスアグリゲーション予測は、前記期間にわたる予測エネルギ使用量の値のセットを含み、前記セットのうちの各予測エネルギ使用量の値は、前記期間にわたる時間のウィンドウに対応し、前記方法はさらに、
ターゲット装置エネルギ使用量に関して、予測された補足検出と一致しない、前記予測エネルギ使用量の値のセットのサブセットを求めるステップと、
前記予測エネルギ使用量の値のサブセットをエネルギ使用量の総計によって調整するステップとを含む、方法。
【請求項2】
訓練された他の機械学習モデルを使用し、受けた前記ソース位置エネルギ使用量に基づいて、前記補足検出予測を生成するステップをさらに含み、前記補足検出予測は、前記ターゲット装置の予測エネルギ使用量を表すバイナリ値を含み、各補足検出予測は、前記期間にわたる前記時間のウィンドウのうちの1つに対応する、請求項1に記載の方法。
【請求項3】
前記バイナリ値は、前記ターゲット装置が「オン」状態であるまたは「オフ」状態であるという予測を表す、請求項2に記載の方法。
【請求項4】
前記予測エネルギ使用量の値のサブセットの各々に関する各時間のウィンドウについて、前記時間のウィンドウにわたる前記予測エネルギ使用量の値が、前記ターゲット装置の消費エネルギを示し、かつ、前記時間のウィンドウにわたる前記予測された補足検出の前記バイナリ値が、前記ターゲット装置がエネルギを消費しなかったことを示す場合、前記予測エネルギ使用量の値のサブセットは、前記予測された補足検出と一致しない、請求項2に記載の方法。
【請求項5】
前記予測エネルギ使用量の値のサブセットを調整するステップは、前記エネルギ使用量の総計を、前記予測エネルギ使用量の値のサブセットに加算することを含む、請求項4に記載の方法。
【請求項6】
前記エネルギ使用量の総計は、エネルギ使用量の予め定められた総計を含む、請求項5に記載の方法。
【請求項7】
前記時間のウィンドウは1時間以上を含み、前記期間は1日以上を含む、請求項1に記載の方法。
【請求項8】
前記機械学習モデルは、複数のソース位置についてのソース位置エネルギ使用量の全体の中のラベル付けされた装置固有エネルギ使用量を含む第1の訓練データを使用して訓練され、前記他の機械学習モデルは、複数のソース位置についてのソース位置エネルギ使用量の全体の中のラベル付けされた装置固有エネルギ使用量を含む第2の訓練データを使用して訓練され、前記第1の訓練データの前記ラベル付けされた装置固有エネルギ使用量は、1つ以上のラベル付けされた装置のエネルギ使用量の総計を含む、請求項2に記載の方法。
【請求項9】
前記第2の訓練データの前記ラベル付けされた装置固有エネルギ使用量は、前記1つ以上のラベル付けされた装置のエネルギ使用量の総計を含まない、請求項8に記載の方法。
【請求項10】
ターゲット装置に対応付けられる、ディスアグリゲートされたエネルギ使用量を増強するためのシステムであって、前記システムは、
プロセッサと、
前記プロセッサが実行する命令を格納するメモリとを備え、前記命令は、前記プロセッサに請求項1~9のいずれか1項に記載の方法を実行させる、システム。
【請求項11】
プロセッサに請求項1~9のいずれか1項に記載の方法を実行させる、プログラム。
【外国語明細書】