IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 公立大学法人会津大学の特許一覧 ▶ 株式会社会津コンピュータサイエンス研究所の特許一覧

特開2024-114410電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法
<>
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図1
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図2
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図3
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図4
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図5
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図6
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図7
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図8
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図9
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図10
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図11
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図12
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図13
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図14
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図15
  • 特開-電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024114410
(43)【公開日】2024-08-23
(54)【発明の名称】電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法
(51)【国際特許分類】
   B60L 3/00 20190101AFI20240816BHJP
   B60L 15/20 20060101ALI20240816BHJP
   B60L 50/60 20190101ALI20240816BHJP
   B60L 58/12 20190101ALI20240816BHJP
   G06Q 10/04 20230101ALI20240816BHJP
   G06Q 50/06 20240101ALI20240816BHJP
   G16Y 10/40 20200101ALI20240816BHJP
   G16Y 20/10 20200101ALI20240816BHJP
   G16Y 20/20 20200101ALI20240816BHJP
   G16Y 20/30 20200101ALI20240816BHJP
【FI】
B60L3/00 S
B60L15/20 J
B60L50/60
B60L58/12
G06Q10/04
G06Q50/06
G16Y10/40
G16Y20/10
G16Y20/20
G16Y20/30
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023020162
(22)【出願日】2023-02-13
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)令和4年3月30日にhttps://ieeexplore.ieee.org/document/9745064及びhttps://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9745064にて発表。
(71)【出願人】
【識別番号】506301140
【氏名又は名称】公立大学法人会津大学
(71)【出願人】
【識別番号】520070574
【氏名又は名称】株式会社会津コンピュータサイエンス研究所
(74)【代理人】
【識別番号】110003421
【氏名又は名称】弁理士法人フィールズ国際特許事務所
(72)【発明者】
【氏名】ベン アブダラ アブデラゼク
(72)【発明者】
【氏名】ワン ジーシャン
(72)【発明者】
【氏名】ダン ナム カイン
(72)【発明者】
【氏名】久田 雅之
【テーマコード(参考)】
5H125
5L010
5L049
5L050
【Fターム(参考)】
5H125AA01
5H125AC12
5H125BC08
5H125CA18
5H125CC04
5H125EE27
5H125EE41
5H125EE51
5H125EE55
5H125EE61
5H125EE64
5L010AA04
5L049AA04
5L049CC06
5L050CC06
(57)【要約】
【課題】
EVの将来の運転による電力消費量を正確に知ることができる電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法を提供する。
【解決手段】
電気移動体の将来の運転における電力消費量の予測処理をコンピュータに実行させるプログラムであって、予測処理は、電気移動体の1回の運転の出発地から目的地までの運転経路を複数の分割経路に分割する複数の中間位置を算出し、複数の分割経路それぞれについて、分割経路の開始時刻と、分割経路の開始時刻での気象情報と、分割経路の地理情報と、電気移動体を運転する利用者情報と、運転時間と電気移動体情報を有するサンプルを入力し、分割経路での電気移動体の電力消費量を推定する電力消費予測モデルプログラムを実行し、複数の分割経路それぞれで推定した電力消費量を加算して1回の運転の電力消費量を算出する。
【選択図】図2
【特許請求の範囲】
【請求項1】
電気移動体の将来の運転における電力消費量の予測処理をコンピュータに実行させるプログラムであって、
前記予測処理は、
電気移動体の1回の運転の出発地から目的地までの運転経路を複数の分割経路に分割するための1つまたは複数の中間位置を算出し、
前記複数の分割経路それぞれについて、前記分割経路の開始時刻と、前記分割経路の前記開始時刻での気象情報と、前記分割経路の地理情報と、前記電気移動体を運転する利用者情報と、運転時間と電気移動体情報を有するサンプルを入力し、前記分割経路での電気移動体の電力消費量を推定する電力消費予測モデルプログラムを実行し、
前記複数の分割経路それぞれで推定した電力消費量を加算して前記1回の運転の電力消費量を算出する、
ことを有する電気移動体の電力消費予測プログラム。
【請求項2】
前記1つまたは複数の中間位置を算出する処理は、前記出発地から前記目的地との間の直線を前記出発地から前記目的地までの運転時間で除算して1つまたは複数の等点を算出し、前記1つまたは複数の等点に最も近い都市を検出し、前記検出した最も近い都市を前記中間位置とし、
前記気象情報は、前記最も近い都市の気象予測ステーションの気象情報である、請求項1に記載の電気移動体の電力消費予測プログラム。
【請求項3】
前記分割経路の気象情報は、気温、降水量、湿度及び風速を含み、
前記分割経路の地理情報は、前記分割経路の出発地と目的地との位置情報を含み、
前記利用者情報は、前記利用者の年齢を含み、
前記電気移動体情報は、前記電気移動体の識別情報と年式情報を含み、
前記電力消費予測モデルは、前記サンプルをそれぞれ入力するニューロンを有する入力層と、それぞれ所定数のニューロンを有する複数の隠れ層と、前記電力消費量を出力するニューロンを有する出力層とを有するニューラルネットワークであって、前記複数の隠れ層及び前記出力層は、前の層の複数のニューロンと重み付きリンクで結合されたニューロンを有する全結合層である、請求項1または2に記載の電力移動体の電力消費予測プログラム。
【請求項4】
電気移動体の将来の運転における電力消費量を予測する電力消費予測モデルの生成方法であって、
(a)複数の電気移動体のローカルモデルを前記電気移動体それぞれの運転で得た訓練データにより訓練して取得した複数のローカルモデルのパラメータを、通信ネットワークを介して受信し、前記パラメータはパラメータまたは当該パラメータを更新するためのパラメータ更新データであり、
(b)複数の前記ローカルモデルのパラメータを集約してグローバルモデルのパラメータを生成し、
(c)前記グローバルモデルのパラメータを含むトランザクションを新たなブロック内に記憶し、採掘者コンピュータに前記新たなブロックをブロックチェーンの台帳に追加させてブロックチェーンの台帳を生成させ、
(d)前記台帳からダウンロードした前記グローバルモデルのパラメータにより更新した更新ローカルモデルを、前記訓練データにより更に訓練して取得した複数の前記更新ローカルモデルのパラメータを、通信ネットワークを介して受信し、
(e)前記更新ローカルモデルを前記ローカルモデルとして前記(b)(c)(d)を繰り返す、電力消費予測モデルの生成方法。
【請求項5】
前記(b)において、更に、受信した前記複数のローカルモデルのパラメータのうち、前記訓練データにより訓練した補助モデルのパラメータのベクトルとの非類似性が低いほうから所定割合又は所定数のベクトルを持つ前記ローカルモデルのパラメータを選択し、前記選択されたローカルモデルのパラメータを集約して前記グローバルモデルのパラメータを生成する、請求項4における電力消費予測モデルの生成方法。
【請求項6】
前記(b)において、更に、受信した前記複数のローカルモデルのパラメータのうち、複数の他のローカルモデルのパラメータのベクトルとの非類似性が低いほうから所定割合又は所定数のベクトルを持つ前記ローカルモデルのパラメータを選択し、前記選択されたローカルモデルのパラメータを集約して前記グローバルモデルのパラメータを生成する、請求項4における電力消費予測モデルの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法に関する。
【背景技術】
【0002】
仮想発電所(VPP: Virtual Power Plant)は、電力のピーク需要期間中に相互接続された様々なユニットによって生成された電力を割り当てることで、電力グリッド上の負荷をバランスさせる。しかし、再生可能な資源によって生み出されるエネルギーの変動は、エネルギー供給のバランスをとることを困難にする。そこで、電気移動体(EV: Electric Vehicle、以下電気自動車またはEVと称する。)や移動ロボットなどの需要者側のエネルギー機器が効果的に配備されれば、エネルギーの需給バランスをとることができる。EVがスマートグリッドに統合されたことで、EVの移動式蓄電器から電力を電力グリッドに戻すことが可能になる。以下の特許文献1乃至7及び非特許文献1、2が、EVの移動式蓄電器の電力について記載する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-039684号公報
【特許文献2】特開2020-064490号公報
【特許文献3】特開2022-050126号公報
【特許文献4】中国特許公開113886813号公報
【特許文献5】独国特許公開102018211575号公報
【特許文献6】欧州特許公開3564873号公報
【特許文献7】米国特許公開2022/0044162号公報
【非特許文献】
【0004】
【非特許文献1】W.,P.Chen,D.Zeng,およびJ.Liu,「大規模風力発電による仮想発電所における電気自動車フリート統合」、IEEE Transactions on Industry Applications,,vol.56、No. 5、pp.5924-5931、2020。
【非特許文献2】Z. Wang, M. Ogbodo, H. Huang, C. Qiu, M. Hisada, and A. B.Abdallah「AEBIS: スマートグリッドプラットフォームにおける電力管理のためのAI対応ブロックチェーンベースの電気自動車統合システム」、IEEE Access,vol.8、pp.226 409-226 421、2020
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、EVと電力グリッドとの間の現在の電力取引は、電力を適切に販売する方法に関する指針がないため、非効率的である。例えば、特許文献1-3参照。また、EVの所有者は、EVの充電状態(SoC)と将来の走行は分かっているが、EVの将来の運転(ドライブ)による電力消費量を正確に知ることができないため、いつ電力を売って、どれだけの電力を供給できるかを知ることができない。例えば、非特許文献2参照。
【0006】
そこで、本開示の第1の側面の目的は、EVの将来の運転による電力消費量を正確に知ることができる電気移動体の電力消費予測プログラム及び電力消費予測モデルの生成方法を提供することにある。
【課題を解決するための手段】
【0007】
本開示の第1の側面は、電気移動体の将来の運転における電力消費量の予測処理をコンピュータに実行させるプログラムであって、前記予測処理は、電気移動体の1回の運転の出発地から目的地までの運転経路を複数の分割経路に分割するための1つまたは複数の中間位置を算出し、
前記複数の分割経路それぞれについて、前記分割経路の開始時刻と、前記分割経路の前記開始時刻での気象情報と、前記分割経路の地理情報と、前記電気移動体を運転する利用者情報と、運転時間と電気移動体情報を有するサンプルを入力し、前記分割経路での電気移動体の電力消費量を推定する電力消費予測モデルプログラムを実行し、前記複数の分割経路それぞれで推定した電力消費量を加算して前記1回の運転の電力消費量を算出する、ことを有する電気移動体の電力消費予測プログラムである。
【発明の効果】
【0008】
第1の側面によれば、電気移動体が充電ステーションに接続されていない場合でも電気移動体の将来の運転の電力消費量を正確に予測することができる。
【図面の簡単な説明】
【0009】
図1】本実施の形態におけるスマートグリッドシステムの構成例を示す図である。
図2】マルチステージ電力消費予測プログラムにおけるEVの出発都市(または出発地)から目的都市(または目的地)までの移動と中間位置等について示す図である。
図3】マルチステージ電力消費予測プログラムで実行される電力消費予測モデルの構成例を示す図である。
図4】マルチステージ電力消費プログラムのフローチャートを示す図である。
図5】マルチステージ電力消費プログラムの擬似コード例である。
図6】本実施の形態における半分散型連合学習ベースのフレームワーク(枠組み)を示す図である。
図7】半分散型連合学習のフレームワークに含まれるEVノードとアグリゲータAGRと採掘者MNRsのハードウエア構成を示す図である。
図8】半分散型連合学習のフレームワークにおけるEVフリートのEVノードとアグリゲータAGRと採掘者MNRsの処理のフローチャートを示す図である。
図9】補助モデルを用いたFL-QLMSアルゴリズム(1)のプログラム擬似コードを示す図である。
図10】FL-QLMSアルゴリズム(1)の具体例を示す図である。
図11】補助モデルを用いないFL-QLMSアルゴリズム(2)のプログラム擬似コードを示す図である。
図12】EVノードによる電力取引処理のフローチャートを示す図である。
図13】アグリゲータによる第1の電力取引処理のフローチャートを示す図である。
図14】アグリゲータによる第2の電力取引処理のフローチャートを示す図である。
図15】評価対象の本実施の形態の電力消費予測モデルの訓練に使用した訓練データの表を示す図である。
図16】モデルの評価結果を示す図である。
【発明を実施するための形態】
【0010】
[スマートグリッドシステムの構成例]
図1は、本実施の形態におけるスマートグリッドシステムの構成例を示す図である。スマートグリッドシステムは、再生可能エネルギーまたは再生不能エネルギーを生成するエネルギー資源E_RSCと、エネルギー資源のエネルギーを消費者CSMに供給する電力網P_GRDとを有する。消費者CSMから電力網P_GRDにエネルギー需要E_DMDが発行され、それに応答して電力網P_GRDはエネルギー資源E_RSCにエネルギー要求E_RQを送信し、それに応答してエネルギー資源E_RSCは電力網P_GRDにエネルギー供給E_SPLを行う。
【0011】
再生可能エネルギーが不安定であるため、エネルギー需要E_DMDのピークに対応できるように、スマートグリッドシステムには、多数の電気移動体EV_1~EV_nが組み込まれる。そして、電気移動体の蓄電池から電力網P_GRDに電力が効果的に供給される。電気移動体EVにはエッジコンピュータが搭載される。このエッジコンピュータを、EVノードと称する。
【0012】
エネルギー需要E_DMDの急な上昇に対して、エネルギー資源E_RSCからのエネルギー供給E_SPLが対応できない場合、電力網P_GRDは、アグリゲータAGRにエネルギー要求E_DMDを送信する。これに応答して、アグリゲータAGRは、電気移動体EV_1~EV_nのノードにエネルギー供給要求E_SPL_RQをブロードキャストで送信する。
【0013】
各EVノードEV_1~EV_nは、それぞれの電力消費予測プログラムを実行し、将来の移動または運転(ドライブ)による電力消費量を予測し、各EVの移動後の残存エネルギーを予測する。各EVノードは、予測した残存エネルギーに基づいて電力網P_GRDに供給するエネルギー供給量と供給する時を決定する。アグリゲータAGRは、各電気移動体から返信されるエネルギー供給量と供給時を含むエネルギーオファーE_OFRを受信する。これに応答して、アグリゲータAGRは、EV選択プログラムEV_SLCTを実行し、エネルギーオファーを受ける電気移動体を選択し、合計エネルギーオファーT_E_OFRを電力網P_GRDに返信する。選択された電気移動体EVは、充電ステーションC_STに接続された状態で、それぞれのエネルギーオファーE_OFRの電力を各蓄電池から放電して、電力網P_GRDにエネルギー供給E_SPLを実行する。
【0014】
上記のとおり、図1のスマートグリッドシステムでは、各EVノードが将来の運転による電力消費量を正確に予測することができるので、エネルギー需要E_DMDのピークにタイムリーに対応することができる。
【0015】
以下、図1のスマートグリッドシステムに関して、本実施の形態における各EVノードが実行するマルチステージ電力消費予測プログラムと、マルチステージ電力消費予測プログラム内の電力消費予測モデルの生成方法について説明する。電力消費予測モデルの生成は、安全な半分散型連合学習ベースのフレームワークによって実行される。そして、連合学習においてローカルモデルを統合するとき、アグリゲータは資格のあるローカルモデルの選択プログラムを実行する。
【0016】
[マルチステージ電力消費予測プログラム]
図2は、マルチステージ電力消費予測プログラムにおけるEVの出発都市(または出発地)から目的都市(または目的地)までの運転と中間位置等について示す図である。図2に示すように、EVは、1回の運転で出発都市Citysから目的都市Citydに移動する。この場合、出発都市から目的都市までを結ぶ移動経路上に1つのまたは複数の中間位置Citycが算出され、中間位置Citycに近い実用都市が選択される。中間位置Citycは、例えば出発都市と目的都市との間の運転経路を等しい距離又は等しい運転時間の移動距離で分割して求められる。よって、中間位置は等点と称される。
【0017】
マルチステージ電力消費予測プログラムは、出発都市から目的都市までの移動経路を等点の中間都市Citycで分割して分割経路(セクション)を求め、電力消費予測モデルにより分割経路(セクション)毎に電力消費量を予測する。そして、マルチステージ電力消費予測プログラムは、セクション毎に予測した電力消費量を加算し、出発都市から目的都市までの1回の運転の電力消費量を予測する。
【0018】
また、マルチステージ電力消費予測プログラムは、電力消費予測モデルにより分割経路毎に電力消費を予測するときに、出発都市Citysと複数の中間都市Citycの気象予報ステーションWSの気象データを利用する。分割経路の距離は、例えば、EVの約1時間の運転による移動量とするのが望ましい。
【0019】
図3は、マルチステージ電力消費予測プログラムで実行される電力消費予測モデルの構成例を示す図である。図4は、マルチステージ電力消費プログラムのフローチャートを示す図である。そして、図5は、マルチステージ電力消費プログラムの擬似コード例である。
【0020】
図2に示すとおり、出発都市Citysは エリア1に位置する。目的都市CitydはエリアNに位置する。出発都市と目的都市は、緯度と経度(Lats、Longs)、(Latd、Longd)にそれぞれ関連付けられる。運転時間はDoD(Duration of Drive:運転(ドライブ)の時間長)と略される。問題を単純化するために、運転時間DoDは整数であり、1時間から12時間の範囲のみをとると仮定する。開始時刻はtsで示される。
【0021】
また、EVは一定の速度で直線的に移動すると仮定する。したがって、プログラムは、以下に示す各時刻tにおけるEVの位置を計算することができる。
【0022】
【数1】
ここで、各時刻tは、各セクションの開始時刻であり、1回の運転の開始時刻tsからDoD-1まで1時間毎に経過した時間である。
【0023】
計算された各位置は、2つの隣接する位置の間の距離が同じであるため、等点(中間値または中間位置)と呼ばれる。図2に示すように、これらの複数の等点によって、EVの移動パス全体(運転経路)が複数のセクション(分割経路)に分割される。マルチステージ電力消費予測プログラムは、各セクションの消費電力を予測し、各セクションの予測結果を合計して1回の運転での予測電力消費量とする。
【0024】
電力消費予測プログラムは、セクション毎に以下のデータを使用する。
(1)開始時刻t
(2)時刻の気象情報(気象データ)
(3)地理情報(地理データ)(緯度・経度)
(4)利用者情報(利用者データ)
(5)運転時間DoD
(6)EV情報(EVデータ)。
時刻tの気象情報は、図2に示す各等点Citycの最寄りの気象観測所WSの気象データを使用する。
【0025】
図3に示す電力消費予測モデルが、各セクションの以下のデータを入力して、各セクションの電力消費量を予測する。図3の電力消費予測モデルは、入力層IN_LYRと、2つの隠れ層HDN_LYRと、出力層OUT_LYRを有するニューラルネットワークである。入力層IN_LYRは、13個のニューロンを有し、各ニューロンには以下のデータが入力される。
(1)開始時刻(例えば、開始時刻t、曜日)
(2)気象情報(例えば、気温、降水量、湿度、風速)
(3)地理情報(例えば、開始位置の緯度、経度)
(4)利用者情報(例えば、ジェンダー、年齢)
(5)運転時間(DoD、例えば0~12)
(6)EV情報(例えば、EVのモデル、EVの年齢)
【0026】
2つの隠れ層HD_LYRはそれぞれ8個のニューロンH1~H8を有し、各ニューロンには前段の層のニューロンと全結合される。出力層OUT_LYRは、前段の隠れ層HD_LYRの全ニューロンと結合され電力消費予測を出力する1つの出力ニューロンを有する。
【0027】
2つの隠れ層は全結合層であり、前段の層のニューロンとの間の複数のリンクにはそれぞれの重みwが対応付けられ、全結合層の各ニューロンは、前段の層のニューロンの出力xとリンクの重みwの積和演算を実行し、積和値にバイアスbを加算して得た演算結果(y=Σ(w*x)+b)を活性化関数f(y)に入力し、活性化関数の出力値を出力する。出力層の1個のニューロンも、前段の隠れ層のニューロンの出力とリンクの重みの積和演算を実行し、積和値にバイアスを加算して得た演算結果を予測電力消費量として出力する。
【0028】
図4のマルチステージ電力消費予測プログラムのフローチャートと、図5のマルチステージ電力消費予測プログラムの擬似コードを引用して、EVの電力消費を予測するためのアルゴリズムを詳細に説明する。
【0029】
理解を容易にするために、アルゴリズム全体を次の4つの段階に分割する。カッコ内は各段階に対応する図4の工程Sと図5の行Lineを示す。
(1)初期化(S1、Line 1-4)
(2)中間位置(等点の位置)計算(S2、Line 5-8)
(3)実用都市の位置計算(S3、Line 9-23)
(4)電力消費の予測(S4_1, S4_2、Line 24-30、Line 31-33)
【0030】
事前準備として、マルチステージ電力消費予測プログラムは以下のデータを要求する(図4のS0、図5の要求)。
出発地
【数2】
目的地
【数3】
運転時間DoD,及び開始時刻ts等である。
【0031】
すべての都市の緯度と経度はそれぞれ以下の集合に格納される。
【0032】
【数4】
ここでKは都市IDの集合を表す。
【0033】
気象データは、以下の集合内に各分割経路の開始時刻tでの気温、降水量、湿度、風速を含む。
【0034】
【数5】
ここでTは気象データの時間で、セクションの都市k及び時間tごとに気象データが与えられる。
【0035】
利用者情報User_Infoは、例えば運転者のジェンダーと年齢の情報を含む。Ntotalは都市の総数、Mは消費電力予測のためのニューラルネットワークモデルである。
【0036】
以下、マルチステージ電力消費予測プログラムを実行するプロセッサの処理について説明する。
【0037】
[第1段階:初期化(S1、Line 1-4)]
第1段階では、実現することとして予測電力消費量の変数PCpredが与えられる(図5のEnsure)。そして、プロセッサが以下の配列や変数を初期化する(S1)。
配列
【数6】
は、中間位置である等点記録用の配列である。
配列
【数7】
は、各等点に最も近い都市(実用都市)を記録するための配列である。図5の行6と7に示すように、プロセッサが、出発都市Citysと目的都市Citydを結ぶ線分を複数のセクションに分割する等点の座標を算出する。各配列の長さは運転時間DoDに設定される。
一時変数
【数8】
は、EDは計算したユークリッド距離情報を格納する配列である。EDminはユークリッド距離情報の最小距離である。
サンプルSは、電力消費予測モデルMの入力を格納する配列長13の配列である。
【0038】
[第2段階:中間位置(等点の位置)計算(S2、Line 5-8)]
第2段階では、運転時間0~DoD - 1における出発都市及び等点(セクションの開始位置)の地理情報の配列
【数9】
の緯度と経度を、出発都市の位置Lats、Longsと目的都市の位置Latd、Longdと運転時間DoDから計算する。
【0039】
[第3段階:実用都市の位置計算(S3、Line 9-23)]
第3段階では、プロセッサは、各セクションの開始位置(Latc, Longc)における、全てのの実用都市City_IDとのユークリッド距離EDを算出し、最短ユークリッド距離EDminに基づいてセクションの開始位置から最も近い実用都市を見つける。
【0040】
図5において、行9-23で運転時間i=0~DoD - 1それぞれについて(行9)、プロセッサは、最小ユークリッド距離EDmin、実用都市の位置Latp[i]、Longp[i]、都市ID City_IDをそれぞれ初期化する(行11-13)。Lat0、Long0は、実用都市の位置Latp[i]、Longp[i]の任意の初期値である。都市ID City_IDの初期値は0である。
【0041】
そして、各運転時間iにおいて、都市j=1~Ntotalそれぞれについて(行14)、プロセッサは、等点の位置Latc[i], Longc[i]と、都市jの位置Latj、Longjとの距離EDを算出し(行15)、算出した距離EDが最小距離EDminより短い場合(行16)、変数EDmin、実用都市の位置Latp[i], Longp[i]、都市ID City_ID[i]を、都市jの距離EDと位置Latj、Longjと都市識別子jに更新する(行17-19)。
【0042】
以上により、プロセッサは、各セクションの開始位置に最も近い実用都市の都市ID City_ID[i]を検出する。
【0043】
[第4段階:電力消費の予測(S4_1, S4_2、Line 24-30、Line 31-33)]
第4段階では、プロセッサは、1回の運転でのEVの電力消費量の予測値PCpredを0に初期化する(行24)。そして、行25-32において、プロセッサは、運転時間に対応するセクションi=0~DoD - 1について、モデルMへの13個の入力データの配列のサンプルS[0:13]を準備し(行26-30)、電力消費予測モデルM(S)を実行して電力消費予測を行う(行31)。
【0044】
すなわち、プロセッサは、行26~30で、時刻
【数10】
から時刻と曜日を抽出し(S[0]、S[1])、利用者情報User_Infoからジェンダーと年齢を抽出し(S[8], S[9])、移動体情報EV_InfoからEVモデルとEV年齢を抽出する(S[11], S[12])。また、プロセッサは、時刻ts + i-1と都市ID City_ID[i]の都市の気象データから気温、降水量、湿度、風速を抽出する(S[2]~S[4])。また、プロセッサは、実用都市の位置情報である緯度Latpと経度Longpを抽出する(S[6], S[7])。前記抽出されたデータは入力サンプルS[0:12]の配列に入力される。
【0045】
最後に、入力サンプルS[0:12]をモデルMに入力して、モデルM(S)を実行してセクションの電力消費量を予測し、1回の運転でのEVの電力消費量の予測値PCpredに加算する(行31)。各セクションについて予測が終了すると、電力消費量の予測値の最終結果PCpredが得られる(行33)。
【0046】
以上の通り、本実施の形態のマルチステージ電力消費予測プログラムがEVのプロセッサにより実行されて、EVの1回の運転の出発地から目的地までの運転経路を1つまたは複数の等点または等点に近接する実用都市の位置で分割して求めた複数のセクション(分割経路)それぞれにおいて、モデルMを実行する。すなわち、モデルMに、セクションの開始時刻と、開始時刻の気象情報と、開始位置の地理情報(位置情報)と、利用者情報と、運転時間と、EV情報を電力消費予測モデル(プログラム)に入力し、セクションでの電力消費量を予測する。更に、複数のセクションで予測した電力消費量を加算して、EVの1回の運転における電力消費量を算出する。
【0047】
セクションは、開始地から目的地までの運転経路を等点で分割してもよい。開始地から目的地までの運転経路は、開始地と目的地を結ぶ直線でもよく、また、ナビゲーションプログラムが探索した開始地から目的地に至る自動車道路経路でもよい。
【0048】
[電力消費予測モデルの生成方法]
マルチステージ電力消費予測プログラム内の電力消費予測モデルプログラムは、図3に記載されるとおりニューラルネットワークモデルのプログラムである。そのため、各EVノードが実行する電力消費予測モデルは、訓練データを使用して内部のパラメータ(重みwとバイアスb)を微調整(ファインチューニング)する必要がある。しかし、各EVが運転することで取得する訓練データの数は限られているため、各EVがそれぞれの訓練データで電力消費予測モデルを訓練したのではモデルの精度を高くすることは困難である。
【0049】
したがって、本実施の形態では、多数のEV(EVフリート)が参加する連合学習により電力消費予測モデルを訓練して生成する。EVフリートによる連合学習において悪意の第三者が連合学習に参加することを防止するために、ブロックチェーンネットワークに、ローカルモデルを訓練するEVフリートと、EVフリートのローカルモデルを集約するアグリゲータと、採掘者グループを統合する。ブロックチェーンの採掘者は、具体的にはEVフリート内のEVのノード(コンピュータ)である。
【0050】
しかしながら、多数のEVノードがそれぞれで訓練したローカルモデルの更新データをブロックチェーンネットワーク経由でアグリゲータに送信することは、ブロックチェーンの効率を低下する。そこで、本実施の形態では、ブロックチェーンネットワークの効率低下がなく且つ悪意の第三者による攻撃を防止できるフレームワークで電力消費予測モデルを訓練する安全な半分散型連合学習ベースのフレームワークを提供する。
【0051】
[安全な半分散型連合学習ベースのフレームワーク]
図6は、本実施の形態における半分散型連合学習ベースのフレームワーク(枠組み)を示す図である。図6に示すフレームワークは、複数のEVノードEV_1, EV_i, EV_nと、アグリゲータ(コンピュータ)AGRと、複数の採掘者MNR_1~MNR_mが、破線で示されるブロックチェーンネットワークBLKC_NWに統合される。EVノードEV_1~EV_nからアグリゲータAGRへのローカルネットワークL_NWは、ブロックチェーンネットワークではない。また、採掘者MNRsは、移動体のEVノードそのものであるが、図6では説明のためにEVノードと採掘者MNRsとを別々に示す。
【0052】
フレームワークの処理の概略は次の通りである。
【0053】
各EVノード(EVのエッジコンピュータ)は、電力消費量予測のためのマルチステージ電力消費予測プログラムに含まれる電力消費予測モデル、ローカルモデルLMDL_1~LMDL_n、をそれぞれ訓練する。そして、ローカルモデルのパラメータをアグリゲータAGRにアップロードする。ローカルモデルのパラメータは、具体的には、重みとバイアス等のパラメータ又はパラメータの更新データ(モデルの誤差Eの重み及びバイアスの勾配または勾配に学習率をそれぞれ乗じたパラメータ更新値)である。以下これらを単にローカルモデルのパラメータと称する。
【0054】
アグリゲータAGRは、認定ローカルモデル選択のための連合学習アルゴリズム(FL-QLMS:Federated Learning for Qualified Local Model Selection)を実行してローカルモデルのパラメータを収集し、それらを集約してグローバルモデルのパラメータを取得する。
【0055】
採掘者が、グローバルモデルのパラメータのトランザクションを格納するブロックをブロックチェーン台帳に連結し、EVノードにブロードキャストし、各EVノードがブロックチェーン台帳からグローバルモデルのパラメータを取得する。上記の処理が繰り返されて所望の精度を有するグローバルモデルが生成される。
【0056】
図7は、半分散型連合学習のフレームワークに含まれるEVノードとアグリゲータAGRと採掘者MNRsのハードウエア構成を示す図である。EVフリークの各EVノードEV_1~EV_nは、EVに設けられたエッジコンピュータである。このエッジコンピュータは、プロセッサ10と、プロセッサがアクセスするメインメモリ12と、ネットワークインターフェース14と、ストレージと、それらを接続するバス28とを有する。ストレージは、ローカルモデルの訓練プログラム20と、訓練データ22と、ローカルモデル及びグローバルモデルのプログラム及びパラメータ24を格納する。
【0057】
アグリゲータAGRは、サーバまたはスーパーコンピュータなどのハイパフォーマンスコンピュータである。アグリゲータAGRは、プロセッサ10と、メインメモリ12と、ネットワークインターフェース14と、ストレージと、それらを接続するバス28を有する。ストレージには、集約プログラム30と、EVフリートの各EVノードからアップロードされたローカルモデルのプログラム及びパラメータ32と、それらローカルモデルのパラメータを集約したグローバルモデルのプログラム及びパラメータ34とが格納される。
【0058】
採掘者のコンピュータMNRsは、プロセッサ10とメインメモリ12とネットワークインターフェース14とバス28とストレージを有し、ストレージ内に格納された採掘プログラム40と、アグリゲータから提供されたグローバルモデルのパラメータであるトランザクション42と、ブロックチェーン台帳に加えられるブロックのデータ44を有する。
【0059】
図8は、半分散型連合学習のフレームワークにおけるEVフリートのEVノードとアグリゲータAGRと採掘者MNRsの処理のフローチャートを示す図である。図6図8を参照して、フレームワークの処理を詳細に説明する。
【0060】
フレームワークの処理は次の5つのステップS11~S15で構成される。
【0061】
第1ステップS11
最初のトレーニングラウンドでは、各EVノードがローカルモデルを初期化し、各EVの運転で取得した訓練データ(訓練データはニューラルネットワークの入力データと電力消費量の出力データを含む。)でそれぞれのローカルモデルをトレーニングする(S11_1)。2回目のトレーニングラウンドから、各EVノードは各EVの訓練データでグローバルモデルをトレーニングし、訓練済みグローバルモデルを各EVのローカルモデルとする(S11_2)。これらの訓練は、各EVノードがローカルモデルプログラムの学習プログラムを実行して行う。
【0062】
第2ステップS12
各EVノードは、ローカルモデルMlocal(パラメータまたはその更新データ)をアグリゲータAGRにアップロードする(S12)。このアップロードはブロックチェーンを利用せず、インターネットのローカルネットワークL_NW経由で行われる。
【0063】
第3ステップS13
アグリゲータAGRは、各EVノードから送信されたローカルモデルのパラメータを収集し、ローカルモデル選択プロセスとしてFL-QLMSアルゴリズムを適用して、グローバルモデルのパラメータに集約するローカルモデルのパラメータを選択する(S13_1)。そして、アグリゲータは、選択したローカルモデルのパラメータを集約し、グローバルモデルMglobalのパラメータを生成する(S13_2)。アグリゲータによる集約では、例えば、選択された複数のローカルモデルのパラメータの平均が算出される。
【0064】
ここで、アグリゲータは、集約したパラメータを有するグローバルモデルの精度が所定の基準値THを超えているかチェックし(S13_3)、YESならモデルの生成処理を終了する。NOならグローバルモデルのパラメータをメタデータとして新規トランザクションTX0に記録する(S13_4)。そして、アグリゲータは、トランザクションTX0をハッシュ関数Hに入力しハッシュ値H(TX0)を生成し、そのハッシュ値H(TX0)と秘密鍵を署名アルゴリズムによって暗号化メッセージを生成する(S13_4)。アグリゲータは、新規トランザクションTX0、暗号化メッセージ、公開鍵を含むトランザクションTXを生成し、トランザクションTXを全採掘者のコンピュータにブロードキャストする(S13_4)。
【0065】
第4ステップS14
採掘者のコンピュータMNRsは、受信したトランザクションTXを認証し、認証したトランザクションをブロック内に記憶する(S14_1)。即ち、採掘者コンピュータは、アグリゲータと同じハッシュ関数Hを使用して新規トランザクションTX0のハッシュ値H1を生成し、暗号化メッセージを公開鍵で復号してハッシュ値H(TX0)を取り出す。採掘者コンピュータは、ハッシュ値H1=ハッシュ値H(TX0)か否かをチェックし、YESであればデジタル署名が有効であると証明されて、受信したトランザクションTXが認証される。そして、採掘者コンピュータは、認証したトランザクションTXを各EVノードのトランザクションプールに加える(S14_1)。
【0066】
採掘者コンピュータは、トランザクションTXを認証すると、ブロックに追加する(S14_2)。ブロックのブロックヘッダには、例えば、32バイトの前のブロックのハッシュと、32バイトのマークルルート(トランザクションTXの複数のトランザクションのハッシュのマークルルート)と、4バイトのタイムスタンプと、4バイトの難易度ターゲットと、4バイトのナンスが含まれる。ナンスは32ビットのターゲットであり、次の方程式を解くことで採掘者が検出する。ここでH(M+nonce)はハッシュ関数であり、(1)前ブロックのハッシュとトランザクションTX等ナンス以外のデータ(Mとする)と(2)ナンス(nonce)のハッシュを算出する。以下の方程式の右辺の最初のnビットの0が難易度ターゲットに対応する。予め与えられたnが多くなるほど、つまりハッシュ値が小さくなるほど、難易度が高くなる。
【0067】
【数11】
【0068】
第5ステップS15
各EVノードは、分散台帳からグローバルモデルのパラメータをダウンロードし、次のサイクルでのローカルモデルのパラメータとする(S15)。パラメータがパラメータの更新データの場合のパラメータ更新方法については後述する。
【0069】
[連合学習における集約される資格のあるローカルモデルのパラメータの選択方法(FL-QLMSアルゴリズム)]
上記の半分散型連合学習ベースのフレームワークでは、各EVのローカルモデルのパラメータは、ブロックチェーンを使用しないでアグリゲータに転送される。そのため、悪意の第三者のローカルモデルのパラメータがアグリゲータに転送されるリスクがある。
【0070】
そこで、本実施の形態では、ローカルモデルのパラメータの集約の堅牢性(ロバスト性)を保証するために、アグリゲータは、FL-QLMSアルゴリズムに基づいて、転送されてきたローカルモデルのパラメータから集約すべきものを選択する。
【0071】
FL-QLMSアルゴリズは、集約するに値する品質のローカルモデルのパラメータを選択する。一般に、ローカルモデルのパラメータの分布がグローバルモデルのパラメータの分布と類似している場合、収束傾向も類似すると考えられる。データの分布が類似するとは、両データの相違が少ないことである。両データの相違が少ない場合、そのローカルモデルのパラメータは、パラメータの集約に貢献すると考えられる。一方、ローカルモデルのパラメータが悪意のある攻撃により汚染または提供された場合、汚染または提供されたローカルモデルのパラメータとグローバルモデルのパラメータとの間の相違は大きくなる。
【0072】
したがって、FL-QLMSアルゴリズムは、グローバルモデルのパラメータの分布と類似するローカルモデルのパラメータを選択する。2つのモデルのデータの相違は、以下の式により算出される。
【0073】
【数12】
ここで、DIa,bはモデルのパラメータPaとPbの間の相違を示す。
【0074】
次に、まず、N個のEVノードの連合学習の処理を以下で説明し、その後FL-QLMSアルゴリズムによりローカルモデルのパラメータを選択する処理を示す。連合学習の各トレーニングラウンドは次の6つのステップで構成される。
【0075】
(1)各EVノードは、それぞれで収集したドライブデータセットを訓練データとして使用して、それぞれのローカルモデルを訓練する。この訓練では、各EVノードは、例えば適応モーメント推定最適化により次の式の勾配を計算する。この勾配は、ローカルモデルiのパラメータである重みWとバイアスbの更新データであり、パラメータに含まれる重みWとバイアスbを更新するために必要なデータである。
【数13】
ここで、Wは重みの集合、E(W)は重みWに関する損失関数である。bはバイアスの集合、E(b)はバイアスbに関する損失関数である。損失関数はローカルモデルのエラー値である。δは偏微分である。
【0076】
(2)各EVノードは、ローカルモデルiのパラメータDi localをアグリゲータにアップロードする。Di localはEVノードi(i∈N)のパラメータの集合(セット)であり、例えば、数12に示した2つの勾配∇gi L,W、∇gi L,bである。この勾配は重みWとバイアスbの数だけ算出されるので、データサイズは、ローカルモデルの重みW及びバイアスbの数になる。アグリゲータは、このデータサイズを各EVノードから通知される。
【0077】
(3)アグリゲータは、FL-QLMSアルゴリズムに基づいて、アップロードされたローカルモデルのパラメータのうち、集約に貢献する品質のデータDi localを選択する。選択されるローカルモデルの数は、例えば全ローカルモデル数のα%となる。
【0078】
(4)選択されたローカルモデルのデータDi localを集約する前に、各ローカルモデルのグローバルモデルへの貢献度が計算される。ローカルモデルiの貢献度は、例えば、以下のとおりである。
貢献度wi local =モデルiのデータ量|Di local|÷選択された全モデルの合計データ量Σ| Dm local |
【0079】
(5)そして、アグリゲータが、以下の式のとおり、選択されたローカルモデルiのパラメータ∇gi L,W、∇gi L,bを貢献度wi localの重みで乗じて加算して集約し、グローバルモデルのパラメータ∇gG,W、∇gG,bを算出する。
【数14】
ここで、Nselectedは選択されたローカルモデルiの数である。即ち、グローバルモデルのパラメータ∇gG,W、∇gG,bは、選択されたローカルモデルiのパラメータ∇gi L,W、∇gi L,bの加重平均である。グローバルモデルのパラメータをトランザクションとして格納したブロックが、ブロックチェーン台帳に加えられる。
【0080】
(6)各EVノードは、ブロックチェーン台帳からグローバルモデルのパラメータをダウンロードする。各EVノードは、ブロックチェーン台帳から取得したグローバルモデルのパラメータを使用して、以下のとおり各EVのr回目の訓練におけるグローバルモデルのパラメータ(重みWとバイアスb)を更新し、r+1回目のグローバルモデルのパラメータを求める。
【数15】
ここで、Wrとbrはr回目の訓練における重みWとバイアスb、ηは学習率、Wr+1とbr+1はr+1回目の訓練における重みWとバイアスbである。
【0081】
上記の例では、各EVノードはローカルモデルとして、損失関数Eの重みWとバイアスbの勾配∇gi L,W、∇gi L,bをアグリゲータにアップロードした。しかし、各EVノードがアグリゲータにアップロードするローカルモデルは、学習率ηを勾配∇gi L,W、∇gi L,bにそれぞれ乗算した重みWとバイアスbの更新値η∇gi L,W、η∇gi L,bでもよい。その場合、上記数13は、更新値η∇gi L,W、η∇gi L,bを貢献度wi localの重みで乗じて加算して集約し、グローバルモデルのパラメータ更新値η∇gG,W、η∇gG,bを算出する。
【0082】
更に、各EVノードがアグリゲータにアップロードするローカルモデルは、各EVノードのグローバルモデルのr回目のパラメータWrとbrから上記更新値η∇gi L,W、η∇gi L,bを減じて算出したr+1回目のパラメータWr+1とbr+1でもよい。その場合、上記数13は、グローバルモデルのr+1回目のパラメータWr+1とbr+1を貢献度wi localの重みで乗じて加算して集約する。各EVノードの演算負荷が軽いのは、アグリゲータにアップロードするローカルモデルのパラメータが勾配∇gi L,W、∇gi L,bの場合である。
【0083】
ここで、本実施の形態の半分散型連合学習ベースのフレームワークでブロックチェーンを利用してグローバルモデルを各EVノードにダウンロードするメリットを説明する。半分散型連合学習ベースのフレームワークでブロックチェーンを利用する理由は、グローバルモデルのパラメータの安全な保護である。アグリゲータがグローバルモデルを各EVノードに送信するとき、悪意の攻撃者が容易にグローバルモデルをハッキングし変更することが可能である。そこで、グローバルモデルは、送信中安全に保護されなければならない。
【0084】
本実施の形態では、連合学習の各サイクルで、アグリゲータが集約したグローバルモデルのパラメータがトランザクションに記憶され、そのトランザクションが新しいブロック内に記憶される。新しいブロックがブロックチェーンのコンセンサスメカニズムを介して認証されると、新しいブロックがブロックチェーンの台帳に加えられ、ブロードキャストされる。そして、各EVノードが台帳から新しいブロックだけを取り出し、最新のグローバルモデルのパラメータを取得する。ブロックチェーンのフレームワークでは、悪意の攻撃者が台帳のブロック内のトランザクションを改ざんすることは実質的に不可能である。また、本実施の形態では、1つのグローバルモデルのパラメータがトランザクションとして新しいブロックに格納されるだけであり、新しいブロックを認証する処理は比較的軽く、1つのグローバルモデルのパラメータだけをトランザクションとするブロックチェーンの処理は比較的効率的である。
【0085】
次に、FL-QLMSアルゴリズムについて2つの例を説明する。
【0086】
[FL-QLMSアルゴリズム(1)]
図9は、補助モデルを用いたFL-QLMSアルゴリズム(1)のプログラムの擬似コードを示す図である。まず、アグリゲータは、必要なものとして、予め補助モデルMauxと、ローカルモデルの集合{Mi local}(i∈N)と、EVノードの全数Nと、パラメータαを準備する。補助モデルMauxは、所定数のEVノードのローカルモデルのパラメータ(例えば、重みWとバイアスbの勾配∇gG)の集合である。
【0087】
アグリゲータは、集約のために選択された複数のローカルモデルのリストを確保するために以下を実行する。アグリゲータは、選択した複数のローカルモデルを記憶するために使用される空のモデルリストMselectedを初期化する(行1)。次に、アグリゲータは、補助モデルMauxのすべてのパラメータ(重みとバイアスの勾配)を1次元ベクトルPauxとして保存する(行2)。更に、アグリゲータは、各ローカルモデルMi localのパラメータ(重みとバイアスの勾配)も同様に1次元ベクトルPi localとして保存する(行3)。PauxとPi local とは同じデータ数であり、すなわち| Paux | = | Pi local|となる。
【0088】
次に、アグリゲータは、各モデルiについて、以下の式のようにマンハッタン距離に基づいてPauxとPi local との間の非類似性DIaux,iを計算する(行4-6)。
【0089】
【数16】
ここで、Pj aux は補助モデルのパラメータPaux、Pj,i localはローカルモデルiのパラメータPi localである。非類似性DIaux,iは、1次元ベクトルPauxとPi local のマンハッタン距離、具体的には各要素間の差分絶対値の合計、である。
【0090】
次に、アグリゲータは、非類似性DIaux,iが最も低い(最も類似する) (α%*N)個または所定個のローカルモデルを選択し、選択したローカルモデルをモデルリストMselectedに記憶する(行7)。そして、アグリゲータは、モデルリストMselectedを集約対象モデルとして出力する(行8)。
【0091】
図10は、FL-QLMSアルゴリズム(1)の具体例を示す図である。この具体例では、EVノードEV_1~EV_4のローカルモデルLMDL_1~LMDL_4がそれぞれ3つのパラメータを有する例である。それに対応して、EVノードEV_1~EV_4のデータセットDATA_S_1~DATA_S_4が3つのパラメータを有する。EVノードEV_1~EV_4のローカルモデルの訓練で求めたパラメータの1次元ベクトルが、[1,2,1][3,2,0][5,2,2][-1,-2,10]であり、アグリゲータAGRの補助モデルA_MDLのパラメータの1次元ベクトルが[3,2,1]であるとする。
【0092】
この場合、各ローカルモデルの補助モデルとの非類似性DIaux,iは図中表に示すとおり各パラメータ値の差分の合計値となる。選択するローカルモデルの比率αが50%とすると、4つのローカルモデルのうち非類似性が低いモデル1と2が選択される。そして、アグリゲータは、選択した2つのモデルの訓練後のパラメータの1次元ベクトルの平均値を、グローバルモデルのパラメータとして集約する。
【0093】
[FL-QLMSアルゴリズム(2)]
図11は、補助モデルを用いないFL-QLMSアルゴリズム(2)のプログラム擬似コードを示す図である。まず、アグリゲータは、必要なものとして、ローカルモデルの集合{Mi local}(i ∈ N)と、EVノードの全数Nと、パラメータαを準備する。
【0094】
アグリゲータは、集約のために選択された複数のローカルモデルのリストを確保するために以下を実行する。アグリゲータは、選択した複数のローカルモデルを記憶するために使用される空のモデルリストMselectedを初期化する(行1)。次に、アグリゲータは、各ローカルモデルMi localのパラメータ(重みとバイアスの勾配)も同様に1次元ベクトルPi localとして保存する(行2)。PauxとPi local とは同じデータ数であり、すなわち| Paux |=| Pi local|となる。
【0095】
次に、アグリゲータは、N個のローカルモデルのパラメータのうちi番目のローカルモデルの1次元ベクトルPi localと、i番目以外のj番目(j ∈ N, j≠i)のローカルモデルPj localとの非類似性DIijを次の式により計算する(行3~6)。
【0096】
【数17】
さらに、アグリゲータは、上記で求めたi番目のローカルモデルの1次元ベクトルPi localと、i番目以外のj番目(j=1-|Plocal|, j≠i)のローカルモデルPj localとの平均非類似性/DIiを以下の式により計算する(行7)。
【0097】
【数18】
【0098】
上記で求めた平均非類似性が低いローカルモデル(類似性が高いローカルモデル)は、N個のローカルモデルの中のより代表的なローカルモデルであると考えられる。言い換えると、平均非類似性が低いローカルモデルは、ローカルモデル全体に類似した分布を有する。したがって、アグリゲータは、平均非類似性が低いα%または所定個のローカルモデルのパラメータを選択し、モデルリストMselectedに記憶する(行9)。そして、アグリゲータは、モデルリストMselectedを集約対象モデルとして出力する(行10)。
【0099】
[電気移動体の電力取引処理]
上記の実施の形態によれば、EVは充電ステーションに接続された状態でも、更に接続されていない状態でも、将来の運転による電力消費量を高精度に予測することができる。そのため、EVノードは、電力網からのエネルギー要求を受信したとき、将来の運転による電力消費量を予測し、電力放電可能な量でエネルギーオファーを電力網に応答する。以下、EVノードと電力網との間の電力取引処理について説明する。
【0100】
図12は、EVノードによる電力取引処理のフローチャートを示す図である。図1で説明したとおり、電力網がアグリゲータに電力要求を送信すると、アグリゲータは、EVノードにエネルギー供給要求をブロードキャストで送信する(S20)。EVノード(EVのエッジコンピュータ)は、エネルギー供給要求に応答して、現在のエネルギー(電力)CEを二次電池の状態から抽出し(S21)、エネルギーオファー可能か否か判定する(S22)。可能と判定した場合(S22のYES)、EVが充電ステーションに接続中で(S23のYES)、且つ将来の走行(ドライブ)が予定されていない場合(S24のNO)、EVノードは、現在のエネルギーCE以下のエネルギー量でエネルギーオファーEOをアグリゲータに送信する(S25)。
【0101】
一方、将来の走行が予定されている場合(S24のYES)、EVノードは、将来の走行の電力消費量ECを予測し、将来の走行後のエネルギー残量RE(=CE - EC)を計算する(S26)。そして、エネルギー残量REが正(RE > 0)の場合(S27のYES)、EVノードは、エネルギー残量RE以下のエネルギー量でエネルギーオファーEOをアグリゲータに送信する(S28)。エネルギー残量REが正でない場合(S27のNO)、EVノードはエネルギーオファーEOをアグリゲータに送信しない。
【0102】
エネルギー要求を受信したときEVが充電ステーションに接続されていない場合(S23のNO)、且つEVが充電ステーションに向かって走行中の場合(S29のYES)、EVノードは、充電ステーションまでの走行の電力消費量ECを予測し、現在の充電ステーションへの走行後のエネルギー残量RE(=CE - EC)を計算する(S30)。このとき、EVノードは、充電ステーションに到着後の将来の走行(ドライブ)が予定されている場合は、その将来の走行の電力消費量も予測し、将来の走行後に充電ステーションに到着した時のエネルギー残量REを計算してもよい。そして、エネルギー残量REが正(RE > 0)の場合(S31のYES)、EVノードは、エネルギー残量RE以下のエネルギー量でエネルギーオファーEOをアグリゲータに送信する(S32)。エネルギー残量REが正でない場合(S31のNO)、EVノードはエネルギーオファーEOをアグリゲータに送信しない。
【0103】
上記の通り、EVノードは、電力消費予測モデルのプログラムを実行して、将来の走行後のエネルギー残量を高精度に算出することができるので、EVノードは、エネルギー供給要求を受信したとき、充電ステーションに接続中であるか否かに関わらず、アグリゲータにエネルギーオファーを送信することができる。
【0104】
図13は、アグリゲータによる第1の電力取引処理のフローチャートを示す図である。アグリゲータは、予めエネルギー消費者からのエネルギー要求EDと、EVノードから受信したエネルギーオファーのリスト(集合){EOi}i∈nとを与えられる(S40)。nはエネルギーオファーを送信したEVノードの数である。そして、アグリゲータは、各EVからのエネルギー供給量ESのリスト(集合){ESi}i∈nを初期化する(S41)。
【0105】
エネルギーオファーEOのエネルギー合計量がエネルギー要求ED以上の場合(S42のYES)、アグリゲータは、エネルギーオファーした全EVノードに電力放電を通知する(S43)。この場合、各EVの電力放電量、即ちエネルギー供給量ESiに、エネルギーオファーEOのエネルギー量を代入する(S43)。そして、アグリゲータは、エネルギーオファーの合計を電力網に通知する(S44)。
【0106】
一方、エネルギーオファーEOのエネルギー合計量がエネルギー要求ED以上でない場合(S42のNO)、アグリゲータは、エネルギーオファーした全EVノードに電力放電をしないよう通知する(S45)。更に、アリゲータは、電力網に電力放電を提供できないことを通知する(S46)。
【0107】
図14は、アグリゲータによる第2の電力取引処理のフローチャートを示す図である。アグリゲータは、予めエネルギー消費者からのエネルギー要求EDと、EVノードから受信したエネルギーオファーのリスト(集合){EOi}i∈nとを与えられる(S50)。nはエネルギーオファーを送信したEVの数である。そして、アグリゲータは、各EVからのエネルギー供給量ESのリスト(集合){ESi}i∈nを初期化する(S51)。さらに、アグリゲータは、エネルギーオファーの放電量{EOi}i∈nを降順に並べ直す(S52)。
【0108】
エネルギーオファーEOのエネルギー合計量がエネルギー要求ED以上である場合(S53のYES)、アグリゲータは、エネルギーオファーのリスト(集合){EOi}i∈nの降順に、エネルギー要求EDが満たされるまで、各EVのエネルギーオファーを一つずつ選択する。
【0109】
即ち、アグリゲータは、エネルギーオファーのリスト(集合){EOi}i∈nの順番iをi=1とし(S54)、順番iのEVのエネルギーオファーEOiがエネルギー要求ED以下か否か判定し(S55)、以下の場合(S55のYES)、アグリゲータは、i番目のエネルギーオファーEOiのエネルギー供給量をエネルギー供給量ESiに代入する(S57)。これによりi番目のEVはエネルギーオファーの電力放電対象となる。そして、アグリゲータは、エネルギー要求EDからエネルギー供給量ESiを減じ、順番iをインクリメント(i=i+1)する(S57)。
【0110】
アグリゲータは、インクリメントされた順番iについても、前述の処理S55、S57を繰り返す。順番iのEVのエネルギーオファーEOiがエネルギー要求ED以下でなくなると(S55のNO)、アグリゲータは、i番目のエネルギーオファーEOiのエネルギー供給量をエネルギー供給量ESiに代入する(S56)。これによりi番目のEVは、最後のエネルギーオファーの電力放電対象となる。その結果、アグリゲータは、全EVノードに対して、電力放電するか、又は電力放電しないかを通知する(S58)。電力放電対象に選択されたi番目のEVの放電量は、エネルギー供給量ESi (= エネルギーオファーEOi)となる(S58)。そして、アグリゲータは、エネルギーオファーの合計を電力網に通知する(S59)。
【0111】
エネルギーオファーEOのエネルギー合計量がエネルギー要求ED以上でない場合(S53のNO)、アグリゲータは、エネルギーオファーした全EVノードに電力放電をしないよう通知する(S60)。更に、アリゲータは、電力網に電力放電を提供できないことを通知する(S61)。
【0112】
[マルチステージ電力消費予測プログラムの評価]
マルチステージ電力消費予測プログラムの電力消費予測モデルプログラムは、複数のEVそれぞれの運転で得た訓練データを使用して電力消費予測モデルを訓練し、モデルのパラメータの調整を行う。訓練データは、気象情報、地理情報、ユーザ情報、そして車両情報を含む。
【0113】
図15は、評価対象の本実施の形態の電力消費予測モデルの訓練に使用した訓練データの表を示す図である。訓練データの値Valueと単位Unit及びデータ型Datatypeは図15のTABLE5に示すように以下のとおりである。
車両の出発時間と曜日:0:00から23:00まで、1~7
気象データ:日本における63の都市の2019年12月から2020年11月までの気象データ
気温、降水量、湿度、風速:-13.6~39.5℃、0~97.5mm、0.05~1、0~26.2m/s
地理情報(緯度、経度):34.09~41.3°N、134.84~141.94°E
ドライバー情報(ジェンダー、年齢):0~1(M/F)、21~69歳
運転時間DoD:1~12時間
EV情報(モデル、年数):モデル名、2013~2022
【0114】
発明者は、EVノード数NがN=63の連合学習環境下で、データセットの合計数が66,000、訓練サンプル数63,000、テストサンプル数3000で、マルチステージ電力消費予測プログラムの訓練と評価を行った。評価では、モデルの二乗平均平方根誤差RMSEについて、マルチステージ電力消費予測プログラム(M_PCP)を非特許文献2に記載された電力消費予測プログラム(PCP)と比較した。また、図15のTABLE6の運転活動の表に示すように、運転距離が近距離、中間距離、長距離と、それらをすべて含む全距離とに分けて比較した。非特許文献2のPCPは、1回の運転の開始位置と目的位置の間の運転経路を複数の分割経路に分割せず、ニューラルネットワークに開始位置の入力データを入力し、出力データとして電力消費量を予測する。
【0115】
図16は、モデルの評価結果を示す図である。(a)全距離、(b)短距離、(c)中距離、(d)長距離のいずれにおいても、本実施の形態のM_PCPが非特許文献2のPCPよりもRMSEが低くなっている。(d)長距離においては、本実施の形態M_PCPが1回の運転距離を運転時間で除して複数のセクションに分割しているので、非特許文献2のPCPよりRMSEが十分低くなっている。また、(b)短距離においてすら、本実施の形態M_PCPのRMSEが適切に低くなっている。中距離や長距離で本実施の形態M_PCPの分散σ2が広くなっている。理由は、セクション毎に電力消費予測モデルが消費電力を予測しそれらを加算しているので、加算演算により各予測の分散が加算されたからと考えられる。
【0116】
以上説明したとおり、本実施の形態におけるマルチステージ電力消費予測プログラムは、1回の運転の運転経路を運転時間に基づいて複数のセクションに分割し、それぞれのセクションのEVの電力消費をニューラルネットワークで構成された電力消費予測モデルで予測し、それらの予測を加算して合計電力消費量を算出する。
【0117】
更に、本実施の形態では、電力消費予測プログラムの電力消費予測モデルの訓練では、各EVノードが各EVの運転データを訓練データに使用して各ローカルモデルを訓練し、アグリゲータがローカルモデルのパラメータ(重みとバイアス等のパラメータ又はそのパラメータの更新データ)を集約してグローバルモデルのパラメータを生成することを繰り返す連合学習を行う。EVノードからアグリゲータへのローカルモデルのパラメータの送信にはブロックチェーンを利用せず、アグリゲータからEVノードへのグローバルモデルのパラメータの送信にはブロックチェーンを利用する。これにより、ブロックチェーンの効率の低下を回避できる。
【0118】
また、本実施の形態では、アグリゲータが複数のEVノードからアップロードされたローカルモデルのパラメータから基準となる別モデルのパラメータとの非類似性が低いローカルモデルのパラメータを選択し、選択したパラメータを集約する。これにより、ブロックチェーンを利用せずにローカルモデルのパラメータをアグリゲータにアップロードするときに悪意の第三者の攻撃を受けても、その影響を抑えることができる。
【符号の説明】
【0119】
電気移動体:EV
電力網:P_GRD
EVノード、EVのエッジコンピュータ:EV_1~EV_n
電力消費予測プログラム:PCP_PRG
チャージステーション:C_ST
アグリゲータ:AGR
EV選択プログラム:EV_SLCT
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16