728x90
이 글이 도움 되셨다면 광고 클릭 부탁드립니다 : )
이번 포스트에서는 MemAE에 대해 정리해보려고 합니다. 작년에 봤던 논문이라 다소 설명이 부족한 부분이 있을 수도 있겠네요...! 그래도 더 잊어버리기 전에 간단하게 정리를 해보겠습니다. 우선 MemAE는 2019년에 발표된 논문으로 풀네임은 Memorizing Normality to Detect Anomaly : Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection입니다. 23년 4월 기준으로 816회 인용되었고 논문은 아래 링크로 확인 가능합니다.
MemAE?!
MemAE는 autoencoder기반 이상치 탐지의 한계를 개선하기 위해 memory module을 사용해서 AE를 augmented하는 방법입니다. memory module과 sparse addressing으로 비정상일 때 복원이 어렵도록 하는 것이 핵심입니다.
Related Works
- AE
- 정상 데이터만으로 학습하여 비정상 데이터가 들어왔을 때, 높은 reconstruction error 나오게 됨
- AE는 일반화가 잘 이루어진다는 특징(입력된 데이터를 그대로 복원하려는 성질)이 있어서 비정상 데이터도 잘 reconstruct하는 경우가 발생한다는 한계가 있음
- Memory network
MemAE는 기존의 AE가 가지는 한계를 극복하고자 인코더와 디코더 사이에 Memory module을 추가하였습니다.
- 구조
- Encoder + Memory Module + Decoder
- 정상 데이터를 Encoding할 때 정상 데이터에 대한 memory을 얻은 후 이를 기반으로 해서 정상 데이터를 생성하는 방법
- 인코딩 된 vector z를 디코더에 직접 전달하지 않고 Memory module에서 입력 데이터를 기반으로 가장 관련성이 높은 메모리 항목을 검색할 뒤 hat(z)을 query로 사용하여 디코더에 전달
- 학습 단계에서 memory는 정상 데이터에 가장 관련성이 높은 momory items을 검색하여 데이터를 생성(재구성)
- 테스트 단계에서 정상 데이터에 가장 관련 이 높은 memory을 고정시킨 후 query data가 입력으로 주어지면 query data을 기반으로한 정상 데이터를 memory 기록으로부터 검색을한 후 이를 기반으로 생성(재구성)이 이루어지는 효율적인 아이디어
Memory module
Memory module에서는 학습 데이터의 정상 패턴을 기록해서 z와 가장 유사항 메모리 항목을 검색하여 hat(z) 얻을 수 있습니다.
- 구성요소
- soft address vectors w : 입력된 데이터의 패턴을 memory address에 기록하는 vectors
- attention-based addressing operator : 데이터의 패턴이 기록된 memory address에 접근하기 위한 연산자
- Memory addressing
- 인코딩된 vector z를 memory addressing 체계를 사용하여 정상 패턴 기록(content afddressable memory에 기록)
- softmax연산을 통해 데이터 패턴을 기록하는 weight, w_i 계산
- 소스 코드
반응형
'Review > 논문 리뷰' 카테고리의 다른 글
[논문 리뷰] 이상치 탐지 | Deep Isolation Forest for Anomaly Detection (1) | 2023.12.04 |
---|---|
[논문 리뷰] 이상치 탐지 | Deep SVDD, Deep One-Class Classification (0) | 2023.04.18 |
[논문 리뷰] 차원 축소 | PaCMAP, Pairwise Controlled Manifold Approximation Projection (0) | 2023.02.21 |
[논문 리뷰] 이상치 탐지 | DevNet, An End-to-end Anomaly Score Learning Network (0) | 2022.11.13 |
[논문 리뷰] 이상치 탐지 | Adversarial Autoencoder (0) | 2022.11.03 |