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
320
オートエンコーダーによる異常検知
2021年2月17日の社内勉強会で発表した資料です。
Masafumi Abeta
February 17, 2021
Tweet
Share
More Decks by Masafumi Abeta
See All by Masafumi Abeta
Pythonのパッケージマネージャー「uv」
abeta
0
260
GPTモデルでキャラクター設定する際の課題
abeta
0
300
GPTをLINEで使えるようにして布教した
abeta
0
170
【Nishika】プリント基板の電子部品検出
abeta
0
300
初心者向けChatGPT入門
abeta
0
230
GPT Short Talk
abeta
0
130
拡散モデルについて少しだけ
abeta
0
59
動的計画モデル
abeta
0
160
物体追跡
abeta
0
290
Other Decks in Programming
See All in Programming
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
370
令和最新版手のひらコンピュータ
koba789
14
7.9k
Introduction to Git & GitHub
latte72
0
120
CSC305 Summer Lecture 05
javiergs
PRO
0
100
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
140
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
150
A Gopher's Guide to Vibe Coding
danicat
0
170
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.2k
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
TanStack DB ~状態管理の新しい考え方~
bmthd
2
220
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
410
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
77
9.5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Invisible Side of Design
smashingmag
301
51k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
What's in a price? How to price your products and services
michaelherold
246
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
It's Worth the Effort
3n
187
28k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
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