Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オートエンコーダーによる異常検知
Search
Masafumi Abeta
February 17, 2021
Programming
0
330
オートエンコーダーによる異常検知
2021年2月17日の社内勉強会で発表した資料です。
Masafumi Abeta
February 17, 2021
Tweet
Share
More Decks by Masafumi Abeta
See All by Masafumi Abeta
Pythonのパッケージマネージャー「uv」
abeta
0
300
GPTモデルでキャラクター設定する際の課題
abeta
0
310
GPTをLINEで使えるようにして布教した
abeta
0
170
【Nishika】プリント基板の電子部品検出
abeta
0
310
初心者向けChatGPT入門
abeta
0
230
GPT Short Talk
abeta
0
130
拡散モデルについて少しだけ
abeta
0
62
動的計画モデル
abeta
0
160
物体追跡
abeta
0
290
Other Decks in Programming
See All in Programming
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
CSC305 Lecture 03
javiergs
PRO
0
240
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
180
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
690
Catch Up: Go Style Guide Update
andpad
0
200
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
380
止められない医療アプリ、そっと Swift 6 へ
medley
1
130
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
140
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
630
CSC305 Lecture 02
javiergs
PRO
1
260
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
170
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Context Engineering - Making Every Token Count
addyosmani
5
200
Speed Design
sergeychernyshev
32
1.1k
Facilitating Awesome Meetings
lara
56
6.6k
Docker and Python
trallard
46
3.6k
Agile that works and the tools we love
rasmusluckow
331
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Raft: Consensus for Rubyists
vanstee
139
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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