Sigma AIモジュールでは、レコードに機械学習を適用することで、より高度な異常検知やトレンド監視を行うことが出来ます。
Sigma AIモジュールでは、基準となるレコードセット(正常レコードセット)を学習・モデル化し、評価対象データとの差異をMT法により評価します。MT法は、基準データセットを構成するパラメータのばらつきと相関関係を考慮した評価を行うため、単純な1パラメータのしきい値監視と比較して、より高度な異常検知が可能になります。
左図は1つのサンプルが2パラメータを持ち、それらに正の相関がある場合の例です。緑の楕円は、MT法の評価値(基準データセットからどの程度距離が離れているか)の等高線です。等高線が2つのパラメータの相関(角度)とばらつきを反映した楕円となっているため、AよりもBの方が異常の程度が大きい、と判定することが出来ます。 それぞれのパラメータの個別のしきい値監視では、このような評価は出来ません。
Sigmaでは、1つのモデルを計算するための設定(どのレコードを教師データにするか、どのような特徴量を学習するか等)を「AIモデル設定」と呼びます。AIモデル設定を作成するには、ツールバーのSettingボタンを押し、「AIモデル設定」を選択します。
AIモデル設定追加ボタンを押してAIモデル設定編集画面を開き、設定を行います。AIモデル設定は最大30個まで作成出来ます。
作成したAIモデル設定を「レコード付随情報枠」へドラッグ&ドロップして登録することで、モデルによる評価結果を各レコードに付随する情報としてSigma内に記録することができます。 「レコード付随情報」は6枠あり、全てのレコード共通の設定です。登録したAIモデルによる各レコードの評価は、ツールバーのCalcボタン ->「レコード付随情報の計算」から実行できます。評価結果は通常のトレンド表示画面においてトレンド表示することが出来ます。
学習や評価の際に用いられる、1つのサンプルの特徴を表現するデータ配列(ベクトル)を「特徴ベクトル」と呼びます。 Sigmaの1レコードは振動波形のにような比較的サンプリングレートの高い生波形を想定していますが、生波形自体を特徴ベクトルとして扱うのはデータ量が多すぎて適していないため、 よりデータが圧縮された「特徴ベクトル」を学習及び評価に用います。レコードからどのように特徴ベクトルを作成するかは、以下の3つから選択出来ます。
1つのレコードの生波形の周波数スペクトルを特徴ベクトルとします。周波数スペクトルの変化により異常を検出したい場合に有効です。 以下の項目を指定する必要があります。
可視化エリアの可視化タイプを「特徴ベクトル」にした状態で、教師レコードとして追加したレコードを選択すると、 指定した周波数範囲及びスペクトル分割数で表現された周波数スペクトルの形状を確認することが出来ます。
1つのレコードの複数の特徴量の組み合わせを特徴ベクトルとします。RMSや平均値といったプリセット特徴量だけでなく、ユーザーが定義した特徴量を選択することもできます。
複数レコードの特徴量の組み合わせを特徴ベクトルとします。同時測定された複数センサのレコードを使用することを想定しています。 連動する複数のセンサの関係性のくずれによる異常検知等に有効です。
特徴ベクトルとして「複数レコードの特徴量」を選択すると、複数レコード設定テーブルが表示されます。 特徴ベクトル作成に使用する複数の同時測定レコードは、測定日時及びここで定義したルールに従って、動的に抽出されます。
レコードの測定日時がこの設定値の範囲内の違いであれば、同時測定とみなします。正確に同時測定のみを対象としたい場合、0にして下さい。
同時測定レコードを検索する範囲を、指定したフォルダおよびその配下のフォルダに限定します。 ただしこの設定は「レコード付随情報の計算」画面からAIモデル評価値を計算する場合のみに適用されます。 AIモデル設定編集画面における教師レコード及びテストレコードについては、それぞれに登録されたレコード群の中から同時測定レコードが検索されます。 多くの場合、未設定のままで問題ありません。
1行が1レコードに対応します。各行(各レコード)につきそれぞれ複数の特徴量を指定することができ、全てを合わせたものが1つの特徴ベクトルとなります。 プリセット特徴量だけでなく、ユーザー定義特徴量も選択することが出来ます。
同時測定レコードの絞り込み条件として「チャンネル」「物理量」「タグ」を設定することが出来ます。 測定日時を基準に抽出されたレコード群のうち、絞り込み条件に合致するレコードが特徴ベクトルを構成するレコードとして使用されます。各項目を編集するには、テーブルのセルをクリックして下さい。
「パラメータの規格化」にチェックを入れると、特徴ベクトルの各成分を、 全ての教師用特徴ベクトルについて、平均が0、標準偏差が1になるように規格化します(下図参照)。 異なる物理量を組み合わせて1つの特徴ベクトルを作る場合など、各要素ごとに値のオーダーが大きく異なる場合に使用してください。
モデルを学習するための教師レコードを選択します。通常は正常時のレコードを選択し、正常時のモデルを作成します。教師レコードの選択には以下の2通りの方法があります。
登録したフォルダに格納されているレコードが教師レコードとなります。複数のフォルダを登録することが出来ます。 モデルによる評価を実行する際、まずフォルダの状態がチェックされ、格納されているレコードが変化していれば最新の状態を反映してモデルが再計算されます。
格納レコードに変化があっただけで計算済みの評価値が自動で更新されることはありません。 また、モニタリング画面でAIモデル評価を使用する場合、モニタリング設定を読み込んだ時点における登録フォルダの状態でモデルが計算されます。 モニタリング中に登録フォルダ内のレコードに変化があった場合でも、自動でモデルが更新されることはありません。
登録したレコードが教師レコードとなります。
可視化エリアの表示タイプは以下の2種類から選択できます
選択した教師レコードまたはテストレコードの特徴ベクトルを表示します。現在は特徴ベクトルが「周波数スペクトル形状」の場合のみに対応しています。
「基本情報」タブでは「学習したモデル」、「モデルのテスト」タブでは「モデルとテストレコード」が選択可能です。 全教師レコード(及び全テストレコード)の特徴ベクトルを3次元または2次元グラフ上にプロットし、学習したモデルを楕円として表示します。 特徴ベクトルの次元が3次元より大きい場合、上位主成分への寄与が大きい次元の軸が自動的に選択されます。表示される楕円は、マハラノビス距離の等高線に対応します。
メニューボタンによる操作
AIモデルの感度及びしきい値を設定します。
感度はデフォルトでは「自動」に設定されており、通常は変更する必要はありませんが、手動で設定することも出来ます。 手動の場合、1~100の間で感度を設定でき、100に近いほど、教師データに特化したモデルとなり、異常データに対する感度は増しますが、過学習の可能性が高くなります。 逆に1に近いほど異常データに対する感度は低くなりますが、汎化性能が増し、未知のデータを適切に評価できる可能性が高くなります。
以下の説明は、MT法におけるマハラノビス距離・主成分等を理解している方向けの説明です。
SigmaにおけるMTシステム評価値は、教師データの主成分を、「メイン」「サブ」の2グループに分けて計算しており、 メインに多くの主成分を含めるほど感度が高くなりますが、過学習の可能性も高まります。
固有値の累積寄与率が0.95に達するまでの主成分をメインとして扱います。
1~100の間で感度を設定します。 高い値ほどメインに含める主成分数が線形的に増加し 1の場合、第1主成分のみがメイン、100の場合、全ての主成分がメインとなります。
AIモデル設定のしきい値はAIモデル設定のみに紐づいており、レコードが格納されているフォルダやレコードの物理量にかかわらず、 全てのレコードに対し共通の設定が適用されます。
しきい値の設定方法
特徴ベクトルの次元数に応じて自動で計算されます。 教師データ群のマハラノビス距離の2乗が自由度d(特徴ベクトルの次元数)のχ二乗分布に従うとして、累積確率が99%を超える範囲を異常レベルとします。
任意の数値を設定出来ます。
基本情報で設定したモデルを使用して、任意のレコードを評価することが出来ます。
ここでの評価は、モデル設定が適切かどうかを確認するための機能であり、Sigma内に評価結果は記録されません。 評価結果をレコード付随情報としてSigma内に記録し、トレンド表示等を行いたい場合は、AIモデル設定一覧画面でAIモデル設定をレコード付随情報として登録し、レコード付随情報の計算画面から計算を行ってください。
テストレコードの追加ボタンから、評価したいレコードを追加します。
「基本情報」「感度としきい値」タブで設定されたAIモデルにより、テストレコードを評価し、結果をCSVに出力します。 「計算してCSV出力」ボタンを押して開いた保存先指定ダイアログに、ファイル名を入力して「保存」ボタンを押すと、モデルによる評価結果がCSVに出力されます。 CSVの一番右の列がモデルによる評価値です。
「基本情報」の可視化エリアと同様ですが、可視化タイプとして「モデルとテストレコード」を選択すると、全教師レコード及び学習したモデル(マハラノビス距離の等高線)に加え、 全テストレコードが2次元または3次元空間上にプロットされます。
作成したAIモデル設定によりSigma内の任意のレコードを評価するには、AIモデル設定を「レコード付随情報」に登録する必要があります。 レコード付随情報への登録方法は「レコード付随情報への登録」をご参照ください。
レコード付随情報として登録したAIモデル設定による評価を行うには、ツールバーのcalcボタンから 「レコード付随情報の計算」を選択します。
基本特徴量、ユーザー定義特徴量と同様に、AIモデルによる評価を計算することが出来ます。 「レコード付随情報の計算画面」の詳細については「基本特徴量の計算」をご覧ください。
計算した評価結果はレコード付随情報として記録され、メイン画面のレコード一覧で確認することが出来ます。
AIモデルによる評価結果の列が表示されていない場合、レコード一覧テーブル内で右クリックし「表示設定」を選択し、表示したい列名にチェックを入れて下さい。
同時測定された複数レコードから1つの特徴ベクトルを作成する設定の場合、評価対象の特徴ベクトルを構成するレコード全てに同じ結果の値が記録されます。(例:1つの特徴ベクトルが3つの同時測定レコードから作成される場合、 評価対象の特徴ベクトルを構成する3つのレコードに同じ評価結果の値が記録されます。)
レコード付随情報に記録された評価結果は、レコードの基本特徴量・ユーザー定義特徴量と同様に、トレンド表示することが出来ます。 トレンド表示したいレコードが格納されたフォルダを選択した状態で、Trendボタンを押し、「表示中レコードのトレンド」を選択し、トレンド表示画面下部の特徴量選択ボックスで表示したいAIモデル設定を選択して下さい。 トレンド表示機能の詳細については「トレンド表示」をご覧ください。
モニタリング画面で、作成したAIモデルによるリアルタイム評価、およびしきい値判定を行うことが出来ます。
モニタリング機能の使用はSSPモジュールまたはファイル監視モジュールが必要です。
AIモデルによるリアルタイム評価を行うには、モニタリング設定画面で、AIモデルによる評価を行いたいチャンネルのメイン特徴量に、適用したいAIモデル設定を指定します。 SSPチャンネルだけでなく、ファイル監視チャンネルに対しても適用することが出来ます。
モニタリングを開始すると、AIモデルによる評価結果がリアルタイムに表示され、しきい値に応じた判定結果が表示されます。 またトレンド表示領域にはAIモデル評価値のトレンドが表示されます。(トレンドはレコードとして保存された場合のみ表示されます。)モニタリング機能の詳細については「モニタリング機能」をご覧ください。