일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- PYTHON
- LTV
- 봇탐지
- Detection
- AE
- 오토인코더
- 대회
- google.oauth2
- 자기유사도
- dacon
- 유저이탈
- google.cloud
- 이상탐지
- 사례
- 기초통계학
- 데이터분석
- 딥러닝
- Kaggle
- 데이터 분석
- 자료의요약
- anomaly detection
- anomaly
- AutoEncoder
- 게임
- 통계학
- LTV예측
- 게임 이탈 분석
- 게임 데이터분석
- 게임분석
- self-similarity
- Today
- Total
사쿠의 데이터 블로그
Anomaly Detection with AE (3) 본문
0. Auto Encoder 개념 -링크
1. Anomaly Detection with AE (1) - 링크
2. Anomaly Detection with AE (2) - 링크
이전 포스팅에서 정상 데이터와 비 정상 데이터간 분리가 잘되는 모습을 확인 했습니다.
오늘은 어떤 원리로 작동하는지 살펴보겠습니다.
그림2는 AutoEncoder를 간단히 표현한 그림입니다.
- 3 Input 이미지가 들어오면 Encoder는 (0.1, 0.3)으로 압축을 합니다.
- Decoder는 이를 이용해 원본과 최대한 비슷하게 만듭니다
- 비 정상 데이터가 들어와도 Encoder는 열심히 일을 하고 (0.7, 0.5)로 압축합니다.
- 이 때, Decoder는 어떤 Output을 만들어 낼까요?
4번 질문에 대답하기 위해서는 Latent Space를 관찰할 필요가 있습니다.
Latent Space는 앞서 Encoder가 (0.1, 0.3)으로 보낸 공간을 의미합니다.
그림3의 왼쪽 그림을 보면 Mnist의 0 ~ 9가 적절히 배치된 모습을 확인할 수 있습니다.
number관점에서 0(회색)과 1(분홍)은 굉장히 가깝지만, Latent Space상에서는 가장 거리가 멀게 mapping 되었습니다.
오른쪽 그림의 진한 녹색은 노이즈 이미지를 의미합니다.
자세히 보면 특정 영역에서 굉장히 겹쳐보이는게 확인됩니다.
!!!! 이 사실은 노이즈를 Auto Encoder를 이용해 구별 할 수 있다는 의미가 됩니다.
잠시 정리를 해보자면, 지금까지의 프로세스는 다음과 같습니다.
1. 정상 & 비정상 데이터를 함께 Auto Encoder 학습
(AE는 비 정상 데이터를 제대로 복원하지 못한다는 가정)
(왜? - Latent Space 상의 표현 한계 때문)
2. MSE를 측정
3. 임계값(Trash hold)를 구해 정상과 비 정상 데이터 구분
다음 포스팅에서는 다양한 실험을 해보려 합니다.
1. anomaly 데이터가 많으면 성능문제는 없을까?
2. AE 모델은 원본 + alpha * 노이즈(noise)를 어디까지 구분할 수 있을까? (alpha 변형해보면서 실험)