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
実務で使える異常検知 SOTA 手法 PatchCore
Search
Henry Cui
August 27, 2022
Programming
0
2.1k
実務で使える異常検知 SOTA 手法 PatchCore
Henry Cui
August 27, 2022
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Production Language Model
zchenry
1
220
Direct Preference Optimization
zchenry
0
390
Diffusion Model with Perceptual Loss
zchenry
0
430
レンズの下のLLM / LLM under the Lens
zchenry
0
190
Go with the Prompt Flow
zchenry
0
170
Mojo Dojo
zchenry
0
220
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
600
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
260
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
140
Other Decks in Programming
See All in Programming
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
200
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
890
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
700
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
790
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
110
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
190
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
420
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
800
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
Leading Effective Engineering Teams in the AI Era
addyosmani
7
580
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fireside Chat
paigeccino
40
3.7k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing Experiences People Love
moore
142
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Transcript
実務で使える異常検知 SOTA 手法 PatchCore 機械学習の社会実装勉強会第14回 Henry 2022/8/27
自己紹介 ▪ 東京大学理学部情報科学科 ▪ 同大学大学院情報理工学系研究科コンピュター科学専攻 ▪ 博士(情報理工学)取得 • ICMLなどの国際・国内学会・ジャーナルに論文発表 •
学振DC2 • AIPチャレンジなどの競争的研究費取得 • 中国の東北大学などを訪問 ▪ 在学中に大学発ベンチャーを共同創業し、CTOを務める 2
内容 ▪ 画像異常検知 ▪ PatchCore ▪ デモ 3
画像異常検知 ▪ 想定シーン • 自動車部品工場・サラダ工場など ▪ 問題設定 • 正常データはたくさんある ▪
正常部品が手元にある ▪ ある程度集められる • 異常データはほぼない ▪ すべての異常パターンを網羅的に用意することが難しい ▪ そもそも異常パターンがまれ ▪ AIにやってほしいこと • 正常データだけでモデル構築して、運用時に異常検知できる • 「Unsupervised Anomaly Detection」とも呼ぶ 4
最近のアプローチ ImageNetで学習されたモデルを活用 ▪ ImageNetは巨大なデータセットで、それを学習したモデルは だいたいのドメインの特徴量を取り出せる、と仮定 ▪ 上記モデルと使って、画像の特徴量が簡単に出せる ▪ 特徴量間の距離を上手く使えば、学習なしで異常検知でき ちゃう?
▪ はい、実際高精度でできてしまう 5
内容 ▪ 画像異常検知 ▪ PatchCore ▪ デモ 6
PatchCoreとは ▪ Towards Total Recall in Industrial Anomaly Detection, CVPR
2022 ▪ 工業異常検知用データセット MVTec AD において現状SOTA • https://paperswithcode.com/sota/anomaly-detection-on-mvtec-ad 7
PatchCoreの中身 8
PatchCoreの中身 以下の3つの部分からなっている ▪ 特徴量作成 • 手元にある正常画像に関する特徴量を作成 ▪ 特徴量サンプリング • 上記ステップで作成される特徴量が膨大
• 保存・距離測定時の探索のコストがかかるので、少なめにする ▪ 距離測定 • 運用時に新しい画像が来るときに、正常の特徴量との距離を持って異 常の度合いを決める 9
(1/3) 特徴量作成 ▪ 先行研究PaDiMの図示と大まかに同じことをやっている ▪ ある座標 (i, j) に対して •
周り window size p の特徴量を adaptive average pooling • 中間の2つの層だけを取り出す ▪ 上記PaDiMの図では3つを示してる ▪ 後ろよりすぎだと、特徴量がImageNet分類に特化しすぎ問題 • 短い方を bilinearly rescale して長さ揃って concat する 10
(2/3) 特徴量サンプリング ▪ ここで使う Coreset はもともと独立に研究された分野で、色ん な手法が確立された ▪ 最近は、機械学習に影響しつつあり、回帰や能動学習などに 使われ始めている
▪ ある目的の達成が維持されるような部分集合を探す • k-NN、回帰を行うときに見つかる関数が変わらない ▪ 今回は最大カバレージを求める 11
(2/3) 特徴量サンプリング ▪ Toy データでの Coreset VS Random Sampling 効果
12
(3/3) 距離測定 ▪ 新しい画像に対する異常スコア s を coreset 内要素との最短 距離で計算 ▪
s は s* を coreset 内要素の分布を考慮してスケールした値に なる 13
実験結果(すごく良かったよ、何ならSOTA) 14 他にも ablation study 色々...
内容 ▪ 画像異常検知 ▪ PatchCore ▪ デモ • 公式実装 https://github.com/amazon-research/patchcore-inspection
15