Review/논문 리뷰

[논문 리뷰] 이상치 탐지 | MemAE, Memorizing Normality to Detect Anomaly

어쩌다통계 2023. 4. 18. 22:36
728x90

이 글이 도움 되셨다면 광고 클릭 부탁드립니다 : )

 

이번 포스트에서는 MemAE에 대해 정리해보려고 합니다. 작년에 봤던 논문이라 다소 설명이 부족한 부분이 있을 수도 있겠네요...! 그래도 더 잊어버리기 전에 간단하게 정리를 해보겠습니다. 우선 MemAE는 2019년에 발표된 논문으로 풀네임은 Memorizing Normality to Detect Anomaly : Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection입니다. 23년 4월 기준으로 816회 인용되었고 논문은 아래 링크로 확인 가능합니다.

https://openaccess.thecvf.com/content_ICCV_2019/papers/Gong_Memorizing_Normality_to_Detect_Anomaly_Memory-Augmented_Deep_Autoencoder_for_Unsupervised_ICCV_2019_paper.pdf


MemAE?!

MemAE는 autoencoder기반 이상치 탐지의 한계를 개선하기 위해 memory module을 사용해서 AE를 augmented하는 방법입니다. memory module과 sparse addressing으로 비정상일 때 복원이 어렵도록 하는 것이 핵심입니다.

 

Related Works

  • AE
    • 정상 데이터만으로 학습하여 비정상 데이터가 들어왔을 때, 높은 reconstruction error 나오게 됨
    • AE는 일반화가 잘 이루어진다는 특징(입력된 데이터를 그대로 복원하려는 성질)이 있어서 비정상 데이터도 잘 reconstruct하는 경우가 발생한다는 한계가 있음
  • Memory network
 

Memory Network

An Ed edition

reniew.github.io

 

 

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에 접근하기 위한 연산자
반응형