(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-05
(45)【発行日】2022-08-16
(54)【発明の名称】サーバ、プログラム、及び、方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20220808BHJP
G08G 1/09 20060101ALI20220808BHJP
G06F 21/57 20130101ALI20220808BHJP
H04L 12/28 20060101ALI20220808BHJP
【FI】
G06F21/55 320
G08G1/09 F
G08G1/09 H
G06F21/57 370
H04L12/28 100A
(21)【出願番号】P 2018110275
(22)【出願日】2018-06-08
【審査請求日】2021-05-24
(32)【優先日】2018-01-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】高橋 良太
(72)【発明者】
【氏名】佐々木 崇光
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2017-111796(JP,A)
【文献】特開2012-89057(JP,A)
【文献】国際公開第2016/116991(WO,A1)
【文献】国際公開第2013/030984(WO,A1)
【文献】中国特許出願公開第106650705(CN,A)
【文献】芳賀 智之 ほか,機械学習による車載ネットワーク攻撃検知システム,パナソニック技報,日本,2017年05月15日,Vol.63 No.1,p.16-21
【文献】伊達 友裕 ほか,車載LANのセキュリティゲートウェイにおける機械学習を用いた動的ルール生成,SCIS2016,日本,SCIS2016実行委員会,2016年01月22日,3F2-1,p.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G08G 1/09
G06F 21/57
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
処理部を備えるサーバであって、
前記処理部は、
V2Xネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、
取得した前記ログ情報から所定の情報を選定する情報選定ステップと、
選定した前記所定の情報を学習データとして用いて、前記V2Xネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行し、
前記ログ情報は、
時刻と、
前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、
前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、
前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、
前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定
し、
前記情報選定ステップにおいて、
前記第一異常情報が異常有りと示している場合、及び、
前記第一異常情報が異常無しと示し、かつ、前記第二異常情報が異常有りと示している場合に、
前記ログ情報で対応付けられている前記状態情報を前記所定の情報として選定し、
前記モデル作成ステップにおいて、選定された前記所定の情報を教師あり学習データとして用いて、前記異常検知モデルを作成する、
サーバ。
【請求項2】
前記情報選定ステップにおいて、
前記第一異常情報が異常無しと示し、かつ、前記第二異常情報が異常無しと示している場合に、前記ログ情報で対応付けられている
前記状態情報を前記所定の情報として選定し、
前記モデル作成ステップにおいて、選定された前記所定の情報を学習データとして用いて、正常モデルを前記異常検知モデルとして作成する
請求項
1に記載
のサーバ。
【請求項3】
前記第一異常情報は、前記第一ノード上に異常がある場合にさらに異常の種類を示し、
前記情報選定ステップにおいて、同一の前記第一ノード上の異常の種類を示す前記第一異常情報と対応付けられた状態情報を集めて前記所定の情報として選定する
請求項
1に記載
のサーバ。
【請求項4】
前記第二異常情報は、前記第二ノード上に異常がある場合にさらに前記第二ノード上の異常の種類を示し、
前記情報選定ステップにおいて、同一の前記第二ノード上の異常の種類を示す前記第二異常情報と対応付けられた状態情報を集めて前記所定の情報として選定する
請求項
1又は
3に記載
のサーバ。
【請求項5】
前記処理部は、さらに、作成された前記異常検知モデルを用いて前記V2Xネットワークにおける監視対象から送信されるデータに対する異常検知を行う異常検知ステップを実行する
請求項
1から
4のいずれか一項に記載
のサーバ。
【請求項6】
前記第一ノードは、前記V2Xネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両である
請求項
1から
5のいずれか一項に記載
のサーバ。
【請求項7】
前記第二ノードは、前記V2Xネットワークを構成する他のノードと通信可能な情報処理システムを備える路側機又は前記V2Xネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両である
請求項
1から
6のいずれか一項に記載
のサーバ。
【請求項8】
サーバが備える処理部によって実行されるプログラムであって、前記処理部によって実行されることにより前記サーバに、
V2Xネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、
取得した前記ログ情報から所定の情報を選定する情報選定ステップと、
選定した前記所定の情報を学習データとして用いて、前記V2Xネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行させ、
前記ログ情報は、
時刻と、
前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、
前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、
前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、
前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定させ
、
前記情報選定ステップにおいて、
前記第一異常情報が異常有りと示している場合、及び、
前記第一異常情報が異常無しと示し、かつ、前記第二異常情報が異常有りと示している場合に、
前記ログ情報で対応付けられている前記状態情報を前記所定の情報として選定させ、
前記モデル作成ステップにおいて、選定された前記所定の情報を教師あり学習データとして用いて、前記異常検知モデルを作成させる、
プログラム。
【請求項9】
処理部を備えるサーバによって実行される方法であって、
V2Xネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、
取得した前記ログ情報から所定の情報を選定する情報選定ステップと、
選定した前記所定の情報を学習データとして用いて、前記V2Xネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを含み、
前記ログ情報は、
時刻と、
前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、
前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、
前記時刻における前記第一ノードの周辺にあって前記第一ノードと、
通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、
前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定し、
前記情報選定ステップにおいて、
前記第一異常情報が異常有りと示している場合、及び、
前記第一異常情報が異常無しと示し、かつ、前記第二異常情報が異常有りと示している場合に、
前記ログ情報で対応付けられている前記状態情報を前記所定の情報として選定し、
前記モデル作成ステップにおいて、選定された前記所定の情報を教師あり学習データとして用いて、前記異常検知モデルを作成する、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検知モデルを用いて異常判定がなされるV2Xネットワークに関する。
【背景技術】
【0002】
高機能化が進む自動車が用いる外部との通信経路は、LTE(Long Term Evolution)等の移動通信回線を経由するものに留まらず増加している。道路を走行中の自動車が、他の自動車、信号機等の交通基盤の設備、歩行者のスマートフォン等、周囲のあらゆるものと通信することが想定されたV2X(Vehicle-to-everythingの意味)ネットワークの実現に向けた技術の実用化が、より高度な自動運転の実現も視野に入れつつ進められている。
【0003】
その一方で、外部を含めてより多くの経路から情報を受け取る自動車の車載ネットワークシステムにとっては、サイバー攻撃に対するリスクも増加する。より高機能な自動車の安全な実現のために、このようなリスクに対抗する技術が提案されている(例えば特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-33186号公報
【文献】特開2017-111796号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1又は2に提案される技術では、異常検知に用いられるモデルの生成に用いる情報について、その情報の提供元であるノードがV2Xの通信で周辺のノードから受け得る影響が考慮されていない。
【0006】
そこで本発明は、異常検知に用いられるモデルの生成に用いる情報の、送信元のノードへの周辺のノードからの影響を考慮に入れた選定を可能にする異常判定装置等を提供する。
【課題を解決するための手段】
【0007】
本発明の一態様に係る異常判定装置は、V2Xネットワークにおける監視対象である第一ノードに含まれる、プロセッサを含む異常判定装置であって、前記プロセッサは、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、前記V2Xネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、前記異常情報が付加された前記ログ情報を、前記V2Xネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行する。
【0008】
また、本発明の一態様に係る異常検知モデル作成サーバは、処理部を備えるサーバであって、前記処理部は、V2Xネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、取得した前記ログ情報から所定の情報を選定する情報選定ステップと、選定した前記所定の情報を学習データとして用いて、前記V2Xネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行し、前記ログ情報は、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定する。
【0009】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本発明によれば、異常検知に用いられるモデルの生成に用いる情報を、提供元のノードが周辺のノードから受ける影響を考慮に入れて選定することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、V2Xネットワークの概要を説明するための図である。
【
図2】
図2は、実施の形態において自動車が備える車載ネットワークシステムの構成例を示すブロック図である。
【
図3】
図3は、上記の車載ネットワークシステムに含まれる異常判定装置の構成例を示すブロック図である。
【
図4】
図4は、異常判定装置で取得されるログ情報のデータ構成の一例を示す図である。
【
図5】
図5は、異常判定装置で取得されるログ情報のデータ構成の他の例を示す図である。
【
図6】
図6は、異常判定装置で取得されるログ情報のデータ構成のさらに他の例を示す図である。
【
図7】
図7は、上記のV2Xネットワークにおける路側機の構成例を示すブロック図である。
【
図8】
図8は、上記のV2Xネットワークにおける異常監視サーバの構成例を示すブロック図である。
【
図9】
図9は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順の一例を示すシーケンス図である。
【
図10】
図10は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順の他の例を示すシーケンス図である。
【
図11】
図11は、実施の形態における異常判定装置による処理の手順の一例を示すフロー図である。
【
図12】
図12は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。
【
図13】
図13は、実施の形態における異常判定装置による処理の手順の他の例を示すフロー図である。
【
図14】
図14は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。
【
図15】
図15は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。
【
図16】
図16は、上記の異常監視サーバによる異常検知の手順の一例を示すフロー図である。
【
図17】
図17は、上記のV2Xネットワークにおける、監視ノードによる異常検知の手順の一例を示すフロー図である。
【
図18】
図18は、上記の異常監視サーバによる異常検知モデル作成の手順の一例を示すフロー図である。
【
図19】
図19は、上記の異常監視サーバにおける、学習用データの選定処理の手順の一例を示すフロー図である。
【
図20】
図20は、上記の異常監視サーバにおける、学習用データの選定処理の手順の他の例を示すフロー図である。
【
図21】
図21は、上記の異常監視サーバにおける、学習用データの選定処理の手順のさらに他の例を示すフロー図である。
【
図22】
図22は、上記の異常監視サーバにおける、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【
図23A】
図23Aは、上記の異常監視サーバにおける、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【
図23B】
図23Bは、上記の異常監視サーバにおける、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【発明を実施するための形態】
【0012】
(本開示の基礎になった知見等)
V2Xネットワークで行われる通信は、車両が通信する相手に基づいていくつかの種類に細分化できる。一例としては車車間(Vehicle-to-vehicle、以下ではV2Vと表記する)通信がある。V2V通信では、例えば先行車の速度の情報が後続車にリアルタイムで伝えられ、後続車ではその情報が車間距離又は速度の調整に利用され得る。また、緊急走行中の緊急車両と走行中の一般の車両との間で情報をやり取りすることにより、一般の車両は緊急車両が走行する経路を避ける、又は緊急車両が混雑しつつある経路を避けることができる可能性がある。他の例としては、路車間(Vehicle-to-roadside-Infrastructure、以下ではV2Iと表記する)通信がある。V2I通信での車両の通信相手は、各種の路側機である。ここでの路側機とは、交通基盤システムの設備として道路又はその近傍に設置される機器を指し、例えば信号機、ETC(Electronic Toll Collection)ゲート、交通量計測機、自動速度違反取締装置、及び高度道路交通システム(Intelligent Transport Systems、以下ではITSと表記する)又は新交通管理システム(Universal Traffic Management System、以下ではUTMSと表記する)等の情報化された交通基盤で用いられるその他の各種の機器である。これらの機器の中には、情報化以前は通信機能を有さなかったものであっても、走行車両との情報のやり取りのために通信機能が備えられるようになったものもある。その他、LTE等の移動通信回線によるインターネット上の情報取得又はサービスの享受のための通信もV2N(Vehicle-to-cellular-Network)通信としてV2Xの一態様に数えられる。
【0013】
V2Xネットワークでのこのような情報の取得と提供は、上記の例にもあるような交通の安全の強化及び利便性の向上を目的とするものである。ところが、V2Xネットワークでやり取りされるデータは、このような有用な情報のデータとは限らない。サイバー攻撃を受けて、又は故障のために異常が発生しているノードから、虚偽の情報又は不正なコマンドといった、他ノードの情報処理機器での判断を撹乱したり誤動作を招いたりして、異常を拡大させるような情報のデータが送信されることも起こり得る。
【0014】
このような異常の発生又は拡大を抑えるために、例えばネットワークを流れるデータを監視して異常を検知するシステム(以下、異常監視システムともいう)がV2Xネットワーク上に置かれる。異常監視システムは、例えば正常な状態で走行する車両から収集されたセンサデータ又は制御データのログを用いた機械学習によって作成又は更新(以下では、作成と更新とを特に区別せず、単に作成ともいう)された正常モデル等の異常検知モデルと、ネットワークを流れるデータの内容又は送信パターンとを比較し、その差異に基づいて異常を検知する。ここでのデータの異常に関する判定の精度は、異常検知モデルの精度に左右される。例えば正常モデルは、異常が発生していない状況で走行している車両から収集されたデータを用いて作成される。ここで、データが車両で異常が発生していた時のデータであるか否かの区別は、例えば車載ネットワークに異常判定機能を持つECU(Electronic Control Unit)が接続されていれば、このECUによる判定に基づいて可能である。したがって、そのデータを正常モデルの作成等に使用するか否かの判断も可能である。
【0015】
しかしながら、V2X通信によって周辺のノードから受信したデータも用いて制御又はセンシングが行われる車両のセンサデータ又は制御データは、異常が検知されていない時に当該車両で生成されたデータであっても、その周辺のノードでは当該データが生成されたときに異常が発生していた場合にはその異常の影響を受けている可能性がある。場合によっては、本来は異常と判定されるべき状態であるにも拘わらず、異常が発生している周辺のノードに関する情報の影響で正常と判定されていることも起こり得る。したがって、V2X通信に対応する車両が普及するにつれて、異常が検知されていない車両からのデータに基づいて作成した正常モデルであっても、異常判定の精度が低下するおそれがあるという問題がある。
【0016】
このような問題に鑑みて、本発明者らは、V2Xネットワークで収集されたデータから、目的の異常検知モデルの作成に適した学習データを選定する仕組みに想到した。
【0017】
本発明の一態様に係る異常判定装置は、V2Xネットワークにおける監視対象である第一ノードに含まれる、プロセッサを含む異常判定装置であって、前記プロセッサは、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、前記V2Xネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、前記異常情報が付加された前記ログ情報を、前記V2Xネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行する。
【0018】
これにより、異常監視システムが用いる異常検知モデルの作成に供される学習データとして用いられるログ情報に、周辺の通信相手である周辺ノードからの悪影響がある可能性の有無を示す情報を添えることができる。なお、ここでの周辺とは、V2V通信又はV2I通信が可能な程度の距離範囲を指し、その上限は例えば数十メートル~数百メートル程度の範囲である。
【0019】
また例えば、第二ノード情報は、前記第二ノードにおいて実行された、前記第二ノードのセンサデータ又は制御データの少なくとも一方に基づく前記第二ノードにおける異常の発生の有無に関する判定の結果を含み、前記第二異常判定は、前記第二ノード情報が含む前記結果を取得することで実行されてもよい。または、第二ノード情報は、前記第二ノードのセンサデータ又は制御データの少なくとも一方を含み、前記第二異常判定は、前記第二ノード情報が含む前記センサデータ又は制御データの少なくとも一方に基づいて実行されてもよい。
【0020】
このように、周辺ノードからの悪影響がある可能性の有無を示す情報は、ログ情報を送信するノード又はその周辺ノードによって提供される。また例えば、第二ノード情報は、前記第二ノードにおいて異常が発生した判定の結果を含む場合、さらに前記第二ノードにおいて発生した異常の種類に関する判定の結果を含んでもよい。または、前記第二異常判定は、発生した異常の種類に関する判定を含み、前記異常情報は、前記発生した異常の種類をさらに示してもよい。
【0021】
これにより、異常検知モデルを作成するための機械学習の手法に応じた学習データログ情報の使い分けが可能になる。
【0022】
また例えば、前記第一ノードは、前記V2Xネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両であってもよい。これにより、ログ情報として送信されるデータが発生したノードにおいて、そのノードの周辺ノードでの異常の発生の有無に関する情報が取得される。このようにして取得される情報は、学習データ生成サーバなどで状況証拠的な情報から事後的になされる異常発生の有無の判定よりも精度が確保されやすい。また、多くのデータを収集する学習データ生成サーバの負荷を抑えることができる。
【0023】
また例えば、前記ログ情報送信ステップで送信される前記ログ情報は、前記ログ情報を用いて、前記V2Xネットワークにおける監視システムで異常検知に用いられる異常検知モデルを作成するノードに送信されてもよい。
【0024】
これにより、各ノードの周辺ノードにおける異常発生の有無に基づいて使い分けが可能なログ情報を学習データとして用いた異常検知モデルの作成が可能になる。
【0025】
また、本発明の一態様に係る異常検知モデル作成サーバは、処理部を備えるサーバであって、前記処理部は、V2Xネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、取得した前記ログ情報から所定の情報を選定する情報選定ステップと、選定した前記所定の情報を学習データとして用いて、前記V2Xネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行し、前記ログ情報は、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定する。
【0026】
これにより、周辺ノードでの異常の悪影響の可能性の有無を示す情報を含むログ情報を学習データに用いた機械学習を実行して異常検知モデルを作成することができる。
【0027】
また、前記情報選定ステップにおいて、異常の無いことを示す前記第一異常情報及び異常の無いことを示す前記第二異常情報に対応付けられている状態情報を前記所定の情報として選定し、前記モデル作成ステップにおいて、選定された前記所定の情報を学習データとして用いて、正常モデルを前記異常検知モデルとして作成してもよい。または、前記情報選定ステップにおいて、異常があることを示す前記第一異常情報及び異常があることを示す前記第二異常情報の少なくとも一方に対応付けられている状態情報を前記所定の情報として選定し、前記モデル作成ステップにおいて、選定された前記所定の情報を教師あり学習データとして用いて、前記異常検知モデルを作成してもよい。
【0028】
これにより、ログ情報に付加される異常発生の有無に応じて機械学習の手法を使い分けることができ、より高精度の異常検知が実行可能な異常検知モデルを得ることができる。
【0029】
また、本発明の一態様に係るプログラムは、V2Xネットワークにおける監視対象である第一ノードに含まれる異常判定装置が含むプロセッサで実行されるプログラムであって、前記プロセッサによって実行されることにより前記異常判定装置に、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、前記V2Xネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、前記異常情報が付加された前記ログ情報を、前記V2Xネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行させる。
【0030】
これにより、異常監視システムが用いる異常検知モデルの作成に供される学習データとして用いられるログ情報に、周辺ノードからの悪影響がある可能性の有無を示す情報を添えることができる。
【0031】
また、本発明の一態様に係るプログラムは、サーバが備える処理部によって実行されるプログラムであって、前記処理部によって実行されることにより前記サーバに、V2Xネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、取得した前記ログ情報から所定の情報を選定する情報選定ステップと、選定した前記所定の情報を学習データとして用いて、前記V2Xネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行させ、前記ログ情報は、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定させる。
【0032】
これにより、周辺ノードでの異常の悪影響の可能性の有無を示す情報を含むログ情報を学習データに用いた機械学習を実行して異常検知モデルを作成することができる。
【0033】
なお、以下で説明する実施の形態は、本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する趣旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また実施の形態及びその変形例の各々の内容を、矛盾の生じない限りにおいて組み合わせることもでき、本発明の技術的範囲に含まれる。
【0034】
(実施の形態)
[1.V2Xネットワークの概要]
まず、本発明に係る技術が適用可能なV2Xネットワークの概要を説明する。
図1は、V2Xネットワークの概要を説明するための図である。
【0035】
V2Xネットワーク1を構成するノードには、車両10A、10B及び10C、信号機30A、車速計測機30B、基地局40、並びに異常監視サーバ50が含まれる。なお、以下では、車両10A、10B及び10Cをまとめて、又は特に区別せず任意の1つ以上を指して車両10と表記することがある。また、信号機30A及び車速計測機30Bをまとめて、又は特に区別せず一方を指して路側機30と表記することがある。
【0036】
車両10は、車両10同士のV2V通信及び路側機30とのV2I通信を行い、例えばBSM(Basic Safety Message)等の所定のメッセージセットを用いてデータを送受信する。また、車両10は、基地局40を通じてインターネット等の通信ネットワーク20に接続し、異常監視サーバ50とV2N通信を行う。車両10から異常監視サーバ50へは、車両10が備える車載ネットワークシステム100上の通信データ、例えばセンサデータ又は制御データが示す内容を含むログが送信される。
【0037】
異常監視サーバ50から車両10へは、車載ネットワークシステム100内の異常検知に利用可能なデータ、例えば車両上で実行される異常検知に用いられる異常検知モデルが送信される。なお、この異常検知モデルは、各車両10から送信されたログを学習データとして用いた機械学習によって作成されたものである。また、この例では、路側機30と異常監視サーバ50との間でもデータのやり取りがなされてもよい。例えば、路側機30から異常監視サーバ50へは、路側機30のシステム上の通信データ、異常監視サーバ50から路側機30へは、路側機30による異常検知に利用可能な異常検知モデルが送信される。
【0038】
また、V2Xネットワーク1において、車両10は異常監視サーバ50による監視の対象である。より具体的には、異常監視サーバ50は、車両10がV2Xネットワーク1に流すデータに対して、サイバー攻撃又は故障による異常検知を実行して車両10に異常が発生したか否かを判定している。また、路側機30は、異常監視サーバ50による監視の対象でもあるが、それぞれの本来の機能、つまり信号機又は車速計測機としての機能に加えて他のノードを監視する機能を有し、車両10を監視の対象としている。V2Xネットワーク1では、このように役割の異なる複数のノードによって異常監視システムが構築されているともいえる。
【0039】
[2.ノードの構成]
次に、V2Xネットワーク1を構成する上記の各種ノードのうち、車両10、路側機30、及び異常監視サーバ50の構成について説明する。
【0040】
[2-1.車両]
各車両10は、他のノードと上述のようなV2X通信が可能な車載ネットワークシステムを備える。
図2は、車両10が備える車載ネットワークシステムの一例である、車両10Aが備える車載ネットワークシステム100の構成を示すブロック図である。
【0041】
車載ネットワークシステム100は、例えば少なくとも一部がCAN(Controller Area Network)の規格に沿って構築され動作するシステムであり、外部通信装置110と、車両10の内部と外部、及び機能系統ごとのネットワーク間でのデータを中継するゲートウェイ120と、これらの機能系統ごとのネットワークである情報系ネットワーク130及び制御系ネットワーク140とを備える。なお、情報系ネットワーク130及び制御系ネットワーク140は、車載ネットワークシステム100に含まれ得る機能系統のネットワークの例であり、これらに限定されない。また、本発明に係る技術は、機能系統による分化がなされていないネットワークシステムにも適用可能である。また、Ethernet(登録商標)等のCAN以外の規格に準拠したネットワーク上のシステム、またはCAN及びEthernet等の異なる規格に準拠する部分が併存するネットワークシステムにも適用可能である。
【0042】
外部通信装置110は、V2Xネットワーク1における車両10Aとは別のノードである車両10B及び10C、路側機30(
図2では省略)並びに基地局40との通信を行うインタフェースであり、V2X通信に使用される各種の通信規格に対応する通信モジュールで実現される。
【0043】
ゲートウェイ120は、上記のデータの中継の機能が実装されたECUで実現される。また、ゲートウェイ120は、このECU上で実現され得る後述の異常判定装置125を機能的に含む。
【0044】
情報系ネットワーク130は、二重線で示されるバス線及び当該バス線に接続される複数のECU131、132及び133で構成され、制御系ネットワーク140は、バス線及び当該バス線に接続される複数のECU141、142及び143で構成されている。各ECUには、バス線に接続されるインタフェースとは別のインタフェースに、センサ又はアクチュエータ等の機器(図示なし)が接続されている。センサでの計測によって得られたセンサデータはECU内部で利用されたり、他のECUでの利用のためにバス線に出力されたりする。アクチュエータが接続されているECUは、このようなセンサデータが示す情報に応じて、又は他のECUからバス線を介して取得する制御データに従ってアクチュエータを制御する。また、車載ネットワークシステム100では、このようなセンサデータ又は制御データは、ゲートウェイ120でも受信されて、ゲートウェイ120が含む異常判定装置125による異常判定の対象となる。
図3は、異常判定装置125の機能的な構成例を示すブロック図である。
【0045】
異常判定装置125は、車載ネットワークシステム100で異常の発生の有無を判定する(異常判定)。この異常判定の処理には、例えばデータフレームの送信パターン及びデータの内容のいずれか又はその両方に基づく手法、MAC(Message Authentication Code)等のメッセージ認証技術を利用する手法、上述の異常検知モデルを利用する手法等の各種の手法、又はこれらの組み合わせが利用可能である。異常判定装置125の構成例を
図3のブロック図に示す。
【0046】
異常判定装置125は、データ受信部1251、ログ情報取得部1252、データ送信部1253、蓄積部1254及び異常判定部1255を備える。
【0047】
データ受信部1251は、車載ネットワークシステム100上で送信されたセンサデータ又は制御データを受信する。
【0048】
ログ情報取得部1252は、データ受信部1251が受信したデータの内容と、タイマ(図示なし)から取得する当該データの受信時刻の情報とを対応付けて、ログ情報として蓄積部1254に蓄積する。このようにして蓄積部1254に蓄積されたログ情報のデータの構成の一例を
図4に示す。
図4に示される例では、各行において、タイマから取得された時刻は「時刻」の欄に、データ受信部1251が受信したデータの内容は「車内状態情報」の欄に、互いに対応付けられて格納されている。ログ情報として格納されたデータの内容とは、
図4にはその例として速度及び加速度が示されているがこれらに限定されない。例えば、ヨーレート、シフトポジション、操舵角、エンジン回転数、アクセル開度等の車両10が備えるセンサで測定された測定値、その測定値に基づいて実行された判定の判定値、発行された制御指示等、各種の情報が時系列でログ情報として格納され得る。また、この例では、さらにこの時刻における車両10Aの位置情報が格納されている。このような位置情報は、例えば車載ネットワークシステム100に接続されるカーナビゲーションシステム又はスマートフォン等が備える測位システムの受信モジュールから提供され得る。
【0049】
異常判定部1255は、蓄積部1254に蓄積されたログ情報に示される時刻における車載ネットワークシステム100上での異常の発生の有無に関する判定を実行する。この異常判定は、例えばログ情報に含まれるセンサデータ又は制御データの内容、又は車載ネットワークシステム100上にある別の情報を用いて、上述の各種の手法によって実行されてもよい。異常判定部1255は、この異常判定の結果を、該当のログ情報に付加する。このような異常判定の結果が付加されたログ情報のデータの構成の一例を
図5に示す。
図5に示される例では、各行に格納されていたログ情報に含まれる時刻における車両10Aでの異常判定の結果が、「車内異常判定」の欄に格納されている。また、この例ではさらに、異常判定の結果、異常が発生していた場合(「車内異常判定」の欄の値が「異常」である行を参照)に、当該異常の発生場所が異常の種別の情報として格納されている(「車内異常種別」の欄を参照)。このように、異常判定部1255は、発生した異常に関するさらなる詳細な情報を取得してログ情報に付加してもよい。
【0050】
また、異常判定部1255は、V2V通信又はV2I通信で周辺ノードから取得される情報に基づく異常判定を行い、その異常判定の結果をさらにログ情報に付加する。このように他のノードの異常判定の結果が付加されたログ情報のデータの構成の一例を
図6に示す。
図6に示される例では、各行に格納されていたログ情報に含まれる時刻における、車両10Aの周辺ノードでの異常判定の結果が、「周辺ノード異常判定」の欄に、同行の各情報と対応付けて格納されている。また、この例ではさらに、異常判定の結果、異常が発生していた場合(「周辺ノード異常判定」の欄の値が「異常」である行を参照)に、当該異常が発生したノード又はさらにノード内で異常の発生場所を示す情報が、異常の種別の情報としてさらに対応付けて格納されている(「周辺ノード異常種別」の欄を参照)。ただし、ここで情報が時刻に対応付けられる他のノードにおける異常は、その時刻から近い所定の時間(例えば数秒以内~1分以内)に発生したか又は検知されたものであればよく、厳密な同時性までは要求されない。また、時間的な条件が満たされるのであれば、1つの時刻の車内異常に対して周辺ノードの異常判定に関する情報が複数件対応付けられてもよい。周辺ノードの異常判定については後述する。
【0051】
なお、本明細書では説明の便宜上、
図4に示すようなある時刻における車内状態の情報のみならず、
図5又は
図6のように、異常判定部1255によって付加された自ノード又は周辺ノードでの異常に関する情報も含めてログ情報、そのデータをログと称することがある。また、V2Xネットワークにおいて、異常監視サーバ50の監視対象である各車両10は本実施の形態における第一ノードの例であり、第一ノードと通信をする周辺ノードは本実施の形態における第二ノードの例である。第二ノードもまた異常監視サーバ50の監視対象であってもよい。
【0052】
また、
図4から
図6において、一行に格納されて対応付けられた情報のまとまりを指して以下ではレコードともいう。例えば
図6に示されるログの各レコードには、厳密にではないがある時刻における、あるノード(例えば車両10A)の位置、センサデータ又は制御データ由来の当該ノードの状態、当該ノードにおける異常の有無の判定結果及び異常がある場合その種別、並びに当該ノードの周辺ノードにおける異常の有無の判定結果及び異常がある場合その種別が含まれる。
【0053】
蓄積部1254は、上記のログ情報のデータの保存場所である。
【0054】
データ送信部1253は、異常判定部1255が実行した車載ネットワークシステム100上での異常判定の結果を、例えば外部通信装置110を介するV2V通信又はV2I通信によって周辺ノードに送信する。データ送信部1253によるこの異常判定の結果の送信は、判定の度に実行されてもよいし、定期的に実行されてもよい。また、異常が検知された場合の判定の結果のみが送信されてもよい。周辺ノードに送信される情報には、少なくとも異常の発生の有無が含まれ、さらに、異常の種別、対応する時刻、又は車両10Aを一意に識別するIDが含まれてもよい。また、データ送信部1253は、外部通信装置110を介するV2N通信によって、蓄積部1254に蓄積されたログ情報のデータを異常監視サーバ50に送信する。このように車両10から異常監視サーバ50に提供されるログ情報は、異常監視サーバ50における異常判定に用いられる異常検知モデルを作成するための機械学習の学習データとして利用される。
【0055】
このような異常判定装置125は、本実施の形態の例では、ゲートウェイ120を実現するECUのマイクロコントローラのプロセッサで所定のプログラムが実行され、メモリでデータが読み書きされ、タイマから時刻情報が取得され、入出力部からデータの送受信を行われることで実現される。なお、異常判定装置125の実現の態様はこの例に限定されず、例えば車載ネットワークシステム100に接続されるゲートウェイ以外の一ECUその他の装置の一部若しくは全体で実現されてもよい。また例えば、上述した異常判定装置125の各構成要素の機能が、車載ネットワークシステム100上の複数のECU、記憶装置等の組み合わせによって分担される形で実現されてもよい。
【0056】
なお、車両10Aが含む、制御系ネットワーク140による制御の対象である駆動系統等、自動車としての走行に関する構成要素(図示なし)は、本実施の形態に係る異常監視の技術との関連性は高くないため説明を省略する。
【0057】
また、周辺ノードである車両10の異常判定についてさらに説明する。車両10B及び10Cも、V2Xネットワーク1における通信が可能な車載ネットワークシステムを車両10Aと同様にそれぞれ持ち得る。そして、例えば車両10Bが車両10Aと同様に異常判定装置125を備えていれば、車両10Aは車両10Bで実行された異常判定の結果を受信し、その結果に基づいて周辺ノードで異常の発生があったか否かを判定することができる。また、さらに、車両10Bから受信した情報に発生した異常の種別に関する情報が含まれていれば、車両10Aはこの情報に基づいて周辺ノードで発生した異常の種別に関する判定をすることができる。いずれについても、基本的には受信した情報に示される結果のままの判定がなされればよい。
【0058】
ただし、V2Xネットワーク1に接続する車両10すべての車載ネットワークシステムが常に上記で説明した車載ネットワークシステム100と同等に機能するとは限らない。例えば、車両10Bが車両10Aと同様に備える異常判定装置125が故障している場合、また、車両10Cの車載ネットワークシステムは異常判定装置125と同等の機能を欠いている場合が想定される。つまり車両10Aは、車両10B及び車両10Cから異常判定の結果を受信できない。このような車両10B及び車両10Cからは、異常判定の結果を含まない車内の状態を示す情報、例えば
図4のリストの各行に示されるような情報が周辺ノードに送信されてもよい。この情報を受信した周辺ノードである車両10Aでは、異常判定部1255が車載ネットワークシステム100上の異常について判定したのと同様に、受信した車両10B又は車両10Cの状態を示す情報に基づいて異常の発生の有無を判定する。また、周辺ノードで発生した異常の種別についての判定をさらにしてもよい。
【0059】
なお、上記以外に、周辺ノードである車両10の異常に関する情報を路側機30から取得する経路もあるが、これについては後述する。
【0060】
いずれのパターンであっても、異常判定装置125に相当する機能を備える車載ネットワークシステムでは、異常判定部1255によって自車両の状態の情報の取得及び異常の有無の判定、並びに周辺ノードにおける異常の有無についての判定が、例えば一定周期で反復的に実行されて
図6に示されるような構成のログ情報のデータが生成される。また、このデータがデータ送信部1253によって異常監視サーバ50に送信される。
【0061】
[2-2.路側機]
各路側機30は、上述のとおりそれぞれの本来の機能、つまり
図1の例では、路側機30のうち、信号機30Aは信号機、車速計測機30Bは車速計測機等としての機能を当然ながら備える。ただし本実施の形態における路側機30は、さらに他のノードを監視する監視ノードとしての機能を有し、車両10を監視の対象としている。以下では路側機30の、他のノードを監視する機能を実現するための構成について説明する。
【0062】
図7は、V2Xネットワーク1における路側機30の構成例を示すブロック図である。路側機30は、データ受信部31、データ送信部33、蓄積部34及び異常判定部35を備える。
【0063】
データ受信部31及びデータ送信部33は、V2Xネットワーク1における路側機30とは別のノードである車両10及び異常監視サーバ50等との通信を行うインタフェースであり、V2X通信に使用される各種の通信規格に対応する通信モジュールで実現される。蓄積部34は路側機30が備える情報処理システムの記憶装置で、異常判定部35は当該情報処理装置のプロセッサで所定のプログラムが実行されることで実現される。
【0064】
データ受信部31は、通信ネットワーク20を介して異常監視サーバ50から、例えば異常検知に用いられる異常検知モデルを取得する。またデータ受信部31は、車両10からログ情報のデータを受信する。ここで車両10から送信されるログ情報のデータは、車両10の状況に応じて、
図4から
図6のいずれかに示されるデータ構成を持ち得る。
【0065】
異常判定部35は、この異常検知モデルを用いて、ログ情報に基づく車両10の異常判定を行う。この異常判定部35による異常判定は、車両10における異常判定装置125の異常判定部1255による他ノードの異常判定に相当する。また、異常判定部35は、異常判定部1255による自ノードの異常判定に相当する異常判定、つまり路側機30内のシステムの異常判定も実行する。
【0066】
データ受信部31が受信した異常検知モデル及びログ情報、異常判定部35により自ノード又は他ノードの異常判定に関する情報が付加されたログ情報のデータは、蓄積部34に蓄積される。
【0067】
また、異常判定に関する情報は、データ送信部33によって車両10に送信される。なお、ここで路側機30から異常判定に関する情報を取得する車両10とは、例えば上記のログ情報のデータの送信元である車両10に限定されず、その周辺ノードである車両10も受信して取得してもよい。
【0068】
つまり、各車両10の状態を示す情報に基づく異常の発生の有無の判定は、自ノード、又は周辺ノードである他の車両10若しくは路側機30によって行われ得る。また、各車両10は、周辺ノードである他の車両10の異常判定の結果を、当該周辺ノードから取得した判定結果若しくは状態情報に基づいて、又は第三者的な周辺ノードである路側機30から取得した判定結果に基づいて取得する。
【0069】
V2Xネットワーク1では、監視対象のノードである車両10から収集される、各車両の状態を時系列で示すログ情報を用いた機械学習によって異常検知のためのモデルが作成される。ここで、ログの各レコードに含まれる、各時点における車両10の状態又は異常判定の結果は、異常があった周辺ノードに関する情報の影響を受けている可能性がある。そして、そのような影響を受けている時のレコードと受けていない時のレコードとを、学習データとしては区別して用いることで、より精度の高い異常判定を可能にする異常検知モデルが得られる。従来想定されているログ情報では、周辺ノードでの異常の有無は、使用する学習データの選定時に各ノードから収集したログ情報が示す時刻及び位置を手掛かりに判定される。しかしながら、このような手法では、収集した大量のログから学習データの選定処理を行う情報処理装置の処理負荷が大きく、周辺ノードでの異常の発生の有無の判定の正確さも不確かであった。そこで、上記のように車両10でログ情報が取得される実際の場所及び時間で、車両10に各種の経路で周辺ノードの異常の有無の判定結果を取得させてログ情報に付加ことを可能にすることで、周辺ノードの異常に関して、異常監視サーバ50で判定をするよりも正確な情報をログ情報に対応付けることができ、また、収集されたログからの学習データの選定処理の負荷を抑えることができる。
【0070】
なお、理想的には車両10から収集されるログのすべてが
図6に示されるような形式のデータであれば、学習データを選定する情報処理装置の負荷は大きく削減される。しかしながら、上記のような手法で、自ノード又はさらに周辺ノードの異常の有無に関する情報を付加したログを提供する車両10が普及途上にある過渡期であって、
図4から
図6に示される各形式のログが混在する時期であっても、その中で
図6に示される形式のログが手掛かりとなって情報処理装置での学習データの選定の負荷は削減され得る。
【0071】
このように学習データを選定する情報処理装置はこの選定処理専用のものでもよいが、本実施の形態の例では、異常監視サーバ50がログの収集から、学習データの選定、異常検知モデルの作成、異常検知モデルを用いた異常判定による監視までを行う。次に、異常監視サーバ50の構成について説明する。
【0072】
[2-3.異常監視サーバ]
図8は、V2Xネットワーク1における異常監視サーバ50の構成例を示すブロック図である。
【0073】
異常監視サーバ50は、データ受信部51、学習データ選定部52、学習部53、蓄積部54及び異常判定部55を備える。
【0074】
データ受信部51は、監視対象である各ノードからV2Xネットワーク1を介してデータを受信する。
【0075】
学習データ選定部52は、受信したログから学習データとして用いるものを選定する。例えば、車内も周辺ノードも「正常」と判定されているレコードのみを正常モデル作成のための学習データとして選定する。
【0076】
学習部53は、学習データ選定部52が選定した学習データを用いて学習を実行して異常検知モデルを作成する。
【0077】
蓄積部54は、データ受信部51が受信したログ及び学習部53が作成した異常検知モデルを保存する。
【0078】
異常判定部55は、蓄積部54に保存されている異常検知モデルを読み出し、この異常検知モデルを用いて異常検知・判定(本明細書では単に異常判定ともいう)を行う。なお、異常判定にはその目的に応じて2種類ある。ひとつは、監視対象のノードから
図4に示されるような異常判定の結果を含まないログを受信した場合に、このログに対して異常検知モデル作成のための学習データの選定に利用可能な判定の結果を取得することを目的として行われるものである。他のひとつは、監視対象のノードから送信される各種のデータに対してV2Xネットワーク1の監視の目的で実行される異常判定である。
【0079】
なお、
図8では省略したが、異常監視サーバ50はさらに送信部を備えて、作成された異常検知モデルは上述のとおり、自ノード又は周辺ノードの異常判定を行う各ノードに送信されてもよい。
【0080】
このような異常監視サーバ50は、通信モジュール、記憶装置、所定のプログラムを実行する処理部(プロセッサ)を含む1台以上のコンピュータで実現される。複数台のコンピュータで実現される場合には、これらが一か所で協働してもよいし、互いに遠隔にあってインターネット等の通信ネットワークを経由してデータをやり取りして協働してもよい。
【0081】
異常監視サーバ50において実行される処理の手順については後述する。
【0082】
[3.監視対象ノードでの処理及びV2Xネットワークでのデータの流れ]
次に、V2Xネットワーク1の監視対象であるノードでの処理手順及びデータの流れについて、従来の場合にも触れながら本実施の形態を説明する。
【0083】
[3-1.車両で他ノードの異常に関する判定を扱わない場合]
図9は監視対象のノードである車両10Aから異常監視サーバ50へのデータのアップロードに関する手順の一例を示すシーケンス図である。なお、この例では、車両10Aは、機能上の理由又は通信可能な周辺ノードが存在しないために周辺ノードについての異常判定を実行しないことを想定している。
【0084】
車両10Aでは、ログ情報取得部1252が、車載ネットワークシステム100において各ECUがバスに送出するデータを受信して車内状態を示すログ情報を取得する(S111)。ここで取得された車両10Aの車内状態を示すログ情報を、以下で他のログ情報との区別のために第一ログ情報と称する。
図4に示されるデータ構成例のログ情報は、この段階でのログ情報であるともいえる。
【0085】
次に異常判定部1255が、車両10Aの車内状態についての異常判定を実行する(S113)。判定結果は、第一ログ情報に付加される。
図5に示されるデータ構成例のログ情報は、この段階でのログ情報であるともいえる。この例では、異常を検知して車内で異常が発生していたと判定した場合、異常判定部1255はさらにその異常の種別として発生場所を特定し、その結果を第一ログ情報に付加する。車両10Aの車内の異常に関するこの判定の結果を、以下では他の判定の結果との区別のために第一判定結果と称する。ただし、第一判定結果には少なくとも異常の発生の有無に関する判定結果が含まれればよく、異常の種別に関する情報は必須ではない。このようにして、第一ログ情報に第一判定結果が付加された内容の、異常監視サーバ50にアップロードするデータ(ログ)が異常判定部1255によって生成される(S115)。ステップS115で生成されたデータは、データ送信部1253によって異常監視サーバ50に送信される(S119)。
【0086】
監視対象のノードである車両10Aにおいてこのようにして生成されたログ情報のデータを受信した異常監視サーバ50では、学習データ選定部52が、当該データの各レコードに含まれる車両10Aの時刻及び位置の情報を手掛かりに、他のノードから受信した大量のログから車両10Aの状態に影響を与えた可能性がある異常が発生していたノードを検索する。学習データ選定部52はこの検索によってログの各レコードについて周辺ノードの異常の影響を受けていた時のレコードとそうでない時のレコードとを区別し、用途に応じて選定する(S511)。なお、このような検索から選定までの異常監視サーバ50での処理の負荷は大きい。そして
図4に示されるような周辺ノードの情報を含まないデータのみを収集していた従来の異常監視サーバ50では、受信したログのすべてのレコードについてこの処理を実行することも起こり得る。
【0087】
[3-2.各車両が周辺ノードでの異常に関する判定結果を収集する場合]
図10は監視対象のノードである車両10Aから異常監視サーバ50へのデータのアップロードに関する手順の一例を示すシーケンス図である。この例では、車両10Aの周辺ノードである車両10Bが、その車載ネットワークシステムに
図3に示される異常判定装置125に相当する異常判定装置を備えることを想定している。そして車両10Aが、車両10Bから車両10Bでの異常の判定結果を取得する点が
図9に示す例と異なる。
【0088】
車両10Aにおいて、ログ情報取得部1252によって実行されるログ情報取得及び(S111A)及び異常判定(S113A)は、それぞれ
図9に示される処理手順のステップS111及びS113に相当する。ここまでの段階で、蓄積部1254には
図5に示される、判定結果(第一判定結果)が付加された構成の第一ログ情報が保存される。
【0089】
また、車両10Bでは、車両10AでのステップS111Aに相当するログ情報の取得(S111B)が行われる。取得された車両10Bの車内状態を示すログ情報を、上記の第一ログ情報と区別して、以下では第二ログ情報と称する。
図4に示されるデータ構成例は、第二ログ情報のデータ構成例でもある。
【0090】
次に車両10Bでは、車両10AでのステップS113Aに相当する車内の異常の判定(S113B)が実行される。車両10Bの車内の異常に関するこの判定の結果を、第一判定結果と区別して、以下では第二判定結果と称する。第二判定結果も第一判定結果と同様に、少なくとも異常の発生の有無に関する判定結果を含めばよく、さらに異常の種別に関する情報を含んでもよい。
【0091】
次に、車両10Bから第二判定結果が車両10Aに送信される(S119B)。データ受信部1251が第二判定結果を受信した車両10Aでは、異常判定部1255によって第一ログ情報にさらに第二判定結果が付加され、第一ログ情報に第一判定結果及び第二判定結果が付加された内容の、異常監視サーバ50にアップロードするデータ(ログ)が生成される(S115A)。このデータは
図6に示されるような構成のデータである。つまり、自ノードである車両10Aの車内状態情報及び車内異常判定の結果と、周辺ノードである車両10Bの異常判定の結果とが、相互に対応付けられて含まれるデータである。ステップS115Aで生成されたデータは、データ送信部1253によって異常監視サーバ50に送信される(S119A)。
【0092】
図11は、この例で説明した車両10Aの異常判定装置125による処理の手順の一例を示すフロー図である。異常判定装置125では、データ受信部1251が車載ネットワークシステム100を流れるデータからログ情報(
図10の第一ログ情報)を取得する(S11)。ログ情報が取得されると、異常判定部1255が、ログ情報が取得された時刻における車両10Aの車内における異常検知による異常判定を実行する(S12)。この異常判定の結果(
図10の第一判定結果)は、ログ情報に当該ログ情報に対応付けるように付加、例えば同一のレコードに格納される(S13)。次に異常判定部1255は、所定の時間内に周辺ノードから異常判定の結果(
図10の第二判定結果)を受信しているかを判定する(S14)。受信している場合(S14でYES)には、異常判定部1255が第二判定結果をさらに付加(S18)したデータ、受信していない場合(S14でNO)には、第二判定結果が付与されていない第一ログ情報がデータ送信部1253によって異常監視サーバ50にアップロードされる(S19)。車両10Aでは、
図11に示される一連の手順が、例えば一定周期で繰り返し実行される。
【0093】
再び
図10を参照すると、監視対象のノードである車両10Aにおいてこのように生成されたログ情報のデータを受信した異常監視サーバ50では、学習データ選定部52が、当該データの各レコードに含まれる車両10Aの周辺ノードの異常判定の結果の情報に基づいて周辺ノードの異常の影響を受けていた時のレコードとそうでない時のレコードとを区別し、用途に応じて選定する(S511)。これにより、異常監視サーバ50では、
図9に示される例に比べて、小さな処理負荷で学習データの選定を実行し、かつ周辺ノードにおける異常の有無に関する情報はより正確なものが得られる。
【0094】
なお、
図10の例では、車両10Bから車両10Aに異常判定の結果が送信され、車両10Aからログが異常監視サーバ50にアップロードされているが、車両10Aから車両10Bにも車両10Aでの異常判定の結果が送信され、車両10Bからも
図6に示されるような構成のログが異常監視サーバ50にアップロードされてもよい。このように、異常監視サーバ50には、V2Xネットワーク1に接続する多くの車両からログが集められ、そのログの中から選定された学習データが異常監視サーバ50による異常検知モデルの作成に用いられる。異常検知モデルの作成の処理手順については後述する。
【0095】
また、
図10の例では、車両10Aは車両10Bからのみ異常判定の結果を受信しているが、実際には、V2V通信が可能な複数の周辺ノードである車両から異常判定の結果を収集し得る。また、複数の周辺ノードから受信した異常判定の結果のうち、第一ログ情報に付加するものが例えば異常判定部1255によって選択されてもよい。
【0096】
[3-3.車両で他のノードにおける異常判定が実行される場合]
図12は監視対象のノードである車両10Aから異常監視サーバ50へのデータのアップロードに関する手順の他の例を示すシーケンス図である。この例では、車両10Aの周辺ノードである車両10Bでは、その車載ネットワークシステムに、異常判定装置125のデータ受信部1251及びログ情報取得部1252に相当するものはあって車内の状態を示す情報が取得されるものの、異常判定部1255を欠く又は故障している等の理由で異常判定が行われていないことを想定している。そして車両10Aが車両10Bから取得するのは、車両10Bでの異常の判定結果ではなく、車両10Bの車内の状態を示す情報を取得する点が
図10に示す例と異なる。
【0097】
車両10Aにおいて、ログ情報取得部1252によって実行されるログ情報取得及び(S111A)及び異常判定(S113A)は、
図10に示されるものと共通の処理手順である。ここまでの段階で、蓄積部1254には
図5に示される、判定結果(第一判定結果)が付加された構成の第一ログ情報が保存される。
【0098】
また、車両10Bで行われるログ情報の取得(S111B)は
図10の例に示されるものと共通の処理である。取得された車両10Bの車内状態を示すログ情報を、以下では
図10の例と同じく第二ログ情報と称する。
【0099】
次に、車両10Bから第二ログ情報が車両10Aに送信される(S117B)。第二ログ情報を受信した車両10Aでは、異常判定部1255によって、第二ログ情報に基づく車両10Bの車内での異常判定が実行される(S113B)。車両10Bの車内の異常に関するこの判定の結果を、
図10の例と同じく以下では第二判定結果と称する。
【0100】
次に、車両10Aでは、異常判定部1255によって、第一ログ情報に第一判定結果及び第二判定結果が付加された内容の、異常監視サーバ50にアップロードするデータ(ログ)が生成される(S115A)。このデータは
図10の例で、ステップS115Aで生成されるログと同じく、自ノードである車両10Aの車内状態情報及び車内異常判定の結果と、周辺ノードである車両10Bの異常判定の結果とが、相互に対応付けられて含まれるデータである。ステップS115Aで生成されたデータは、データ送信部1253によって異常監視サーバ50に送信される(S119A)。
【0101】
図13は、この例で説明した車両10Aの異常判定装置125による処理の手順の一例を示すフロー図である。
図11のフロー図に示される手順とは、周辺ノードから判定結果を受信していない場合(S14でNO)に行われる車両10Bから車内状態情報を受信しているかの判断(ステップS15)と、車内状態情報を受信している場合(ステップS15でYES)に、車両10Bでの異常の発生の有無に関する判定(ステップS16)を含む点が異なる。車両10Aでは、
図13に示される一連の手順が、例えば一定周期で繰り返し実行される。
【0102】
再び
図12を参照すると、車両10Aからデータを受信した異常監視サーバ50では、学習データ選定部52による学習データの選定(S511)が実行される。これにより、異常監視サーバ50では、
図9に示される例に比べて、小さな処理負荷で学習データの選定を実行し、かつ周辺ノードにおける異常の有無に関する情報はより正確なものが得られる。また、状態情報に基づく異常判定が自ノード上でできない車両が存在する場合にも、対応可能である。
【0103】
なお、
図10又は
図12の例では、車両10Aが第一ログ情報に異常判定の結果を付加する周辺ノードは、車両10Bであるが、周辺ノードは車両10に限定されず、路側機30での異常判定の結果であってもよい。車両10Aは
図10の例では車両10Bで実行されたように路側機30で実行された異常判定の結果の提供を受け、その判定の結果を第一ログ情報に付加してもよい。また、
図12の例では車両10Bから車両10Bの内部の状態を示す情報を受信したように、車両10Aは路側機30内部の状態を示す情報を受信して、この情報に基づいて実行した路側機30の異常の有無を判定の結果を第一ログ情報に付加してもよい。
図14は、後者の場合に車両10Aから異常監視サーバ50へのデータのアップロードに関する手順の他の例を示すシーケンス図である。
図14に示す例は、路側機30から車両10Aへは車両10Bの第二ログ情報に相当する路側機状態情報が送信されている点(S137)、この路側機状態情報に基づいて、車両10Aの異常判定部1255が路側機30における異常判定をしている点(S133)、異常監視サーバ50へ送信されるデータは、第一ログ情報に第一判定結果と、車両10Bに関する第二判定結果に相当する、路側機30に関する第三判定結果とを付加したものである点が異なる。
【0104】
[3-4.周辺ノード間で行われた異常判定結果が収集される場合]
図15は監視対象のノードである車両10Aから異常監視サーバ50へのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。この例では、
図12に示す例と同様に車両10Aの周辺ノードである車両10Bにおいて、異常判定部1255を欠く又は故障している等の理由で異常判定が行われていないことを想定している。しかしながら、車両10Bの状態情報に基づいて異常判定を実行するのが車両10Aではなく路側機30であり、その判定の結果が路側機30から車両10Aに提供される点が
図12に示す例と異なる。
【0105】
車両10Aにおいて、ログ情報取得部1252によって実行されるログ情報取得及び(S111A)及び異常判定(S113A)は、それぞれ
図9に示される処理手順のステップS111及びS113に相当する。ここまでの段階で、蓄積部1254には
図5に示される、判定結果(第一判定結果)が付加された構成の第一ログ情報が保存される。
【0106】
また、車両10Bで行われるログ情報の取得(S111B)は
図10及び
図12の例に示されるものと共通の処理である。取得された車両10Bの車内状態を示すログ情報を、以下では上記の例と同じく第二ログ情報と称する。
【0107】
次に、車両10Bから第二ログ情報が路側機30に送信される(S117B)。この例における路側機30は車両10Aの異常判定部1255に相当する機能を備え、第二ログ情報を受信すると、
図12の例に示す車両10AでのステップS113Bに相当する第二ログ情報に基づく車両10Bの車内での異常判定を実行する(S133B)。車両10Bの車内の異常に関するこの判定の結果を、
図10及び
図12の例と同じく以下では第二判定結果と称する。
【0108】
次に、路側機30から第二判定結果が車両10Aに送信される(S139B)。データ受信部1251が第二判定結果を受信した車両10Aでは、
図10の例と同様に、異常判定部1255によって第一ログ情報にさらに第二判定結果が付加され、第一ログ情報に第一判定結果及び第二判定結果が付加された内容の、異常監視サーバ50にアップロードするデータ(ログ)が生成される(S115A)。このデータは、
図10及び
図12の例で、ステップS115Aで生成されるログと同じく、自ノードである車両10Aの車内状態情報及び車内異常判定の結果と、周辺ノードである車両10Bの異常判定の結果とが、相互に対応付けられて含まれるデータである。ステップS115Aで生成されたデータは、データ送信部1253によって異常監視サーバ50に送信される(S119A)。
【0109】
この例における車両10Aの異常判定装置125による処理の手順例は、第二判定結果の送信元が異なるものの、
図11又は
図13のフロー図によって示される。
【0110】
再び
図15を参照すると、車両10Aからデータを受信した異常監視サーバ50では、学習データ選定部52による学習データの選定(S511)が実行される。これにより、異常監視サーバ50では、
図9に示される例に比べて、小さな処理負荷で学習データの選定を実行し、かつ周辺ノードにおける異常の有無に関する情報はより正確なものが得られる。また、状態情報に基づく異常判定が自ノード上でできない車両が存在する場合にも、対応可能である。
【0111】
なお、
図15の例では、路側機30からの車両10Bについての異常判定の結果の送信先は車両10Aにのみが示されているがこれに限定されない。例えば路側機30からの送信先には車両10Bが含まれてもよい。例えば路側機30はV2I通信によって通信し得る範囲の全車両に車両10Bについての異常判定の結果を送信してもよい。
【0112】
[3-5.備考]
上記の3-2から3-4では、監視対象のノードである車両10Aが、ある時刻における車内の状態を示す情報と、車内異常判定の結果及び異常が検知された場合はさらに種別と、周辺ノード異常判定の結果及び異常が検知された場合はさらに種別の情報とを取得し、これらを対応付けたデータを異常監視サーバ50に送信するまでの処理手順及びノード間のデータのやり取りのバリエーションを示した。しかし、これらのバリエーションは例であって限定的なものではなく、V2Xネットワーク1にてやり取りが可能なデータの内容及び経路、並びに各ノード実行可能な各種の処理手順を含む変形もまた本発明の技術的範囲である。
【0113】
例えば、路側機30は上述のとおり、各車両10を監視する監視ノードとして機能してもよく、監視ノードである路側機30は通信圏内の各車両10から車内状態情報又は車内の異常判定に関する情報を収集し、収集した情報を通信圏内の各車両10に送信してもよい。つまり、V2I通信による通信圏内の車両10から各車内の異常に関する情報を取得し、さらに各車にこの情報を共有させてもよい。この際、車内状態情報を受け取った場合には、路側機30はこの車内状態情報に基づいて異常判定を実行し、その結果及び異常が検知された場合はさらに種別の情報を送信してもよい。また、監視ノードは、取得した情報を、通信ネットワーク20を介して異常監視サーバ50に提供してもよい。
【0114】
また、ある車両の異常の有無が路側機30を経由して他の車両に送信されるのみならず、ある路側機30の異常の有無が車両間での通信で共有されてもよい。
【0115】
また、路側機30からは通信ネットワーク20を経由して各種のデータが送信されてもよい。
【0116】
また、上記の3-2から3-4の説明では、車両10Bから車両10A等のノード間のデータの送信が一の相手を指定して実行されているようにも解釈可能であるが、このような通信形態には限定されない。ノード間のデータの送受信は、V2V通信又はV2I通信で実行され得る各種の通信形態で実行可能である。例えば送信先は、通信可能な領域に存在するすべてのノードであってもよいし、それらのノードの中で特定のグループ、例えば車両のメーカー、車載ネットワークシステムの種類(例:メーカー、準拠規格のバージョン等)、ノードの種類(例:車両か路側機か)等に基づいて限定したり、又はグループ間で異なる条件(例:車両はメーカー、路側機はすべて)が適用されたりしてもよい。
【0117】
[4.異常監視サーバでの処理]
次に、V2Xネットワーク1において車両10又はさらに路側機30での異常の発生の有無を監視する異常監視サーバ50での処理手順について説明する。上述のとおり、異常監視サーバ50は、ログの収集から、学習データの選定、異常検知モデルの作成、異常検知モデルを用いた異常監視までを行う。ただし、ログの収集については、上述の監視対象ノードでの処理で送信されたログを受信することであるため説明は省略し、以下ではその他の処理について説明する。
【0118】
[4-1.異常判定]
まず、異常検知モデルを用いた異常判定の処理手順について説明する。
図16は、上記の異常監視サーバ50による2種類の異常判定のうち、学習データの選定に利用可能な判定の結果を取得することを目的とする異常判定の手順の一例を示すフロー図である。
【0119】
V2Xネットワーク1に接続している異常監視サーバ50では、データ受信部51が、監視対象である各ノードから送信されたログを受信する(S21)。
【0120】
次に、異常判定部55が、蓄積部54から異常検知モデルを読み出し(S22)、この異常検知モデルを用いて受信した
図4の示されるような構成のログの中の各レコードに対して異常検知を行う。異常を検知した場合、異常判定部55はこのログの送信元であるノードで異常の発生があったと判定する。また、異常を検知しなかった場合、異常判定部55はこのデータの送信元であるノードで異常の発生がなかったと判定する。異常の発生の有無に関する判定の結果は、異常判定部55から出力される(S24)。結果の出力とは、より具体的には、例えば、
図4のログに判定結果を付加したデータ、つまり
図5に示される状態のログとしての蓄積部34への保存である。また、結果の出力として、判定されたデータの送信元であるノードへの判定結果の送信がなされてもよい。
【0121】
なお、ステップS23での異常の判定とは、異常の発生の有無に関する判定のみでもよいし、異常が検知された場合には、発生場所による種類等の当該異常に関するより詳細な判定が含まれてもよい。また、異常が検知された場合には、ステップS24で出力される判定結果にも、当該異常に関するより詳細な判定結果が含まれてもよい。
【0122】
図17は、上記の異常監視サーバ50による2種類の異常判定のうち、V2Xネットワーク1の監視の目的とする異常判定の手順の一例を示すフロー図である。
【0123】
V2Xネットワーク1に接続している異常監視サーバ50では、データ受信部51が、監視対象である各ノードから送信されたデータを受信する(S31)。
【0124】
次に、異常判定部55が、蓄積部54から異常検知モデルを読み出し(S32)、この異常検知モデルを用いて受信したデータに対して異常検知を行う。異常を検知した場合、異常判定部55はこのログの送信元であるノードで異常の発生があったと判定し(ステップS34でYES)、さらにV2Xネットワーク1内に異常の発生を通知する。通知の対象は、V2Xネットワーク1内の全ノードであってもよいし、異常のデータを発生したノードと所定の関連性があるノードを選択して送信してもよい。所定の関連性とは、例えばノードの種類(例:車両か路側機か)、車両又は路側機のメーカー、車載ネットワークシステム又は路側機の制御システムの種類(例:メーカー、準拠規格のバージョン等)等に基づく関連性である。このような関連性は、例えば監視対象の各ノードから収集されるログに含まれる情報に基づいて取得されてもよいし、別途収集されて異常監視サーバ50で利用可能なデータに示されるものであってもよい。
【0125】
検知された異常がない場合は、異常判定部55はこのログの送信元であるノードで異常の発生がなかったと判定し(ステップS34でNO)、異常判定の処理を終了する。
【0126】
なお、V2Xネットワーク1の監視の目的とする異常判定の場合も、異常判定の結果が異常監視サーバ50の蓄積部54に保存されてもよい。
【0127】
なお、
図17のフロー図に示される処理は異常監視サーバ50に限らず、V2Xネットワーク1内においてさらに監視ノードとして機能する路側機30又は車両10があればこれらのノードの異常判定部35又は異常判定部1255によっても実行されてもよい。
【0128】
[4-2.学習データの選定及び異常検知モデルの作成]
次に、学習データの選定を含む異常検知モデルを作成の処理の手順について説明する。
図18は、異常監視サーバ50における異常検知モデルの作成の処理の手順の例を示すフロー図である。
【0129】
まず、学習データ選定部52が、蓄積部54に保存されたログを読み出す(S41)。
【0130】
次に、学習データ選定部52は、必要に応じて異常判定部55に読み出したログに対する所定の処理を実行させてからレコードを選定する(S42)。処理の内容は読み出されたログの状態及び用途に応じて異なり、その詳細については後述する。
【0131】
次に、学習部53が、学習データ選定部52が選定した学習データを用いて学習を実行し(S43)、その結果として作成された異常検知モデルを蓄積部54に保存する(S44)。このようにして作成(更新の場合を含む)された異常検知モデルが、上述のように異常監視サーバ50での異常判定に用いられたり、異常判定を実行するV2Xネットワーク1上の各ノードに送信されたりする。
【0132】
ここで、学習データ選定部52によるステップS42の詳細について説明する。
【0133】
図19は、異常監視サーバ50における、学習用データの選定処理の手順の一例を示すフロー図である。この例では、異常監視サーバ50が受信したデータは
図4に示すような構成であって、時刻と位置と車内状態とを示す情報は含むものの、異常に関する情報は何ら含まず、周辺ノードに関する情報も含まない。蓄積部54から読み出したログがこのような構成である場合、学習データ選定部52は、レコードが含む車内状態の情報に基づく異常判定を異常判定部55に実行させる(S51)。異常があった場合(S52でYES)、学習データ選定部52は、このレコードを学習部53による次の学習で教師あり学習に用いられるデータとして選定する(S57)。教師あり学習については後述する。
【0134】
異常がなかった場合(S52でNO)、学習データ選定部52は、このレコードが含む時刻情報及び位置情報を用いて、このレコードの生成時に、このログの送信元であるノードの周辺に存在していた他のノードのレコードを、取得済みの周辺ノードのデータから検索する(S53)。次に学習データ選定部52は、検索結果として取得した周辺ノードのレコードが含む情報に応じた手法で、その情報に基づく異常判定の結果を取得する。つまり、周辺ノードの情報が異常判定の結果を含む場合、その結果を取得し、含まない場合は、異常判定部55に異常判定を実行させてその結果を取得する(S54)。
【0135】
次に学習データ選定部52は、検索結果として取得した周辺ノードに異常があった場合(S55でYES)、このレコードを、学習部53による次の学習で教師あり学習に用いられるデータとして選定する(S57)。異常がなかった場合(S55でNO)、このレコードを、学習部53による次の学習で正常モデル作成に用いられるデータとして選定する(S56)。
【0136】
図20は、異常監視サーバ50における、学習用データの選定処理の手順の他の例を示すフロー図である。この例では、異常監視サーバ50が受信したデータは
図5に示すような構成であって、時刻と位置と車内状態とを示す情報、及び車内の異常に関する情報を含むが、周辺ノードに関する情報は含まない。蓄積部54から読み出したログがこのような構成である場合、学習データ選定部52は、レコードが含む車内の異常判定の結果を読み出す(S61)。異常があった場合(S62でYES)、学習データ選定部52は、このレコードを、学習部53による次の学習で教師あり学習に用いられるデータとして選定する(S67)。
【0137】
異常がなかった場合の処理は、
図19に示したステップS52からS56又はS57に至る手順と共通である。つまり、異常がなかった場合(S62でNO)、学習データ選定部52は、このレコードが含む時刻情報及び位置情報を用いて、他のノードのレコードを取得済みの周辺ノードのデータから検索する(S63)。次に学習データ選定部52は、検索結果として取得した周辺ノードのレコードが含む情報に応じた手法で、その情報に基づく異常判定の結果を取得する(S64)。
【0138】
次に学習データ選定部52は、検索結果として取得した周辺ノードに異常があった場合(S65でYES)、このレコードを学習部53による次の学習で教師あり学習に用いられるデータとして選定する(S67)。異常がなかった場合(S65でNO)、このレコードを学習部53による次の学習で正常モデル作成に用いられるデータとして選定する(S66)。
【0139】
図21は、異常監視サーバ50における、学習用データの選定処理の手順のさらに他の例を示すフロー図である。この例では、異常監視サーバ50が受信したデータは
図6に示す構成であって、時刻と位置と車内状態とを示す情報及び車内の異常に関する情報、並びに周辺ノードの異常に関する情報を含む。蓄積部54から読み出したログがこのような構成である場合、学習データ選定部52は、レコードが含む車内の異常判定の結果を読み出す(S71)。異常があった場合(S72でYES)、学習データ選定部52は、このレコードを、学習部53による次の学習で教師あり学習に用いられるデータとして選定する(S76)。
【0140】
異常がなかった場合(S72でNO)、学習データ選定部52は、レコードが含む周辺ノードの異常判定の結果を読み出す(S73)。異常があった場合(S74でYES)、学習データ選定部52は、このレコードを学習部53による次の学習で教師あり学習に用いられるデータとして選定する(S76)。異常がなかった場合(S74でNO)、このレコードを学習部53による次の学習で正常モデル作成に用いられるデータとして選定する(S75)。
【0141】
ここで、本実施の形態における教師あり学習について説明する。教師あり学習では、車内又は周辺ノードで異常が発生していた時の車内状態であると既知のデータ(レコード)を学習部53に大量に与えられる。学習部53は、このデータから特徴を抽出し、この特徴に基づいて異常が発生していたときと正常な時の分類、つまりは異常検知のためのモデルを作成する。また、異常を分類、例えば発生したノードの種類又は各ノードでの場所等に応じた種類で分けることができれば、分類の結果である一つのカテゴリについての教師あり学習用の学習データが取得できる。この学習データを用いて学習部53に学習をさせることで、ある種類のノード、又はある種類のノードのある場所の状態の情報が異常であるか否かを識別するための異常検知モデルが作成される。このように学習データを、作成したい異常検知モデルに応じて使い分けるより具体的な例を説明する。
図22、
図23A及び
図23Bは、異常監視サーバ50における、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【0142】
図22を参照すると、まず学習データ選定部52では、収集したログのあるレコードの異常が当該ログの送信元である車両10で発生した異常なのか、その車両10の周辺ノード、ここでは路側機30の異常なのかを判定する(S81)。路側機30の異常である場合(S81でYES)、学習データ選定部52は、さらに路側機30の異常の種別に応じた教師あり学習用データとして選定する(S91A)。
図23Aの例では、路側機30の異常の種別が、ETCゲートの異常(S92A)、信号機の異常(S93A)、道路ビーコンの異常(S94A)のいずれであるかに応じて、各異常に応じた教師あり学習データとして選定されている。車両10の異常である場合(S81でNO)、学習データ選定部52は、さらに車両10の異常の種別に応じた教師あり学習用データとして選定する(S91A)。
図23Bの例では、車両10の異常の種別が、車載ネットワークシステム100のEthernetの部分での異常(S92B)、CANでの異常(S93B)、IVI(In-Vehicle Infotainment system)の部分での異常(S94A)のいずれであるかに応じて、各異常に応じた教師あり学習データとして選定されている。このような選定は、ログに含まれる周辺ノードの異常種別の情報を参照して行われる。なお、上記で挙げた異常の種別は例であり、これらに限定されない。例えば周辺ノードの異常の種別として、ごく簡単に周辺の車両か路側機かを示すものであってもよい。
【0143】
[5.効果等]
このように、本実施の形態においては、車両10において自車両の状態を示す情報のログが生成される際に、その時刻において車両10又はさらにその周辺ノード(車両又は路側機)に異常が発生していたか否かについて、その情報が車両10で取得された状況に極力近い時刻及び場所(ノード)で判定され、その判定結果が車両10の状態を示す情報に付加される。極力近い時刻及び場所とは、各車両10の異常についての判定は、各車両10で状態情報が取得された時に当該車両10の異常判定装置で実行されるのが最も近い態様である。周辺ノードの異常についての判定は、各周辺ノードで実行されるのが最も近い態様であるが、次いで、状態情報が取得された車両10が周辺ノードから受信した状態情報に基づいて判定する態様がある。または次いで近い態様として、ある周辺ノードについて他の周辺ノードが実行した異常についての判定を、自車両の状態を示す情報を取得した車両10が取得するというものがある。これらのいずれの態様においても、ログが異常監視サーバ50に収集されてから各レコードに対する異常判定が行われるよりも正確である可能性又は実行可能性そのものが高く、また、異常監視サーバ50の負荷を抑えることができる。
【0144】
このような異常に関する判定結果が付加されていることで、車両10の状態を示す情報のログのレコードから異常検知モデルとして正常モデルの作成を目的とする学習データの選定の際に、異常時のレコードを排除することができる。このような学習データを用いることで、より高い質の正常モデルが得られ、異常検知の精度の向上につながる。
【0145】
また、異常監視サーバ50は例えばその監視サービスの運営形態によっては、特定のメーカー、特定の車種、又は特定の車載ネットワークシステムの車両等、一部の車両のログのみを収集するケースも考えられる。また、異常監視サーバ50と路側機との間では何らかの事情で情報のやり取りが行われないケースも考えられる。これらのようなケースであっても、V2Xで利用される規格に沿って通信の規格及びデータのフォーマットの整合が図られていれば、各車両10が走行中に周辺ノードと通信して異常に関する情報を交換することで、異常監視サーバ50では上記のような選定が可能なログを収集することができる。
【0146】
また、自ノード又は周辺ノードで異常が発生していたときのレコードを用いて教師あり学習がさらに実行されてもよい。教師あり学習を併用して作成した異常検知モデルを用いることで、より精度の高い異常判定ができる可能性があり、または、異常判定の精度の向上の速度を高めることができる。
【0147】
つまり、V2Xネットワークの異常監視のための異常検知モデルの作成において、各ノードの情報に加えてその周辺のノードの異常に関する情報を考慮して動的に選択する学習データを用いることで、より高い精度での異常検知を可能にする異常検知モデルが得られる。その結果、V2Xネットワークの安全性が高められ、車社会の安全と利便性の向上が図られる。
【0148】
(変形例等)
以上、本発明に係る、車載ネットワークシステムが備える異常判定装置、及び異常検知モデルを作成するサーバ等について、実施の形態に基づいて上述のとおり説明したが、本発明はこの説明に限定されるものではない。上記実施の形態は本発明に係る技術の例示であって、本発明は上記の内容に限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
【0149】
(1)
図1に示されるV2Xネットワーク1を構成する各種のノードの数、接続形態等は本実施の形態の説明のための例示であって、本発明を限定するものではない。また、上述のとおり、本発明は、V2Xネットワーク1を構成する車両10及び路側機30のすべてがそれぞれ
図3又は
図7に示されるような構成を備えて初めて実現されるものではない。自ノード又はノード間の相互的な異常判定は、普及するまでに時間を要するものである。上記では実施の形態として、その過渡的な状況における各ノードの異常判定の実行及び判定結果の情報の利用又は提供の態様についてのいくつかの例を挙げたが、これらの例から容易に想到し得る他の態様もまた本発明の技術的範囲に含まれる。
【0150】
(2)上記実施の形態で示した各種処理の手順(例えば
図9~
図23Bを用いて示した手順等)の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたり、複数の手順を並列に行ったり、その手順の一部を省略したりすることができる。
【0151】
(3)また、上記実施の形態で示したログのデータ構成(
図4~
図6参照)は、図示の例に厳密には限定されない。例えばこれらの各図に示されるログの各レコード内の情報項目は任意の手法で対応付けられればよく、一のテーブルまたはリストに含まれることを要するものではない。また、ログに含まれるデータはこれらの図に示されるものに限定されない。異常監視サーバ50、又は学習データ作成のためのサーバ等、本発明に係る技術においてこのログを収集し利用する装置又はシステムでは、例えばさらに各ノードを識別するID、各ノードを上記のグループに分けるための情報等が含まれていてもよい。また、各ノードから送信されるデータにもこれらの情報が含まれていてもよい。
【0152】
(4)上記実施の形態で例示したログ(
図4~
図6参照)では車内又は周辺ノードの異常に関する判定の結果は異常と正常との二値で示されるが、これに限定されない。例えば異常が発生している可能性をより多段階で示す値、異常がある場合にその深刻度をより多段階で示す値等が用いられてもよい。
【0153】
(5)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。このROMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全部を含むように1チップ化されてもよい。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【0154】
(6)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0155】
(7)本発明の一態様としては、例えば
図9~
図23B、並びに本明細書中のこれらに関連する記載に含まれる処理手順の全部又は一部を含む方法であるとしてもよい。
【0156】
例えば、異常判定の方法として、V2Xネットワーク1における監視対象であるノードに含まれる、異常判定装置125が備えるプロセッサによって実行される方法であって、時刻と、当該ノード上のセンサデータ又は制御データの少なくとも一方が示す、この時刻における当該ノードの状態情報とを含むログ情報を取得するログ情報取得ステップ(例えばステップS11)と、この時刻における当該ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップ(例えばステップS12)と、V2Xネットワーク1における監視対象である他のノードであって、上記のノードの周辺にあるノードである周辺ノードから取得した、周辺ノードの異常に関する周辺ノード情報に基づいて、上記の時刻における周辺ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップ(例えばステップS14)と、第二異常判定の結果が周辺ノード上での異常の発生を示す場合、上記のログ情報に、この周辺ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップ(例えばステップS18)と、異常情報が付加されたこのログ情報を、V2Xネットワーク1を構成する少なくとも一部のノードに送信するログ情報送信ステップ(例えばステップS19)とを含む。
【0157】
また例えば、異常検知モデルの作成方法として、サーバが備える処理部によって実行される方法であって、V2Xネットワーク1における監視対象ノードで生成されたログ情報を取得するログ情報取得ステップ(例えばステップS21)と、このログ情報から所定の情報を選定する情報選定ステップと、選定した所定の情報を学習データとして用いて、V2Xネットワーク1において上記の監視対象ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップ(例えばステップS44)とを含む。ここで、この異常検知モデルの作成方法においては、上記のログ情報は、時刻と、監視対象ノード上のセンサデータ又は制御データの少なくとも一方が示す、この時刻における監視対象ノードの状態情報と、この時刻における監視対象ノード上の異常の有無を示す第一異常情報と、この時刻において監視対象ノードの周辺にあってと監視対象ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含む。上記の情報選定ステップにおいては、第一異常情報及び第二異常情報に基づいて所定の情報が選定される。ここでの所定の情報とは、例えば正常モデルである学習データに用いられる情報、また例えば、教師あり学習のための学習データに用いられる情報である。
【0158】
(8)また、本発明の一態様としては、上記の各方法に係る処理をコンピュータに実行させるコンピュータプログラムであってもよいし、このコンピュータプログラムからなるデジタル信号であるとしてもよい。
【0159】
(9)また、本発明の一態様としては、このコンピュータプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0160】
(10)また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又はプログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0161】
(11)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【0162】
本発明は、異常検知に用いられる異常検知モデルの機械学習による作成のための学習データの収集及び選定に利用可能である。
【符号の説明】
【0163】
1 V2Xネットワーク
10、10A、10B、10C 車両
20 通信ネットワーク
30 路側機
30A 信号機
30B 車速計測機
31 データ受信部
33、1253 データ送信部
34、1254 蓄積部
35、1255 異常判定部
50 異常監視サーバ
51、1251 データ受信部
52 学習データ選定部
53 学習部
54 蓄積部
55 異常判定部
100 車載ネットワークシステム
110 外部通信装置
120 ゲートウェイ
125 異常判定装置
130 情報系ネットワーク
131、132、133、141、142、143 ECU
140 制御系ネットワーク
1252 ログ情報取得部