$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オートエンコーダーによる異常検知
Search
Masafumi Abeta
February 17, 2021
Programming
0
340
オートエンコーダーによる異常検知
2021年2月17日の社内勉強会で発表した資料です。
Masafumi Abeta
February 17, 2021
Tweet
Share
More Decks by Masafumi Abeta
See All by Masafumi Abeta
Pythonのパッケージマネージャー「uv」
abeta
0
330
GPTモデルでキャラクター設定する際の課題
abeta
0
330
GPTをLINEで使えるようにして布教した
abeta
0
180
【Nishika】プリント基板の電子部品検出
abeta
0
320
初心者向けChatGPT入門
abeta
0
240
GPT Short Talk
abeta
0
130
拡散モデルについて少しだけ
abeta
0
66
動的計画モデル
abeta
0
170
物体追跡
abeta
0
310
Other Decks in Programming
See All in Programming
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
910
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
2
1.1k
connect-python: convenient protobuf RPC for Python
anuraaga
0
350
CSC509 Lecture 14
javiergs
PRO
0
220
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.2k
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
260
関数実行の裏側では何が起きているのか?
minop1205
1
560
AIコーディングエージェント(Gemini)
kondai24
0
140
Level up your Gemini CLI - D&D Style!
palladius
1
170
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
4.1k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
18k
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
730
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Building Applications with DynamoDB
mza
96
6.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Being A Developer After 40
akosma
91
590k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Typedesign – Prime Four
hannesfritz
42
2.9k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Designing for humans not robots
tammielis
254
26k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
オートエンコーダーによる異常検知 Abeta
画像の異常検知 • 異常検知=他の⼤多数のデータとは異なる特徴を持つデータを⾒つける。 正常 異常
オートエンコーダー Encoder Decoder • 正常画像で特徴を抽出、画像を復元するモデルを学習する。 モデルに異常画像を通し、復元できない差分で異常を検知する。 正常 異常
従来モデルの⽋点 Encoder Decoder • 局所的な異常が画像全体の再構成に影響を与える。異常箇所の同定が困難になる。 また、VAEは出⼒画像がぼやけることが知られている。 理想 現実
新⼿法 • 異常画像の異常な部分だけを再構成画像に近づけるようにする。 [arXiv:2002.03734]Iterative energy-based projection on a normal data
manifold for anomaly localization Encoder Decoder 異常箇所のみ 再構成画像に 置き換える ① ② ③ ④ ①〜③を繰り返した後 ⽐較して異常度を出⼒ ⽐較して異常箇所を特定 推論
難しい説明 正常画像の集合 ⼊⼒異常画像 𝒙𝟎 " 𝒙𝟎 VAE再構成画像 𝒙𝒕"𝟏 = 𝒙𝒕
− 𝜶 % 𝛁𝒙 𝑬 𝒙𝒕 ⊙ 𝒙𝒕 − 𝒇 𝒙𝒕 𝟐 再構成誤差 L1正則化 正常部分を⼊⼒画 像に保ちつつ再構 成画像に近づける 異常箇所のピク セルに重み付け " 𝒙𝟏 " 𝒙𝒕 𝒙𝟏 𝒙𝒕 正常箇所のピクセルは𝒙𝟎 と同じ値に保ちつつ異常 箇所のピクセルは再構成 画像に近づける 再構成画像は イテレーションで ほとんど変わらない 𝑬 𝒙𝒕 = 𝓛 𝒙𝒕 + 𝝀||𝒙𝒕 − 𝒙𝟎|| Pixel Space ぼやけるため正常画像の 集合からは少しずれる 異常箇所の ピクセル 正常箇所の ピクセル 正常箇所の ピクセル イテレーション
L1正則化の補⾜ 正常画像の集合 ⼊⼒異常画像 𝒙𝟎 " 𝒙𝟎 VAE再構成画像 𝒙𝒕"𝟏 = 𝒙𝒕
− 𝜶 % 𝛁𝒙 𝑬 𝒙𝒕 ⊙ 𝒙𝒕 − 𝒇 𝒙𝒕 𝟐 再構成誤差 L1正則化 正常部分を⼊⼒画 像に保ちつつ再構 成画像に近づける 異常箇所のピク セルに重み付け " 𝒙𝟏 " 𝒙𝒕 𝒙𝟏 𝒙𝒕 𝑬 𝒙𝒕 = 𝓛 𝒙𝒕 + 𝝀||𝒙𝒕 − 𝒙𝟎|| Pixel Space ぼやけるため正常画像の 集合からは少しずれる 異常箇所の ピクセル 正常箇所の ピクセル 正常箇所の ピクセル イテレーション MSEの場合
知⾒ • そもそもかなり学習させないとVAEで綺麗な再構成画像を作れない • 𝛼と𝜆とイテレーション回数のチューニングはかなり技巧的 • イテレーション数⼗回のオーダーで必要 • イテレーションによる再構成画像はほとんど変化がない(多分) 再構成の精度が低いから?
• 再構成誤差の計測は交差エントロピーよりMAEのほうがよい • “Reduce Failed to Synchronise”エラーが出るとカーネルの再起動が必要
参考 • 「 Iterative energy-based projection on a normal data
manifold for anomaly localization」, David Dehaene, Oriel Frigo, Sébastien Combrexelle, Pierre Eline, ICLR 2020 Conference Blind Submission • “ICLR2020の異常検知論⽂を実装してみた”, https://qiita.com/kogepan102/items/122b2862ad5a51180656 • “ICLR2020の異常検知論⽂の紹介”, https://www.slideshare.net/ssuser9eb780/iclr2020-20191123