Deeper Learning

Autoencoder 본문

AI/Deep Learning

Autoencoder

Dlaiml 2021. 2. 11. 16:42

Autoencoder

 

https://www.jeremyjordan.me/content/images/2018/03/Screen-Shot-2018-03-06-at-3.17.13-PM.png

오토 인코더는 위와 같이 input을 다시 재구성하는 구조로 hidden layer의 차원 수를 줄이거나, noise를 추가하는 등 제약을 통해 input이 그대로 output으로 복사되는 것을 막으며 데이터를 효율적으로 표현하는 방법을 학습한다.

 

차원 축소, feature extraction처럼  Autoencoder를 사용할 수 있는데 Encoder는 결국 input을 다시 재구성할 수 있는 가장 효율적인 feature를 추출해내는 과정과 유사하기 때문이다.

 

Sparse Autoencoder

hidden layer의 차원이 input의 차원보다 같거나 많으면 압축된 중요한 특성을 추출하지 못하고 원본을 그대로 복사하는 방향으로 학습이 이루어질 수 있다.

이를 방지하기 위해 Sparsity 제약을 적용한다.

 

hidden unit의 평균 활성화 값을 0에 가깝게 만드는 것이다. 이를 위해서는 대부분 hidden unit을 통과한 값이 0이 되어야 한다. 

 

hidden unit j의 평균 활성화 값

$\rho$를 0에 근사한 값으로 설정하고 $\hat{\rho}$와 차이에 페널티를 부과한다.

 

위처럼 쿨백-라이블러 발산을 사용하여 두 분포의 차이를 하나의 수치로 나타낼 수 있다.

종합하면 cost funtion은 다음과 같다.

 

cost funtion
https://www.jeremyjordan.me/content/images/2018/03/Screen-Shot-2018-03-07-at-1.50.55-PM.png

결과적으로 규제로 인해 위의 그림과 같이 dying node가 생기고 이는 hidden layer의 node가 input 데이터를 그대로 기억하지 못하도록 한다.

 

Denoising Autoencoder

Denoising Autoencoder는 input과 output이 완벽하게 동일한 기존의 autoencoder와 다르게 noise를 추가한 데이터가 input이 되고 noise가 추가되기 전 cleaned org data가 output이 된다.

 

학습이 성공적으로 이루어지면 추가된 noise를 제거할 수 있는 네트워크가 구축된다.

 

Reference

[1] www.jeremyjordan.me/autoencoders/

[2] excelsior-cjh.tistory.com/187

 

 

'AI > Deep Learning' 카테고리의 다른 글

GPT  (0) 2021.02.22
Adam Optimizer  (0) 2021.02.14
Gradient Descent  (0) 2021.02.10
Attention Mechanism  (0) 2021.01.29
Text similarity Model (CNN, MaLSTM)  (0) 2020.12.30
Comments