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
1.5k
実務で使える異常検知 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
0
34
Direct Preference Optimization
zchenry
0
230
Diffusion Model with Perceptual Loss
zchenry
0
140
レンズの下のLLM / LLM under the Lens
zchenry
0
130
Go with the Prompt Flow
zchenry
0
110
Mojo Dojo
zchenry
1
160
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
280
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
140
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
70
Other Decks in Programming
See All in Programming
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
英語
s_shimotori
1
220
Jetpack for KMP
fornewid
1
290
Product Management LT会_クアンド新家
shinshin
0
250
CSC307 Lecture 13
javiergs
PRO
0
150
最近追加した型の紹介とその振り返り
aki19035vc
0
180
CSC307 Lecture 12
javiergs
PRO
0
220
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
Bash Introduction
62gerente
607
210k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
The Cult of Friendly URLs
andyhume
75
5.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
34
1.9k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Gamification - CAS2011
davidbonilla
78
4.9k
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