(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-23
(45)【発行日】2024-05-31
(54)【発明の名称】サイバーフィジカルシステムの障害検出
(51)【国際特許分類】
G06N 3/09 20230101AFI20240524BHJP
G06N 3/0455 20230101ALI20240524BHJP
G06N 3/0442 20230101ALI20240524BHJP
G06F 18/2433 20230101ALI20240524BHJP
【FI】
G06N3/09
G06N3/0455
G06N3/0442
G06F18/2433
(21)【出願番号】P 2022567632
(86)(22)【出願日】2021-04-28
(86)【国際出願番号】 US2021029583
(87)【国際公開番号】W WO2021225841
(87)【国際公開日】2021-11-11
【審査請求日】2022-12-26
(32)【優先日】2020-05-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-04-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】タン、 ルーアン
(72)【発明者】
【氏名】チェン、 ハイフォン
(72)【発明者】
【氏名】チェン、 ウェイ
(72)【発明者】
【氏名】リー、 ジュンワン
(72)【発明者】
【氏名】上村 純平
【審査官】多賀 実
(56)【参考文献】
【文献】特開2013-140135(JP,A)
【文献】特開平05-116601(JP,A)
【文献】特開2016-119080(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 11/07
G06F 11/22-11/36
G06F 16/00-16/958
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークモデルを訓練するための方法であって、
データ特徴及びセンサ相関グラフ情報を含む正常状態の入力及び障害状態の入力をそれぞれ生成するために、正常状態の訓練データのセット及び障害状態の訓練データのセットを処理し(302)、
前記障害状態の訓練データに対する入力の類似性を提供する障害スコアと、前記正常状態の訓練データに対する入力の非類似性を提供する異常スコアとを生成するために、正常状態の入力と障害状態の入力を用いてニューラルネットワークモデルを訓練する(304)、方法。
【請求項2】
前記正常状態の訓練データのセット及び前記障害状態の訓練データのセットを処理することは、前記センサ相関グラフ情報を生成するために、センサのセットを関連するサブシステムのグループに分割することを含む、請求項1に記載の方法。
【請求項3】
前記センサのセットを分割することは、前記センサのセットの測定値間の相関に基づくソフトクラスタリングを含む、請求項2に記載の方法。
【請求項4】
前記正常状態の訓練データのセット及び前記障害状態の訓練データのセットを処理することは、長・短期記憶ニューラルネットワークを用いてローセンサデータから前記データ特徴を抽出することを含む、請求項2に記載の方法。
【請求項5】
前記正常状態の訓練データのセット及び前記障害状態の訓練データのセットを処理することは、前記正常状態の訓練データ及び前記障害状態の訓練データにおけるローセンサデータのそれぞれのセット毎に、前記データ特徴及び前記センサ相関グラフ情報を連結することを含む、請求項4に記載の方法。
【請求項6】
前記ニューラルネットワークを訓練することは、全結合層及びオートエンコーダを一緒に訓練し、前記障害スコアと前記異常スコアとをそれぞれ生成することを含む、請求項1に記載の方法。
【請求項7】
前記全結合層を訓練することは、目的関数
【数1】
を最小化することを含み、α及びβはハイパーパラメータであり、ηは重みパラメータであり、Nは正常状態の訓練データのセットであり、Fは障害状態の訓練データのセットであり、F(・)は全結合層の関数を表し、X
i,wは、時間ウィンドウwの正常状態の入力及び障害状態の入力から選択された入力である、請求項6に記載の方法。
【請求項8】
前記正常状態の訓練データ及び前記障害状態の訓練データは、車両内の1つまたは複数のサブシステムの動作状態に関連する前記車両内のセンサからの測定値をそれぞれ含む、請求項1に記載の方法。
【請求項9】
障害検出に使用するために、前記ニューラルネットワークモデルのパラメータを前記車両に送信することをさらに有する、請求項8に記載の方法。
【請求項10】
前記ニューラルネットワークモデルに対する入力が閾値を超える障害スコア及び閾値未満の異常スコアを提供する判定に応答して、前記ニューラルネットワークモデルを再訓練することをさらに含む、請求項1に記載の方法。
【請求項11】
ニューラルネットワークモデルを訓練するための方法であって、
データ特徴及びセンサのセットを関連するサブシステムのグループに分割することに基づくセンサ相関グラフ情報をそれぞれ含む、正常状態の入力及び障害状態の入力をそれぞれ生成するために、正常状態の訓練データのセット及び障害状態の訓練データのセットを処理し(302)、
前記障害状態の訓練データに対する入力の類似性を提供する障害スコアと、前記正常状態の訓練データに対する入力の非類似性を提供する異常スコアとを生成するために、全結合層及びオートエンコーダを一緒に訓練することを含む、前記正常状態の入力と前記障害状態の入力を用いてニューラルネットワークモデルを訓練し(304)、
前記ニューラルネットワークモデルのパラメータを障害検出で使用するために車両に送信する(310)、方法。
【請求項12】
ニューラルネットワークモデルを訓練するためのシステムであって、
ハードウェアプロセッサ(602)と、
コンピュータプログラムコードを格納するメモリ(604)と、
を有し、前記コンピュータプログラムコードが前記ハードウェアプロセッサによって実行されると、前記ハードウェアプロセッサが、
データ特徴及びセンサ相関グラフ情報を含む正常状態の入力及び障害状態の入力をそれぞれ生成するために、正常状態の訓練データのセット及び障害状態の訓練データのセットを処理し(302)、
前記障害状態の訓練データに対する入力の類似性を提供する障害スコアと、前記正常状態の訓練データに対する入力の非類似性を提供する異常スコアとを生成するために、正常状態の入力と障害状態の入力を用いてニューラルネットワークモデルを訓練する(304)ように構成された、システム。
【請求項13】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、センサのセットを関連するサブシステムのグループに分割させ、前記センサ相関グラフ情報を生成させる、請求項12に記載のシステム。
【請求項14】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、前記センサのセットの測定値間の相関に基づくソフトクラスタリングを実行させる、請求項13に記載のシステム。
【請求項15】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、長・短期記憶ニューラルネットワークを用いてローセンサデータから前記データ特徴を抽出させる、請求項13に記載のシステム。
【請求項16】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、前記正常状態の訓練データ及び前記障害状態の訓練データにおけるローセンサデータのそれぞれのセット毎に、前記データ特徴及び前記センサ相関グラフ情報を連結させる、請求項15に記載のシステム。
【請求項17】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、全結合層及びオートエンコーダを一緒に訓練させ、前記障害スコアと前記異常スコアとをそれぞれ生成させる、請求項12に記載のシステム。
【請求項18】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、目的関数
【数2】
を最小化させ、α及びβはハイパーパラメータであり、ηは重みパラメータであり、Nは正常状態の訓練データのセットであり、Fは障害状態の訓練データのセットであり、F(・)は全結合層の関数を表し、X
i,wは、時間ウィンドウwの正常状態の入力及び障害状態の入力から選択された入力である、請求項17に記載のシステム。
【請求項19】
前記正常状態の訓練データ及び前記障害状態の訓練データは、車両内の1つまたは複数のサブシステムの動作状態に関連する前記車両内のセンサからの測定値をそれぞれ含む、請求項12に記載のシステム。
【請求項20】
前記コンピュータプログラムコードは、さらに前記ハードウェアプロセッサに、前記ニューラルネットワークモデルに対する入力が閾値を超える障害スコア及び閾値未満の異常スコアを提供する判定に応答して、前記ニューラルネットワークモデルを再訓練させる、請求項12に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2021年4月27日に出願された米国特許出願第17/241,430号及び2020年5月7日に出願された米国仮特許出願第63/021,291号を基礎とする優先権を主張し、その両方の開示の全てをここに取り込む。この出願は、代理人の案件整理番号21005の「車載自動車システムにおける障害検出の深層学習」と題する出願に関し、その開示の全てをここに取り込む。
【0002】
本発明は、サイバーフィジカルシステムの障害検出に関し、より詳細には、車両の電子制御ユニットからのセンサデータを用いて車両の障害を検出することに関する。
【背景技術】
【0003】
車両は複雑なシステムであり、エンジン、バッテリ、トランスミッション等の様々な機能の構成要素を含む。障害は、重大な安全上の問題と修理費用につながる可能性がある。
【発明の概要】
【0004】
ニューラルネットワークモデルを訓練するための方法は、データ特徴及びセンサ相関グラフ情報を含む、正常状態の入力及び障害状態の入力をそれぞれ生成するために、正常状態の訓練データのセット及び障害状態の訓練データのセットを処理することを含む。ニューラルネットワークモデルは、障害状態の訓練データに対する入力の類似性を提供する障害スコアと、正常状態の訓練データに対する入力の非類似性を提供する異常スコアとを生成するために、正常状態の入力と障害状態の入力を使用して訓練される。
【0005】
ニューラルネットワークモデルを訓練するための方法は、データ特徴及びセンサ相関グラフ情報を含む、正常状態の入力及び障害状態の入力をそれぞれ生成するために、正常状態の訓練データのセット及び障害状態の訓練データのセットを処理することを含む。センサ相関グラフ情報は、センサのセットを関連するサブシステムのグループに分割することに基づくことができる。正常状態の入力と障害状態の入力を用いて障害スコアと異常スコアをそれぞれ生成するために全結合層とオートエンコーダを一緒に訓練することを含む、ニューラルネットワークモデルが訓練される。障害スコアは、障害状態の訓練データに対する入力の類似性を提供し、異常スコアは、正常状態の訓練データに対する入力の非類似性を提供する。ニューラルネットワークモデルのパラメータは、障害検出で使用するために車両に送信される。
【0006】
ニューラルネットワークモデルを訓練するためのシステムは、ハードウェアプロセッサと、コンピュータプログラムコードを格納するメモリとを含む。コンピュータプログラムコードがハードウェアプロセッサで実行されると、ハードウェアプロセッサに、データ特徴及びセンサ相関グラフ情報を含む正常状態の入力及び障害状態の入力をそれぞれ生成するために、正常状態の訓練データのセット及び障害状態の訓練データのセットを処理させる。コンピュータプログラムコードは、さらにハードウェアプロセッサに、障害状態の訓練データに対する入力の類似性を提供する障害スコアと、正常状態の訓練データに対する入力の非類似性を提供する異常スコアとを生成するために、正常状態の入力と障害状態の入力を用いてニューラルネットワークモデルを訓練させる。
【0007】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【0008】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本発明の一実施形態による、多数の車両からの訓練データを用いて車両に送信される障害検出モデルを生成するモデル訓練システムの図である。
【0010】
【
図2】
図2は、本発明の一実施形態による、訓練された障害検出モデルを用いて車両サブシステムの障害を予測及び是正する車両の図である。
【0011】
【
図3】
図3は、本発明の一実施形態による、障害検出モデルを訓練し、使用するための方法のブロック/フロー図である。
【0012】
【
図4】
図4は、本発明の一実施形態による、障害検出モデルを訓練する方法のブロック/フロー図である。
【0013】
【
図5】
図5は、本発明の一実施形態による、障害検出モデルのブロック図である。
【0014】
【
図6】
図6は、本発明の一実施形態による、障害検出モデル訓練システムのブロック図である。
【0015】
【
図7】
図7は、本発明の一実施形態による、障害検出モデルのブロック図である。
【発明を実施するための形態】
【0016】
現代の車両には、各々が車両の小規模な動作ユニットを制御し、該動作ユニットの状態を報告できる、様々な電子制御ユニット(ECU:Electronic Control Unit)が装備されている。ECUからのデータに基づいて、車両のシステムの障害を予測し、防止することができる。これにより、車両の損傷や人命の損失を防ぐことができる。ECUによって生成された時系列情報を用いて車両の障害を特定の期間予測することが可能であり、その障害の原因となる可能性が高い車両サブシステムに関するラベルが付与される。
【0017】
これは、正常動作状態下でのECUからの時系列情報を表すSn及び障害動作状態下でのECUからの時系列情報を表すSfの訓練データの第1のセットを使用し、訓練されたニューラルネットワークモデルを用いて実行できる。訓練されたニューラルネットワークモデルを用いてtiから(ti+σt)までの期間中、車両iのECUからの新しい時系列情報Siのラベルを提供できる。ここで、σtは予測ウィンドウの期間である。さらに、訓練されたニューラルネットワークモデルは、障害が発生する可能性が高い車両内のサブシステムを識別できる障害ラベルを提供するために使用される。
【0018】
時系列情報は、ECUからリアルタイムでストリーミングされ、車両及びそのサブシステムの状態に関する現在の情報を提供できる。この情報を処理するモデルは、車両自体に実装され、低遅延で判定を行うことができる。モデルは、リモートで訓練できる、例えば様々な車両からECUの時系列情報を収集するクラウドベースのシステムで訓練し、使用するためにそれらの車両に分配できる。
【0019】
図1を参照すると、障害検出モデル訓練システム104の例が示されている。モデル訓練システム104は、複数の車両102から情報を収集する。この情報は、例えば車両102内のECU106から収集することが可能であり、時系列情報で表すことができる。そのような時系列情報には、ECUによって時間と共に作成されたそれぞれの連続する測定値またはレポートを含む場合がある。したがって、各ECU106は、それぞれのサブシステムに関連する情報を生成することが可能であり、この情報は、測定時間に応じて他のECUからの情報と関連付けることができる。
【0020】
訓練データは、教師有りまたは教師無し法でラベル付けされる。例えば、ドメインの専門家は、そのデータが正常な動作を反映しているか、または車両サブシステムの既知の障害状態を反映しているかに応じて、手動でデータにラベルを付与できる。他の例において、データは、教師無しクラスタリングプロセス等の教師無し法を用いて自動的にラベル付けされる場合がある。
【0021】
モデル訓練システム104が訓練データを用いて障害検出モデルを訓練した後、訓練されたモデルを車両102に配布できる。したがって、車両102は、モデル108のそれ自体のローカルコピーを有することができる。ECU106によって新しい時系列情報が生成されると、モデル108は、該時系列情報が正常な動作を予測するか、それとも障害状態を予測するかについて判定を下すことができる。コントローラ110は、予測に基づいて、例えば障害による損傷を防止するように動作できる。
【0022】
訓練データを供給する車両は、訓練されたモデルを実装する車両102とは異なる場合があることを理解されたい。いくつかのケースでは、訓練されたモデル108が車両の特定のモデルに固有であるように、複数の車両102は全て同じモデルであってもよい。いくつかのケースでは、訓練されたモデル108が一般的であり、複数の異なる車両モデルにわたって効果的であるように、複数の車両102は異なるモデルであってもよい。いくつかのケースでは、追加の訓練データがモデル訓練システム104に提供されるため、モデル108はその初期実装後に更新される場合がある。したがって、モデル108は、車両の製造時または販売時に車両102に設置することが可能であり、有線または無線ネットワークコネクションを用いて車両102に送信することが可能である、または任意の他の適切な時点で、その他の適切なプロセスによって車両102に送信できる。
【0023】
本発明の原理は、自動車内のECUの特定の例に関連して説明するが、この例は限定を意図するものではないことを理解されたい。本明細書で説明する障害検出は、任意の適切なサイバーフィジカルシステムで実行することができる。さらに、本発明の原理は分散障害検出のコンテキストで説明するが、障害検出モデル108は中核拠点に収容されていてもよく、動作情報は障害検出のために該中核拠点に送信されてもよいことを理解されたい。
【0024】
図2を参照すると、車両102の追加の詳細が示されている。エンジン202、トランスミッション204及びブレーキ206を含む、車両102の多数の異なるサブシステムが示されている。これらのサブシステムは説明のために示したものであり、限定するものとして解釈するべきではないことを理解されたい。追加のサブシステムには、環境制御、ユーザインタフェース、ステアリング制御、ブレーキ制御等のユーザ向けシステムが含まれる場合がある。追加のサブシステムには、タイヤ空気圧の監視、位置検出、衝突の検出及び回避、自動運転のような、ユーザが直接操作しないシステムが含まれる場合がある。
【0025】
各サブシステムは、それぞれのサブシステムの状態測定を実行する1つまたは複数のECU106によって監視される。例えば、ブレーキ206に関連するECU106は、ブレーキ206によって加えられる圧力の量、ブレーキ206の温度及びブレーキ206が使用可能な残りの寿命を判定できる。ECU106によって収集された情報はコントローラ110に供給される。
【0026】
ECU106と車両102のサブシステムとの間の通信は、任意の適切な有線または無線通信媒体及びプロトコルによって伝達される。例えば、カーエリアネットワーク(CAN)を通信に使用することができる。時系列情報は、ECU106からコントローラ110に伝達されてもよく、コントローラ110からの命令は、車両102のそれぞれのサブシステムに伝達されてもよい。
【0027】
コントローラ110は、障害検出モデル108を用いて、ECU106からの時系列情報が障害を予測するか否かを判定する。新しい時系列情報はモデル108に入力され、モデル108は、障害状態の原因であるサブシステムの情報を含むラベル(例えば、「正常」または「障害」)を出力する。
【0028】
コントローラ110は、車両102及びECU106のサブシステムと内部で通信可能であり、外部のモデル訓練システム104と通信できる。例えば、コントローラ110は、モデル訓練システム104から更新されたモデルを受信することが可能であり、さらにECU106で収集された時系列情報をモデル訓練システム104に戻すことができる。例えば、モデル108が、認識されている障害に適合しない異常な挙動を示す場合、コントローラ110は、対応する時系列情報をモデル訓練システム104に戻すことが可能であり、それはモデル108の以降の反復処理を訓練するために使用できる。
【0029】
図3を参照すると、障害検出モデルを訓練し、使用する方法が示されている。ブロック300は障害検出モデルを作成する。ブロック310は、障害検出モデルを車両102等のシステムに配備する。ブロック320は、配備された障害検出モデルを用いて障害を検出する。ブロック300、310及び320のそれぞれは、異なるエンティティで実行されてもよく、それぞれが他とは独立して実行されてもよい。
【0030】
モデルの作成300は、訓練データ302の収集を含む。この訓練データの収集302は、車両102のECU106から時系列データを受信することを含む。訓練データは、ドメインの専門家によってラベル付けされるか、教師無しまたは半教師有り法でラベル付けされる。したがって、訓練データは、「正常」または「障害」にラベル付けされた時系列情報を含むことができる。訓練データは、例えば、時系列を均一な時間長のセグメントに分割するために、スライド時間ウィンドウを用いてセグメントに分割できる。モデルの作成300は、訓練データを用いてブロック304で障害検出モデルを訓練するが、これについては以下でより詳細に説明する。ブロック304の訓練は、異なるECU106間の関係を表すグラフを判定することを含む。
【0031】
ブロック310は、障害検出モデルを車両102等の適切なシステムに配備する。この配備は、適切な有線または無線の通信媒体及びプロトコルを用いて実行できる。例えば、配備は、モバイルデータネットワークを用いて車両102に対するOTA(over-the-air)更新の一部として実行される。
【0032】
ブロック320は、配備された場所で障害検出を実行する。例えば、ブロック322は、ECU106を用いて車両102の様々なサブシステムからシステム動作データを収集できる。ブロック323は、例えば、収集されたシステム動作データを配備された障害検出モデルに対する入力として用いることで障害または異常な挙動を検出する。以下でより詳細に説明するように、この検出は、システム動作データと既知の障害との間の類似性を表す障害スコアと、システム動作データとあらゆる既知の動作データパターンとの間の非類似性を表す異常スコアの、2つの異なるスコアを生成できる。
【0033】
ブロック324は、障害または異常な挙動の検出に応じて是正措置を実行する。この是正措置には、例えば、オペレータに潜在的な障害を通知すること、またはメンテナンスの日程を決めるためにサービスステーションと通信することが含まれる。是正措置は、例えば、障害を是正または防止するための自動措置を含むことができる。そのような自動措置には、車両102内の1つまたは複数の装置の設定を変更する、エンジン202を停止する、ブレーキ206をかける、ステアリングを変更する、ギアを変更する、並びにエンジン202、トランスミッション204またはブレーキ206の動作特性を変更して、悪条件を補償する等、1つまたは複数のサブシステムの動作状態の変更を含むことができる。
【0034】
図4を参照すると、ブロック304における障害検出モデルの訓練に関する追加の詳細が示されている。ブロック402は、システムの複数のセンサ間の関係グラフを構築する。続いて、ブロック402は、サブシステムに応じて関係グラフを分割する。例えば、車両のECU106は、それぞれのサブシステムに応じてグループ化できる。
【0035】
ECU106からのロー(raw)センサデータは、それがどのサブシステムに関連するかを示さない場合がある。但し、同じサブシステム内の信号は、別のサブシステムからの信号よりも相互に強い相関を持つ場合がある。したがって、ブロック402における分割は、センサデータに対する相関分析を用いて実行してもよく、異なるECU106間の相関を表す相関グラフを生成してもよい。ECU106のクラスタは、異なるサブシステムに関連付けることができる。
【0036】
このクラスタリングには、サブシステムを識別するためのソフトクラスタリング手法を含むことができる。例えば、2つのクラスタ間の接続ノードは、それぞれのサブシステムの両方に属している場合がある。これは、いくつかのECU106が複数のサブシステムに関連している可能性があるという事実を反映している。例えば、エンジンのRPM情報はエンジンのサブシステムの信号であるが、ギアのサブシステムにも関連する。2つの信号が高い相関を有する(例えば、閾値よりも大きい程度まで相関する)場合、グラフは対応するノード間の境界を含む。
【0037】
ブロック404は、ロウ時系列情報及び相関グラフから特徴を抽出する。測定された信号の値及び異なるECU106からの信号間の相関を含む、特徴の2つのカテゴリが含まれていてもよい。例えば、測定された信号は、エンジンのRPM、温度及びバッテリ電圧を含むことが可能であり、相関関係は、これらの信号の一方の変化が他方の信号の変化と相関することを反映する。
【0038】
信号の値は、正常な動作中は非常に動的になる可能性があり、特定の信号内の傾向は信頼できない可能性がある。しかしながら、異なる信号間の相関は、はるかに安定している可能性がある。したがって、異なる信号間の相関関係の大きな変化は、異常なイベントを示している可能性がある。
【0039】
ブロック406は、ラベル付けされた訓練データから抽出された特徴を用いて機械学習モデルを訓練する。以下でより詳細に説明するように、機械学習モデルを人工ニューラルネットワークとして実装することが特に考えられる。モデルは、障害の訓練データに対する入力の類似性を示す障害スコアと、正常な訓練データに対する入力の非類似性を示す異常スコアとを含む2つのスコアを生成するように訓練できる。
【0040】
図5を参照すると、障害検出モデル108の例示的なニューラルネットワーク構造が示されている。入力X
i,wは、適切な長さのセグメントに分割されたECU106からのローデータとしてのR
i,wと、ECU106間の相関を捕捉する相関グラフとしてのg
i,wとを含む2つの部分に分割される。ここで、iは特定の車両を表し、wは特定の時間枠を表す。長・短期記憶(LSTM:long-short term neural memory)ニューラルネットワーク層502は、ローデータR
i,wを処理する。連結器504は、LSTM層502によって出力された、処理されたローデータを相関グラフ情報g
i,wと連結し、特徴埋め込みh(X
i,w)を形成する。
【0041】
LSTMネットワークは、以降で用いるためにLSTMニューロン内で情報を格納する、様々なRNN(recurrent neural network)である。メモリの使用は、ニューロンの活性化関数によって制御される可能性がある。このメモリを使用すると、バックプロパゲーション中に勾配情報を保持するのに役に立つ。RNNは、順序付けられた連続する特徴ベクトル等、一連の情報を処理するために使用できる。これにより、RNNは、情報が自然なシーケンシャルであるテキスト処理や音声認識に適している。RNNの各ニューロンは、前の層からの新しい入力と、現在の層からの先の入力の2つの入力を受け取る。これにより、RNN層は、ある入力から次の入力までのシーケンスの状態に関する情報を維持する。
【0042】
特徴埋め込みh(Xi,w)を使用して2つのスコアを生成できる。全結合層506は、特徴埋め込みを入力として取得し、特徴埋め込みと全結合層506を訓練するために使用される既知の障害訓練データとの間の類似性を表す障害スコアを生成する。オートエンコーダ508は、特徴埋め込みを入力として取得し、特徴埋め込みと、オートエンコーダ508を訓練するために使用される既知の正常な訓練データとの間の非類似性を表す異常スコアを生成する。
【0043】
したがって、異常スコアが低く、障害スコアが低い場合、システムは正常に動作している。障害スコアが高く、異常スコアも高い場合、障害が検出されている。異常スコアが高く、障害スコアが低い場合、車両は不明な状態にある。この新しい状態をよりよく理解するために、さらなる監視が必要になる場合があり、追加情報を収集して分析用に転送する場合がある。障害スコアが高く、異常スコアが低い場合、これはモデルに問題があることを示しており、再訓練が発動される可能性がある。システムの状態は、異常スコアと障害スコアが時間の経過と共にどのように変化するかという観点からも判断できる。障害スコアが増加している場合、障害が差し迫っている可能性があり、オペレータに警告を表示する場合がある。
【0044】
ブロック304の訓練中、障害スコアの損失と異常スコアの損失は一緒に考慮されてもよい。障害スコアの損失関数の場合、正常な訓練データと障害訓練データの両方を考慮することが可能であり、3つの部分の損失関数を提供する。正常な動作状態にあるシステムiの場合、障害スコアF(X
i,w)は低く、時間の経過に伴う変動が小さいはずである。したがって、第1の障害損失コンポーネントは次のように表すことができる。
【数1】
ここで、ηは重みパラメータであり、Nは正常な動作状態を表す連続する訓練データのセットである。このコンポーネントの第1項は全ての時間ウィンドウwにわたる絶対障害スコアを測り、第2項は時間ウィンドウw1及びw2の全てのペアの障害スコア間の差を測る。
【0045】
障害状態の車両iに関して、障害スコアF(X
i,w)は、システムの健全性の低下を表す、非減少であり得る。したがって、第2の障害損失コンポーネントは、次のように表すことができる。
【数2】
ここで、Fは障害動作状態を表す連続する訓練データのセットである。ウィンドウw1の障害スコアがその後のウィンドウw2の障害スコアよりも大きい場合、その差が損失に寄与する。それ以外の場合、2つのウィンドウ間で障害スコアが増加すると、その寄与はゼロになる。ウィンドウw1及びw1は、連続している場合もあれば、不連続な期間を表している場合もある。
【0046】
障害状態にあるシステムiの最大障害スコアが、正常な動作状態にあるシステムjの最大障害スコアよりも大きいことを確認するため、第3の障害損失成分は、次のように表すことができる。
【数3】
常に正常な動作状態にある車両の障害スコアが、障害状態にあるシステムの障害スコアを超えると、障害スコアの差が損失の一因となる。それ以外の場合、これら2台の車両の寄与はゼロである。
【0047】
総障害スコア損失は、次のように表すことができる。
【数4】
ここで、α及びβはハイパーパラメータである。
【0048】
異常スコアの損失関数は、正常な訓練データに焦点を当てて、正常な挙動からの逸脱を測定する。オートエンコーダネットワークには、エンコーダセクションと復号セクションの2つのセクションが含まれる場合がある。エンコーダセクションは、比較的高次元な入力の比較的低次元の埋め込みを作成することが可能であり、復号セクションは元の高次元な入力を再作成することができる。オートエンコーダネットワークは、元の入力をできるだけ厳密に再現するように訓練される。このようなネットワークは、様々な方法で使用できる。例えば、低次元の埋め込みは、元の入力の比較的コンパクトな表現として使用できる。一方、高次元の出力は、ノイズの多い入力から情報を再構築するために使用できる。
【0049】
したがって、オートエンコーダ508を用いて特徴埋め込みAE(h(X
i,w))の再構成を生成できる。そのため、異常スコアの損失関数は再構成エラー
【数5】
である可能性がある。
【0050】
訓練中、LSTM層502、全結合層506及びオートエンコーダ508のパラメータを調整して、これらの損失関数を一緒に最小化することができる。訓練データセットの第1のセット(正常な動作状態と障害状態の両方を含む)を用いてこの訓練を実行し、訓練データセットの第2のセットを用いて訓練済みの障害検出モデルの有効性を試験できる。
【0051】
障害検出中、ブロック323において、ECU106で新たに取得されたデータのセットは、訓練された障害検出モデルに対する入力として使用され、新しい障害スコア及び新しい異常スコアが生成される。是正措置324は、これら2つのスコアの動態を比較することで判定される。両方のスコアが低い場合、車両は正常な動作状態にあり、ブロック324において警告や措置を実行する必要は無い。以前の測定値と比較して両方のスコアが増加している場合、障害が発生しているか、または間もなく発生する可能性があることを示し、ブロック324でオペレータに警告を発し、自動是正措置を実行すればよい。
【0052】
さらに、障害スコアと異常スコアとの比較は、障害検出モデル自体の有効性に関する情報を提供できる。例えば、障害スコアが低いままで、異常スコアが増加する場合、訓練データで明らかになった以外の状態がシステムに存在する可能性がある。これらの他の状態は、正常な動作や既知の障害状態に近くない場合がある。これらの場合、測定された情報はモデル訓練システム104に送り返され、そこでドメインの専門家が異常状態の解釈を提供し、以降の訓練データのセットに情報を追加する可能性がある。
【0053】
障害スコアが高いが、異常スコアが低い場合、障害検出モデルにおける過剰適合の結果である可能性がある。例えば、障害状態のサンプルが少なすぎる場合、または重みハイパーパラメータβが小さすぎる場合、モデルは障害状態と正常な動作状態とを正確に区別できない可能性がある。そのような場合、現在の動作状態をモデル訓練システム104に送り返すことが可能であり、それに応じて障害検出モデルの訓練を調整できる。
【0054】
本明細書に記載する実施形態は、全てハードウェアで実現してもよく、全てソフトウェアで実現してもよく、ハードウェアとソフトウェアの両方の要素を含んでいてもよい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されないソフトウェアでも実現可能である。
【0055】
実施形態には、コンピュータもしくは任意の命令実行システムによって使用される、または関連して使用されるプログラムコードを提供する、コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体からアクセスできる、コンピュータプログラム製品を含んでもいてよい。コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体には、命令実行システム、機器、もしくは装置によって使用される、または関連して使用されるプログラムを格納、伝達、伝搬または転送する任意の機器を含んでいてもよい。該媒体は、磁気媒体、光学媒体、電子媒体、電磁気媒体、赤外線媒体または半導体システム(または機器もしくは装置)、あるいは伝搬媒体であってもよい。該媒体には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク及び光ディスク等のコンピュータで読み取り可能な媒体を含んでいてもよい。
【0056】
各コンピュータプログラムは、汎用または特別な目的を持つプログラム可能なコンピュータで読み取ることができる、機械で読み取り可能なストレージメディアまたは装置(例えば、プログラムメモリまたは磁気ディスク)に格納される。該コンピュータプログラムは、ストレージメディアまたは装置から本明細書に記載された手順を実行するコンピュータで読み出される、該コンピュータの設定及び制御動作のためのものである。本発明のシステムには、本明細書に記載した機能を実行する、特定の及び事前に定義された方法をコンピュータに動作させるように構成されたコンピュータプログラムを含む、コンピュータで読み取り可能なストレージメディアも考慮される。
【0057】
プログラムコードを格納及び/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接または間接的に接続された少なくとも1つのプロセッサを備えていてもよい。このメモリ要素には、処理の実行中にバルクメモリ装置からコードが検索される回数を減らすために、プログラムコードの実際の実行中に用いられるローカルメモリ、バルクメモリ装置及び少なくともいくつかのプログラムコードを一時的に記憶するキャッシュメモリを備えていてもよい。入出力またはI/O装置(限定されるものではないが、キーボード、ディスプレイ、ポインティング装置等を含む)は、直接またはI/Oコントローラを介してシステムに接続されてもよい。
【0058】
ネットワークアダプタは、データ処理システムが、プライベートネットワークまたは公衆ネットワークを介して、他のデータ処理システムまたはリモートプリンタもしくはメモリ装置に接続されることを可能にするために、上記システムと接続されていてもよい。モデム、ケーブルモデム及びイーサネット(登録商標)カードは、現在利用可能なタイプのネットワークアダプタのほんの一例である。
【0059】
本明細書で用いる「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、1つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェアまたはそれらの組み合わせを指すことができる。有用な実施形態において、ハードウェアプロセッササブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行デバイス等)を含むことができる。1つまたは複数のデータ処理要素は、中央処理装置、グラフィックス処理装置及び/または個別のプロセッサまたはコンピューティング要素ベースのコントローラ(例えば、論理ゲート等)を含めることができる。ハードウェアプロセッササブシステムは、1つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み出し専用メモリ等)を含むことができる。任意の実施形態において、ハードウェアプロセッササブシステムは、オンボードまたはオフボードとすることができる、またはハードウェアプロセッササブシステム(例えば、ROM、RAM、基本入出力システム(BIOS)等)で用いるための専用の1つ以上のメモリを含むことができる。
【0060】
任意の実施形態において、ハードウェアプロセッササブシステムは、1つ以上のソフトウェア要素を含み実行できる。1つ以上のソフトウェア要素は、特定の結果を達成するためにオペレーティングシステム及び/または1つ以上のアプリケーション及び/または特定のコードを含むことができる。
【0061】
他の実施形態において、ハードウェアプロセッササブシステムは、指定された結果を達成するために1つまたは複数の電子処理機能を実行する専用回路を含むことができる。そのような回路は、1つまたは複数の特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)及び/またはプログラマブルロジックアレイ(PLA)を含むことができる。
【0062】
ハードウェアプロセッササブシステムのこれら及び他の変形例もまた、本発明の実施形態によって考えられる。
【0063】
図6を参照すると、モデル訓練システム104に関するさらなる詳細が示されている。システム104は、ハードウェアプロセッサ602及びメモリ604を含む。ネットワークインタフェース606は、システム104と、車両102等の1つまたは複数のサイバーフィジカルシステムとの間の通信を提供する。ネットワークインタフェース606は、任意の適切な有線または無線通信媒体及びプロトコルを使用できる。システム104は、ソフトウェアをメモリ604に格納可能であり、ハードウェアプロセッサ602によって実行できる機能モジュールをさらに含む。機能モジュールの1つまたは複数は、例えばASICまたはFPGAの形式で、個別のハードウェアコンポーネントとして実装されてもよい。
【0064】
メモリ604は、障害状態の訓練データ608及び正常状態の訓練データ610を格納する。これらの訓練データセットのそれぞれには、例示的なサイバーフィジカルシステムで測定された時系列情報のデータセットが含まれる。例えば、既知の障害または既知の正常な動作状態にある一組の車両102のECU106は、それぞれの障害状態の訓練データ608及び正常状態の訓練データ610を生成するために時間と共に監視される。モデルトレーナ612は、この情報を用いて上述したモデル108等の障害検出モデル614を訓練する。
【0065】
この障害検出モデル614は、実装のために異なるサイバーフィジカルシステムに送信されてもよい。例えば、ネットワークインタフェース606は、モデル614を車両群102に送信し、動作中に障害を識別及び予測するために使用できる。
【0066】
上述したように、障害検出モデル614は、脳等の生物学的神経系に触発された情報処理システムである人工ニューラルネットワーク(ANN)として実装できる。ANNの重要な要素は、特定の問題を解決するために並行して動作する高度に相互接続された多数の処理要素(「ニューロン」と呼ばれる)を含む情報処理システムの構造である。ANNは、一連の訓練データを用いて訓練され、学習にはニューロン間に存在する重みの調整が含まれる。ANNは、このような学習プロセスを通して、パターン認識やデータ分類等の特定のアプリケーション用に構成される。
【0067】
図7を参照すると、ニューラルネットワークの一般化された図が示されている。3つの層と全結合ニューロンのセット数を持つANNの特定の構造が示されているが、これは説明のみを目的としていることを理解されたい。実際には、本実施形態は、任意の数の層及び任意のパターンまたはそれらの間の接続パターンを含む、任意の適切な形態をとることができる。
【0068】
ANNは、複雑または不正確なデータから意味を導き出す能力を示し、パターンを抽出し、人または他のコンピュータベースのシステムで検出するには複雑すぎるトレンドを検出するために使用できる。ニューラルネットワークの構造は、一般に、1つまたは複数の「隠れ」ニューロン704に情報を提供する入力ニューロン702を有することが知られている。入力ニューロン702と隠れニューロン704との間の接続708は重み付けされ、これらの重み付けされた入力は、隠れニューロン704内の何らかの関数に従って隠れニューロン704によって処理される。隠れニューロン704の任意の数の層及び異なる関数を実行するニューロンが存在する。畳み込みニューラルネットワーク、Maxoutネットワーク等、様々なニューラルネットワーク構造も存在する。これらは、隠れ層の構造及び関数、並びに層間の重みのパターンによって異なる。個々の層は、特定の関数を実行する場合があり、畳み込み層、プーリング層、全結合層、ソフトマックス層、またはその他の適切なタイプのニューラルネットワーク層を含む場合がある。最後に、出力ニューロンのセット706は、隠れニューロンの最後のセット704からの重み付けされた入力を受け入れて処理する。
【0069】
これは、情報が入力ニューロン702から出力ニューロン706に伝播する「フィードフォワード」計算を表している。フィードフォワード計算が完了すると、出力は訓練データから得られる目的の出力と比較される。訓練データに関連するエラーは「バックプロパゲーション」計算で処理され、そこで、隠れニューロン704と入力ニューロン702は、出力ニューロン706から逆方向に伝播するエラーに関する情報を受け取る。逆方向のエラー伝播が完了すると、重み付けされた接続708が更新されて、受信されたエラーを考慮して重みの更新が実行される。動作の3つのモード、フィードフォワード、バックプロパゲーション及び重みの更新は、互いに重複しないことに留意されたい。これは、ANN計算の1つの種類にすぎず、代わりに任意の適切な形式の計算を使用できる。
【0070】
ANNを訓練するために、訓練データを訓練セットとテストセットとに分割できる。訓練データには、入力と既知の出力のペアが含まれる。訓練中、訓練セットの入力は、フィードフォワード伝搬を使用してANNに供給される。各入力の後、ANNの出力がそれぞれの既知の出力と比較される。ANNの出力とその特定の入力に関連付けられている既知の出力との間の不一致を使用してエラー値が生成される。このエラー値は、ANNを介して逆伝播され、その後、ANNの重み値が更新される。このプロセスは、訓練セット内のペアが無くなるまで継続する。
【0071】
訓練が完了した後、ANNはテストセットに対してテストされ、訓練が過剰適合を引き起こさなかったことが確認される。ANNが、既に訓練されたものを超えて、新しい入力に一般化できる場合、使用する準備ができている。ANNがテストセットの既知の出力を正確に再現しない場合、追加の訓練データが必要になるか、ANNのハイパーパラメータを調整する必要がある。
【0072】
ANNは、ソフトウェア、ハードウェアまたはこれら2つの組み合わせで実装できる。例えば、各重み708はコンピュータメモリに格納された重みの値として特徴付けることが可能であり、各ニューロンの活性化関数はコンピュータプロセッサによって実装できる。重みの値は、実数、バイナリ値または固定数の可能性から選択された値等、関連するニューロン出力に対して乗算される任意の適切なデータ値を格納できる。
【0073】
本明細書では本発明の「一実施形態」または「実施形態」、並びにその他の変形形態に言及し、実施形態に関連して説明した特定の関数、構成、特徴等が、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、「一実施形態において」または「実施形態において」という語句の出現、並びに本明細書全体を通して様々な場所に出現する任意の他の変形形態は、必ずしも全てが同じ実施形態を参照しているわけではない。しかしながら、本明細書で提供される本発明の教示を前提として、1つまたは複数の実施形態の特徴を組み合わせることができることを理解されたい。
【0074】
例えば、「A/B」、「A及び/またはB」、並びに「A及びBのうちの少なくとも1つ」の場合における「/」、「及び/または」、並びに「うちの少なくとも1つ」のうちのいずれかの使用は、第1に挙げた選択肢(A)のみの選択、第2に挙げた選択肢(B)のみの選択、または両方の選択肢(A及びB)の選択を含むことを意図したものと理解すべきである。さらに例を挙げれば、「A、B及び/またはC」、並びに「A、B及びCのうちの少なくとも1つ」の場合、このような表現法は、第1に挙げた選択肢(A)のみの選択、第2に挙げた選択肢(B)のみの選択、第3に挙げた選択肢(C)のみの選択、第1及び第2に挙げた選択肢(A及びB)のみの選択、第1及び第3に挙げた選択肢(A及びC)のみの選択、第2及び第3に挙げた選択肢(B及びC)のみの選択、または3つの選択肢全て(A及びB及びC)の選択を含むことを意図したものである。上述した例は、当業者に容易に明らかとなるように、列挙される多数の項目に応じて拡大適用される。
【0075】
上記は、あらゆる観点において説明的(illustrative)かつ典型的(exemplary)であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。