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
2k
実務で使える異常検知 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
190
Direct Preference Optimization
zchenry
0
370
Diffusion Model with Perceptual Loss
zchenry
0
370
レンズの下のLLM / LLM under the Lens
zchenry
0
180
Go with the Prompt Flow
zchenry
0
160
Mojo Dojo
zchenry
0
200
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
550
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
240
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
110
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
220
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
800
A2A プロトコルを試してみる
azukiazusa1
2
650
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.2k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
240
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
180
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
800
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
1.9k
関数型まつりレポート for JuliaTokai #22
antimon2
0
130
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
830
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
380
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
760
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Bash Introduction
62gerente
614
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Documentation Writing (for coders)
carmenintech
71
4.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
Embracing the Ebb and Flow
colly
86
4.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
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