(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
==実施形態==
<<情報処理システム>>
図1は、本実施形態の情報処理システム1の概略構成を示す図である。情報処理システム1は、センサ2と、学習処理装置3と、需要予測装置4と、情報処理装置5と、を含む。センサ2と、学習処理装置3と、需要予測装置4と、情報処理装置5とは、ネットワークNWを介して通信可能に接続されている。ネットワークNWは、例えばインターネット等の公衆回線、WAN(Wide Area Network)、LAN(Local Area Network)等の専用回線等である。
【0013】
<センサ>
センサ2は、気温、湿度、気圧、風向、風速等を観測する装置であり、屋外に設けられている。センサ2は、観測結果を、需要予測装置4及び情報処理装置5に出力する。
【0014】
<学習処理装置3>
学習処理装置3は、後述する需要予測装置4が電力需要等の需要を予測する際に用いる学習モデルを生成する装置である。
【0015】
[学習処理装置3のハードウェア構成]
図2は、学習処理装置3のハードウェアの一例を示す図である。例示する学習処理装置3は、プロセッサ300、主記憶装置301、補助記憶装置302、入力装置303、出力装置304、及び通信装置305を備える。なお、例示する学習処理装置3は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、学習処理装置3によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。
【0016】
プロセッサ300は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されている。
【0017】
主記憶装置301は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。
【0018】
補助記憶装置302は、例えば、SSD(Solid State Drive)、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置302には、記録媒体の読取装置や通信装置305を介してプログラムやデータを読み込むことができる。補助記憶装置302に格納(記憶)されているプログラムやデータは主記憶装置301に随時読み込まれる。
【0019】
補助記憶装置302には、詳細は後述する学習データ60と、パラメータP0とが記憶されている。
【0020】
入力装置303は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
【0021】
出力装置304は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置304は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。
【0022】
入力装置303及び出力装置304は、ユーザとの間で情報の受け付けや情報の提示を行うユーザインタフェースを構成する。
【0023】
通信装置305は、他の装置との間の通信を実現する装置である。通信装置305は、インターネット等の通信ネットワークを介して他の装置との間の通信を実現する、有線方式または無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0024】
学習処理装置3には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0025】
情報処理システム1が備える各機能は、学習処理装置3のプロセッサ300が、主記憶装置301に格納されているプログラムを読み出して実行することにより、もしくは、情報処理システム1を構成するハードウェア(FPGA、ASIC、AIチップ等)によって実現される。情報処理システム1は、各種の情報(データ)を、例えば、データベースのテーブルやファイルシステムが管理するファイルとして記憶する。
【0026】
[学習データ]
図3は、学習処理装置3の補助記憶装置302に記憶されている、本実施形態の学習データ60を説明する図である。学習データ60は、複数のデータ60aを含んでいる。
図3の一の列には、一のデータ60aが配列されている。
【0027】
本実施形態の学習データ60は、最高気温と、最低気温と、曜日と、電力需要との夫々の実績値が対応付けられたデータである。ここで、最高気温と、最低気温と、曜日とは予測因子であり、電力需要は正解データである。
【0028】
本実施形態では、学習データ60は、2020年1月1日から2020年12月31日までの366日の夫々の日における実績値を含んでいる。
【0029】
[パラメータP0]
パラメータP0は、学習モデルに関するパラメータである。詳細は後述するが、学習モデルがニューラルネットワークの場合、パラメータP0としては、入力層の素子数、隠れ層の数、隠れ層の素子数、学習データのうち用いる予測因子、学習期間、カーネル関数、学習係数、学習回数及びモーメント項を含む。
【0030】
[学習処理装置3の機能ブロック]
図4は、本実施形態の学習処理装置3の機能ブロックを示す図である。本実施形態の学習処理装置3には、プロセッサ300が所定のプログラムを実行することにより、取得部310と、学習部311と、記憶部312、取得部313と、記憶部314とが実現される。
【0031】
取得部310は、補助記憶装置302に記憶された学習データ60とパラメータP0を取得する。
【0032】
学習部311は、学習データ60に基づいて学習を行うことにより、学習モデルを生成する。ここで、学習モデルの種類は特に制限されない。本実施形態では、学習モデルの種類として、ニューラルネットワークを用いることとする。なお、学習モデルの種類は、複数の候補から、情報処理システム1の運用者(以下、単に「運用者」と呼ぶ)によって選択可能としてもよい。
【0033】
学習モデルがニューラルネットワークの場合、学習部311は、予測因子を入力層に入力し、出力層から電力需要を出力する。出力層から出力された電力需要を、正解データと比較し、出力された電力需要が正解データとなるように、演算処理に用いるパラメータ(パラメータP3に相当)を最適化する。
【0034】
パラメータP3は、例えば素子間の重み(結合係数)、各素子で用いられる活性化関数の係数等である。パラメータP3の最適化の方法は特に限定されないが、学習部311は、例えば誤差逆伝播法を用いて各パラメータP3の最適化を行う。
【0035】
記憶部312は、学習部311が最適化したパラメータP3を、後述する需要予測装置4の補助記憶装置402に保存する。具体的には、記憶部312は、予測の演算処理に用いるパラメータP3を保存する。
【0036】
取得部313は、学習モデルに関するパラメータP0を取得する。詳細は後述するが、取得部313が取得するパラメータP0は、情報処理装置5で調整されたパラメータP0である。
【0037】
記憶部314は、取得部313が取得したパラメータP0を記憶する。これによって、情報処理装置5で調整されたパラメータP0は記憶部314に保存される。
【0038】
<学習モデルを学習する処理>
図5は、学習処理装置3が学習モデルを学習する処理の流れを説明するフローチャートである。学習モデルを学習する処理は、ステップS101〜ステップS103を含んでいる。
【0039】
先ず、ステップS101において、取得部310は、学習データ60とパラメータP0を取得する。
図3に示した学習データ60は、取得部310がここで取得する学習データの一例である。
【0040】
次いで、ステップS102において、学習部311は、学習データ60に基づいて、学習モデルを生成する。
【0041】
次いで、ステップS103において、記憶部312は、学習部311が最適化した学習モデルの演算処理に用いるパラメータP3を、需要予測装置4の補助記憶装置402に保存する。
<需要予測装置4>
需要予測装置4は、学習処理装置3によって最適化されたパラメータP3を学習モデルに適用して、センサ2の出力結果等に基づいて、予測対象日(第2予測対象日に相当)の電力需要を予測する装置である。
【0042】
[需要予測装置4のハードウェア構成]
図6は、需要予測装置4のハードウェアの一例を示す図である。例示する需要予測装置4は、プロセッサ400、主記憶装置401、補助記憶装置402、入力装置403、出力装置404、及び通信装置405を備える。
【0043】
需要予測装置4のプロセッサ400、主記憶装置401、補助記憶装置402、入力装置403、出力装置404、及び通信装置405の構成は夫々、学習処理装置3のプロセッサ300、主記憶装置301、補助記憶装置302、入力装置303、出力装置304、及び通信装置305の構成と同様であるため、共通する部分の説明は省略する。
【0044】
[補助記憶装置]
補助記憶装置402には、パラメータP0と、パラメータP3とが記憶されている。パラメータP0は、学習処理装置3の補助記憶装置302に記憶されたパラメータP0と同様である。パラメータP3は、学習処理装置3の学習部311によって最適化されたパラメータである。
【0045】
[需要予測装置4の機能ブロック]
図7は、本実施形態の需要予測装置4の機能ブロックを示す図である。本実施形態の需要予測装置4には、プロセッサ400が所定のプログラムを実行することにより、取得部410と、出力部411と、取得部412と、警報部413と、取得部414と、記憶部415とが実現される。
【0046】
取得部410(第2取得部に相当)は、補助記憶装置402に記憶されたパラメータP0と、パラメータP3とを取得する。取得部410は、更に、予測対象日における予測因子(第2予測因子に相当)の予報値及び実績値を取得する。
【0047】
本実施形態では、取得部410は、予測する前に、ネットワークNWを介して天気予報から予測対象日の最高気温と、最低気温と、曜日とを予測因子の予報値として取得する。更に、取得部410は、予測する前に、センサ2から、ネットワークNWを介して予測対象日の最高気温と、最低気温と、曜日とを、予測因子の実績値として取得する。
【0048】
出力部411(第2出力部に相当)は、取得部410が取得したパラメータP0と、パラメータP3と、予測対象日における予測因子の予報値とを用いて、予測対象日における電力需要の予測値を出力する。出力部411は、更に、予測対象日以降に、学習モデル61と、予測対象日における予測因子の実績値とを用いて、予測対象日における電力需要の予測値を出力する。
【0049】
取得部412(第3取得部に相当)は、予測対象日における電力需要の実績値を取得する。本実施形態では、取得部412は、予測対象日以降に、電力会社によって発表された電力需要の実績値を、ネットワークNWを介して取得する。電力需要の実績値は、後述する警報部413に出力される。
【0050】
警報部413(第2警報部に相当)は、電力需要の予測値の、電力需要の実績値に対する誤差が所定の条件を満たす場合に、警報を発する。ここで、電力需要の予測値の、電力需要の実績値に対する誤差とは、電力需要の予測値と、電力需要の実績値との差である。また、ここでの電力需要の予測値としては、予測因子の予報値を用いて出力された予測値と、予測因子の実績値を用いて出力された予測値との何れを用いてもよい。
【0051】
本実施形態では、ここでの電力需要の予測値としては、予測因子の実績値を用いて出力された予測値を用いる。詳細は後述するが、この場合における電力需要の予測値の、電力需要の実績値に対する誤差(以下、単に「誤差」と称する場合がある)は、予測因子に起因せず、学習モデルのみに起因するものである。
【0052】
ここで、誤差についての所定の条件とは、例えば、以下に示す条件の例の何れかを用いることができる。
【0053】
一例としては、誤差の絶対値が、所定値を超えた場合である。他の例としては、所定の予測回数において、誤差が正または負の何れかである回数が所定回数を超えた場合である。他の例としては、所定の予測回数において、誤差のばらつきが所定値を超えた場合である。他の例としては、所定の予測回数において、誤差の所定の分布傾向から逸脱する分布傾向が発現した場合である。
【0054】
つまり、詳細は後述するが、警報部413が警報を発した場合、情報処理システム1の運用者は、学習モデル61の妥当性を検証する契機を得ることができる。
【0055】
取得部414(第4取得部に相当)は、学習モデルに関するパラメータP0及びパラメータP3を取得する。詳細は後述するが、取得部414が取得するパラメータP0は、情報処理装置5で調整されたパラメータである。また、パラメータP3は、学習処理装置3で最適化されたパラメータである。
【0056】
記憶部415は、取得部414が取得したパラメータP0及びパラメータP3を記憶する。これによって、パラメータP0は記憶部415に保存される。
【0057】
<電力需要を予測する処理>
図8は、需要予測装置4が電力需要を予測する処理の流れを説明するフローチャートである。なお、
図8は、一の予測対象日についての電力需要を予測する処理を示している。電力需要を予測する処理は、ステップS201〜ステップS206を含んでいる。
【0058】
先ずステップS201において、取得部410は、パラメータP0と、パラメータP3と、予測因子の予報値を取得する。
【0059】
次いで、ステップS202において、出力部411は、パラメータP0及びパラメータP3が適用された学習モデルと、ステップS201において取得された予測因子の予報値とから、電力需要の予測値を出力する。
【0060】
次いで、ステップS203において、取得部410は、予測因子の実績値を取得する。つまり、ステップS203以降は、予測対象日以降に実行される。
【0061】
次いで、ステップS204において、出力部411は、学習モデル61と、ステップS203において取得された予測因子の実績値とから、電力需要の予測値を出力する。
【0062】
次いで、ステップS205において、取得部412は、電力会社によって発表された予測対象日における電力需要の実績値を取得する。
【0063】
次いで、ステップS206において、警報部413は、ステップS204において出力された電力需要の予測値の、ステップS205において取得された電力需要の実績値に対する誤差が、所定の閾値を超えるか否かを判定する。
【0064】
図9は、誤差の推移を説明する図である。
図9において、横軸は予測対象日である。また、縦軸は、電力需要の予測値の、電力需要の実績値に対する誤差である。誤差が、
図9に示した2本の破線の内側であれば、誤差の絶対値は所定の閾値T以下であり、塗り潰しなしで示されている。誤差が、
図9に示した2本の破線の外側であれば、誤差の絶対値は所定の閾値Tを超え、塗り潰しで示されている。
【0065】
ステップS206において、誤差の絶対値が閾値Tを超えると判定された場合(S206:Y)、ステップS206において、警報部413は、警報を発し、予測対象日における電力需要の予測を終了する。
【0066】
ステップS206において、誤差が閾値を超えないと判定された場合(S206:Y)、予測対象日における電力需要の予測を終了する。
【0067】
<情報処理装置5>
情報処理装置5は、需要予測装置4が用いる学習モデルに対し、異なる種類の学習モデルに変更したり、パラメータP0を調整したりするための装置である。情報処理装置5は、更に、調整されたパラメータP0を学習モデルに適用することにより、電力需要の予測結果を出力することができる。
【0068】
情報処理システム1の運用者は、例えば、電力需要の実績値と、需要予測装置4による電力需要の予測値との誤差が許容範囲を超えた場合に、学習モデルをより良く実績値を再現できるものに更新したいと考える場合がある。このような場合に、運用者は、情報処理装置5を用いてパラメータP0を調整することができる。
【0069】
[情報処理装置5のハードウェア構成]
図10は、情報処理装置5のハードウェアの一例を示す図である。例示する情報処理装置5は、プロセッサ500、主記憶装置501、補助記憶装置502、入力装置503、出力装置504、及び通信装置505を備える。
【0070】
情報処理装置5のプロセッサ500、主記憶装置501、補助記憶装置502、入力装置503、出力装置504、及び通信装置505の構成は夫々、需要予測装置4のプロセッサ300、主記憶装置301、補助記憶装置302、入力装置303、出力装置304、及び通信装置305の構成と同様であるため、共通する部分の説明は省略する。
【0071】
補助記憶装置502には、学習データ60と、学習モデルの情報7とが記憶されている。学習データは、学習処理装置3において、補助記憶装置302に記憶されているものと同様である。以下、学習モデルの情報7について説明する。
【0072】
[学習モデルの情報]
図11は、上述した補助記憶装置502に記憶されている、本実施形態の学習モデルの情報7を説明する図である。補助記憶装置502には、複数の異なる種類の学習モデルの夫々についての学習モデルの情報7が記憶されている。
【0073】
本実施形態では、複数の異なる種類の学習モデルとして、最小二乗法、部分的最小二乗法、回帰式、ニューラルネットワーク、サポートベクターマシーン、回帰木、ランダムフォレストを含む。なお、
図11は、これらの一部を省略して示している。
【0074】
学習モデルの情報7は、学習モデルに関するパラメータP0と、条件C1(第1の条件に相当)と、条件C2(第2の条件に相当)とを含む情報である。条件C1と、条件C2とは、パラメータP0についての条件である。パラメータP0の数や種類は、学習モデルに固有である。
【0075】
ここで「パラメータ」とは、学習モデルの構成を定めるためのパラメータP1(第1パラメータに相当)と、学習モデルを学習するためのパラメータP2(第2パラメータに相当)とを含む。以下では、特に断らない限り、パラメータP1と、パラメータP2とをまとめて「学習モデルに関するパラメータP0」と称する。
【0076】
図11に示すように、学習モデルがニューラルネットワークの場合、パラメータP0としては、入力層の素子数、隠れ層の数、隠れ層の素子数、学習データのうち用いる予測因子(以下、単に「予測因子」と称する。)、学習期間、カーネル関数、学習係数、学習回数及びモーメント項を含む。
【0077】
ここで、本実施形態では、予測因子としては、
図3の学習データ60に示されている最高気温、最低気温及び曜日から、少なくとも一部を選択する。また、予測因子として、
図9の予測因子以外の予測因子を新たに取得して、新たに取得した予測因子から更に選択してもよい。
図9の予測因子以外の予測因子とは、例えば、最大不快指数、風向き等が挙げられる。
【0078】
また、本実施形態では、学習期間としては、学習データ60に含まれている2020年1月1日から2020年12月31日までの期間から、少なくとも一部の期間を選択する。また、学習期間として、
図9の学習データ60が有する期間以外の期間に関するデータを新たに取得して、新たに取得した期間から更に選択してもよい。
【0079】
ここで、入力層の素子数、隠れ層の数及び隠れ層の素子数、及び予測因子に関する情報(例えば、気温、湿度等)は、パラメータP1である。また、カーネル関数、学習係数、学習回数及びモーメント項、及び学習期間(学習に用いる学習データの期間)は、パラメータP2である。
【0080】
条件C1は、学習モデルが学習できるか否かを判別するための条件である。パラメータP0が条件C1を満たす場合には、学習モデルは学習することができ、原理的に学習モデルを生成することができる。一方、パラメータが条件C1を満たさない場合には、学習モデルは学習することができないため、原理的に学習モデルを生成することができない。
【0081】
条件C1について、学習モデルがニューラルネットワークの場合を例示し、
図11及び
図12を参照しながら具体的に説明する。
図12は、ニューラルネットワークのモデルの構成を説明する図である。
【0082】
図12の例において、入力層には3個の素子Nが設けられ、隠れ層には多数の素子Nが設けられ、出力層には1個の素子Nが設けられている。入力層の3個の素子Nには夫々、最高気温、最低気温及び曜日が入力される。出力層の素子Nには、電力需要が出力される。
【0083】
[パラメータP1についての条件C1]
学習モデルがニューラルネットワークの場合、条件C1は、パラメータP1の値が1以上となる条件を含む。本実施形態では、入力層の素子数、隠れ層の数及び隠れ層の素子数については、いずれも1以上の整数である。このような条件を満たすことにより、学習モデルを学習することが原理的に可能となる。
【0084】
[パラメータP2についての条件C1]
条件C1は、予測因子については、予測因子の数が1以上とする条件である。また、条件C1は、学習期間については、学習期間として用いる学習データ60のうちのデータ60aの数が1以上とする条件である。
【0085】
また、条件C1は、パラメータP2の値が0より大きい値である条件を含む。本実施形態では学習係数については正の実数、学習回数については、1以上の整数である。モーメント項については、正の実数である。これらのような条件を満たすことにより、学習モデルを学習することが原理的に可能となる。
【0086】
条件C2は、例えば需要予測装置4の設計者等(以下、設計者等と呼ぶ)によって予め設定された条件である。設計者等は、条件C2として、パラメータに推奨される条件を設定することができる。
【0087】
パラメータP1、P2に推奨される条件とは、例えば、パラメータP1、P2がこの条件を満たす場合、生成された学習モデルによって安定性の高い予測結果を得ることができ、計算のコストが適切であると設計者等が判断した条件とすることができる。
【0088】
ここで、「安定性の高い予測結果」とは、例えば、パラメータP1、P2に推奨される条件の範囲において、ほぼ一意的に決定される予測結果である。
【0089】
また、「計算のコスト」とは、学習モデルを生成するための計算又は学習モデルを用いて予測結果を出力するまでの計算に要する時間、費用等である。
【0090】
なお、パラメータP1、P2は、条件C2を満たせば、条件C1も自動的に満たすよう、条件C2が設定される。
【0091】
条件C2について、ニューラルネットワークの場合を例示し、
図11及び
図12を参照しながら具体的に説明する。
【0092】
[パラメータP1についての条件C2]
条件C2は、入力層の素子数が所定の値以下となる条件を含む。本実施形態では、入力層の素子数については、1以上200以下と設定されている。このような条件を満たすことにより、計算のコストが膨大にならず、安定性の高い予測結果を得ることができる。
【0093】
条件C2は、また、隠れ層の数の値が所定の値以下となる条件を含む。本実施形態では、隠れ層の数の値については、1以上7以下と設定されている。このような条件を満たすことにより、計算のコストが膨大にならず、安定性の高い予測結果を得ることができる。
【0094】
条件C2は、また、隠れ層における素子数の値が、入力層の素子数の所定倍を示す所定の値以下となる条件を含む。本実施形態では、隠れ層における素子数の値については、1以上であって、入力層の素子数の10倍以下と設定されている。このような条件を満たすことにより、計算のコストが膨大にならず、安定性の高い予測結果を得ることができる。
【0095】
[パラメータP2についての条件C2]
条件C2は、予測因子については、学習データに示された予測因子から選択されており、予測因子の数が入力層の素子数と同じであれば、特に制限はない。
【0096】
また、条件C2は、学習期間については、学習期間として用いる学習データ60のうちのデータ60aの数が所定の範囲となる条件を含む。本実施形態では、用いるデータ60aの数については、1500より小さい値に設定されている。このような条件を満たすことにより、安定性の高い予測結果を得ることができる。
【0097】
条件C2は、また、学習係数の値が、所定の値以下となる条件を含む。本実施形態では、学習係数の値については、0より大きく1より小さい値に設定されている。このような条件を満たすことにより、安定性の高い予測結果を得ることができる。
【0098】
条件C2は、また、学習回数が、所定の値以下となる条件を含む。本実施形態では、学習回数の値については、1000000より小さい値に設定されている。このような条件を満たすことにより、計算のコストが膨大にならず、安定性の高い予測結果を得ることができる。
【0099】
条件C2は、また、モーメント項の値が、所定の値以下となる条件を含む。本実施形態では、モーメント項の値については、0より大きく1より小さい値に設定されている。このような条件を満たすことにより、安定性の高い予測結果を得ることができる。
【0100】
[情報処理装置5の機能ブロック]
図13は、本実施形態の情報処理装置5の機能ブロックを示す図である。本実施形態の情報処理装置5には、プロセッサ500が所定のプログラムを実行することにより、分析部510と、取得部511と、入力受付部512と、入力受付部513と、判定部514と、判定部515と、警報部516と、学習部517と、出力部518と、取得部519と、出力部520と、出力部521と、表示制御部522とが実現される。
【0101】
分析部510は、需要予測装置4によって予測された電力需要を分析し、予測因子の影響度を計算する。
図14は、分析部510によって計算された予測因子の影響度の例を示す図である。分析部510による計算結果から、運用者は、新たな学習モデルを生成するに際し、予測因子の選択を検討することができる。
【0102】
取得部511は、補助記憶装置502に記憶された学習データ60を取得する。
【0103】
入力受付部512(第1入力受付部に相当)は、複数の異なる種類の学習モデルから、選択された学習モデルの入力を受け付ける。複数の異なる種類の学習モデルとは、補助記憶装置502に記憶された学習モデルの情報7(
図11)に含まれる学習モデルである。選択された学習モデルとは、複数の異なる種類の学習モデルのうち、運用者が所望する学習モデルである。
【0104】
入力受付部513(第2入力受付部に相当)は、パラメータP0の入力を受け付ける。前述のように、パラメータP0は、パラメータP1、P2を含む。
【0105】
このとき、入力受付部513は、入力受付部512を介して入力された学習モデルに応じたパラメータP0の入力を受け付ける。パラメータP0は、後述する判定部514、515に出力される。
【0106】
判定部514(第1判定部に相当)は、入力受付部513を介して入力されたパラメータP0が、条件C1を満たすか否かを判定する。ここで、条件C1は、入力受付部512を介して入力された学習モデルに応じたものである。判定結果は、後述する警報部516に出力される。
【0107】
判定部515(第2判定部に相当)は、入力受付部513を介して入力されたパラメータP0が、条件C2を満たすか否かを判定する。ここで、条件C2は、入力受付部512を介して入力された学習モデルに応じたものである。判定結果は、後述する警報部516に出力される。
【0108】
警報部516(第1警報部に相当)は、判定部514が、パラメータP0のうち少なくとも何れかが、条件C1を満たさないと判定した場合、警報を発する。
【0109】
警報部516は更に、判定部515が、パラメータP0のうち少なくとも何れかが、条件C2を満たさないと判定した場合、警報を発する。
【0110】
学習部517は、判定部514、515が、パラメータP0のそれぞれが条件C1を満たすと判定した場合、パラメータP0を用いて選択された学習モデルを学習する。この学習によって、パラメータP3が最適化される。学習モデルを生成する手順は、上述した学習部311が学習モデルを生成する手順と同様である。
【0111】
出力部518は、以上の手順によって調整されたパラメータP0を、学習処理装置3及び需要予測装置4に出力する。
【0112】
取得部519(第1取得部に相当)は、予測対象日(第1予測対象日に相当)における予測因子(第1予測因子に相当)を、上述の需要予測装置4の取得部410と同様の方法で取得する。取得部519は、更に、予測対象日における予測因子の予報値又は実績値を取得する。
【0113】
本実施形態では、予測対象日は、過去の所定の期間とする。また、予測因子は、予測対象日における実績値とする。
【0114】
出力部520(第1出力部に相当)は、学習部517が学習することによって生成された学習モデルを用いて、取得部519が取得した予測因子から、電力需要の予測値を出力する。
【0115】
出力部521は、出力部520によって出力された電力需要の予測値の、電力需要の実績値に対する誤差を出力する。
【0116】
表示制御部522は、入力受付部512、513が学習モデル等の入力を受け付ける際の選択画面等、及び警報部516によって発せられる警報を表示するポップアップ画面を生成し、出力装置504に表示させる。これらの画面の詳細は後述する。
【0117】
<パラメータP0を保存するまでの処理>
図15は、情報処理装置5がパラメータP0を保存するまでの処理の流れを説明するフローチャートである。パラメータP0を保存するまでの処理は、ステップS301〜ステップS311を含んでいる。
【0118】
先ずステップS301において、取得部511は、学習データ60を取得する。
図3に示した学習データ60は、取得部511がここで取得する学習データの一例である。
【0119】
次いで、ステップS302において、入力受付部512は、学習モデルの入力を受け付ける。このとき、入力受付部512は、学習モデル選択画面8を介して学習モデルの入力を受け付ける。
図16は、一例としての学習モデル選択画面8である。学習モデル選択画面8は、表示制御部522により生成され、出力装置504に表示される。
【0120】
図16には、選択可能な複数の学習モデルが一覧表示されている。運用者は、一覧表示された複数の学習モデルのうちの一つを、マウス等で選択することができる。ここで選択された学習モデルに基づいて、後のステップにおいて新たな学習モデルが生成される。
【0121】
図16では、学習モデルとして、ニューラルネットワークが選択された態様を示している。この状態で設定ボタンB1を選択すると、学習モデルとしてニューラルネットワークが入力される。
【0122】
次いで、ステップS303において、入力受付部513は、パラメータP0の入力を受け付ける。このとき、入力受付部513は、パラメータ設定画面9を介してパラメータP0の入力を受け付ける。
図17は、このときの一例としてのパラメータ設定画面9である。
【0123】
パラメータ設定画面9には、パラメータP0の種類と、夫々の値を入力するための入力欄9a〜9fが表示されている。
【0124】
運用者は、ステップS303において、パラメータ設定画面9の入力欄9a〜9iに、パラメータP0である入力層の素子数と、隠れ層の数と、隠れ層における素子数と、予測因子と、学習期間と、カーネル関数と、学習係数と、学習回数と、モーメント項との値を入力する。
【0125】
ここで、入力層の素子数と、隠れ層の数と、隠れ層における素子数と、予測因子とは、パラメータP1である。学習期間と、カーネル関数と、学習係数と、学習回数と、モーメント項とは、パラメータP2である。
【0126】
図18は、ステップS303において、運用者がパラメータP0の入力を完了した状態の一例である。運用者は、パラメータP0の入力を完了すると、設定ボタンB2を選択する。
【0127】
次いで、ステップS304において、判定部514は、パラメータ設定画面9を介して入力されたパラメータP0のそれぞれが、条件C1を満たすか否かを判定する。
【0128】
ここで、
図18において、パラメータP0の1つである隠れ層の数の値として0が入力されている。このような隠れ層の数の値は、上述のように条件C1を満たさない。従って、判定部514は、条件C1を満たさないと判定する。
【0129】
判定部514が、条件C1を満たさないと判定すると(ステップS304:N)、ステップS305に進み、警報部516は、警報を発する。
【0130】
図19は、判定部514が、条件C1を満たさないと判定した後に、警報部516によって発せられた警報の一例である。この例では、警報を示すポップアップ画面90が表示されている。
【0131】
運用者が、ポップアップ画面90の「OK」のボタンB2を選択すると、ステップS303に戻り、入力受付部513は、パラメータP0の入力を再度受け付ける。運用者は、パラメータ設定画面9を介して、適切な隠れ層の数を入力し直すことができる。
【0132】
ステップS304において、判定部514が、条件C1を満たすと判定すると(ステップS304:Y)、ステップS306に進む。
【0133】
ステップS306において、判定部515は、パラメータ設定画面9を介して入力されたパラメータP0のそれぞれが、条件C2を満たすか否かを判定する。
【0134】
図18において、パラメータP0の1つである隠れ層の素子数の値として5000が入力されている。このような隠れ層の数の値は条件C2を満たさない。従って、判定部515は、条件C2を満たさないと判定する。
【0135】
判定部515が、条件C2を満たさないと判定すると(ステップS306:N)、ステップS307に進み、警報部516は、警報を発する。
【0136】
図20は、判定部515が、条件C2を満たさないと判定した後に、警報部516によって発せられた警報の一例である。この例では、警報を示すポップアップ画面91が表示されている。
【0137】
ポップアップ画面91において、隠れ層の素子数の値が5000では多過ぎることと、推奨値は30以下である旨のメッセージが表示されている。
【0138】
次いで、ステップS308において、警報部516は、続行するか否かの入力を受け付ける。ポップアップ画面91において、続行するか否かを問うメッセージが表示されている。
【0139】
運用者が、ポップアップ画面91に表示された「いいえ」のボタンB5を選択すると、ステップS303に戻り、入力受付部513は、パラメータP0の入力を再度受け付ける。運用者は、パラメータ設定画面9を介して、好ましい隠れ層の素子数の値を入力し直すことができる。
【0140】
ステップS306において、判定部515が、条件C2を満たすと判定するか(ステップS306:Y)、ステップS308において、運用者が「はい」のボタンB4を選択すると(ステップS308:Y)、ステップS309へ進む。
【0141】
ステップS309において、学習部517は、学習モデルと、入力されたパラメータP0とに基づいて学習を行う。
【0142】
次いで、ステップS310において、学習部517は、ステップS309における学習で得られた学習モデルを取得する。
【0143】
次いで、ステップS311において、出力部520は、ステップS310において取得された学習モデルと、予測因子の実績値とから、電力需要の予測値を出力する。
【0144】
次いで、ステップS312において、出力部521は、ステップS311において出力された電力需要の予測値の、電力需要の実績値に対する誤差を出力する。
【0145】
図21は、誤差の推移を説明する図である。
図21において、横軸は予測対象日であり、この例の予測対象日は、
図9の例の予測対象日と同様である。また、縦軸は、電力需要の予測値の、電力需要の実績値に対する誤差である。調整された新たなパラメータP0が需要予測に用いられたことによって、
図21に示された誤差は、
図9に比べて小さくなっている。
【0146】
運用者は、
図21に示された誤差を参照し、ステップS302〜ステップS308の手順で調整されたパラメータP0を、新たなパラメータP0として採用するか否かを検討することができる。
【0147】
次いで、ステップS313において、出力部521は、続行するか否かの入力を受け付ける。ステップS313において、運用者が、図示しない入力画面を介して続行しない旨の選択をすると(ステップS313:N)、ステップS303に戻り、入力受付部513は、パラメータP0の入力を再度受け付ける。
【0148】
ステップS313において、運用者が、入力画面を介して続行する旨の選択をすると(ステップS313:Y)、ステップS314に進む。
【0149】
次いで、ステップS314において、出力部518は、得られた学習モデルに関するパラメータP0を、補助記憶装置302及び補助記憶装置402に出力する。なお、出力部518は、パラメータP3も更に補助記憶装置302及び補助記憶装置402に出力してもよい。
【0150】
以上の処理により、情報処理装置5は、新たな学習モデルを生成し、取得することができる。そして、新たな学習済みモデルを用いて、需要予測を行うことができる。
【0151】
<パラメータP3を記憶するまでの処理>
図22は、学習処理装置3及び需要予測装置4がパラメータP0及びP3を記憶するまでの処理の流れを説明するフローチャートである。パラメータP0及びP3を記憶するまでの処理は、ステップS401〜ステップS408を含んでいる。なお、ステップS401は、情報処理装置5による処理であり、ステップS402〜ステップS404は、学習処理装置3による処理であり、ステップS405〜ステップS408は、需要予測装置4による処理である。
【0152】
先ずステップS401において、情報処理装置5の出力部518は、学習モデルに関するパラメータP0を、学習処理装置3と需要予測装置4に出力する。
【0153】
次いで、ステップS402において、学習処理装置3の取得部313は、出力部518によって出力されたパラメータP0を取得する。
【0154】
次いで、ステップS403において、学習処理装置3の記憶部314は、取得部313が取得したパラメータP0を記憶する。
【0155】
次いで、ステップS404において、学習処理装置3の学習部311は、ステップS403で記憶されたパラメータP0と、学習データ60とに基づいて学習を行うことにより、パラメータP3を最適化する。
【0156】
また、ステップS405において、需要予測装置4の取得部414は、学習部517によって出力されたパラメータP0を取得する。
【0157】
次いで、ステップS406において、記憶部415は、取得部414が取得したパラメータP0を記憶する。
【0158】
次いで、ステップS407において、需要予測装置4の取得部414は、ステップS404において最適化されたパラメータP3を取得する。
【0159】
次いで、ステップS408において、記憶部415は、取得部313が取得したパラメータP3を記憶する。
【0160】
以上の処理により、情報処理装置5によって調整されたパラメータP0を、学習処理装置3及び需要予測装置4に保存することができ、また、需要予測装置4は、情報処理装置5によって調整されたパラメータP0及び学習処理装置3によって最適化されたパラメータP3を保存することができる。
【0161】
上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更や改良され得るとともに、本発明にはその等価物が含まれるのはいうまでもない。
【0162】
例えば、本実施形態では、学習処理装置3と、需要予測装置4と、情報処理装置5とが別体として情報処理システム1に備えられる態様を示したが、これに限られるものではない。例えば、学習処理装置3と、需要予測装置4とが一体として情報処理システム1に備えられてもよい。または、学習処理装置3と、需要予測装置4と、情報処理装置5とが一体として情報処理システム1に備えられてもよい。
【0163】
これらのような場合であっても、情報処理システム1によれば、学習モデルの構成を定めるためのパラメータや学習モデルを学習するためのパラメータを、容易に適切な値に調整することが可能となる。
【0164】
==まとめ==
以上、上記実施形態の情報処理装置5は、複数の異なる種類の学習モデルから、選択された学習モデルの入力を受け付ける入力受付部512と、選択された学習モデルに関するパラメータP0の入力を受け付ける入力受付部512、513と、パラメータP0が、選択された学習モデルが学習できるか否かを判別するための条件C1を満たすか否かを判定する判定部515と、パラメータP0が条件C1を満たす場合、パラメータP0を用いて選択された学習モデルを学習する学習部517と、を備える。
【0165】
このような構成によれば、運用者は、学習モデルの設計についての専門知識や経験に乏しくても、学習モデルに関するパラメータP0を調整する際に、不適切な値を設定することが無い。従って、このような構成によれば、パラメータP0を、容易に適切な値に調整することが可能となる。
【0166】
情報処理装置5は、パラメータP0が、条件C1を満たさない場合、警報を発する警報部516を更に備える。このような構成によれば、運用者は、不適切なパラメータP0を入力した場合に、このことを認識することができる。
【0167】
情報処理装置5は、パラメータP0が、選択された学習モデルを学習する際の条件C2を満たすか否かを判定する判定部515を備え、警報部516は、パラメータP0が、条件C2を満たさない場合、警報を発する。
【0168】
このような構成によれば、運用者は、推奨されないパラメータP0を入力した場合に、このことを認識することができる。これによって、運用者は、パラメータP0の選択を再検討することができる。従って、このような構成によれば、学習モデルに関するパラメータP0を、容易に更に適切な値に調整することが可能となる。
【0169】
情報処理装置5において、パラメータP0は、選択された学習モデルの構成を定めるためのパラメータP1と、選択された学習モデルを学習するためのパラメータP2とを含む。このような構成によれば、パラメータP1と、パラメータP2とを、容易に更に適切な値に調整することが可能となる。
【0170】
情報処理装置5において、選択された学習モデルは、ニューラルネットワークであり、パラメータP1は、隠れ層の数、及び隠れ層における素子数のうち少なくとも何れかを含み、条件C1は、パラメータP1の値が1以上となる条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、不適切なパラメータP1の値を設定することが無い。
【0171】
情報処理装置5において、パラメータP2は、学習係数、モーメント項、及び学習回数のうち少なくとも何れかを含み、条件C1は、パラメータP2の値が0より大きい値である条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、不適切なパラメータP2の値を設定することが無い。
【0172】
情報処理装置5において、パラメータP1は、隠れ層の数を含み、条件C2は、隠れ層の数の値が第1の値以下となる条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、推奨されない隠れ層の数の値を設定することを防ぐことができる。
【0173】
情報処理装置5において、パラメータP1は、隠れ層における素子数を含み、条件C2は、隠れ層における素子数の値が、入力層の素子数の所定倍を示す値(第2の値に相当)以下となる条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、推奨されない隠れ層における素子数を設定することを防ぐことができる。
【0174】
情報処理装置5において、パラメータP2は、学習係数を含み、条件C2は、学習係数の値が、第3の値以下となる条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、推奨されない学習係数の値を設定することを防ぐことができる。
【0175】
情報処理装置5において、パラメータP2は、モーメント項を含み、条件C2は、モーメント項の値が、第4の値以下となる条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、推奨されないモーメント項の値を設定することを防ぐことができる。
【0176】
情報処理装置5において、パラメータP2は、学習回数を含み、条件C2は、学習回数が、第5の値以下となる条件を含む。このような構成によれば、ニューラルネットワークによる学習モデルを生成する際に、推奨されない学習回数の値を設定することを防ぐことができる。
【0177】
情報処理装置5は、予測対象日における予測因子を取得する取得部519と、学習部517で学習された学習モデルを用いて、予測因子から、予測対象日における所定の対象の需要の予測値を出力する出力部520とを更に備える。このような構成によれば、学習部517で学習された学習モデルの妥当性を検証することができる。
【0178】
情報処理システム1は、情報処理装置5と、予測対象日における予測因子を取得する取得部410と、所定の学習モデルを用いて、予測対象日における所定の対象の需要の予測値を出力する出力部411と、予測対象日における所定の対象の需要の実績値を取得する取得部412と、所定の対象の需要の予測値と、所定の対象の需要の実績値との誤差が所定の条件を満たす場合に、警報を発する警報部413とを備える需要予測装置4と備える。このような構成によれば、需要予測装置4で用いる学習モデルの妥当性を検証することができる。
【0179】
情報処理システム1において、所定の条件は、誤差が、所定値を超えた場合、所定の予測回数において、誤差が正または負の何れかである回数が所定回数を超えた場合、所定の予測回数において、誤差のばらつきが所定値を超えた場合、所定の予測回数において、誤差の所定の分布傾向から逸脱する分布傾向が発現した場合、の何れかである。このような構成によれば、警報部413が警報を発するための条件の自由度が増す。
【0180】
情報処理システム1において、予測因子は、予測対象日における実績値である。このような構成によれば、学習モデルに起因する誤差のみを抽出することができる。
【0181】
情報処理システム1において、需要予測装置4は、学習部517が学習することによって生成された学習モデルに関するパラメータP0を取得する取得部414と、パラメータP0を記憶する記憶部415とを更に備える。このような構成によれば、需要予測装置4は、パラメータP0を学習モデルに適用した上で、需要予測を行うことができる。
複数の異なる種類の学習モデルから、選択された学習モデルの入力を受け付ける第1入力受付部と、前記選択された学習モデルに関するパラメータの入力を受け付ける第2入力受付部と、前記パラメータが、前記選択された学習モデルが学習できるか否かを判別するための第1の条件を満たすか否かを判定する第1判定部と、前記パラメータが前記第1の条件を満たす場合、前記パラメータを用いて前記選択された学習モデルを学習する学習部と、を備える情報処理装置。