반응형
Index
Auto Encoder 구조
- 오토인코더는 대표적인 Unspervised Learning 으로 Data Reconstruction을 목적으로 하는 인코더-디코더 결합모델
- Input data를 lower dimension vector (=Latent vector)로 압축(다운샘플링)한뒤 다시 Input의 모습과 비슷한 output으로 reconstruction(업샘플링)하는 과정. 즉, Input 이 Target이 된다.
- AE의 목적은, 'Dimensionality Reduction' : Input 정보를 최대한 잃지 않는 선에서 저차원 Latent vector를 찾는것
- AE의 주요 특징 두가지는 ① Data-Specific ② Lossy
- Data-Specific : 학습할 Input data끼리, 그리고 학습-테스트 데이터가 서로 비슷(correlation)해야 성능이 좋다.
- Lossy : AE는 어쩃든 output이 input 대비 lower quality 이다 (cf. GAN은 Lossy하지 않다)
- AE의 주요 활용방안은 ① 다른 알고리즘의 lower dimension input으로 활용할 latent vector 찾기. ② 2D,3D 등으로 축소하여 data visualization 으로 활용
- AE를 PCA와 비교해보면, 오른쪽 아래 그림과 같이 PCA는 linear한 hyperplane (직선,평면)축을 찾는반면, AE는 nonlinear manifold 에 투영하기에 차원이 큰 데이터축소에 유리하다.
아래 여러가지 변형된 형태의 Auto Encoder를 정리해본다.
Tied weight Auto Encoder
- 오른쪽 그림과 같이 디코더의 weight matrix를 인코더의 weight matrix를 그대로 transpose하여 사용하는 구조
- 학습할 weight가 절반밖에 안되서 계산속도가 빠르고 overfitting 위험이 적다
Denoising Auto Encoder
- random 한 Gaussian noise를 input data에 추가하고, output으로는 noise-free 원본 데이터로 recover하도록 학습
- 일반적인 AE와 target은 같은데, input이 다른 구조.
Stacked Auto Encoder (Deep AE)
- Layer를 늘려서 Deep하게 만들고,하나의 layer씩 분리해서 학습하는 구조의 모델이다.
- Layer가 많으면 parameter가 많기 때문에 학습이 어렵고, dimension을 많이 줄이면 Reconstruction이 어렵다
- 이러한 문제를 해결하기 위해 One-Layer AE 를 여러게 쌓아, 이전 AE에서 찾은 latent vector를 다음 AE의 Input으로 반복하는 방법으로 layer를 쌓는다.
- 최종 Stacked AE 에서는 직전 one-layer AE 에서 학습된 Weight들을 모아서 그대로 사용한다.
Classification task using Stacked Auto Encoder
- AE 는 input data의 dimension reduction으로 활용된다고 했는데, 오른쪽 아래 그림과 같이 AE의 인코딩 부분까지만 자르고, 그 위에 Classification model 을 올리면 feature extraction + prediction 모델을 결합할 수 있다.
- 모델의 학습진행 과정은 아래와 같다.
- Stacked AE 방식으로 latent vector 를 찾고 디코더 부분을 자른 뒤 분류모델을 붙인다'
- 앞서 학습된 인코더 부분의 weight 는 freeze 시키고, MLP부분의 weight만 따로 학습한다.
- 이렇게 되면 인코더와 분류기의 가중치간에 연결성이 부족하기에, 인코더의 뒷부분 wieght만 upper network와 추가적으로 재학습 (fine-tuning)
- AE 인코딩 부분과 Classification(FC)를 따로 학습하는 이유는, 같이하면 1000×100×10 의 computation 이 생기지만 따로하면 1000×100 + 100×10 으로 계산량이 현저히 줄기 때문
- Stacked AE 의 대표적인 활용처는 Anomaly detection (이상탐지)이다. '이상'이라는 label 이 없는 데이터를 기준으로 S-AE를 구축하고, Reconstruction Error가 큰 데이터들을 이상치로 판단하는 개념이다.
반응형
'Study > DL' 카테고리의 다른 글
GAN - 1편 (GAN 구조,학습,어려움) (0) | 2023.07.01 |
---|---|
Variational Auto Encoder (VAE) (0) | 2023.07.01 |
Attention Mechanism (0) | 2023.07.01 |
RNN - 2편 (LSTM) (0) | 2023.07.01 |
RNN - 1편 (RNN구조, RNN의 Backpropagation) (0) | 2023.07.01 |
댓글