[[2021__ISSRE__Identifying Root-Cause Metrics for Incident Diagnosis in Online Service Systems|PatternMatcher]]のニューラルネットワークの実装をみていく。
データ収集 B. Anomaly Pattern Classification
- m[t−w : t] (SP) (w=30)の範囲の異常パターンに着目する
- 1921セグメントの異常データセットを収集
- train/validation/test 6:2:2でデータセットを分割する
「III. APPROACH B. Anomaly Pattern Classification 4) Classifier」を参考に、ニューラルネットワークを用いた13種類の異常パターンの分類器の再現難易度を検討する。(Data augumentationやRCAのステップは含まない)
まず、PatternMatcherの分類器は下図のように1次元畳み込み層が3層 + 全結合層が2層という比較的シンプルなアーキテクチャである。畳み込み層のカーネルサイズや出力次元数などの情報はある程度論文に記載されていた。
![[fig_6_patternmatcher.png]]
> For the input of abnormal segment, we first adopt Min-max normalization to normalize its value to the range of [0,1], to eliminate the effect of amplitude and focus on the segment shape. The network is composed of three 1-D convolution layers (kernel size of all three layers is 5, output channel sizes are set to 64, 128, and 256) and two fully connected layers (output sizes are set to 64 and 13). The final output is computed by LogSoftmax. The loss function and optimizer are cross-entropy and Adam, respectively.
- 前処理
- min-max正規化 to [0,1]
- 3層のネットワーク
- カーネルサイズは5
- 畳み込み層のチャネルサイズは64, 128, 256
- 最後の出力はLogsoftmaxで計算される。
- 損失関数とオプティマイザは、それぞれクロスエントロピーとAdam
しかし、実際に実装を行うとなると、以下の5点のパラメータの情報が論文に記載がないため、完全には再現できない。
- モデルパラメータ
- ドロップアウト率
- 活性化関数
- プーリング層をいれるかいれないか
- 学習パラメータ
- バッチサイズ
- 学習率
- エポック数
Data Augumentation(DA)の有無での性能の変化がTABLE Vに記載されている。この結果によると、それほど大きく変化はないようなので、DAなしでもよさそう。
## Data Augumentation (DA)
![[Pasted image 20221213114033.png|400]]
1. 反転
- 上下反転
- 左右反転
2. シフト
- 異常パターンをかえない
- 小さなステッ プを使用して、セグメントをシフト
3. ガウシアン ノイズの付加
- N ∼ (0, 0.05) の分布に従うガウスノイズを生 データにランダムに付加
反転した際、異常パターンと異常箇所のラベルの変更が必要となることがある。
異常箇所のラベルは、左右反転時に、during fault -> outside faultとなる。その逆は成立しない。上下反転は異常箇所ラベルの変更は不要。
参考:[[tsaug]]