(57)【要約】【課題】ネットワーク用の異常検知モデルを機械学習で作成するために、周辺ノードの影響を考慮に入れた学習データの選定を可能にする異常判定装置を提供する。【解決手段】ネットワーク上の監視対象である第一ノードに含まれる異常判定装置１２５は、時刻と、第一ノード上のセンサデータ又は制御データが示す、当該時刻における第一ノードの状態情報とを含むログ情報を取得し、当該時刻における第一ノード上の異常の発生に関する第一異常判定を実行し、第一ノードの周辺にあって他の監視対象である第二ノードから取得した第二ノードの異常に関する第二ノード情報に基づいて、当該時刻における第二ノード上の異常の発生に関する第二異常判定を実行し、第二ノード上で異常が発生していた場合、ログ情報に第二ノード上での異常の発生を示す異常情報を付加してネットワーク上の少なくとも一部のノードに送信するプロセッサを含む。【選択図】図３
2019128934.tif 000002
【特許請求の範囲】
【請求項１】
Ｖ２Ｘネットワークにおける監視対象である第一ノードに含まれる、プロセッサを含む異常判定装置であって、
前記プロセッサは、
時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、
前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、
前記Ｖ２Ｘネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、
前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、
前記異常情報が付加された前記ログ情報を、前記Ｖ２Ｘネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行する
異常判定装置。
【請求項２】
第二ノード情報は、前記第二ノードにおいて実行された、前記第二ノードのセンサデータ又は制御データの少なくとも一方に基づく前記第二ノードにおける異常の発生の有無に関する判定の結果を含み、
前記第二異常判定は、前記第二ノード情報が含む前記結果を取得することで実行される
請求項１に記載の異常判定装置。
【請求項３】
第二ノード情報は、前記第二ノードにおいて異常が発生した判定の結果を含む場合、さらに前記第二ノードにおいて発生した異常の種類に関する判定の結果を含む
請求項２に記載の異常判定装置。
【請求項４】
第二ノード情報は、前記第二ノードのセンサデータ又は制御データの少なくとも一方を含み、
前記第二異常判定は、前記第二ノード情報が含む前記センサデータ又は制御データの少なくとも一方に基づいて実行される
請求項１に記載の異常判定装置。
【請求項５】
前記第二異常判定は、発生した異常の種類に関する判定を含み、前記異常情報は、前記発生した異常の種類をさらに示す
請求項４に記載の異常判定装置。
【請求項６】
前記第一ノードは、前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両である
請求項１から５のいずれか一項に記載の異常判定装置。
【請求項７】
前記第二ノードは、前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な情報処理システムを備える路側機又は前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両である
請求項１から６のいずれか一項に記載の異常判定装置。
【請求項８】
前記ログ情報送信ステップで送信される前記ログ情報は、前記ログ情報を用いて、前記Ｖ２Ｘネットワークにおける監視システムで異常検知に用いられる異常検知モデルを作成するノードに送信される
請求項１から７のいずれか一項に記載の異常判定装置。
【請求項９】
Ｖ２Ｘネットワークにおける監視対象である第一ノードに含まれる異常判定装置が含むプロセッサで実行されるプログラムであって、前記プロセッサによって実行されることにより前記異常判定装置に、
時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、
前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、
前記Ｖ２Ｘネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、
前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、
前記異常情報が付加された前記ログ情報を、前記Ｖ２Ｘネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行させる
プログラム。
【請求項１０】
処理部を備えるサーバであって、
前記処理部は、
Ｖ２Ｘネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、
取得した前記ログ情報から所定の情報を選定する情報選定ステップと、
選定した前記所定の情報を学習データとして用いて、前記Ｖ２Ｘネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行し、
前記ログ情報は、
時刻と、
前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、
前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、
前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、
前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定する
異常検知モデル作成サーバ。
【請求項１１】
前記情報選定ステップにおいて、異常の無いことを示す前記第一異常情報及び異常の無いことを示す前記第二異常情報に対応付けられている状態情報を前記所定の情報として選定し、
前記モデル作成ステップにおいて、選定された前記所定の情報を学習データとして用いて、正常モデルを前記異常検知モデルとして作成する
請求項１０に記載の異常検知モデル作成サーバ。
【請求項１２】
前記情報選定ステップにおいて、異常があることを示す前記第一異常情報及び異常があることを示す前記第二異常情報の少なくとも一方に対応付けられている状態情報を前記所定の情報として選定し、
前記モデル作成ステップにおいて、選定された前記所定の情報を教師あり学習データとして用いて、前記異常検知モデルを作成する
請求項１０に記載の異常検知モデル作成サーバ。
【請求項１３】
前記第一異常情報は、前記第一ノード上に異常がある場合にさらに異常の種類を示し、
前記情報選定ステップにおいて、同一の前記第一ノード上の異常の種類を示す前記第一異常情報と対応付けられた状態情報を集めて前記所定の情報として選定する
請求項１２に記載の異常検知モデル作成サーバ。
【請求項１４】
前記第二異常情報は、前記第二ノード上に異常がある場合にさらに前記第二ノード上の異常の種類を示し、
前記情報選定ステップにおいて、同一の前記第二ノード上の異常の種類を示す前記第二異常情報と対応付けられた状態情報を集めて前記所定の情報として選定する
請求項１２又は１３に記載の異常検知モデル作成サーバ。
【請求項１５】
前記処理部は、さらに、作成された前記異常検知モデルを用いて前記Ｖ２Ｘネットワークにおける監視対象から送信されるデータに対する異常検知を行う異常検知ステップを実行する
請求項１０から１４のいずれか一項に記載の異常検知モデル作成サーバ。
【請求項１６】
前記第一ノードは、前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両である
請求項１０から１５のいずれか一項に記載の異常検知モデル作成サーバ。
【請求項１７】
前記第二ノードは、前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な情報処理システムを備える路側機又は前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両である
請求項１０から１６のいずれか一項に記載の異常検知モデル作成サーバ。
【請求項１８】
サーバが備える処理部によって実行されるプログラムであって、前記処理部によって実行されることにより前記サーバに、
Ｖ２Ｘネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、
取得した前記ログ情報から所定の情報を選定する情報選定ステップと、
選定した前記所定の情報を学習データとして用いて、前記Ｖ２Ｘネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行させ、
前記ログ情報は、
時刻と、
前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、
前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、
前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、
前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検知モデルを用いて異常判定がなされるＶ２Ｘネットワークに関する。
【背景技術】
【０００２】
高機能化が進む自動車が用いる外部との通信経路は、ＬＴＥ（Long Term Evolution）等の移動通信回線を経由するものに留まらず増加している。道路を走行中の自動車が、他の自動車、信号機等の交通基盤の設備、歩行者のスマートフォン等、周囲のあらゆるものと通信することが想定されたＶ２Ｘ（Vehicle-to-everythingの意味）ネットワークの実現に向けた技術の実用化が、より高度な自動運転の実現も視野に入れつつ進められている。
【０００３】
その一方で、外部を含めてより多くの経路から情報を受け取る自動車の車載ネットワークシステムにとっては、サイバー攻撃に対するリスクも増加する。より高機能な自動車の安全な実現のために、このようなリスクに対抗する技術が提案されている（例えば特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−３３１８６号公報
【特許文献２】特開２０１７−１１１７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１又は２に提案される技術では、異常検知に用いられるモデルの生成に用いる情報について、その情報の提供元であるノードがＶ２Ｘの通信で周辺のノードから受け得る影響が考慮されていない。
【０００６】
そこで本発明は、異常検知に用いられるモデルの生成に用いる情報の、送信元のノードへの周辺のノードからの影響を考慮に入れた選定を可能にする異常判定装置等を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る異常判定装置は、Ｖ２Ｘネットワークにおける監視対象である第一ノードに含まれる、プロセッサを含む異常判定装置であって、前記プロセッサは、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、前記Ｖ２Ｘネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、前記異常情報が付加された前記ログ情報を、前記Ｖ２Ｘネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行する。
【０００８】
また、本発明の一態様に係る異常検知モデル作成サーバは、処理部を備えるサーバであって、前記処理部は、Ｖ２Ｘネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、取得した前記ログ情報から所定の情報を選定する情報選定ステップと、選定した前記所定の情報を学習データとして用いて、前記Ｖ２Ｘネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行し、前記ログ情報は、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定する。
【０００９】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本発明によれば、異常検知に用いられるモデルの生成に用いる情報を、提供元のノードが周辺のノードから受ける影響を考慮に入れて選定することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、Ｖ２Ｘネットワークの概要を説明するための図である。
【図２】図２は、実施の形態において自動車が備える車載ネットワークシステムの構成例を示すブロック図である。
【図３】図３は、上記の車載ネットワークシステムに含まれる異常判定装置の構成例を示すブロック図である。
【図４】図４は、異常判定装置で取得されるログ情報のデータ構成の一例を示す図である。
【図５】図５は、異常判定装置で取得されるログ情報のデータ構成の他の例を示す図である。
【図６】図６は、異常判定装置で取得されるログ情報のデータ構成のさらに他の例を示す図である。
【図７】図７は、上記のＶ２Ｘネットワークにおける路側機の構成例を示すブロック図である。
【図８】図８は、上記のＶ２Ｘネットワークにおける異常監視サーバの構成例を示すブロック図である。
【図９】図９は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順の一例を示すシーケンス図である。
【図１０】図１０は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順の他の例を示すシーケンス図である。
【図１１】図１１は、実施の形態における異常判定装置による処理の手順の一例を示すフロー図である。
【図１２】図１２は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。
【図１３】図１３は、実施の形態における異常判定装置による処理の手順の他の例を示すフロー図である。
【図１４】図１４は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。
【図１５】図１５は、監視対象のノードである車両から異常監視サーバへのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。
【図１６】図１６は、上記の異常監視サーバによる異常検知の手順の一例を示すフロー図である。
【図１７】図１７は、上記のＶ２Ｘネットワークにおける、監視ノードによる異常検知の手順の一例を示すフロー図である。
【図１８】図１８は、上記の異常監視サーバによる異常検知モデル作成の手順の一例を示すフロー図である。
【図１９】図１９は、上記の異常監視サーバにおける、学習用データの選定処理の手順の一例を示すフロー図である。
【図２０】図２０は、上記の異常監視サーバにおける、学習用データの選定処理の手順の他の例を示すフロー図である。
【図２１】図２１は、上記の異常監視サーバにおける、学習用データの選定処理の手順のさらに他の例を示すフロー図である。
【図２２】図２２は、上記の異常監視サーバにおける、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【図２３Ａ】図２３Ａは、上記の異常監視サーバにおける、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【図２３Ｂ】図２３Ｂは、上記の異常監視サーバにおける、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【発明を実施するための形態】
【００１２】
（本開示の基礎になった知見等）
Ｖ２Ｘネットワークで行われる通信は、車両が通信する相手に基づいていくつかの種類に細分化できる。一例としては車車間（Vehicle-to-vehicle、以下ではＶ２Ｖと表記する）通信がある。Ｖ２Ｖ通信では、例えば先行車の速度の情報が後続車にリアルタイムで伝えられ、後続車ではその情報が車間距離又は速度の調整に利用され得る。また、緊急走行中の緊急車両と走行中の一般の車両との間で情報をやり取りすることにより、一般の車両は緊急車両が走行する経路を避ける、又は緊急車両が混雑しつつある経路を避けることができる可能性がある。他の例としては、路車間（Vehicle-to-roadside-Infrastructure、以下ではＶ２Ｉと表記する）通信がある。Ｖ２Ｉ通信での車両の通信相手は、各種の路側機である。ここでの路側機とは、交通基盤システムの設備として道路又はその近傍に設置される機器を指し、例えば信号機、ＥＴＣ（Electronic Toll Collection）ゲート、交通量計測機、自動速度違反取締装置、及び高度道路交通システム（Intelligent Transport Systems、以下ではＩＴＳと表記する）又は新交通管理システム（Universal Traffic Management System、以下ではＵＴＭＳと表記する）等の情報化された交通基盤で用いられるその他の各種の機器である。これらの機器の中には、情報化以前は通信機能を有さなかったものであっても、走行車両との情報のやり取りのために通信機能が備えられるようになったものもある。その他、ＬＴＥ等の移動通信回線によるインターネット上の情報取得又はサービスの享受のための通信もＶ２Ｎ（Vehicle-to-cellular-Network）通信としてＶ２Ｘの一態様に数えられる。
【００１３】
Ｖ２Ｘネットワークでのこのような情報の取得と提供は、上記の例にもあるような交通の安全の強化及び利便性の向上を目的とするものである。ところが、Ｖ２Ｘネットワークでやり取りされるデータは、このような有用な情報のデータとは限らない。サイバー攻撃を受けて、又は故障のために異常が発生しているノードから、虚偽の情報又は不正なコマンドといった、他ノードの情報処理機器での判断を撹乱したり誤動作を招いたりして、異常を拡大させるような情報のデータが送信されることも起こり得る。
【００１４】
このような異常の発生又は拡大を抑えるために、例えばネットワークを流れるデータを監視して異常を検知するシステム（以下、異常監視システムともいう）がＶ２Ｘネットワーク上に置かれる。異常監視システムは、例えば正常な状態で走行する車両から収集されたセンサデータ又は制御データのログを用いた機械学習によって作成又は更新（以下では、作成と更新とを特に区別せず、単に作成ともいう）された正常モデル等の異常検知モデルと、ネットワークを流れるデータの内容又は送信パターンとを比較し、その差異に基づいて異常を検知する。ここでのデータの異常に関する判定の精度は、異常検知モデルの精度に左右される。例えば正常モデルは、異常が発生していない状況で走行している車両から収集されたデータを用いて作成される。ここで、データが車両で異常が発生していた時のデータであるか否かの区別は、例えば車載ネットワークに異常判定機能を持つＥＣＵ（Electronic Control Unit）が接続されていれば、このＥＣＵによる判定に基づいて可能である。したがって、そのデータを正常モデルの作成等に使用するか否かの判断も可能である。
【００１５】
しかしながら、Ｖ２Ｘ通信によって周辺のノードから受信したデータも用いて制御又はセンシングが行われる車両のセンサデータ又は制御データは、異常が検知されていない時に当該車両で生成されたデータであっても、その周辺のノードでは当該データが生成されたときに異常が発生していた場合にはその異常の影響を受けている可能性がある。場合によっては、本来は異常と判定されるべき状態であるにも拘わらず、異常が発生している周辺のノードに関する情報の影響で正常と判定されていることも起こり得る。したがって、Ｖ２Ｘ通信に対応する車両が普及するにつれて、異常が検知されていない車両からのデータに基づいて作成した正常モデルであっても、異常判定の精度が低下するおそれがあるという問題がある。
【００１６】
このような問題に鑑みて、本発明者らは、Ｖ２Ｘネットワークで収集されたデータから、目的の異常検知モデルの作成に適した学習データを選定する仕組みに想到した。
【００１７】
本発明の一態様に係る異常判定装置は、Ｖ２Ｘネットワークにおける監視対象である第一ノードに含まれる、プロセッサを含む異常判定装置であって、前記プロセッサは、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、前記Ｖ２Ｘネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、前記異常情報が付加された前記ログ情報を、前記Ｖ２Ｘネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行する。
【００１８】
これにより、異常監視システムが用いる異常検知モデルの作成に供される学習データとして用いられるログ情報に、周辺の通信相手である周辺ノードからの悪影響がある可能性の有無を示す情報を添えることができる。なお、ここでの周辺とは、Ｖ２Ｖ通信又はＶ２Ｉ通信が可能な程度の距離範囲を指し、その上限は例えば数十メートル〜数百メートル程度の範囲である。
【００１９】
また例えば、第二ノード情報は、前記第二ノードにおいて実行された、前記第二ノードのセンサデータ又は制御データの少なくとも一方に基づく前記第二ノードにおける異常の発生の有無に関する判定の結果を含み、前記第二異常判定は、前記第二ノード情報が含む前記結果を取得することで実行されてもよい。または、第二ノード情報は、前記第二ノードのセンサデータ又は制御データの少なくとも一方を含み、前記第二異常判定は、前記第二ノード情報が含む前記センサデータ又は制御データの少なくとも一方に基づいて実行されてもよい。
【００２０】
このように、周辺ノードからの悪影響がある可能性の有無を示す情報は、ログ情報を送信するノード又はその周辺ノードによって提供される。また例えば、第二ノード情報は、前記第二ノードにおいて異常が発生した判定の結果を含む場合、さらに前記第二ノードにおいて発生した異常の種類に関する判定の結果を含んでもよい。または、前記第二異常判定は、発生した異常の種類に関する判定を含み、前記異常情報は、前記発生した異常の種類をさらに示してもよい。
【００２１】
これにより、異常検知モデルを作成するための機械学習の手法に応じた学習データログ情報の使い分けが可能になる。
【００２２】
また例えば、前記第一ノードは、前記Ｖ２Ｘネットワークを構成する他のノードと通信可能な車載ネットワークシステムを備える車両であってもよい。これにより、ログ情報として送信されるデータが発生したノードにおいて、そのノードの周辺ノードでの異常の発生の有無に関する情報が取得される。このようにして取得される情報は、学習データ生成サーバなどで状況証拠的な情報から事後的になされる異常発生の有無の判定よりも精度が確保されやすい。また、多くのデータを収集する学習データ生成サーバの負荷を抑えることができる。
【００２３】
また例えば、前記ログ情報送信ステップで送信される前記ログ情報は、前記ログ情報を用いて、前記Ｖ２Ｘネットワークにおける監視システムで異常検知に用いられる異常検知モデルを作成するノードに送信されてもよい。
【００２４】
これにより、各ノードの周辺ノードにおける異常発生の有無に基づいて使い分けが可能なログ情報を学習データとして用いた異常検知モデルの作成が可能になる。
【００２５】
また、本発明の一態様に係る異常検知モデル作成サーバは、処理部を備えるサーバであって、前記処理部は、Ｖ２Ｘネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、取得した前記ログ情報から所定の情報を選定する情報選定ステップと、選定した前記所定の情報を学習データとして用いて、前記Ｖ２Ｘネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行し、前記ログ情報は、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定する。
【００２６】
これにより、周辺ノードでの異常の悪影響の可能性の有無を示す情報を含むログ情報を学習データに用いた機械学習を実行して異常検知モデルを作成することができる。
【００２７】
また、前記情報選定ステップにおいて、異常の無いことを示す前記第一異常情報及び異常の無いことを示す前記第二異常情報に対応付けられている状態情報を前記所定の情報として選定し、前記モデル作成ステップにおいて、選定された前記所定の情報を学習データとして用いて、正常モデルを前記異常検知モデルとして作成してもよい。または、前記情報選定ステップにおいて、異常があることを示す前記第一異常情報及び異常があることを示す前記第二異常情報の少なくとも一方に対応付けられている状態情報を前記所定の情報として選定し、前記モデル作成ステップにおいて、選定された前記所定の情報を教師あり学習データとして用いて、前記異常検知モデルを作成してもよい。
【００２８】
これにより、ログ情報に付加される異常発生の有無に応じて機械学習の手法を使い分けることができ、より高精度の異常検知が実行可能な異常検知モデルを得ることができる。
【００２９】
また、本発明の一態様に係るプログラムは、Ｖ２Ｘネットワークにおける監視対象である第一ノードに含まれる異常判定装置が含むプロセッサで実行されるプログラムであって、前記プロセッサによって実行されることにより前記異常判定装置に、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報とを含むログ情報を取得するログ情報取得ステップと、前記時刻における前記第一ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップと、前記Ｖ２Ｘネットワークにおける監視対象である他のノードであって、前記第一ノードの周辺にある第二ノードから取得した前記第二ノードの異常に関する第二ノード情報に基づいて、前記時刻における前記第二ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップと、前記第二異常判定の結果が前記第二ノード上での異常の発生を示す場合、前記ログ情報に、前記第二ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップと、前記異常情報が付加された前記ログ情報を、前記Ｖ２Ｘネットワークを構成する少なくとも一部のノードに送信するログ情報送信ステップとを実行させる。
【００３０】
これにより、異常監視システムが用いる異常検知モデルの作成に供される学習データとして用いられるログ情報に、周辺ノードからの悪影響がある可能性の有無を示す情報を添えることができる。
【００３１】
また、本発明の一態様に係るプログラムは、サーバが備える処理部によって実行されるプログラムであって、前記処理部によって実行されることにより前記サーバに、Ｖ２Ｘネットワークにおける監視対象である第一ノードで生成されたログ情報を取得するログ情報取得ステップと、取得した前記ログ情報から所定の情報を選定する情報選定ステップと、選定した前記所定の情報を学習データとして用いて、前記Ｖ２Ｘネットワークにおいて前記第一ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップとを実行させ、前記ログ情報は、時刻と、前記第一ノード上のセンサデータ又は制御データの少なくとも一方が示す、前記時刻における前記第一ノードの状態情報と、前記時刻における前記第一ノード上の異常の有無を示す第一異常情報と、前記時刻における前記第一ノードの周辺にあって前記第一ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含み、前記情報選定ステップにおいて、前記第一異常情報及び前記第二異常情報に基づいて前記所定の情報を選定させる。
【００３２】
これにより、周辺ノードでの異常の悪影響の可能性の有無を示す情報を含むログ情報を学習データに用いた機械学習を実行して異常検知モデルを作成することができる。
【００３３】
なお、以下で説明する実施の形態は、本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する趣旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また実施の形態及びその変形例の各々の内容を、矛盾の生じない限りにおいて組み合わせることもでき、本発明の技術的範囲に含まれる。
【００３４】
（実施の形態）
［１．Ｖ２Ｘネットワークの概要］
まず、本発明に係る技術が適用可能なＶ２Ｘネットワークの概要を説明する。図１は、Ｖ２Ｘネットワークの概要を説明するための図である。
【００３５】
Ｖ２Ｘネットワーク１を構成するノードには、車両１０Ａ、１０Ｂ及び１０Ｃ、信号機３０Ａ、車速計測機３０Ｂ、基地局４０、並びに異常監視サーバ５０が含まれる。なお、以下では、車両１０Ａ、１０Ｂ及び１０Ｃをまとめて、又は特に区別せず任意の１つ以上を指して車両１０と表記することがある。また、信号機３０Ａ及び車速計測機３０Ｂをまとめて、又は特に区別せず一方を指して路側機３０と表記することがある。
【００３６】
車両１０は、車両１０同士のＶ２Ｖ通信及び路側機３０とのＶ２Ｉ通信を行い、例えばＢＳＭ（Basic Safety Message）等の所定のメッセージセットを用いてデータを送受信する。また、車両１０は、基地局４０を通じてインターネット等の通信ネットワーク２０に接続し、異常監視サーバ５０とＶ２Ｎ通信を行う。車両１０から異常監視サーバ５０へは、車両１０が備える車載ネットワークシステム１００上の通信データ、例えばセンサデータ又は制御データが示す内容を含むログが送信される。
【００３７】
異常監視サーバ５０から車両１０へは、車載ネットワークシステム１００内の異常検知に利用可能なデータ、例えば車両上で実行される異常検知に用いられる異常検知モデルが送信される。なお、この異常検知モデルは、各車両１０から送信されたログを学習データとして用いた機械学習によって作成されたものである。また、この例では、路側機３０と異常監視サーバ５０との間でもデータのやり取りがなされてもよい。例えば、路側機３０から異常監視サーバ５０へは、路側機３０のシステム上の通信データ、異常監視サーバ５０から路側機３０へは、路側機３０による異常検知に利用可能な異常検知モデルが送信される。
【００３８】
また、Ｖ２Ｘネットワーク１において、車両１０は異常監視サーバ５０による監視の対象である。より具体的には、異常監視サーバ５０は、車両１０がＶ２Ｘネットワーク１に流すデータに対して、サイバー攻撃又は故障による異常検知を実行して車両１０に異常が発生したか否かを判定している。また、路側機３０は、異常監視サーバ５０による監視の対象でもあるが、それぞれの本来の機能、つまり信号機又は車速計測機としての機能に加えて他のノードを監視する機能を有し、車両１０を監視の対象としている。Ｖ２Ｘネットワーク１では、このように役割の異なる複数のノードによって異常監視システムが構築されているともいえる。
【００３９】
［２．ノードの構成］
次に、Ｖ２Ｘネットワーク１を構成する上記の各種ノードのうち、車両１０、路側機３０、及び異常監視サーバ５０の構成について説明する。
【００４０】
［２−１．車両］
各車両１０は、他のノードと上述のようなＶ２Ｘ通信が可能な車載ネットワークシステムを備える。図２は、車両１０が備える車載ネットワークシステムの一例である、車両１０Ａが備える車載ネットワークシステム１００の構成を示すブロック図である。
【００４１】
車載ネットワークシステム１００は、例えば少なくとも一部がＣＡＮ（Controller Area Network）の規格に沿って構築され動作するシステムであり、外部通信装置１１０と、車両１０の内部と外部、及び機能系統ごとのネットワーク間でのデータを中継するゲートウェイ１２０と、これらの機能系統ごとのネットワークである情報系ネットワーク１３０及び制御系ネットワーク１４０とを備える。なお、情報系ネットワーク１３０及び制御系ネットワーク１４０は、車載ネットワークシステム１００に含まれ得る機能系統のネットワークの例であり、これらに限定されない。また、本発明に係る技術は、機能系統による分化がなされていないネットワークシステムにも適用可能である。また、Ｅｔｈｅｒｎｅｔ（登録商標）等のＣＡＮ以外の規格に準拠したネットワーク上のシステム、またはＣＡＮ及びＥｔｈｅｒｎｅｔ等の異なる規格に準拠する部分が併存するネットワークシステムにも適用可能である。
【００４２】
外部通信装置１１０は、Ｖ２Ｘネットワーク１における車両１０Ａとは別のノードである車両１０Ｂ及び１０Ｃ、路側機３０（図２では省略）並びに基地局４０との通信を行うインタフェースであり、Ｖ２Ｘ通信に使用される各種の通信規格に対応する通信モジュールで実現される。
【００４３】
ゲートウェイ１２０は、上記のデータの中継の機能が実装されたＥＣＵで実現される。また、ゲートウェイ１２０は、このＥＣＵ上で実現され得る後述の異常判定装置１２５を機能的に含む。
【００４４】
情報系ネットワーク１３０は、二重線で示されるバス線及び当該バス線に接続される複数のＥＣＵ１３１、１３２及び１３３で構成され、制御系ネットワーク１４０は、バス線及び当該バス線に接続される複数のＥＣＵ１４１、１４２及び１４３で構成されている。各ＥＣＵには、バス線に接続されるインタフェースとは別のインタフェースに、センサ又はアクチュエータ等の機器（図示なし）が接続されている。センサでの計測によって得られたセンサデータはＥＣＵ内部で利用されたり、他のＥＣＵでの利用のためにバス線に出力されたりする。アクチュエータが接続されているＥＣＵは、このようなセンサデータが示す情報に応じて、又は他のＥＣＵからバス線を介して取得する制御データに従ってアクチュエータを制御する。また、車載ネットワークシステム１００では、このようなセンサデータ又は制御データは、ゲートウェイ１２０でも受信されて、ゲートウェイ１２０が含む異常判定装置１２５による異常判定の対象となる。図３は、異常判定装置１２５の機能的な構成例を示すブロック図である。
【００４５】
異常判定装置１２５は、車載ネットワークシステム１００で異常の発生の有無を判定する（異常判定）。この異常判定の処理には、例えばデータフレームの送信パターン及びデータの内容のいずれか又はその両方に基づく手法、ＭＡＣ（Message Authentication Code）等のメッセージ認証技術を利用する手法、上述の異常検知モデルを利用する手法等の各種の手法、又はこれらの組み合わせが利用可能である。異常判定装置１２５の構成例を図３のブロック図に示す。
【００４６】
異常判定装置１２５は、データ受信部１２５１、ログ情報取得部１２５２、データ送信部１２５３、蓄積部１２５４及び異常判定部１２５５を備える。
【００４７】
データ受信部１２５１は、車載ネットワークシステム１００上で送信されたセンサデータ又は制御データを受信する。
【００４８】
ログ情報取得部１２５２は、データ受信部１２５１が受信したデータの内容と、タイマ（図示なし）から取得する当該データの受信時刻の情報とを対応付けて、ログ情報として蓄積部１２５４に蓄積する。このようにして蓄積部１２５４に蓄積されたログ情報のデータの構成の一例を図４に示す。図４に示される例では、各行において、タイマから取得された時刻は「時刻」の欄に、データ受信部１２５１が受信したデータの内容は「車内状態情報」の欄に、互いに対応付けられて格納されている。ログ情報として格納されたデータの内容とは、図４にはその例として速度及び加速度が示されているがこれらに限定されない。例えば、ヨーレート、シフトポジション、操舵角、エンジン回転数、アクセル開度等の車両１０が備えるセンサで測定された測定値、その測定値に基づいて実行された判定の判定値、発行された制御指示等、各種の情報が時系列でログ情報として格納され得る。また、この例では、さらにこの時刻における車両１０Ａの位置情報が格納されている。このような位置情報は、例えば車載ネットワークシステム１００に接続されるカーナビゲーションシステム又はスマートフォン等が備える測位システムの受信モジュールから提供され得る。
【００４９】
異常判定部１２５５は、蓄積部１２５４に蓄積されたログ情報に示される時刻における車載ネットワークシステム１００上での異常の発生の有無に関する判定を実行する。この異常判定は、例えばログ情報に含まれるセンサデータ又は制御データの内容、又は車載ネットワークシステム１００上にある別の情報を用いて、上述の各種の手法によって実行されてもよい。異常判定部１２５５は、この異常判定の結果を、該当のログ情報に付加する。このような異常判定の結果が付加されたログ情報のデータの構成の一例を図５に示す。図５に示される例では、各行に格納されていたログ情報に含まれる時刻における車両１０Ａでの異常判定の結果が、「車内異常判定」の欄に格納されている。また、この例ではさらに、異常判定の結果、異常が発生していた場合（「車内異常判定」の欄の値が「異常」である行を参照）に、当該異常の発生場所が異常の種別の情報として格納されている（「車内異常種別」の欄を参照）。このように、異常判定部１２５５は、発生した異常に関するさらなる詳細な情報を取得してログ情報に付加してもよい。
【００５０】
また、異常判定部１２５５は、Ｖ２Ｖ通信又はＶ２Ｉ通信で周辺ノードから取得される情報に基づく異常判定を行い、その異常判定の結果をさらにログ情報に付加する。このように他のノードの異常判定の結果が付加されたログ情報のデータの構成の一例を図６に示す。図６に示される例では、各行に格納されていたログ情報に含まれる時刻における、車両１０Ａの周辺ノードでの異常判定の結果が、「周辺ノード異常判定」の欄に、同行の各情報と対応付けて格納されている。また、この例ではさらに、異常判定の結果、異常が発生していた場合（「周辺ノード異常判定」の欄の値が「異常」である行を参照）に、当該異常が発生したノード又はさらにノード内で異常の発生場所を示す情報が、異常の種別の情報としてさらに対応付けて格納されている（「周辺ノード異常種別」の欄を参照）。ただし、ここで情報が時刻に対応付けられる他のノードにおける異常は、その時刻から近い所定の時間（例えば数秒以内〜１分以内）に発生したか又は検知されたものであればよく、厳密な同時性までは要求されない。また、時間的な条件が満たされるのであれば、１つの時刻の車内異常に対して周辺ノードの異常判定に関する情報が複数件対応付けられてもよい。周辺ノードの異常判定については後述する。
【００５１】
なお、本明細書では説明の便宜上、図４に示すようなある時刻における車内状態の情報のみならず、図５又は図６のように、異常判定部１２５５によって付加された自ノード又は周辺ノードでの異常に関する情報も含めてログ情報、そのデータをログと称することがある。また、Ｖ２Ｘネットワークにおいて、異常監視サーバ５０の監視対象である各車両１０は本実施の形態における第一ノードの例であり、第一ノードと通信をする周辺ノードは本実施の形態における第二ノードの例である。第二ノードもまた異常監視サーバ５０の監視対象であってもよい。
【００５２】
また、図４から図６において、一行に格納されて対応付けられた情報のまとまりを指して以下ではレコードともいう。例えば図６に示されるログの各レコードには、厳密にではないがある時刻における、あるノード（例えば車両１０Ａ）の位置、センサデータ又は制御データ由来の当該ノードの状態、当該ノードにおける異常の有無の判定結果及び異常がある場合その種別、並びに当該ノードの周辺ノードにおける異常の有無の判定結果及び異常がある場合その種別が含まれる。
【００５３】
蓄積部１２５４は、上記のログ情報のデータの保存場所である。
【００５４】
データ送信部１２５３は、異常判定部１２５５が実行した車載ネットワークシステム１００上での異常判定の結果を、例えば外部通信装置１１０を介するＶ２Ｖ通信又はＶ２Ｉ通信によって周辺ノードに送信する。データ送信部１２５３によるこの異常判定の結果の送信は、判定の度に実行されてもよいし、定期的に実行されてもよい。また、異常が検知された場合の判定の結果のみが送信されてもよい。周辺ノードに送信される情報には、少なくとも異常の発生の有無が含まれ、さらに、異常の種別、対応する時刻、又は車両１０Ａを一意に識別するＩＤが含まれてもよい。また、データ送信部１２５３は、外部通信装置１１０を介するＶ２Ｎ通信によって、蓄積部１２５４に蓄積されたログ情報のデータを異常監視サーバ５０に送信する。このように車両１０から異常監視サーバ５０に提供されるログ情報は、異常監視サーバ５０における異常判定に用いられる異常検知モデルを作成するための機械学習の学習データとして利用される。
【００５５】
このような異常判定装置１２５は、本実施の形態の例では、ゲートウェイ１２０を実現するＥＣＵのマイクロコントローラのプロセッサで所定のプログラムが実行され、メモリでデータが読み書きされ、タイマから時刻情報が取得され、入出力部からデータの送受信を行われることで実現される。なお、異常判定装置１２５の実現の態様はこの例に限定されず、例えば車載ネットワークシステム１００に接続されるゲートウェイ以外の一ＥＣＵその他の装置の一部若しくは全体で実現されてもよい。また例えば、上述した異常判定装置１２５の各構成要素の機能が、車載ネットワークシステム１００上の複数のＥＣＵ、記憶装置等の組み合わせによって分担される形で実現されてもよい。
【００５６】
なお、車両１０Ａが含む、制御系ネットワーク１４０による制御の対象である駆動系統等、自動車としての走行に関する構成要素（図示なし）は、本実施の形態に係る異常監視の技術との関連性は高くないため説明を省略する。
【００５７】
また、周辺ノードである車両１０の異常判定についてさらに説明する。車両１０Ｂ及び１０Ｃも、Ｖ２Ｘネットワーク１における通信が可能な車載ネットワークシステムを車両１０Ａと同様にそれぞれ持ち得る。そして、例えば車両１０Ｂが車両１０Ａと同様に異常判定装置１２５を備えていれば、車両１０Ａは車両１０Ｂで実行された異常判定の結果を受信し、その結果に基づいて周辺ノードで異常の発生があったか否かを判定することができる。また、さらに、車両１０Ｂから受信した情報に発生した異常の種別に関する情報が含まれていれば、車両１０Ａはこの情報に基づいて周辺ノードで発生した異常の種別に関する判定をすることができる。いずれについても、基本的には受信した情報に示される結果のままの判定がなされればよい。
【００５８】
ただし、Ｖ２Ｘネットワーク１に接続する車両１０すべての車載ネットワークシステムが常に上記で説明した車載ネットワークシステム１００と同等に機能するとは限らない。例えば、車両１０Ｂが車両１０Ａと同様に備える異常判定装置１２５が故障している場合、また、車両１０Ｃの車載ネットワークシステムは異常判定装置１２５と同等の機能を欠いている場合が想定される。つまり車両１０Ａは、車両１０Ｂ及び車両１０Ｃから異常判定の結果を受信できない。このような車両１０Ｂ及び車両１０Ｃからは、異常判定の結果を含まない車内の状態を示す情報、例えば図４のリストの各行に示されるような情報が周辺ノードに送信されてもよい。この情報を受信した周辺ノードである車両１０Ａでは、異常判定部１２５５が車載ネットワークシステム１００上の異常について判定したのと同様に、受信した車両１０Ｂ又は車両１０Ｃの状態を示す情報に基づいて異常の発生の有無を判定する。また、周辺ノードで発生した異常の種別についての判定をさらにしてもよい。
【００５９】
なお、上記以外に、周辺ノードである車両１０の異常に関する情報を路側機３０から取得する経路もあるが、これについては後述する。
【００６０】
いずれのパターンであっても、異常判定装置１２５に相当する機能を備える車載ネットワークシステムでは、異常判定部１２５５によって自車両の状態の情報の取得及び異常の有無の判定、並びに周辺ノードにおける異常の有無についての判定が、例えば一定周期で反復的に実行されて図６に示されるような構成のログ情報のデータが生成される。また、このデータがデータ送信部１２５３によって異常監視サーバ５０に送信される。
【００６１】
［２−２．路側機］
各路側機３０は、上述のとおりそれぞれの本来の機能、つまり図１の例では、路側機３０のうち、信号機３０Ａは信号機、車速計測機３０Ｂは車速計測機等としての機能を当然ながら備える。ただし本実施の形態における路側機３０は、さらに他のノードを監視する監視ノードとしての機能を有し、車両１０を監視の対象としている。以下では路側機３０の、他のノードを監視する機能を実現するための構成について説明する。
【００６２】
図７は、Ｖ２Ｘネットワーク１における路側機３０の構成例を示すブロック図である。路側機３０は、データ受信部３１、データ送信部３３、蓄積部３４及び異常判定部３５を備える。
【００６３】
データ受信部３１及びデータ送信部３３は、Ｖ２Ｘネットワーク１における路側機３０とは別のノードである車両１０及び異常監視サーバ５０等との通信を行うインタフェースであり、Ｖ２Ｘ通信に使用される各種の通信規格に対応する通信モジュールで実現される。蓄積部３４は路側機３０が備える情報処理システムの記憶装置で、異常判定部３５は当該情報処理装置のプロセッサで所定のプログラムが実行されることで実現される。
【００６４】
データ受信部３１は、通信ネットワーク２０を介して異常監視サーバ５０から、例えば異常検知に用いられる異常検知モデルを取得する。またデータ受信部３１は、車両１０からログ情報のデータを受信する。ここで車両１０から送信されるログ情報のデータは、車両１０の状況に応じて、図４から図６のいずれかに示されるデータ構成を持ち得る。
【００６５】
異常判定部３５は、この異常検知モデルを用いて、ログ情報に基づく車両１０の異常判定を行う。この異常判定部３５による異常判定は、車両１０における異常判定装置１２５の異常判定部１２５５による他ノードの異常判定に相当する。また、異常判定部３５は、異常判定部１２５５による自ノードの異常判定に相当する異常判定、つまり路側機３０内のシステムの異常判定も実行する。
【００６６】
データ受信部３１が受信した異常検知モデル及びログ情報、異常判定部３５により自ノード又は他ノードの異常判定に関する情報が付加されたログ情報のデータは、蓄積部３４に蓄積される。
【００６７】
また、異常判定に関する情報は、データ送信部３３によって車両１０に送信される。なお、ここで路側機３０から異常判定に関する情報を取得する車両１０とは、例えば上記のログ情報のデータの送信元である車両１０に限定されず、その周辺ノードである車両１０も受信して取得してもよい。
【００６８】
つまり、各車両１０の状態を示す情報に基づく異常の発生の有無の判定は、自ノード、又は周辺ノードである他の車両１０若しくは路側機３０によって行われ得る。また、各車両１０は、周辺ノードである他の車両１０の異常判定の結果を、当該周辺ノードから取得した判定結果若しくは状態情報に基づいて、又は第三者的な周辺ノードである路側機３０から取得した判定結果に基づいて取得する。
【００６９】
Ｖ２Ｘネットワーク１では、監視対象のノードである車両１０から収集される、各車両の状態を時系列で示すログ情報を用いた機械学習によって異常検知のためのモデルが作成される。ここで、ログの各レコードに含まれる、各時点における車両１０の状態又は異常判定の結果は、異常があった周辺ノードに関する情報の影響を受けている可能性がある。そして、そのような影響を受けている時のレコードと受けていない時のレコードとを、学習データとしては区別して用いることで、より精度の高い異常判定を可能にする異常検知モデルが得られる。従来想定されているログ情報では、周辺ノードでの異常の有無は、使用する学習データの選定時に各ノードから収集したログ情報が示す時刻及び位置を手掛かりに判定される。しかしながら、このような手法では、収集した大量のログから学習データの選定処理を行う情報処理装置の処理負荷が大きく、周辺ノードでの異常の発生の有無の判定の正確さも不確かであった。そこで、上記のように車両１０でログ情報が取得される実際の場所及び時間で、車両１０に各種の経路で周辺ノードの異常の有無の判定結果を取得させてログ情報に付加ことを可能にすることで、周辺ノードの異常に関して、異常監視サーバ５０で判定をするよりも正確な情報をログ情報に対応付けることができ、また、収集されたログからの学習データの選定処理の負荷を抑えることができる。
【００７０】
なお、理想的には車両１０から収集されるログのすべてが図６に示されるような形式のデータであれば、学習データを選定する情報処理装置の負荷は大きく削減される。しかしながら、上記のような手法で、自ノード又はさらに周辺ノードの異常の有無に関する情報を付加したログを提供する車両１０が普及途上にある過渡期であって、図４から図６に示される各形式のログが混在する時期であっても、その中で図６に示される形式のログが手掛かりとなって情報処理装置での学習データの選定の負荷は削減され得る。
【００７１】
このように学習データを選定する情報処理装置はこの選定処理専用のものでもよいが、本実施の形態の例では、異常監視サーバ５０がログの収集から、学習データの選定、異常検知モデルの作成、異常検知モデルを用いた異常判定による監視までを行う。次に、異常監視サーバ５０の構成について説明する。
【００７２】
［２−３．異常監視サーバ］
図８は、Ｖ２Ｘネットワーク１における異常監視サーバ５０の構成例を示すブロック図である。
【００７３】
異常監視サーバ５０は、データ受信部５１、学習データ選定部５２、学習部５３、蓄積部５４及び異常判定部５５を備える。
【００７４】
データ受信部５１は、監視対象である各ノードからＶ２Ｘネットワーク１を介してデータを受信する。
【００７５】
学習データ選定部５２は、受信したログから学習データとして用いるものを選定する。例えば、車内も周辺ノードも「正常」と判定されているレコードのみを正常モデル作成のための学習データとして選定する。
【００７６】
学習部５３は、学習データ選定部５２が選定した学習データを用いて学習を実行して異常検知モデルを作成する。
【００７７】
蓄積部５４は、データ受信部５１が受信したログ及び学習部５３が作成した異常検知モデルを保存する。
【００７８】
異常判定部５５は、蓄積部５４に保存されている異常検知モデルを読み出し、この異常検知モデルを用いて異常検知・判定（本明細書では単に異常判定ともいう）を行う。なお、異常判定にはその目的に応じて２種類ある。ひとつは、監視対象のノードから図４に示されるような異常判定の結果を含まないログを受信した場合に、このログに対して異常検知モデル作成のための学習データの選定に利用可能な判定の結果を取得することを目的として行われるものである。他のひとつは、監視対象のノードから送信される各種のデータに対してＶ２Ｘネットワーク１の監視の目的で実行される異常判定である。
【００７９】
なお、図８では省略したが、異常監視サーバ５０はさらに送信部を備えて、作成された異常検知モデルは上述のとおり、自ノード又は周辺ノードの異常判定を行う各ノードに送信されてもよい。
【００８０】
このような異常監視サーバ５０は、通信モジュール、記憶装置、所定のプログラムを実行する処理部（プロセッサ）を含む１台以上のコンピュータで実現される。複数台のコンピュータで実現される場合には、これらが一か所で協働してもよいし、互いに遠隔にあってインターネット等の通信ネットワークを経由してデータをやり取りして協働してもよい。
【００８１】
異常監視サーバ５０において実行される処理の手順については後述する。
【００８２】
［３．監視対象ノードでの処理及びＶ２Ｘネットワークでのデータの流れ］
次に、Ｖ２Ｘネットワーク１の監視対象であるノードでの処理手順及びデータの流れについて、従来の場合にも触れながら本実施の形態を説明する。
【００８３】
［３−１．車両で他ノードの異常に関する判定を扱わない場合］
図９は監視対象のノードである車両１０Ａから異常監視サーバ５０へのデータのアップロードに関する手順の一例を示すシーケンス図である。なお、この例では、車両１０Ａは、機能上の理由又は通信可能な周辺ノードが存在しないために周辺ノードについての異常判定を実行しないことを想定している。
【００８４】
車両１０Ａでは、ログ情報取得部１２５２が、車載ネットワークシステム１００において各ＥＣＵがバスに送出するデータを受信して車内状態を示すログ情報を取得する（Ｓ１１１）。ここで取得された車両１０Ａの車内状態を示すログ情報を、以下で他のログ情報との区別のために第一ログ情報と称する。図４に示されるデータ構成例のログ情報は、この段階でのログ情報であるともいえる。
【００８５】
次に異常判定部１２５５が、車両１０Ａの車内状態についての異常判定を実行する（Ｓ１１３）。判定結果は、第一ログ情報に付加される。図５に示されるデータ構成例のログ情報は、この段階でのログ情報であるともいえる。この例では、異常を検知して車内で異常が発生していたと判定した場合、異常判定部１２５５はさらにその異常の種別として発生場所を特定し、その結果を第一ログ情報に付加する。車両１０Ａの車内の異常に関するこの判定の結果を、以下では他の判定の結果との区別のために第一判定結果と称する。ただし、第一判定結果には少なくとも異常の発生の有無に関する判定結果が含まれればよく、異常の種別に関する情報は必須ではない。このようにして、第一ログ情報に第一判定結果が付加された内容の、異常監視サーバ５０にアップロードするデータ（ログ）が異常判定部１２５５によって生成される（Ｓ１１５）。ステップＳ１１５で生成されたデータは、データ送信部１２５３によって異常監視サーバ５０に送信される（Ｓ１１９）。
【００８６】
監視対象のノードである車両１０Ａにおいてこのようにして生成されたログ情報のデータを受信した異常監視サーバ５０では、学習データ選定部５２が、当該データの各レコードに含まれる車両１０Ａの時刻及び位置の情報を手掛かりに、他のノードから受信した大量のログから車両１０Ａの状態に影響を与えた可能性がある異常が発生していたノードを検索する。学習データ選定部５２はこの検索によってログの各レコードについて周辺ノードの異常の影響を受けていた時のレコードとそうでない時のレコードとを区別し、用途に応じて選定する（Ｓ５１１）。なお、このような検索から選定までの異常監視サーバ５０での処理の負荷は大きい。そして図４に示されるような周辺ノードの情報を含まないデータのみを収集していた従来の異常監視サーバ５０では、受信したログのすべてのレコードについてこの処理を実行することも起こり得る。
【００８７】
［３−２．各車両が周辺ノードでの異常に関する判定結果を収集する場合］
図１０は監視対象のノードである車両１０Ａから異常監視サーバ５０へのデータのアップロードに関する手順の一例を示すシーケンス図である。この例では、車両１０Ａの周辺ノードである車両１０Ｂが、その車載ネットワークシステムに図３に示される異常判定装置１２５に相当する異常判定装置を備えることを想定している。そして車両１０Ａが、車両１０Ｂから車両１０Ｂでの異常の判定結果を取得する点が図９に示す例と異なる。
【００８８】
車両１０Ａにおいて、ログ情報取得部１２５２によって実行されるログ情報取得及び（Ｓ１１１Ａ）及び異常判定（Ｓ１１３Ａ）は、それぞれ図９に示される処理手順のステップＳ１１１及びＳ１１３に相当する。ここまでの段階で、蓄積部１２５４には図５に示される、判定結果（第一判定結果）が付加された構成の第一ログ情報が保存される。
【００８９】
また、車両１０Ｂでは、車両１０ＡでのステップＳ１１１Ａに相当するログ情報の取得（Ｓ１１１Ｂ）が行われる。取得された車両１０Ｂの車内状態を示すログ情報を、上記の第一ログ情報と区別して、以下では第二ログ情報と称する。図４に示されるデータ構成例は、第二ログ情報のデータ構成例でもある。
【００９０】
次に車両１０Ｂでは、車両１０ＡでのステップＳ１１３Ａに相当する車内の異常の判定（Ｓ１１３Ｂ）が実行される。車両１０Ｂの車内の異常に関するこの判定の結果を、第一判定結果と区別して、以下では第二判定結果と称する。第二判定結果も第一判定結果と同様に、少なくとも異常の発生の有無に関する判定結果を含めばよく、さらに異常の種別に関する情報を含んでもよい。
【００９１】
次に、車両１０Ｂから第二判定結果が車両１０Ａに送信される（Ｓ１１９Ｂ）。データ受信部１２５１が第二判定結果を受信した車両１０Ａでは、異常判定部１２５５によって第一ログ情報にさらに第二判定結果が付加され、第一ログ情報に第一判定結果及び第二判定結果が付加された内容の、異常監視サーバ５０にアップロードするデータ（ログ）が生成される（Ｓ１１５Ａ）。このデータは図６に示されるような構成のデータである。つまり、自ノードである車両１０Ａの車内状態情報及び車内異常判定の結果と、周辺ノードである車両１０Ｂの異常判定の結果とが、相互に対応付けられて含まれるデータである。ステップＳ１１５Ａで生成されたデータは、データ送信部１２５３によって異常監視サーバ５０に送信される（Ｓ１１９Ａ）。
【００９２】
図１１は、この例で説明した車両１０Ａの異常判定装置１２５による処理の手順の一例を示すフロー図である。異常判定装置１２５では、データ受信部１２５１が車載ネットワークシステム１００を流れるデータからログ情報（図１０の第一ログ情報）を取得する（Ｓ１１）。ログ情報が取得されると、異常判定部１２５５が、ログ情報が取得された時刻における車両１０Ａの車内における異常検知による異常判定を実行する（Ｓ１２）。この異常判定の結果（図１０の第一判定結果）は、ログ情報に当該ログ情報に対応付けるように付加、例えば同一のレコードに格納される（Ｓ１３）。次に異常判定部１２５５は、所定の時間内に周辺ノードから異常判定の結果（図１０の第二判定結果）を受信しているかを判定する（Ｓ１４）。受信している場合（Ｓ１４でＹＥＳ）には、異常判定部１２５５が第二判定結果をさらに付加（Ｓ１８）したデータ、受信していない場合（Ｓ１４でＮＯ）には、第二判定結果が付与されていない第一ログ情報がデータ送信部１２５３によって異常監視サーバ５０にアップロードされる（Ｓ１９）。車両１０Ａでは、図１１に示される一連の手順が、例えば一定周期で繰り返し実行される。
【００９３】
再び図１０を参照すると、監視対象のノードである車両１０Ａにおいてこのように生成されたログ情報のデータを受信した異常監視サーバ５０では、学習データ選定部５２が、当該データの各レコードに含まれる車両１０Ａの周辺ノードの異常判定の結果の情報に基づいて周辺ノードの異常の影響を受けていた時のレコードとそうでない時のレコードとを区別し、用途に応じて選定する（Ｓ５１１）。これにより、異常監視サーバ５０では、図９に示される例に比べて、小さな処理負荷で学習データの選定を実行し、かつ周辺ノードにおける異常の有無に関する情報はより正確なものが得られる。
【００９４】
なお、図１０の例では、車両１０Ｂから車両１０Ａに異常判定の結果が送信され、車両１０Ａからログが異常監視サーバ５０にアップロードされているが、車両１０Ａから車両１０Ｂにも車両１０Ａでの異常判定の結果が送信され、車両１０Ｂからも図６に示されるような構成のログが異常監視サーバ５０にアップロードされてもよい。このように、異常監視サーバ５０には、Ｖ２Ｘネットワーク１に接続する多くの車両からログが集められ、そのログの中から選定された学習データが異常監視サーバ５０による異常検知モデルの作成に用いられる。異常検知モデルの作成の処理手順については後述する。
【００９５】
また、図１０の例では、車両１０Ａは車両１０Ｂからのみ異常判定の結果を受信しているが、実際には、Ｖ２Ｖ通信が可能な複数の周辺ノードである車両から異常判定の結果を収集し得る。また、複数の周辺ノードから受信した異常判定の結果のうち、第一ログ情報に付加するものが例えば異常判定部１２５５によって選択されてもよい。
【００９６】
［３−３．車両で他のノードにおける異常判定が実行される場合］
図１２は監視対象のノードである車両１０Ａから異常監視サーバ５０へのデータのアップロードに関する手順の他の例を示すシーケンス図である。この例では、車両１０Ａの周辺ノードである車両１０Ｂでは、その車載ネットワークシステムに、異常判定装置１２５のデータ受信部１２５１及びログ情報取得部１２５２に相当するものはあって車内の状態を示す情報が取得されるものの、異常判定部１２５５を欠く又は故障している等の理由で異常判定が行われていないことを想定している。そして車両１０Ａが車両１０Ｂから取得するのは、車両１０Ｂでの異常の判定結果ではなく、車両１０Ｂの車内の状態を示す情報を取得する点が図１０に示す例と異なる。
【００９７】
車両１０Ａにおいて、ログ情報取得部１２５２によって実行されるログ情報取得及び（Ｓ１１１Ａ）及び異常判定（Ｓ１１３Ａ）は、図１０に示されるものと共通の処理手順である。ここまでの段階で、蓄積部１２５４には図５に示される、判定結果（第一判定結果）が付加された構成の第一ログ情報が保存される。
【００９８】
また、車両１０Ｂで行われるログ情報の取得（Ｓ１１１Ｂ）は図１０の例に示されるものと共通の処理である。取得された車両１０Ｂの車内状態を示すログ情報を、以下では図１０の例と同じく第二ログ情報と称する。
【００９９】
次に、車両１０Ｂから第二ログ情報が車両１０Ａに送信される（Ｓ１１７Ｂ）。第二ログ情報を受信した車両１０Ａでは、異常判定部１２５５によって、第二ログ情報に基づく車両１０Ｂの車内での異常判定が実行される（Ｓ１１３Ｂ）。車両１０Ｂの車内の異常に関するこの判定の結果を、図１０の例と同じく以下では第二判定結果と称する。
【０１００】
次に、車両１０Ａでは、異常判定部１２５５によって、第一ログ情報に第一判定結果及び第二判定結果が付加された内容の、異常監視サーバ５０にアップロードするデータ（ログ）が生成される（Ｓ１１５Ａ）。このデータは図１０の例で、ステップＳ１１５Ａで生成されるログと同じく、自ノードである車両１０Ａの車内状態情報及び車内異常判定の結果と、周辺ノードである車両１０Ｂの異常判定の結果とが、相互に対応付けられて含まれるデータである。ステップＳ１１５Ａで生成されたデータは、データ送信部１２５３によって異常監視サーバ５０に送信される（Ｓ１１９Ａ）。
【０１０１】
図１３は、この例で説明した車両１０Ａの異常判定装置１２５による処理の手順の一例を示すフロー図である。図１１のフロー図に示される手順とは、周辺ノードから判定結果を受信していない場合（Ｓ１４でＮＯ）に行われる車両１０Ｂから車内状態情報を受信しているかの判断（ステップＳ１５）と、車内状態情報を受信している場合（ステップＳ１５でＹＥＳ）に、車両１０Ｂでの異常の発生の有無に関する判定（ステップＳ１６）を含む点が異なる。車両１０Ａでは、図１３に示される一連の手順が、例えば一定周期で繰り返し実行される。
【０１０２】
再び図１２を参照すると、車両１０Ａからデータを受信した異常監視サーバ５０では、学習データ選定部５２による学習データの選定（Ｓ５１１）が実行される。これにより、異常監視サーバ５０では、図９に示される例に比べて、小さな処理負荷で学習データの選定を実行し、かつ周辺ノードにおける異常の有無に関する情報はより正確なものが得られる。また、状態情報に基づく異常判定が自ノード上でできない車両が存在する場合にも、対応可能である。
【０１０３】
なお、図１０又は図１２の例では、車両１０Ａが第一ログ情報に異常判定の結果を付加する周辺ノードは、車両１０Ｂであるが、周辺ノードは車両１０に限定されず、路側機３０での異常判定の結果であってもよい。車両１０Ａは図１０の例では車両１０Ｂで実行されたように路側機３０で実行された異常判定の結果の提供を受け、その判定の結果を第一ログ情報に付加してもよい。また、図１２の例では車両１０Ｂから車両１０Ｂの内部の状態を示す情報を受信したように、車両１０Ａは路側機３０内部の状態を示す情報を受信して、この情報に基づいて実行した路側機３０の異常の有無を判定の結果を第一ログ情報に付加してもよい。図１４は、後者の場合に車両１０Ａから異常監視サーバ５０へのデータのアップロードに関する手順の他の例を示すシーケンス図である。図１４に示す例は、路側機３０から車両１０Ａへは車両１０Ｂの第二ログ情報に相当する路側機状態情報が送信されている点（Ｓ１３７）、この路側機状態情報に基づいて、車両１０Ａの異常判定部１２５５が路側機３０における異常判定をしている点（Ｓ１３３）、異常監視サーバ５０へ送信されるデータは、第一ログ情報に第一判定結果と、車両１０Ｂに関する第二判定結果に相当する、路側機３０に関する第三判定結果とを付加したものである点が異なる。
【０１０４】
［３−４．周辺ノード間で行われた異常判定結果が収集される場合］
図１５は監視対象のノードである車両１０Ａから異常監視サーバ５０へのデータのアップロードに関する手順のさらに他の例を示すシーケンス図である。この例では、図１２に示す例と同様に車両１０Ａの周辺ノードである車両１０Ｂにおいて、異常判定部１２５５を欠く又は故障している等の理由で異常判定が行われていないことを想定している。しかしながら、車両１０Ｂの状態情報に基づいて異常判定を実行するのが車両１０Ａではなく路側機３０であり、その判定の結果が路側機３０から車両１０Ａに提供される点が図１２に示す例と異なる。
【０１０５】
車両１０Ａにおいて、ログ情報取得部１２５２によって実行されるログ情報取得及び（Ｓ１１１Ａ）及び異常判定（Ｓ１１３Ａ）は、それぞれ図９に示される処理手順のステップＳ１１１及びＳ１１３に相当する。ここまでの段階で、蓄積部１２５４には図５に示される、判定結果（第一判定結果）が付加された構成の第一ログ情報が保存される。
【０１０６】
また、車両１０Ｂで行われるログ情報の取得（Ｓ１１１Ｂ）は図１０及び図１２の例に示されるものと共通の処理である。取得された車両１０Ｂの車内状態を示すログ情報を、以下では上記の例と同じく第二ログ情報と称する。
【０１０７】
次に、車両１０Ｂから第二ログ情報が路側機３０に送信される（Ｓ１１７Ｂ）。この例における路側機３０は車両１０Ａの異常判定部１２５５に相当する機能を備え、第二ログ情報を受信すると、図１２の例に示す車両１０ＡでのステップＳ１１３Ｂに相当する第二ログ情報に基づく車両１０Ｂの車内での異常判定を実行する（Ｓ１３３Ｂ）。車両１０Ｂの車内の異常に関するこの判定の結果を、図１０及び図１２の例と同じく以下では第二判定結果と称する。
【０１０８】
次に、路側機３０から第二判定結果が車両１０Ａに送信される（Ｓ１３９Ｂ）。データ受信部１２５１が第二判定結果を受信した車両１０Ａでは、図１０の例と同様に、異常判定部１２５５によって第一ログ情報にさらに第二判定結果が付加され、第一ログ情報に第一判定結果及び第二判定結果が付加された内容の、異常監視サーバ５０にアップロードするデータ（ログ）が生成される（Ｓ１１５Ａ）。このデータは、図１０及び図１２の例で、ステップＳ１１５Ａで生成されるログと同じく、自ノードである車両１０Ａの車内状態情報及び車内異常判定の結果と、周辺ノードである車両１０Ｂの異常判定の結果とが、相互に対応付けられて含まれるデータである。ステップＳ１１５Ａで生成されたデータは、データ送信部１２５３によって異常監視サーバ５０に送信される（Ｓ１１９Ａ）。
【０１０９】
この例における車両１０Ａの異常判定装置１２５による処理の手順例は、第二判定結果の送信元が異なるものの、図１１又は図１３のフロー図によって示される。
【０１１０】
再び図１５を参照すると、車両１０Ａからデータを受信した異常監視サーバ５０では、学習データ選定部５２による学習データの選定（Ｓ５１１）が実行される。これにより、異常監視サーバ５０では、図９に示される例に比べて、小さな処理負荷で学習データの選定を実行し、かつ周辺ノードにおける異常の有無に関する情報はより正確なものが得られる。また、状態情報に基づく異常判定が自ノード上でできない車両が存在する場合にも、対応可能である。
【０１１１】
なお、図１５の例では、路側機３０からの車両１０Ｂについての異常判定の結果の送信先は車両１０Ａにのみが示されているがこれに限定されない。例えば路側機３０からの送信先には車両１０Ｂが含まれてもよい。例えば路側機３０はＶ２Ｉ通信によって通信し得る範囲の全車両に車両１０Ｂについての異常判定の結果を送信してもよい。
【０１１２】
［３−５．備考］
上記の３−２から３−４では、監視対象のノードである車両１０Ａが、ある時刻における車内の状態を示す情報と、車内異常判定の結果及び異常が検知された場合はさらに種別と、周辺ノード異常判定の結果及び異常が検知された場合はさらに種別の情報とを取得し、これらを対応付けたデータを異常監視サーバ５０に送信するまでの処理手順及びノード間のデータのやり取りのバリエーションを示した。しかし、これらのバリエーションは例であって限定的なものではなく、Ｖ２Ｘネットワーク１にてやり取りが可能なデータの内容及び経路、並びに各ノード実行可能な各種の処理手順を含む変形もまた本発明の技術的範囲である。
【０１１３】
例えば、路側機３０は上述のとおり、各車両１０を監視する監視ノードとして機能してもよく、監視ノードである路側機３０は通信圏内の各車両１０から車内状態情報又は車内の異常判定に関する情報を収集し、収集した情報を通信圏内の各車両１０に送信してもよい。つまり、Ｖ２Ｉ通信による通信圏内の車両１０から各車内の異常に関する情報を取得し、さらに各車にこの情報を共有させてもよい。この際、車内状態情報を受け取った場合には、路側機３０はこの車内状態情報に基づいて異常判定を実行し、その結果及び異常が検知された場合はさらに種別の情報を送信してもよい。また、監視ノードは、取得した情報を、通信ネットワーク２０を介して異常監視サーバ５０に提供してもよい。
【０１１４】
また、ある車両の異常の有無が路側機３０を経由して他の車両に送信されるのみならず、ある路側機３０の異常の有無が車両間での通信で共有されてもよい。
【０１１５】
また、路側機３０からは通信ネットワーク２０を経由して各種のデータが送信されてもよい。
【０１１６】
また、上記の３−２から３−４の説明では、車両１０Ｂから車両１０Ａ等のノード間のデータの送信が一の相手を指定して実行されているようにも解釈可能であるが、このような通信形態には限定されない。ノード間のデータの送受信は、Ｖ２Ｖ通信又はＶ２Ｉ通信で実行され得る各種の通信形態で実行可能である。例えば送信先は、通信可能な領域に存在するすべてのノードであってもよいし、それらのノードの中で特定のグループ、例えば車両のメーカー、車載ネットワークシステムの種類（例：メーカー、準拠規格のバージョン等）、ノードの種類（例：車両か路側機か）等に基づいて限定したり、又はグループ間で異なる条件（例：車両はメーカー、路側機はすべて）が適用されたりしてもよい。
【０１１７】
［４．異常監視サーバでの処理］
次に、Ｖ２Ｘネットワーク１において車両１０又はさらに路側機３０での異常の発生の有無を監視する異常監視サーバ５０での処理手順について説明する。上述のとおり、異常監視サーバ５０は、ログの収集から、学習データの選定、異常検知モデルの作成、異常検知モデルを用いた異常監視までを行う。ただし、ログの収集については、上述の監視対象ノードでの処理で送信されたログを受信することであるため説明は省略し、以下ではその他の処理について説明する。
【０１１８】
［４−１．異常判定］
まず、異常検知モデルを用いた異常判定の処理手順について説明する。図１６は、上記の異常監視サーバ５０による２種類の異常判定のうち、学習データの選定に利用可能な判定の結果を取得することを目的とする異常判定の手順の一例を示すフロー図である。
【０１１９】
Ｖ２Ｘネットワーク１に接続している異常監視サーバ５０では、データ受信部５１が、監視対象である各ノードから送信されたログを受信する（Ｓ２１）。
【０１２０】
次に、異常判定部５５が、蓄積部５４から異常検知モデルを読み出し（Ｓ２２）、この異常検知モデルを用いて受信した図４の示されるような構成のログの中の各レコードに対して異常検知を行う。異常を検知した場合、異常判定部５５はこのログの送信元であるノードで異常の発生があったと判定する。また、異常を検知しなかった場合、異常判定部５５はこのデータの送信元であるノードで異常の発生がなかったと判定する。異常の発生の有無に関する判定の結果は、異常判定部５５から出力される（Ｓ２４）。結果の出力とは、より具体的には、例えば、図４のログに判定結果を付加したデータ、つまり図５に示される状態のログとしての蓄積部３４への保存である。また、結果の出力として、判定されたデータの送信元であるノードへの判定結果の送信がなされてもよい。
【０１２１】
なお、ステップＳ２３での異常の判定とは、異常の発生の有無に関する判定のみでもよいし、異常が検知された場合には、発生場所による種類等の当該異常に関するより詳細な判定が含まれてもよい。また、異常が検知された場合には、ステップＳ２４で出力される判定結果にも、当該異常に関するより詳細な判定結果が含まれてもよい。
【０１２２】
図１７は、上記の異常監視サーバ５０による２種類の異常判定のうち、Ｖ２Ｘネットワーク１の監視の目的とする異常判定の手順の一例を示すフロー図である。
【０１２３】
Ｖ２Ｘネットワーク１に接続している異常監視サーバ５０では、データ受信部５１が、監視対象である各ノードから送信されたデータを受信する（Ｓ３１）。
【０１２４】
次に、異常判定部５５が、蓄積部５４から異常検知モデルを読み出し（Ｓ３２）、この異常検知モデルを用いて受信したデータに対して異常検知を行う。異常を検知した場合、異常判定部５５はこのログの送信元であるノードで異常の発生があったと判定し（ステップＳ３４でＹＥＳ）、さらにＶ２Ｘネットワーク１内に異常の発生を通知する。通知の対象は、Ｖ２Ｘネットワーク１内の全ノードであってもよいし、異常のデータを発生したノードと所定の関連性があるノードを選択して送信してもよい。所定の関連性とは、例えばノードの種類（例：車両か路側機か）、車両又は路側機のメーカー、車載ネットワークシステム又は路側機の制御システムの種類（例：メーカー、準拠規格のバージョン等）等に基づく関連性である。このような関連性は、例えば監視対象の各ノードから収集されるログに含まれる情報に基づいて取得されてもよいし、別途収集されて異常監視サーバ５０で利用可能なデータに示されるものであってもよい。
【０１２５】
検知された異常がない場合は、異常判定部５５はこのログの送信元であるノードで異常の発生がなかったと判定し（ステップＳ３４でＮＯ）、異常判定の処理を終了する。
【０１２６】
なお、Ｖ２Ｘネットワーク１の監視の目的とする異常判定の場合も、異常判定の結果が異常監視サーバ５０の蓄積部５４に保存されてもよい。
【０１２７】
なお、図１７のフロー図に示される処理は異常監視サーバ５０に限らず、Ｖ２Ｘネットワーク１内においてさらに監視ノードとして機能する路側機３０又は車両１０があればこれらのノードの異常判定部３５又は異常判定部１２５５によっても実行されてもよい。
【０１２８】
［４−２．学習データの選定及び異常検知モデルの作成］
次に、学習データの選定を含む異常検知モデルを作成の処理の手順について説明する。図１８は、異常監視サーバ５０における異常検知モデルの作成の処理の手順の例を示すフロー図である。
【０１２９】
まず、学習データ選定部５２が、蓄積部５４に保存されたログを読み出す（Ｓ４１）。
【０１３０】
次に、学習データ選定部５２は、必要に応じて異常判定部５５に読み出したログに対する所定の処理を実行させてからレコードを選定する（Ｓ４２）。処理の内容は読み出されたログの状態及び用途に応じて異なり、その詳細については後述する。
【０１３１】
次に、学習部５３が、学習データ選定部５２が選定した学習データを用いて学習を実行し（Ｓ４３）、その結果として作成された異常検知モデルを蓄積部５４に保存する（Ｓ４４）。このようにして作成（更新の場合を含む）された異常検知モデルが、上述のように異常監視サーバ５０での異常判定に用いられたり、異常判定を実行するＶ２Ｘネットワーク１上の各ノードに送信されたりする。
【０１３２】
ここで、学習データ選定部５２によるステップＳ４２の詳細について説明する。
【０１３３】
図１９は、異常監視サーバ５０における、学習用データの選定処理の手順の一例を示すフロー図である。この例では、異常監視サーバ５０が受信したデータは図４に示すような構成であって、時刻と位置と車内状態とを示す情報は含むものの、異常に関する情報は何ら含まず、周辺ノードに関する情報も含まない。蓄積部５４から読み出したログがこのような構成である場合、学習データ選定部５２は、レコードが含む車内状態の情報に基づく異常判定を異常判定部５５に実行させる（Ｓ５１）。異常があった場合（Ｓ５２でＹＥＳ）、学習データ選定部５２は、このレコードを学習部５３による次の学習で教師あり学習に用いられるデータとして選定する（Ｓ５７）。教師あり学習については後述する。
【０１３４】
異常がなかった場合（Ｓ５２でＮＯ）、学習データ選定部５２は、このレコードが含む時刻情報及び位置情報を用いて、このレコードの生成時に、このログの送信元であるノードの周辺に存在していた他のノードのレコードを、取得済みの周辺ノードのデータから検索する（Ｓ５３）。次に学習データ選定部５２は、検索結果として取得した周辺ノードのレコードが含む情報に応じた手法で、その情報に基づく異常判定の結果を取得する。つまり、周辺ノードの情報が異常判定の結果を含む場合、その結果を取得し、含まない場合は、異常判定部５５に異常判定を実行させてその結果を取得する（Ｓ５４）。
【０１３５】
次に学習データ選定部５２は、検索結果として取得した周辺ノードに異常があった場合（Ｓ５５でＹＥＳ）、このレコードを、学習部５３による次の学習で教師あり学習に用いられるデータとして選定する（Ｓ５７）。異常がなかった場合（Ｓ５５でＮＯ）、このレコードを、学習部５３による次の学習で正常モデル作成に用いられるデータとして選定する（Ｓ５６）。
【０１３６】
図２０は、異常監視サーバ５０における、学習用データの選定処理の手順の他の例を示すフロー図である。この例では、異常監視サーバ５０が受信したデータは図５に示すような構成であって、時刻と位置と車内状態とを示す情報、及び車内の異常に関する情報を含むが、周辺ノードに関する情報は含まない。蓄積部５４から読み出したログがこのような構成である場合、学習データ選定部５２は、レコードが含む車内の異常判定の結果を読み出す（Ｓ６１）。異常があった場合（Ｓ６２でＹＥＳ）、学習データ選定部５２は、このレコードを、学習部５３による次の学習で教師あり学習に用いられるデータとして選定する（Ｓ６７）。
【０１３７】
異常がなかった場合の処理は、図１９に示したステップＳ５２からＳ５６又はＳ５７に至る手順と共通である。つまり、異常がなかった場合（Ｓ６２でＮＯ）、学習データ選定部５２は、このレコードが含む時刻情報及び位置情報を用いて、他のノードのレコードを取得済みの周辺ノードのデータから検索する（Ｓ６３）。次に学習データ選定部５２は、検索結果として取得した周辺ノードのレコードが含む情報に応じた手法で、その情報に基づく異常判定の結果を取得する（Ｓ６４）。
【０１３８】
次に学習データ選定部５２は、検索結果として取得した周辺ノードに異常があった場合（Ｓ６５でＹＥＳ）、このレコードを学習部５３による次の学習で教師あり学習に用いられるデータとして選定する（Ｓ６７）。異常がなかった場合（Ｓ６５でＮＯ）、このレコードを学習部５３による次の学習で正常モデル作成に用いられるデータとして選定する（Ｓ６６）。
【０１３９】
図２１は、異常監視サーバ５０における、学習用データの選定処理の手順のさらに他の例を示すフロー図である。この例では、異常監視サーバ５０が受信したデータは図６に示す構成であって、時刻と位置と車内状態とを示す情報及び車内の異常に関する情報、並びに周辺ノードの異常に関する情報を含む。蓄積部５４から読み出したログがこのような構成である場合、学習データ選定部５２は、レコードが含む車内の異常判定の結果を読み出す（Ｓ７１）。異常があった場合（Ｓ７２でＹＥＳ）、学習データ選定部５２は、このレコードを、学習部５３による次の学習で教師あり学習に用いられるデータとして選定する（Ｓ７６）。
【０１４０】
異常がなかった場合（Ｓ７２でＮＯ）、学習データ選定部５２は、レコードが含む周辺ノードの異常判定の結果を読み出す（Ｓ７３）。異常があった場合（Ｓ７４でＹＥＳ）、学習データ選定部５２は、このレコードを学習部５３による次の学習で教師あり学習に用いられるデータとして選定する（Ｓ７６）。異常がなかった場合（Ｓ７４でＮＯ）、このレコードを学習部５３による次の学習で正常モデル作成に用いられるデータとして選定する（Ｓ７５）。
【０１４１】
ここで、本実施の形態における教師あり学習について説明する。教師あり学習では、車内又は周辺ノードで異常が発生していた時の車内状態であると既知のデータ（レコード）を学習部５３に大量に与えられる。学習部５３は、このデータから特徴を抽出し、この特徴に基づいて異常が発生していたときと正常な時の分類、つまりは異常検知のためのモデルを作成する。また、異常を分類、例えば発生したノードの種類又は各ノードでの場所等に応じた種類で分けることができれば、分類の結果である一つのカテゴリについての教師あり学習用の学習データが取得できる。この学習データを用いて学習部５３に学習をさせることで、ある種類のノード、又はある種類のノードのある場所の状態の情報が異常であるか否かを識別するための異常検知モデルが作成される。このように学習データを、作成したい異常検知モデルに応じて使い分けるより具体的な例を説明する。図２２、図２３Ａ及び図２３Ｂは、異常監視サーバ５０における、教師あり学習用データの選定処理の手順の一例を示すフロー図である。
【０１４２】
図２２を参照すると、まず学習データ選定部５２では、収集したログのあるレコードの異常が当該ログの送信元である車両１０で発生した異常なのか、その車両１０の周辺ノード、ここでは路側機３０の異常なのかを判定する（Ｓ８１）。路側機３０の異常である場合（Ｓ８１でＹＥＳ）、学習データ選定部５２は、さらに路側機３０の異常の種別に応じた教師あり学習用データとして選定する（Ｓ９１Ａ）。図２３Ａの例では、路側機３０の異常の種別が、ＥＴＣゲートの異常（Ｓ９２Ａ）、信号機の異常（Ｓ９３Ａ）、道路ビーコンの異常（Ｓ９４Ａ）のいずれであるかに応じて、各異常に応じた教師あり学習データとして選定されている。車両１０の異常である場合（Ｓ８１でＮＯ）、学習データ選定部５２は、さらに車両１０の異常の種別に応じた教師あり学習用データとして選定する（Ｓ９１Ａ）。図２３Ｂの例では、車両１０の異常の種別が、車載ネットワークシステム１００のＥｔｈｅｒｎｅｔの部分での異常（Ｓ９２Ｂ）、ＣＡＮでの異常（Ｓ９３Ｂ）、ＩＶＩ（In-Vehicle Infotainment system）の部分での異常（Ｓ９４Ａ）のいずれであるかに応じて、各異常に応じた教師あり学習データとして選定されている。このような選定は、ログに含まれる周辺ノードの異常種別の情報を参照して行われる。なお、上記で挙げた異常の種別は例であり、これらに限定されない。例えば周辺ノードの異常の種別として、ごく簡単に周辺の車両か路側機かを示すものであってもよい。
【０１４３】
［５．効果等］
このように、本実施の形態においては、車両１０において自車両の状態を示す情報のログが生成される際に、その時刻において車両１０又はさらにその周辺ノード（車両又は路側機）に異常が発生していたか否かについて、その情報が車両１０で取得された状況に極力近い時刻及び場所（ノード）で判定され、その判定結果が車両１０の状態を示す情報に付加される。極力近い時刻及び場所とは、各車両１０の異常についての判定は、各車両１０で状態情報が取得された時に当該車両１０の異常判定装置で実行されるのが最も近い態様である。周辺ノードの異常についての判定は、各周辺ノードで実行されるのが最も近い態様であるが、次いで、状態情報が取得された車両１０が周辺ノードから受信した状態情報に基づいて判定する態様がある。または次いで近い態様として、ある周辺ノードについて他の周辺ノードが実行した異常についての判定を、自車両の状態を示す情報を取得した車両１０が取得するというものがある。これらのいずれの態様においても、ログが異常監視サーバ５０に収集されてから各レコードに対する異常判定が行われるよりも正確である可能性又は実行可能性そのものが高く、また、異常監視サーバ５０の負荷を抑えることができる。
【０１４４】
このような異常に関する判定結果が付加されていることで、車両１０の状態を示す情報のログのレコードから異常検知モデルとして正常モデルの作成を目的とする学習データの選定の際に、異常時のレコードを排除することができる。このような学習データを用いることで、より高い質の正常モデルが得られ、異常検知の精度の向上につながる。
【０１４５】
また、異常監視サーバ５０は例えばその監視サービスの運営形態によっては、特定のメーカー、特定の車種、又は特定の車載ネットワークシステムの車両等、一部の車両のログのみを収集するケースも考えられる。また、異常監視サーバ５０と路側機との間では何らかの事情で情報のやり取りが行われないケースも考えられる。これらのようなケースであっても、Ｖ２Ｘで利用される規格に沿って通信の規格及びデータのフォーマットの整合が図られていれば、各車両１０が走行中に周辺ノードと通信して異常に関する情報を交換することで、異常監視サーバ５０では上記のような選定が可能なログを収集することができる。
【０１４６】
また、自ノード又は周辺ノードで異常が発生していたときのレコードを用いて教師あり学習がさらに実行されてもよい。教師あり学習を併用して作成した異常検知モデルを用いることで、より精度の高い異常判定ができる可能性があり、または、異常判定の精度の向上の速度を高めることができる。
【０１４７】
つまり、Ｖ２Ｘネットワークの異常監視のための異常検知モデルの作成において、各ノードの情報に加えてその周辺のノードの異常に関する情報を考慮して動的に選択する学習データを用いることで、より高い精度での異常検知を可能にする異常検知モデルが得られる。その結果、Ｖ２Ｘネットワークの安全性が高められ、車社会の安全と利便性の向上が図られる。
【０１４８】
（変形例等）
以上、本発明に係る、車載ネットワークシステムが備える異常判定装置、及び異常検知モデルを作成するサーバ等について、実施の形態に基づいて上述のとおり説明したが、本発明はこの説明に限定されるものではない。上記実施の形態は本発明に係る技術の例示であって、本発明は上記の内容に限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
【０１４９】
（１）図１に示されるＶ２Ｘネットワーク１を構成する各種のノードの数、接続形態等は本実施の形態の説明のための例示であって、本発明を限定するものではない。また、上述のとおり、本発明は、Ｖ２Ｘネットワーク１を構成する車両１０及び路側機３０のすべてがそれぞれ図３又は図７に示されるような構成を備えて初めて実現されるものではない。自ノード又はノード間の相互的な異常判定は、普及するまでに時間を要するものである。上記では実施の形態として、その過渡的な状況における各ノードの異常判定の実行及び判定結果の情報の利用又は提供の態様についてのいくつかの例を挙げたが、これらの例から容易に想到し得る他の態様もまた本発明の技術的範囲に含まれる。
【０１５０】
（２）上記実施の形態で示した各種処理の手順（例えば図９〜図２３Ｂを用いて示した手順等）の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたり、複数の手順を並列に行ったり、その手順の一部を省略したりすることができる。
【０１５１】
（３）また、上記実施の形態で示したログのデータ構成（図４〜図６参照）は、図示の例に厳密には限定されない。例えばこれらの各図に示されるログの各レコード内の情報項目は任意の手法で対応付けられればよく、一のテーブルまたはリストに含まれることを要するものではない。また、ログに含まれるデータはこれらの図に示されるものに限定されない。異常監視サーバ５０、又は学習データ作成のためのサーバ等、本発明に係る技術においてこのログを収集し利用する装置又はシステムでは、例えばさらに各ノードを識別するＩＤ、各ノードを上記のグループに分けるための情報等が含まれていてもよい。また、各ノードから送信されるデータにもこれらの情報が含まれていてもよい。
【０１５２】
（４）上記実施の形態で例示したログ（図４〜図６参照）では車内又は周辺ノードの異常に関する判定の結果は異常と正常との二値で示されるが、これに限定されない。例えば異常が発生している可能性をより多段階で示す値、異常がある場合にその深刻度をより多段階で示す値等が用いられてもよい。
【０１５３】
（５）上記実施の形態における各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。このＲＯＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全部を含むように１チップ化されてもよい。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、又はＬＳＩ内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【０１５４】
（６）上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカード又はモジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０１５５】
（７）本発明の一態様としては、例えば図９〜図２３Ｂ、並びに本明細書中のこれらに関連する記載に含まれる処理手順の全部又は一部を含む方法であるとしてもよい。
【０１５６】
例えば、異常判定の方法として、Ｖ２Ｘネットワーク１における監視対象であるノードに含まれる、異常判定装置１２５が備えるプロセッサによって実行される方法であって、時刻と、当該ノード上のセンサデータ又は制御データの少なくとも一方が示す、この時刻における当該ノードの状態情報とを含むログ情報を取得するログ情報取得ステップ（例えばステップＳ１１）と、この時刻における当該ノード上の異常の発生に関する第一異常判定を実行する第一異常判定ステップ（例えばステップＳ１２）と、Ｖ２Ｘネットワーク１における監視対象である他のノードであって、上記のノードの周辺にあるノードである周辺ノードから取得した、周辺ノードの異常に関する周辺ノード情報に基づいて、上記の時刻における周辺ノード上の異常の発生に関する第二異常判定を実行する第二異常判定ステップ（例えばステップＳ１４）と、第二異常判定の結果が周辺ノード上での異常の発生を示す場合、上記のログ情報に、この周辺ノード上での異常の発生を示す異常情報を付加する異常情報付加ステップ（例えばステップＳ１８）と、異常情報が付加されたこのログ情報を、Ｖ２Ｘネットワーク１を構成する少なくとも一部のノードに送信するログ情報送信ステップ（例えばステップＳ１９）とを含む。
【０１５７】
また例えば、異常検知モデルの作成方法として、サーバが備える処理部によって実行される方法であって、Ｖ２Ｘネットワーク１における監視対象ノードで生成されたログ情報を取得するログ情報取得ステップ（例えばステップＳ２１）と、このログ情報から所定の情報を選定する情報選定ステップと、選定した所定の情報を学習データとして用いて、Ｖ２Ｘネットワーク１において上記の監視対象ノードを監視する監視ノードで異常検知に用いられる異常検知モデルの作成のための機械学習を実行するモデル作成ステップ（例えばステップＳ４４）とを含む。ここで、この異常検知モデルの作成方法においては、上記のログ情報は、時刻と、監視対象ノード上のセンサデータ又は制御データの少なくとも一方が示す、この時刻における監視対象ノードの状態情報と、この時刻における監視対象ノード上の異常の有無を示す第一異常情報と、この時刻において監視対象ノードの周辺にあってと監視対象ノードと通信する第二ノード上の異常の有無を示す第二異常情報とを対応付けて含む。上記の情報選定ステップにおいては、第一異常情報及び第二異常情報に基づいて所定の情報が選定される。ここでの所定の情報とは、例えば正常モデルである学習データに用いられる情報、また例えば、教師あり学習のための学習データに用いられる情報である。
【０１５８】
（８）また、本発明の一態様としては、上記の各方法に係る処理をコンピュータに実行させるコンピュータプログラムであってもよいし、このコンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１５９】
（９）また、本発明の一態様としては、このコンピュータプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１６０】
（１０）また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又はプログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１６１】
（１１）上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１６２】
本発明は、異常検知に用いられる異常検知モデルの機械学習による作成のための学習データの収集及び選定に利用可能である。
【符号の説明】
【０１６３】
１  Ｖ２Ｘネットワーク
１０、１０Ａ、１０Ｂ、１０Ｃ  車両
２０  通信ネットワーク
３０  路側機
３０Ａ  信号機
３０Ｂ  車速計測機
３１  データ受信部
３３、１２５３  データ送信部
３４、１２５４  蓄積部
３５、１２５５  異常判定部
５０  異常監視サーバ
５１、１２５１  データ受信部
５２  学習データ選定部
５３  学習部
５４  蓄積部
５５  異常判定部
１００  車載ネットワークシステム
１１０  外部通信装置
１２０  ゲートウェイ
１２５  異常判定装置
１３０  情報系ネットワーク
１３１、１３２、１３３、１４１、１４２、１４３  ＥＣＵ
１４０  制御系ネットワーク
１２５２  ログ情報取得部
【図１】
2019128934.tif 000003
【図２】
2019128934.tif 000004
【図３】
2019128934.tif 000005
【図４】
2019128934.tif 000006
【図５】
2019128934.tif 000007
【図６】
2019128934.tif 000008
【図７】
2019128934.tif 000009
【図８】
2019128934.tif 000010
【図９】
2019128934.tif 000011
【図１０】
2019128934.tif 000012
【図１１】
2019128934.tif 000013
【図１２】
2019128934.tif 000014
【図１３】
2019128934.tif 000015
【図１４】
2019128934.tif 000016
【図１５】
2019128934.tif 000017
【図１６】
2019128934.tif 000018
【図１７】
2019128934.tif 000019
【図１８】
2019128934.tif 000020
【図１９】
2019128934.tif 000021
【図２０】
2019128934.tif 000022
【図２１】
2019128934.tif 000023
【図２２】
2019128934.tif 000024
【図２３Ａ】
2019128934.tif 000025
【図２３Ｂ】
2019128934.tif 000026