아롱이 탐험대

Deep semi-supervised anomaly detection (Deep SAD) 분석 본문

study/paper reviews

Deep semi-supervised anomaly detection (Deep SAD) 분석

ys_cs17 2021. 10. 25. 17:16
반응형

1. Motivation

위 논문은 2020년도 ICLR에서 나온 논문이다. 논문의 저자는 이전 Deep SVDD 저자와 같다. 또한 내용도 매우 흡사해 이전 논문을 먼저 공부한 후 해당 논문을 보는 것을 추천한다.

https://ys-cs17.tistory.com/50 (Deep One-Class Classification [Deep SVDD] 리뷰)

해당 논문을 요약하자면 기존 SVDD의 수식을 약간 변형시켜 Semi-Supervised learning에 활용하였다.

여기서 Semi-Supervised learning이란 label이 있는 데이터와 label이 없는 데이터 둘 다 딥러닝 모델에 넣어 학습시키는 방법을 의미한다.

 

2. Relation Work 

A. Information Bottleneck Principle

Information Bottleneck Principle

지도 학습에서 딥러닝의 동작은 input 값 X를 model layer를 통과하고 나온 latent variable인 Z로 압축률을 최대한 증가시키면서 최소한의 압축된 표현으로 만들어야 한다. Z는 정답 값인 Y에 가까워지기 위해  Z의 정보량을 증가시키는 방향으로 학습을 진행해야 한다.

이를 정보 공학적인 관점으로 보았을 때 결국에는 X와 Z의 독립성을 최소화시키면서, Z와 Y의 독립성을 최대화시킨다는 의미가 된다. 여기서 독립성은  mutual information과 같은 의미이다.

따라서 위 수식과 같이 min을 구하는 수식이 도출된다.

 

B. Infomax Principle

Infomax Principle

비지도 학습에서는 정답 라벨 값인 Y가 존재하지 않는다. 따라서 X와 Z만을 이용해 결과 값을 도출해야 한다. 따라서 X에서 Z로의 압축률을 증가시켜야 하고, 이에 따라 X와 Z 간의 독립성 (mutual information)을 증가시키는 방향으로 학습을 진행한다.

수식의 두 번째 텀인 R은  Regularization을 진행하는 함수로 Down stream tast 텀이다.

Infomax Principle은 일반적인 비지도 학습에서 주로 사용하는 Auto-Encoder의 복원 함수를 통해 X와 Z의 독립성을 증가시키는 방향으로 학습이 진행되기 때문에 사용한다. Auto-Encoder 학습 진행 시 mutual information을 최대화시키는 것과 관련이 없는 feature들은 없어지는 방향으로 학습이 진행된다.

 

3. Deep semi-supervised Anomaly Detection

A. Deep SVDD

이전 리뷰를 진행했던 Deep SVDD 수식으로 다시 돌아와서, Deep SVDD의 object function은 미리 정의된 Hypersphere의 중심인 C를 중심으로 Z를 근사 시켰다. 이때 normal data에 대해서는 C와 가깝게, abnormal data에 대해서는 C와 멀게 mapping을 하는 역할을 했다.

이 함수를 정보 이론 측면 관점에서 entropy 최소화에 대해 확률적으로 해석할 수 있다.

본격적으로 수식을 증명하기 전 http://norman3.github.io/prml/docs/chapter 01/6.html 이 링크를 통해 정보 이론 및 엔트로피에 대해 공부하고 와야 수식을 이해할 수 있다.

위 식은 엔트로피의 기본식이고, 글을 읽으면 알겠지만 연속 랜덤 변수에 대해서 분산이 같을 때 엔트로피는 정규 분포를 따를 때가 가장 크다. 따라서 엔트로피 함수의 상한선을 위 수식과 같이 정의를 한다.

그러고 나서 상한 식을 기준으로 p(z)가 isotropic guassian 분포를 따른다고 가정을 하면 식은 위와 같이 전개가 가능해지고, 결국 H(z)인 엔트로피는 시그마의 제곱과 비례한다고 할 수 있다.

여기서 z에 대한 시그마 제곱은 hypersphere와 관련이 있다. 위 식을 통해 결국 Deep SVDD는 feature에 mapping 된 점과 hypersphere의 중심인 c와의 거리를 줄이는 방향으로 학습이 된다고 볼 수 있고, 이는 엔트로피의 상한선을 줄인다는 의미랑 같게 된다. 또한 위에서 언급한 informax principle 수식을 다시 보면 Deep SVDD는 I(X;Z)를 최대화하는 VAE의 pretrained weight를 사용하므로, informax principle을 따르면서 두 번째 텀에 해당하는 regulization 부분에서 엔트로피가 작아지게 강제하는 함수가 추가된 것으로 해석할 수 있다.

B. Deep SAD

Deep SAD objective function

Deep SAD에서 사용되는 objective function은 위 수식과 같다.

Deep SVDD의 수식과 차이는 거의 없지만 라벨링 된 데이터와 라벨링 없는 데이터가 포함되어 있다.

Unlabeled Samples
Labeled Samples

데이터의 표현은 위와 같고, 라벨링 데이터의 y 값 -1은 비정상, +1은 정상 라벨을 의미한다. 비정상의 경우 -1이 되면 feature space 상의 거리의 역수가 줄어들도록 학습이 진행되는 모습을 볼 수 있다.

Deep SAD도 정보 이론 측면에서 보면 정상인 경우에는 엔트로피를 최소화, 비정상일 경우에는 분산을 높이도록 학습이 진행되다 보니 엔트로피를 최대화하는 방향으로 학습이 된다.

식을 보면 m이 0인 경우에는 Deep SVDD의 목적 함수와 동일하게 되고, 수식의 하이퍼 파라미터인 에타는 실험적으로 1로 설정했다고 한다.

Deep SAD 같은 경우에도 pretrain을 진행한 CAE의 weigth를 사용하였다.

4. Experiment

첫 실험은 rl의 비율을 늘려가면서 테스트를 진행하였다. 결과를 보면 지도 학습의 결과가 Deep SAD의 결과보다 낮은 모습을 볼 수 있다. 지도 학습은 새로운 이상치에 대해서는 매우 취약하다는 의미이다.

Deep SAD가 다른 네트워크와 달리  rp에 대해 조금 더 성능이 좋은 것을 확인할 수 있다.

kl이 증가할수록 성능이 더 좋아지는 모습을 볼 수 있다. 이를 통해 지도 학습이 이상 이미지의 다양성에 대해 더 민감하다고 볼 수 있다.

 

 

 

Reference

https://openreview.net/pdf?id=HkgH0TEYwH

https://parkgeonyeong.github.io/Information-Bottleneck-%EC% A0%95% EB% A6% AC/

https://hongl.tistory.com/79

http://norman3.github.io/prml/docs/chapter 01/6.html

반응형
Comments