(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】欠落情報を伴う順序時系列の分類
(51)【国際特許分類】
G06F 18/24 20230101AFI20240813BHJP
G06F 18/23213 20230101ALI20240813BHJP
G06N 3/0895 20230101ALI20240813BHJP
【FI】
G06F18/24
G06F18/23213
G06N3/0895
(21)【出願番号】P 2022578604
(86)(22)【出願日】2021-08-24
(86)【国際出願番号】 US2021047286
(87)【国際公開番号】W WO2022055698
(87)【国際公開日】2022-03-17
【審査請求日】2023-02-14
(32)【優先日】2021-08-23
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】ルメザヌ、 クリスチャン
(72)【発明者】
【氏名】チェン、 ユンコン
(72)【発明者】
【氏名】溝口 毅彦
(72)【発明者】
【氏名】ソン、 ドンジン
(72)【発明者】
【氏名】チェン、 ハイフォン
(72)【発明者】
【氏名】ナザロヴス、 ジュリイス
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特表2014-509011(JP,A)
【文献】石川昌義 ほか,"クラスタリングを活用した教師なし学習による不完全なデータセットにおける転移学習の検討",電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2016年11月09日,Vol. 116,No. 300,p. 321-327
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
欠落ラベルの時系列の分類のためのコンピュータで実施される方法であって、
推測段階中に分類される入力時系列セグメントの特徴を抽出するステップと(315)、
ハードウェアプロセッサにより、訓練データで訓練されたニューラルネットワークモデルを用いて、前記入力時系列セグメントが属する可能性が最も高
い2つの候補ラベルを選択するために、前記特徴のランクベースの統計値を計算するステップと(320)、
前記訓練データに前記2つの候補ラベルが存在することに対応して、前記訓練データに適用されるk-NNベースの分類法を用いて前記入力時系列セグメントを分類するステップと(350)、
前記訓練データに前記2つの候補ラベルのうちの一方だけが存在することに対応して、仮説検定により前記入力時系列セグメントを分類するステップと(335)、
前記訓練データに前記2つの候補ラベルのいずれも存在しないことに対応して、前記ランクベースの統計値の異なる値を有する複数のクラスから前記ランクベースの統計値のより高い値を有するクラスに前記入力時系列セグメントを分類するステップと(345)、
時間ウィンドウを用いた多数決法により、前記分類するステップのうちの該当するステップによって予測を修正するステップと(340)、
を有するコンピュータで実施される方法。
【請求項2】
順序四重項損失に基づいて、前記訓練データでニューラルネットワークモデルを訓練するステップをさらに有する、請求項1に記載のコンピュータで実施される方法。
【請求項3】
前記順序四重項損失は、特徴空間に関する類似度成分、識別成分及び特徴順序成分を有する、請求項2に記載のコンピュータで実施される方法。
【請求項4】
前記順序四重項損失は、トリプレット損失及び対数比損失を有する、請求項2に記載のコンピュータで実施される方法。
【請求項5】
前記2つの候補ラベルのそれぞれについて、前記2つの候補ラベルのそれぞれから
前記訓練データに存在するラベルのそれぞれに対するラベル検索ベクトルを計算するステップをさらに有する、請求項1に記載のコンピュータで実施される方法。
【請求項6】
前記推測段階で分類される入力時系列
セグメント毎に、前記2つの候補ラベルのそれぞれから、特徴空間における
前記訓練データに存在するラベルのそれぞれの特徴中心に対するテスト検索ベクトルを計算するステップをさらに有する、請求項1に記載のコンピュータで実施される方法。
【請求項7】
前記特徴中心は、同じラベルを有する入力時系列セグメントの特徴の平均値として計算される、請求項
6に記載のコンピュータで実施される方法。
【請求項8】
前記仮説検定が、統計的手法を用いて
非欠落クラスの外れ値を決定するステップを有する、請求項1に記載のコンピュータで実施される方法。
【請求項9】
外れ値を決定することは、閾値距離に関して、現在のクラスにおける前記訓練データから評価されたクラスのクラス中心までの距離の分布を決定するステップを有する、請求項8に記載のコンピュータで実施される方法。
【請求項10】
前記
修正するステップは、時間ウィンドウ中に最も予測されるクラスを選択する多数決方式を用いて、前記時間ウィンドウ内でラベルを予測することを有する、請求項1に記載のコンピュータで実施される方法。
【請求項11】
システムの稼働停止時間を回避するため、前記予測に対応して、障害が差し迫っている職場機械を予備の職場機械と交換することをさらに有する、請求項1に記載のコンピュータで実施される方法。
【請求項12】
欠落ラベルの時系列の分類のためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、プログラム命令が実装された
コンピュータで読み取り可能な非一時的記録媒体を有し、前記プログラム命令がコンピュータによって実行可能であり、
ハードウェアプロセッサにより、推測段階中に分類される入力時系列セグメントの特徴を抽出するステップと(315)、
ハードウェアプロセッサにより、訓練データで訓練されたニューラルネットワークモデルを用いて、前記入力時系列セグメントが属する可能性が最も高
い2つの候補ラベルを選択するために、前記特徴のランクベースの統計値を計算するステップと(320)、
ハードウェアプロセッサにより、前記訓練データに前記2つの候補ラベルが存在することに対応して、前記訓練データに適用されるk-NNベースの分類法を用いて前記入力時系列セグメントを分類するステップと(350)、
前記訓練データに前記2つの候補ラベルのうちの一方だけが存在することに対応して、仮説検定により前記入力時系列セグメントを分類するステップと(335)、
前記訓練データに前記2つの候補ラベルのいずれも存在しないことに対応して、前記ランクベースの統計値の異なる値を有する複数のクラスから前記ランクベースの統計値のより高い値を有するクラスに前記入力時系列セグメントを分類するステップと(345)、
時間ウィンドウを用いた多数決法により、前記分類するステップのうちの該当するステップによって予測を修正するステップと(340)、
を有する方法を前記コンピュータに実行させるための、コンピュータプログラム製品。
【請求項13】
前記方法は、順序四重項損失に基づいて、前記訓練データでニューラルネットワークモデルを訓練するステップをさらに有する、請求項12に記載のコンピュータプログラム製品。
【請求項14】
前記順序四重項損失は、特徴空間に関する類似度成分、識別成分及び特徴順序成分を有する、請求項13に記載のコンピュータプログラム製品。
【請求項15】
前記順序四重項損失は、トリプレット損失及び対数比損失を有する、請求項13に記載のコンピュータプログラム製品。
【請求項16】
前記方法は、前記2つの候補ラベルのそれぞれについて、前記2つの候補ラベルのそれぞれから
前記訓練データに存在するラベルのそれぞれに対するラベル検索ベクトルを計算するステップをさらに有する、請求項12に記載のコンピュータプログラム製品。
【請求項17】
前記方法は、前記推測段階で分類される入力時系列
セグメント毎に、前記2つの候補ラベルのそれぞれから、特徴空間における
前記訓練データに存在するラベルのそれぞれの特徴中心に対するテスト検索ベクトルを計算するステップをさらに有する、請求項12に記載のコンピュータプログラム製品。
【請求項18】
前記特徴中心は、同じラベルを有する入力時系列セグメントの特徴の平均値として計算される、請求項17に記載のコンピュータプログラム製品。
【請求項19】
前記仮説検定は、統計的手法を用いて
非欠落クラスの外れ値を決定するステップを有する、請求項12に記載のコンピュータプログラム製品。
【請求項20】
欠落ラベルの時系列の分類のためのコンピュータ処理システムであって、
プログラムコードを保存するためのメモリ装置(140)と、
推測段階中に分類される入力時系列セグメントの特徴を抽出するステップと、
訓練データで訓練されたニューラルネットワークモデルを用いて、前記入力時系列セグメントが属する可能性が最も高
い2つの候補ラベルを選択するために、前記特徴のランクベースの統計値を計算するステップと、
前記訓練データに前記2つの候補ラベルが存在することに対応して、前記訓練データに適用されるk-NNベースの分類法を用いて前記入力時系列セグメントを分類するステップと、
前記訓練データに前記2つの候補ラベルのうちの一方だけが存在することに対応して、仮説検定により前記入力時系列セグメントを分類するステップと、
前記訓練データに前記2つの候補ラベルのいずれも存在しないことに対応して、前記ランクベースの統計値の異なる値を有する複数のクラスから前記ランクベースの統計値のより高い値を有するクラスに前記入力時系列セグメントを分類するステップと、
時間ウィンドウを用いた多数決法により、前記分類するステップのうちの該当するステップによって予測を修正するステップと、
を有する前記プログラムコードを実行する、前記プログラムコードを保存するための前記メモリ装置に動作可能に接続されたハードウェアプロセッサ(110)と、
を有する、コンピュータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2021年8月23日に出願された米国特許出願第17/408,852号及び2020年9月9日に出願された米国仮特許出願第63/075,859号を基礎とする優先権を主張し、その両方の開示の全てをここに取り込む。
【0002】
本発明は、情報処理に関し、より詳細には、欠落情報を伴う順序時系列の分類に関する。
【背景技術】
【0003】
順序時系列は、1つまたは複数の情報源から経時的に収集されたデータであり、そのラベル(クラスとも呼ばれる)が順序関係を形成している。例えば、シャットダウン、ブートストラップ、部分負荷、全負荷等の発電所の動作状態の進行は、順序付けられたラベルのセットを形成する。同様に、経時的な大気質指数の測定値に割り当てられたラベル(例、良好、穏やか、不安定、害のある、非常に害のある、危険)が順序付けられる。既知の過去の情報が与えられた場合、連続空間から目標値を推測することを目的とする回帰問題とは異なり、順序付けされた分類は離散的で不均一なラベル空間で機能する(つまり、限定されたラベルのセットと、それらの間の距離を定義する非線形な関数がある)。ラベルに関連付けられた時系列の履歴セット、並びにそれらの間に順序関係がある、考えられるラベルのセットが与えられると、履歴データにおける目標のラベルが現れたか否かに関係なく、新しい時系列セグメントを既存のラベルの1つに正確に分類する必要がある。
【発明の概要】
【0004】
本発明の態様によれば、欠落ラベルの時系列の分類のためのコンピュータで実施される方法が提供される。本方法は、推測段階で分類される入力時系列セグメントの特徴を抽出するステップを含む。さらに、本方法は、ハードウェアプロセッサにより、訓練データで訓練されたニューラルネットワークモデルを用いて、入力時系列セグメントが属する可能性が最も高い訓練データから2つの候補ラベルを選択するために、特徴のランクベースの統計値を計算するステップを含む。本方法は、訓練データに2つの候補ラベルが存在することに対応して、訓練データに適用されるk-NNベースの分類法を用いて入力時系列セグメントを分類するステップも含む。さらに、本方法は、訓練データに2つの候補ラベルのうちの一方だけが存在することに対応して、仮説検定により入力時系列セグメントを分類するステップを含む。さらに、本方法は、訓練データに2つの候補ラベルのいずれも存在しないことに対応して、ランクベースの統計値の異なる値を有する複数のクラスからランクベースの統計値のより高い値を有するクラスに入力時系列セグメントを分類するステップを含む。また、本方法は、時間ウィンドウを用いた多数決法により、上記分類するステップのうちの該当するステップによって予測を修正するステップを含む。
【0005】
本発明の他の態様によれば、欠落ラベルの時系列の分類のためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、プログラム命令が実装された非一時的にコンピュータで読み取り可能な記録媒体を含む。プログラム命令は、コンピュータに方法を実行させるために、コンピュータによって実行可能である。本方法は、ハードウェアプロセッサにより、推測段階中に分類される入力時系列セグメントの特徴を抽出するステップを含む。さらに、本方法は、ハードウェアプロセッサにより、訓練データで訓練されたニューラルネットワークモデルを用いて、入力時系列セグメントが属する可能性が最も高い訓練データから2つの候補ラベルを選択するために、特徴のランクベースの統計値を計算するステップを含む。本方法は、ハードウェアプロセッサにより、訓練データに2つの候補ラベルが存在することに対応して、訓練データに適用されるk-NNベースの分類法を用いて入力時系列セグメントを分類するステップも含む。さらに、本方法は、訓練データに2つの候補ラベルのうちの一方だけが存在することに対応して、仮説検定により入力時系列セグメントを分類するステップを含む。さらに、本方法は、訓練データに2つの候補ラベルのいずれも存在しないことに対応して、ランクベースの統計値の異なる値を有する複数のクラスからランクベースの統計値のより高い値を有するクラスに入力時系列セグメントを分類するステップを含む。本方法は、時間ウィンドウを用いた多数決法により、上記分類するステップのうちの該当するステップによって予測を修正するステップも含む。
【0006】
本発明のさらに他の態様によれば、欠落ラベルの時系列の分類のためのコンピュータ処理システムが提供される。本コンピュータ処理システムは、プログラムコードを保存するためのメモリ装置を含む。本コンピュータ処理システムは、推測段階中に分類される入力時系列セグメントの特徴を抽出するためのプログラムコードを保存するためのメモリ装置に動作可能に接続されたハードウェアプロセッサをさらに含む。さらに、ハードウェアプロセッサは、プログラムコードを実行して、訓練データで訓練されたニューラルネットワークモデルを用いて、入力時系列セグメントが属する可能性が最も高い訓練データから2つの候補ラベルを選択するために、特徴のランクベースの統計値を計算する。また、ハードウェアプロセッサは、プログラムコードを実行して、訓練データに2つの候補ラベルが存在することに対応して、訓練データに適用されるk-NNベースの分類法を用いて入力時系列セグメントを分類する。さらに、ハードウェアプロセッサは、プログラムコードを実行して、訓練データに2つの候補ラベルのうちの一方だけが存在することに対応して、仮説検定により入力時系列セグメントを分類する。さらに、ハードウェアプロセッサは、プログラムコードを実行して、訓練データに2つの候補ラベルのいずれも存在しないことに対応して、ランクベースの統計値の異なる値を有する複数のクラスからランクベースの統計値のより高い値を有するクラスに入力時系列セグメントを分類する。また、ハードウェアプロセッサは、プログラムコードを実行して、時間ウィンドウを用いた多数決法により、上記分類するステップのうちの該当するステップによって予測を修正する。
【0007】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【0008】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本発明の一実施形態による、例示的な計算装置を示すブロック図である。
【0010】
【
図2】
図2は、本発明の一実施形態による、例示的な通常の時系列分類アーキテクチャを示すブロック図である。
【0011】
【
図3】
図3は、本発明の一実施形態による、欠落情報を伴う順序時系列の分類の例示的な方法を示すフロー図である。
【0012】
【
図4】
図4は、本発明の一実施形態による、例示的な環境を示すブロック図である。
【0013】
【
図5】
図5は、本発明の一実施形態による、サンプルの例示的な距離計算を示すブロック図である。
【発明を実施するための形態】
【0014】
本発明の実施形態は、欠落情報を伴う順序時系列の分類を対象とする。
【0015】
本発明の実施形態は、順序時系列の分類のためのフレームワークを提案する。このフレームワークは、ロー(raw)時系列データセグメントを低次元表現(埋め込みまたは特徴とも呼ばれる)に変換する時間エンコーダに依存する。時間エンコーダに加えて、順序最適化モジュール及び順序検索ベースの分類モジュールの2つの発明を提案する。
【0016】
順序最適化モジュール。本発明の実施形態において、新しい順序四重項損失最適化(ordinal quadruplet loss optimization)を用いて時系列表現を学習することを提案する。同時に、損失は、ラベル間の順序を維持しながら、異なるラベル間を識別する入力時系列の表現を計算する。これは、任意のラベルAに関して、他のラベル(先に知られている)に対する距離が、Aの時系列セグメントの表現と他のラベルの時系列セグメントの表現との間の距離と相関していることを意味する。
【0017】
欠落訓練ラベルの補完を可能にする順序検索ベースの分類モジュール。一般に、knnベースの検索はメトリック学習問題の分類に使用される。時系列セグメントは、それらに対する埋め込み(または表現)距離に従って、その最近傍のk個のうちの大多数のラベルに従って分類される。但し、訓練データからラベルが欠落している場合、欠落クラスに属するサンプルが非欠落クラスの1つとして誤って分類されるため、この方法は機能しなくなる。これを回避するため、相関ベースの検索を提案する。これは、全てのラベル(欠落及び非欠落)及び分類する各テストサンプルの検索ベクトルを計算する新しい検索メカニズムである。サンプルには、検索ベクトルが最も類似するラベルが割り当てられる。
【0018】
したがって、2つの発明的な特徴は、以下のように問題の解決に貢献する。
(1)時系列データの最良の特徴を学習する際の損失関数の定式化。損失は、既存のトリプレット損失及び対数比損失の定式化に依存するが、ラベル空間から順序を回復し、それを用いて学習した特徴空間を制約するための、これまでにない解決策を提供する。
(2)特徴を生成するエンコーダの訓練に使用されなかったラベル(またはクラス)から時系列を分類する方法。
【0019】
図1は、本発明の一実施形態による、例示的なコンピューティング装置100を示すブロック図である。コンピューティング装置100は、欠落情報を伴う順序時系列の分類を実行するように構成されている。
【0020】
コンピューティング装置100は、コンピュータ、サーバ、ラックベースのサーバ、ブレードサーバ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、モバイルコンピューティング装置、ウェアラブルコンピューティング装置、ネットワークアプライアンス、Webアプライアンス、分散コンピューティングシステム、プロセッサベースのシステム及び/または家庭用電化製品装置を含むが、これに限定されない、本明細書に記載の機能を実行できる任意のタイプの計算機またはコンピュータ装置として具現化できる。追加または代替として、コンピューティング装置100は、1つまたは複数のコンピューティングスレッド、メモリスレッド、またはその他のラック、スレッド、コンピューティングシャーシ、あるいは物理的に分離されたコンピューティング装置のその他のコンポーネントとして具現化できる。
図1で示すように、コンピューティング装置100は、プロセッサ110、入出力サブシステム120、メモリ130、データ記憶装置140及び通信サブシステム150、及び/またはサーバまたは同様のコンピューティングで一般的に見られる他のコンポーネント及び装置を例示的に含む。もちろん、コンピューティング装置100は、他の実施形態において、サーバコンピュータに一般的に見られるもの(例えば、様々な入力/出力装置)等、その他のまたは追加のコンポーネントを含んでいてもよい。さらに、いくつかの実施形態において、例示的な構成要素のうちの1つまたは複数を、別の構成要素に組み込む、または別の構成要素の一部を形成できる。例えば、メモリ130またはその一部は、いくつかの実施形態において、プロセッサ110に組み込まれていてもよい。
【0021】
プロセッサ110は、本明細書に記載の機能を実行できる任意のタイプのプロセッサとして具現化できる。プロセッサ110は、単一のプロセッサ、複数のプロセッサ、中央処理装置(CPU)、グラフィックス処理装置(GPU)、シングルまたはマルチコアプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、または他のプロセッサあるいは処理/制御回路として具現化できる。
【0022】
メモリ130は、本明細書に記載の機能を実行できる任意のタイプの揮発性または不揮発性メモリ、あるいはデータ記憶装置として具現化できる。動作中、メモリ130は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ及びドライバ等、コンピューティング装置100の動作中に使用される様々なデータ及びソフトウェアを保存できる。メモリ130は、I/Oサブシステム120を介してプロセッサ110に通信可能に接続され、プロセッサ110、メモリ130及びコンピューティング装置100の他のコンポーネントとの入出力動作を容易にする回路及び/またはコンポーネントとして具現化できる。例えば、I/Oサブシステム120は、メモリコントローラハブ、入力/出力制御ハブ、プラットフォームコントローラハブ、統合制御回路、ファームウェア装置、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレースなど)及び/または入出力操作を容易にする他のコンポーネント及びサブシステムとして具現化、そうでなければ含むことができる。いくつかの実施形態において、I/Oサブシステム120は、システムオンチップ(SOC)の一部を形成し、プロセッサ110、メモリ130及びコンピューティング装置100の他の構成要素と共に単一の集積回路チップに組み込まれていてもよい。
【0023】
データ記憶装置140は、例えば、メモリ装置及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、若しくはその他のデータ記憶装置等、データの短期または長期記憶用に構成された任意のタイプの装置として具現化できる。データ記憶装置140は、マルチユーザビームアライメントとマルチパス環境における網羅的探索アルゴリズムのクラス最適化とのためのプログラムコードを保存できる。コンピューティング装置100の通信サブシステム150は、ネットワークを介してコンピューティング装置100と他のリモート装置との間の通信を可能にする、任意のネットワークインタフェースコントローラまたは他の通信回路、装置、あるいはそれらの集まりとして具現化できる。通信サブシステム150は、任意の1つまたは複数の通信技術(例えば有線または無線通信)及び関連するプロトコル(例えば、イーサネット、InfiniBand(登録商標)、Bluetooth(登録商標)、Wi?Fi(登録商標)、WiMAX等)を用いて、そのような通信を行うように構成される。
【0024】
示されているように、コンピューティング装置100は、1つまたは複数の周辺装置160を含んでいてもよい。周辺装置160は、任意の数の追加の入/出力装置、インタフェース装置及び/または他の周辺装置を含むことができる。いくつかの実施形態において、周辺装置160は、例えば、ディスプレイ、タッチスクリーン、グラフィック回路、キーボード、マウス、スピーカシステム、マイクロフォン、ネットワークインタフェース、及び/またはその他の入出力装置、インタフェース装置及び/または周辺装置を含むことができる。
【0025】
もちろん、コンピューティング装置100は、当業者であれば容易に思いつくような他の要素(不図示)を含んでいてもよく、特定の要素を省略してもよい。例えば、当業者であれば容易に理解できるが、コンピューティング装置100には、その詳細な実装に応じて他の様々な入力装置及び/または出力装置を含むことができる。例えば、無線及び/または有線による種々の入力装置及び/または出力装置を使用できる。さらに、当業者であれば容易に理解できるが、様々な構成において追加のプロセッサ、コントローラ、メモリ等を用いることも可能である。処理システム100の上記及び他の変形例は、本明細書で提供される本原理の教示によって当業者であれば容易に考えられるであろう。
【0026】
本明細書で用いる「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、1つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェアまたはそれらの組み合わせを指すことができる。有用な実施形態において、ハードウェアプロセッササブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行装置等)を含むことができる。1つまたは複数のデータ処理要素は、中央処理装置、グラフィックス処理装置及び/または個別のプロセッサまたはコンピューティング要素ベースのコントローラ(例えば、論理ゲート等)を含めることができる。ハードウェアプロセッササブシステムは、1つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み出し専用メモリ等)を含むことができる。任意の実施形態において、ハードウェアプロセッササブシステムは、オンボードまたはオフボードとすることができる、またはハードウェアプロセッササブシステム(例えば、ROM、RAM、基本入出力システム(BIOS)等)で用いるための専用の1つ以上のメモリを含むことができる。
【0027】
いくつかの実施形態において、ハードウェアプロセッササブシステムは、1つまたは複数のソフトウェア要素を含み、実行することができる。1つまたは複数のソフトウェア要素は、オペレーティングシステム及び/または1つまたは複数のアプリケーション及び/または特定の結果を達成するための特定のコードを含むことができる。
【0028】
他の実施形態において、ハードウェアプロセッササブシステムは、指定された結果を達成するために1つまたは複数の電子処理機能を実行する専用回路を含むことができる。そのような回路は、1つまたは複数の特定用途向け集積回路(ASIC)、FPGA及び/またはPLAを含むことができる。
【0029】
ハードウェアプロセッササブシステムのこれら及び他の変形例もまた、本発明の実施形態によって考えられる。
【0030】
図2は、本発明の一実施形態による、例示的な通常の時系列の分類アーキテクチャ200を示すブロック図である。
【0031】
入力時系列データは、(重複する可能性がある)セグメントに分割される。セグメントは、連続する短い期間における全てのセンサからの全ての読み取り値を表す。時間エンコーダ220は、深層ニューラルネットワークを用いることで、時系列セグメント210毎の埋め込みを計算する。これは、新しい順序四重項損失関数280を最小化することで、ネットワークの重みを最適化する。新しいセグメントを分類するとき、セグメントをエンコーダ220に通して特徴230を計算し、その特徴230を訓練で用いた過去のセグメントの特徴と比較する。欠落クラス検出モジュール240は、セグメントの真のクラス290が訓練データから欠落している場合でも、新しいセグメントのクラス(またはラベル)250を計算する。最後に、ラベルが頻繁に変更されないことが分かっている場合、時系列の修正260を実行し、テストデータの最近の連続ウィンドウにわたって予測されたクラス270を修正できる。
【0032】
このフレームワークは、センサの数及びデータ生成の頻度に関係なく、時系列データを生成する任意の複雑なシステムに組み込むことができる。
【0033】
本発明の一実施形態による、時間エンコーダ220について、さらに説明する。
【0034】
LSTMに基づく時間エンコーダは、時系列セグメントの特徴を計算するために使用される。エンコーダの入力は、時系列のスライス(つまり、システムにおける全てのセンサから限られた連続期間中に記録された全ての値)である。エンコーダは、順序四重項損失関数を最小化することで、低次元ユークリッド空間(特徴、埋め込みまたは表現とも呼ばれる)において入力時系列セグメント毎のベクトルを計算する。
【0035】
ここで、本発明の実施形態による、順序四重項損失280について説明する。
【0036】
訓練データからの欠落ラベルに対してロバストな学習フレームワークを構築するには、最適化中に以下の側面を考慮しなければならない。
(a)(類似性)類似の(つまり、同じラベルを有する)時系列セグメントは、互いに近い特徴を有する必要がある。
(b)(識別)類似していない(つまり、ラベルが異なる)時系列セグメントは、互いに離れた特徴を有する必要がある。
(c)(順序)異なるクラスのセグメントは、特徴空間での順序がセグメントのラベルの順序と一致する特徴を有する必要がある。
【0037】
以下では上記の3つの特性の全てを満たす順序四重項損失を提案する。
【0038】
4つの時系列セグメントa、s、i及びjが与えられているものとする。ここで、a及びsは同じクラス(または同じラベル)の部分であり、i及びjは互いに異なるクラスの部分であり、aのクラスとは異なるクラスの部分である。この場合、順序四重項損失は3つの異なる損失で構成される。
【数1】
ここで、
【数2】
である。
【0039】
LTは、同じクラス(fa及びfs)のセグメントの特徴間の距離を最小化し、異なるクラス(fa及びfiまたはfj)のセグメントの特徴間の距離を最大化するトリプレット損失を表す。2つのトリプレット損失は、上記の類似性と識別特性を維持する。
【0040】
LRは、異なるクラスの任意の3つのセグメントの特徴距離の比を、同じセグメントのラベル距離の比と同様にする対数比損失を表す。対数比損失の定式化において、Dyはユーザによって定義されたラベル距離関数を表し、yiはセグメントiの真のラベルを示すために使用される。
【0041】
ここで、本発明の一実施形態による、欠落クラス検出について説明する。
【0042】
相関ベースの検索は、訓練データにおいてラベルが存在しない(欠落ラベル)時系列を分類するために提案する。本発明の方法は、以下のステップを含むことができる。
(a)ラベル距離計算。各ラベル(欠落及び非欠落)について、各非欠落ラベルまでのラベル距離からラベル検索ベクトルを計算する(このステップは、ラベル距離が事前に既知であり、変化しないため、訓練の前に1度実行できる)。
(b)分類される入力時系列セグメント毎に、各非欠落ラベルの特徴中心までのユークリッド距離からテスト検索ベクトルを計算する。ラベルの特徴中心は、そのラベルを有する全ての時系列セグメントの特徴の平均として定義される。
(c)テスト検索ベクトルを全てのラベル検索ベクトルと比較し(既存のランク相関法を用いて)、検索ベクトルを用いて最も相関の高い2つのラベルを選択する。これらのベクトルに関連付けられたラベルが候補ラベルである。これは、次の3つの可能性がある。
(i)両方の候補ラベルが訓練データに存在する。この場合、k個の最も近い訓練サンプルがテストデータから計算され、それらの大多数のクラスがテストデータのクラスと見なされる、knnベースの分類が実行される。
(ii)両方の候補ラベルが訓練データから欠落している。この場合、検索ベクトルがテスト検索ベクトルと最も相関しているラベルが選択される。
(iii)一方のラベルが訓練データに存在し、他方のラベルが訓練データから欠落している。この場合、以下で説明する仮説検定(Hypothesis testing)が実行される。
(d)仮説検定は、2つの候補ラベルの一方が欠落している場合に実行される。統計的手法を用いて、テストサンプルが非欠落クラスの外れ値であるか否かをテストする。外れ値でない場合、非欠落クラスとして分類される。外れ値である場合、欠落クラスとして分類される。テストサンプルが非欠落クラスの外れ値であるか否かをテストするために、非欠落クラスの全ての訓練データからクラスの中心(上記で定義)までの距離の分布が計算され、分位数のしきい値がクラスに対して定義される。テストデータから中心までの距離が分位数のしきい値よりも大きい場合、該テストデータは外れ値である。
【0043】
次に本発明の一実施形態による、時系列の修正について説明する。
【0044】
時系列ラベルがどのように変化するかについて予測する場合、分類精度をさらに向上できる。具体的には、時間の連続ウィンドウでラベルが変化しないと仮定すると、該ウィンドウ内の全てのデータの全ての予測を用いて固有の予測を計算できる。続いて、ウィンドウ内の全ての予測に戻り、修正された予測に従ってそれらを修正する。ウィンドウの終わりに固有の予測を計算する簡単な方法は多数決法であり、ウィンドウ全体で最も予測されたクラスを選択する。
【0045】
図3は、本発明の一実施形態による、欠落情報を伴う順序時系列分類のための例示的な方法300を示すフロー図である。
【0046】
ブロック305において、時間エンコーダによって時系列セグメントを符号化する。
【0047】
ブロック310において、順序四重項損失に基づいてニューラルネットワークモデルを訓練する。
【0048】
ブロック315において、入力時系列セグメントの特徴を抽出する。
【0049】
ブロック320において、該セグメントが属する可能性が最も高い2つの候補を選択するために、ランクベースの統計値を計算する。
【0050】
ブロック325において、両方の候補が欠落クラス(ラベル)でないか否かを判定する。欠落クラスでなければブロック350に進む。欠落クラスである場合はブロック330に進む。
【0051】
ブロック330において、両方の候補が欠落クラス(ラベル)であるか否かを決定する。欠落クラスであればブロック345に進む。欠落クラスでない場合はブロック335に進む。
【0052】
ブロック335において、仮説検定によりセグメントを分類する。
【0053】
ブロック340において、時間ウィンドウ内で多数決法を用いて予測を修正する。
【0054】
ブロック345において、ランクベースの統計値がより高いクラスにセグメントを分類する。
【0055】
ブロック350において、k-NN法を用いてセグメントを分類する。
【0056】
図4は、本発明の一実施形態による、例示的な環境400を示すブロック図である。
【0057】
環境400は、異常検出420を取り入れ、作業場フロアの複数の職場機械(以下「機械」)410を含む。機械410は、ガード付きのこぎり等の安全機能を有するプロセッサベースの機械とすることができる。機械410は、様々な製品を作るまたは組み立てるためのロボットであってもよい。機械410からの時系列データは、本発明に従って評価され、該当する場合は差し迫った故障を示すラベルを含むラベルをデータに付与する。このような場合、一実施形態において、工場の稼働停止時間を回避するために、障害が差し迫っている機械の代わりに交換用の機械を配備できる。別の実施形態において、障害が差し迫っている機械の作業負荷を削減して障害を回避し、作業負荷のバランスを、さらなる作業負荷容量を有する他の機械に分散させることができる。障害回避手段の制御は、異常検出ブロック420で行うことができる。異常検出ブロック420は、(時系列データにより)現在の事象と比較するための様々な障害シナリオと、障害シナリオの障害回復及び/または回避ルーチンとを保存する。異常検出ブロック420は、各機械410と有線または無線でそれぞれ通信できる。工場の稼働停止時間を回避するために、これらの手法やその他の手法を採用してもよい。
【0058】
ここで、本発明の実施形態による、本発明の様々な態様に関してさらに説明する。
【0059】
本発明は、訓練データからのラベルの欠落に対してロバストな順序時系列の分類のためのフレームワークを提案する。第1に、ラベル空間と同じ特徴空間において距離の順序を保持するために、新しい順序四重項損失を導入する。第2に、相関ベースの検索方法を提案し、ラベルが訓練データに存在しない(欠落ラベル)時系列を分類する。
【0060】
ここで、本発明の実施形態による、問題ステートメント及び目標について説明する
【0061】
3つ以上のクラスを有する多変量時系列の分類問題を考える。分類の一般的なアプローチは、メトリック損失関数(例えば、トリプレット損失)を最適化する時間エンコーダを適用することで時系列セグメントの低次元表現を学習することである。該エンコーダは、時系列を特徴(または埋め込み)空間に投影する。そこでは、類似したデータがクラスタ化され、類似していないセグメントは遠く離れている。新しいデータを分類するために、その表現を抽出し、訓練データの埋め込みからk最近傍法(k-NN:k-Nearest Neighbors)を用いてそのクラスを予測する。
【0062】
従来の時系列の分類問題とは異なり、以下の2つの追加の仮定が課される。(順序付け)クラス間に完全な順序付け関係があり、(欠落情報)一部のクラスは訓練データにサンプルを持たない可能性がある。課題を理解するために、Δ、O及び+の3つのクラスに焦点を当てる。訓練中にOに対応するデータが利用できず、Δと+の2つのクラスに基づいて特徴を識別することを学習したとする。これは、テストサンプルの真のラベルがOであっても、予測できるのはΔまたは+だけである等の偏った予測を引き起こす。
【0063】
ラベルの完全なセットとそれらの順序が既知のときの単純な解決策は、特徴空間f(・)における欠落クラスの中心を隣接クラスの中心間の中間点
【数3】
として補間することである。ここで、f
Δ及びf
+は、ラベルΔ及び+を有するサンプルに関する特徴の平均を示している。新しいデータの場合、中心と最も近いクラスがf
〇、f
Δまたはf
+に割り当てられる。補間にはいくつかの問題がある。第1に、欠落クラスf
〇の特徴の中心は、既知のラベル
【数4】
及び
【数5】
の特徴の中心間の中間にあると見なされる。第2に、特徴の中心に基づいてラベルを割り当てると、各ラベルの特徴の変動が考慮されない(例えば、一部のクラスは特徴が離れて分布しているサンプルを有し、他のクラスは互いに近くにある)。第3に、境界クラス(例えば、ここではΔまたは+)または複数の連続するクラスが欠落している場合、補間方法が明確ではない。
【0064】
したがって、ラベル順序に関する情報を保存する特徴空間を学習することが求められる。これは、特徴間の距離を、関連付けられたラベル間の距離に比例させることで行われる。このような正則化は、欠落クラスからその近傍までの特徴空間における距離を暗に制限し、訓練後の推測を実行するための検索範囲を提供する。
【0065】
次に本発明の実施形態による、本発明の方法についてさらに説明する。
【0066】
ここでは、欠落ラベルの高い精度の補完を可能にする、時系列の順序分類のための革新的なフレームワークを提案する。フレームワークには2つの部分(
図2)が含まれる。第1に、ラベル空間と同様の特徴空間でクラス間の距離の順序を保存するために、新しい損失を提案する。第2に、欠落クラスを予測する、順序検索ベースの分類モジュールを提供する。
【0067】
ここで、距離の順序を保存する、順序四重項損失について説明する。
【0068】
欠落情報に対してロバストなエンコーダを構築するには、次のような特徴を学習する必要がある。(1)相互距離が小さい、つまり同じクラスのサンプルは近くの特徴を抽出する。(2)相互距離が大きい、つまり異なるクラスのサンプルは互いに離れた特徴を有している。(3)順序関係を維持する。つまり異なるクラスのサンプルの特徴間の距離は、ラベル空間の距離と同じ順序で保存する。
【0069】
最初の2つの要件はトリプレット損失を用いて達成できるが、第3の要件は対数比損失を適用することで達成できる。但し、従来のトリプレット損失と比べて、対数比損失は、アンカー(anchor)と同じラベルを有する正のサンプルを考慮しない。これにより、モデルが特徴空間におけるクラス間の距離を縮めることを抑制する。この問題に対処するため、トリプレット損失に基づく損失において追加の項を提案し、順序四重項損失を提示する。
【0070】
【数6】
及び
【数7】
であるようなラベルyを有する四重項サンプル(a,s,i,j)及び学習された潜在的表現fに関して、順序四重項損失は以下で定義される。
【数8】
ここで、
【数9】
及び
【数10】
である。
【0071】
順序関係は、
【数11】
のように単純化できるDy(.,.)によって定義される、またはデータに関する事前の知識に基づいている。
【0072】
次に本発明の一実施形態による、順序検索に基づく分類モジュールについて説明する。
【0073】
最も類似したクラスの選択。欠落情報に対処する場合、最小の距離だけに基づいて決定するだけでは十分ではない。本発明の損失は、特徴空間におけるクラス間の距離のランキングを保存するため、テストサンプルに最も類似したクラスを見つけるために、スピアマン(Spearman)のp、ケンドール(Kendall)のT、グッドマン(Goodman)及びクラスカル(Kruskal)のY及びソマーズ(Somers)のD等のランクベースの統計値を用いることを提案する。決定はクラスのドメインに基づくため、テストサンプルが欠落クラスの1つとして分類される可能性がある。但し、サンプルが欠落クラスに対応する場合、ドメインと最も相関性の高いクラスを予測として選択することは、常に目的どおりに機能するとは限らない。
図5(右)を考えてみる。特定のD
yについて、欠落クラスOは順序が同順位である。特徴
【数12】
を生成する完全なエンコーダがあれば、問題にはならない。実際には、通常の状況は
【数13】
かまたはその反対のいずれかであり、順序(2,1)または(1,2)になる。訓練データに3つ以上のクラスがあると、後のクラスがランクベースの統計値で適切なラベルを割り当てるための距離の順序に関する十分な情報が提供される場合がある。最も相関の高いクラスが間違ったクラスであり、欠落クラスに対応していない場合でも、2番目に相関の高いクラスが正しいクラスであることに気が付くことが重要である。この観察に基づいて、次のアルゴリズムを提案する。
【0074】
注記
S:全てのクラスのドメイン、
N:訓練データで提示される非欠落クラスのセット、
D
y(i,j):クラスiとjの間の順序関係を定義する関数、
x
trは、訓練セットからのサンプル、
【数14】
【0075】
【0076】
サンプルx
teをテストするため、
【数16】
における各クラスの平均特徴までの距離を計算する。
【0077】
【数17】
に関して、FとL
iとの間のランクベースの統計値(クラスiに対応する行列Lの行)を計算する。統計値が最も高い2つのクラス
【数18】
を選択する。
【0078】
【数19】
の両方、すなわち両方とも非欠落クラスである場合、knn法を用いてクラスを予測する。
【0079】
選択されたクラスのいずれもがNにない場合、すなわち両方が欠落クラスの場合、相関が最も高いクラスを選択する。
【0080】
図5は、左側部501にテストサンプルを有し、右側部502に訓練データ及びドメインクラスのクラスを有するブロック図である。
【0081】
図5に関して、左側部501は、テストサンプルxについて示しており、訓練データにおいて提示された全てのクラスについて、特徴空間における対応するクラスタ中心までの距離が計算される。さらに
図5において、右側部502は、ドメイン(行)における全てのクラスについて、(特徴空間内ではない)訓練データを提示された全てのクラスまでの距離Dy(.,.)が計算されることを示す。ヒートマップ503の数字は、距離自体ではなく、距離のランクに対応する。左側部501と右側部502との間でランクベースの類似度統計値を用いてテストサンプルにクラスを規定する。
【0082】
s1∈Nまたはs2∈Nである場合、すなわち一方のクラスが欠落クラスである場合、以下に説明する仮説検定を用いることを提案する。
【0083】
仮説検定。テストサンプルx
teの場合を考える。(先のセクションの結果に基づく)最も類似した2つのクラスは、y
n(訓練データクラスから欠落していない)とy
m(欠落クラス)である。ここで、欠落ラベルy
mのクラスタの中心に関する明示的な情報が特徴空間f(.)に無いことを考えると、どのクラスがx
teの真のラベルである可能性が高いかを判定する必要がある。問題を外れ値の検出と見なすことを提案する。訓練データ
【数20】
の学習された特徴が与えられると、
【数21】
が外れ値であり、クラスy
mに属すべきか否かが識別される。通常、ニューラルネットワークにおいて、エンコーダはデータの分布に関する明示的な仮定なしで高次元の特徴空間を生成する。これにより、ロー(raw)特徴空間での外れ値の検出の感度が非常に高くなる。高次元シナリオにおける一般的なアプローチは、さらなる分析を伴う次元削減手法の1つを実行するか、距離ベースのアプローチを実行することである。距離ベースのアプローチの背後にある動機付けに従って、ノンパラメトリックな仮説検定を実行することを提案する。
【0084】
次に、本発明の実施形態による、時系列データの性質を考慮して偽陽性及び偽陰性の数を減少させることについて説明する。
【0085】
仮説検定の性質から、タイプ1エラーの確率はαによって制限される。これは、平均して、α%の間違ったクラスを規定し、α%の偽陽性をもたらすことを意味する。但し、時系列の問題ではよくあるが、時系列の値が変化しないウィンドウがあると仮定できる。例えば、センサが人の行動を監視している場合、その人が一定期間同じ状態(例えば、座っているまたは走っている)を維持していると仮定できる。この情報を用いて、欠落に割り当てられた非欠落クラスynを回復することで偽陽性の数を減らし、非欠落に割り当てられた欠落クラスymを回復することで偽陰性を減らすことができる。それを行う方法の1つは、多数決ルールを使用することある。つまり、一連の予測値が与えられた場合、ウィンドウ内の全てのラベルに対して、このウィンドウで最も一般的なものを割り当てる。このようなアプローチの欠点は、余分なパラメータであるウィンドウサイズである。通常、システムに関する事前の知識から割り当てるか、変化点検出用のオフラインアルゴリズムを用いて推測できる()。但し、実験では、小さなウィンドウでも結果が大幅に改善されることが示されている。
【0086】
本発明は、任意の技術的詳細レベルの統合におけるシステム、方法及び/またはコンピュータプログラム製品とすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータで読み取り可能なプログラム命令を有するコンピュータで読み取り可能な記録媒体(またはメディア)を含むことができる。
【0087】
コンピュータで読み取り可能な記憶媒体は、命令実行装置によって使用される命令を保持し記憶することができる有形な装置であってもよい。コンピュータで読み取り可能な記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置または上記の任意の適切な組合せとすることができるが、これらに限定されない。コンピュータで読み取り可能な記憶媒体のより具体的な例の非網羅的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカード等の機械的に符号化された装置及び上記の任意の適切な組み合わせが含まれる。本明細書で使用されるコンピュータで読み取り可能な記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を通って伝播する電磁波、またはワイヤを通って伝送される電気信号等、それ自体が一時的な信号であると解釈されるべきではない。
【0088】
本明細書に記載するコンピュータで読み取り可能なプログラム命令は、コンピュータで読み取り可能な記憶媒体から、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/または無線ネットワークを介して、外部コンピュータまたは外部記憶装置に、それぞれの演算/処理装置にダウンロードできる。ネットワークは、ワイヤ伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/またはエッジサーバを含むことができる。各演算/処理装置におけるネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータで読み取り可能なプログラム命令を受信し、それぞれの演算/処理装置におけるコンピュータで読み取り可能な記憶媒体に記録するために、コンピュータで読み取り可能なプログラム命令を転送する。
【0089】
本発明の動作を実行するためのコンピュータで読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++等のオブジェクト指向プログラミング言語及び「C」プログラミング言語または類似のプログラミング言語等の従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかでもよい。プログラムコードは、全体的にユーザのコンピュータで実行されてもよく、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータで実行されてもよく、部分的にユーザのコンピュータで実行され、かつ部分的にリモートコンピュータで実行されてもよく、全体的にリモートコンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータと接続されてもよく、(例えば、インターネットサービスプロバイダを利用したインターネットを介して)外部コンピュータと接続されてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、電子回路をパーソナル化するコンピュータで読み取り可能なプログラム命令の状態情報を利用することで、コンピュータで読み取り可能なプログラム命令を実行できる。
【0090】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/またはブロック図を参照して本明細書で説明される。フローチャート及び/またはブロック図の各ブロック、並びにフローチャート及び/またはブロック図におけるブロックの組合せは、コンピュータで読み取り可能なプログラム命令によって実現できることを理解されたい。
【0091】
これらのコンピュータで読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータ、または機械を製造する他のプログラマブルデータ処理装置のプロセッサに提供され、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施するための手段を生成する。これらのコンピュータで読み取り可能なプログラム命令は、コンピュータ、プログラマブルデータ処理装置及び/または他の装置を特定の方法で機能するように指示できるコンピュータで読み取り可能な記憶媒体に格納されていてもよく、その結果、その中に格納された命令を有するコンピュータで読み取り可能な記憶媒体は、フローチャート及び/またはブロック図の1つまたは複数のブロックで指定された機能/動作の態様を実現する命令を含む製品を備える。
【0092】
コンピュータで読み取り可能なプログラム命令は、コンピュータ、他のプログラマブルデータ処理装置または他の装置にロードされて、コンピュータ、他のプログラマブル装置または他の装置で実行される命令がフローチャート及び/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実現するように、一連の動作ステップをコンピュータ、他のプログラマブル装置または他の装置に実行させる、コンピュータ実装プロセスを生成できる。
【0093】
図中のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法及びコンピュータプログラム製品に実装可能なアーキテクチャ、機能及び動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実現するための1つまたは複数の実行可能命令を備える、モジュール、セグメントまたは命令の一部を表している。一部の代替実装において、ブロックに記載されている機能は、図に記載されている順序以外で発生する場合がある。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックが含まれる機能に応じて、時には逆の順序で実行されてもよい。また、ブロック図及び/またはフローチャートの各ブロック、並びにブロック図及び/またはフローチャートのブロックの組み合わせは、指定された機能または動作を実行するか、または特殊目的ハードウェア及びコンピュータ命令の組み合わせを実行する特殊目的ハードウェアベースのシステムによって実現され得ることにも留意されたい。
【0094】
本明細書では本発明の「一実施形態」または「一実施形態」、ならびにその他の変形形態に言及し、実施形態に関連して説明した特定の機能、構成、特徴などが、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、「一実施形態において」または「一実施形態において」という語句の出現、並びに本明細書全体を通して様々な場所に出現する任意の他の変形形態は、必ずしも全てが同じ実施形態を参照しているわけではない。
【0095】
例えば、「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)の選択を含むことを意図したものである。上述した例は、当業者に容易に明らかとなるように、列挙される多数の項目に応じて拡大適用される。
【0096】
上記は、あらゆる観点において説明的かつ典型的であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。