📢

リアルタイム異常検知!アイデア匠に合わせたよ!EfficientAD

に公開

EfficientADを読んで思ったこと

個性が異なるネットが互いに補っていて、かつ速い仕組みが面白く、その活用方法考えてみた。
1 狭い領域しか見ない、そのため速くできるモジュールを組み合わせて、全体の処理の流れを変更することできる。例えば、短いコンテキストだけ入力とでき、出力は次の処理、または、次で動くLLMモデルを選ぶ(出力する)などできると思った。

2 マルチエージェントシステムでは、エージェントによっては、高速でかつ特定のタスクだけできるモデルを作ると速く、高性能なものできるかも。かつトータル実行時間考えると重要になりそう。

3 マルチエージェントを作るうえで、2つのネットワークの差を条件分岐等で使うの良さそう

1. どんなもの?

速くて高性能な異常検知モデル(小メモリだけでなく速いと論文でアピールしている)

2. 技術や手法の"キモ"はどこにある?

Teacher(PDN)、Studentネットワークは超軽量、33 x 33 X 3のpatch入力、局所的な入力に特化

左の局所エラー(構造)は、入力33 X 33 X 3を受け付けるteacherとstudentで差が出たら発見
右の大局エラー(論理)はAutoEncorderとstudentで差が出たら発見

学習の大まかな順番(今の理解)
1 教師モデル (PDN) は、WideResNet-101 を ImageNet で蒸留。
2 オートエンコーダは、教師モデル (PDN) の出力を対象の正常画像で蒸留。
3 生徒モデルは、教師モデル (PDN) とオートエンコーダの両方から、対象の正常画像で蒸留。
生徒モデルは2つのHEAD持つ。lossを工夫して難しいのを学習している。

3. どうやって有効だと検証した?

その他のモデルとの比較のとき、動作を調べて、ずるを許さない姿勢している。公平でない処理は外すなどしている。その反面、アンサンブルでしていたモデルでシングルモデル結果がよければそれを使うなどしている。

4. 議論はあるか?

ベンチマークセットでは、他のモデルにかなり差をつけている!
しかし、現実では、適用できないと思われるケースもある。でも、適応範囲を決めれば、その範囲をカバーできればいいというのは現実的。
複数のベンチマークセットで比較、構造、論理エラーの比率が構造によっている気はする。

構造エラーと論理エラーを統合しているが、統合は残すにしろ、そのまま2つ使うのもいいと思った。

3つのネットワーク(Teacher(PDN)、Student、AutoEncorder)の処理速度をなるべく似たようなものにしている?もしまだ時間差あるなら同じになるようにさらに工夫できそう。

5. その他 GPU毎の速度


DSRとFastFlowで順位が入れ替わっているのがある。
これは、画像認識の基礎P140にも書いてあるデバイスに特化した設計も重要ってこと示している

6. 次に読むべき論文はあるか?

関連探して最初にでてきたのをなんとなく掲載。
Uninformed Students: Student–Teacher Anomaly Detection
with Discriminative Latent Embeddings

7 論文情報・参考資料・次に読む?記事

PatchCoreが異常検知を楽にした記事
深層学習による画像認識の基礎

あとがき

記事よかったら、いいね♡ 押してね!

Discussion