let us not love with words or tongue but actions and truth.

IT/머신러닝(수업)

오토 인코더

sarah0518 2021. 11. 25. 22:25

오토 인코더에 대해서 오늘은 알아보겠습니다.

 

오토인코더는 5가지 특징을 가집니다.

 

1. 비지도학습이다.

2. 입력노드와 출력노드가 유사하게 학습하는 모델이다. (입력노드 수 = 출력노드 수)

3. 은닉층의 노드개수(m) < 입력층의 노드개수(d)

4. 은닉층은 입력데이터의 핵심정보를 표현한다.

5. 활성함수에 따라 비선형성, 선형성 모두 가질 수 있다.

 

오토인코더의 목적함수를 수식으로 표현해보겠습니다.

X = { 𝐱1, 𝐱2, ⋯ , 𝐱𝑛 } 일 때,

알아내야 하는 매개변수 f g라는 매핑함수 입니다.

 

 

그렇다면 목적함수는 아래와 같이 표현될 수 있습니다.

 

참고로, 선형 매핑을 사용하고, 은닉층의 개수가 입력층의 개수보다 작으며,

위의 식을 목적함수로 사용한다면, 

오토인코더가 찾아주는 가중치는 PCA가 찾아내는 주성분과 같습니다.

 

만약, 비선형 매핑을 사용한다면 더 POWERFUL 한 PCA라고 할 수 있다.

 

[오토인코더 규제]

오토인코더에도 규제기법을 줄 수 있습니다.

예를 들어, 은닉층 노드수 > 입력층 노드수 일 경우 규제를 적용하여 

사용하게 됩니다.

 

 

1. SAE(sparse autoencoder)규제 

규제항을 통해 은닉층의 노드수 = 입력층 노드수로 만듭니다.

 

 

 

2. DAE(Denoising autoencoder) 규제

 

[적층 오토인코더]

원래 오토인코더는 은닉층이 한개인 얕은 신경망입니다.

 

그에 반해 적층 인코더는, 은닉층을 여러 개 쌓아 깊은 구조로 확장시킨 것입니다.

 

머신러닝 기계학습 by 한빛 아카데미

 

앞의 층별 예배학습의 경우, 비지도 학습이고

MLP학습과 미세조정의 경우 지도학습입니다.

층별 예비학습을 통해 얻은 은닉층을 최종으로 쌓은 후(Gradient vanishing 없음),

미세조정을 통해 적층 오토인코더를 만드는 것입니다.

 

단, 현재는 GPU성능이 향상되어,

한꺼번에 multi-layer 알고리즘을 구현할 수 있으므로

더 이상 층별오토인코더는 쓰지 않습니다.

 

[확률 오토인코더]

확률모델에서는 인코딩 과정의 𝐡=𝑓(𝐱) 가 𝑃(𝐡|𝐱) ,

디코딩 단계의 𝐱=𝑓(𝐡) 가 𝑃(𝐱|𝐡) 로 대치됩니다. 

확률모델의 가장 큰 장점은 생성모델로 활용할 수 있다는 것이 특징입니다.

 

'IT > 머신러닝(수업)' 카테고리의 다른 글

임베딩  (0) 2021.12.13
RBM과 DBN  (0) 2021.12.12
2차 미분을 이용한 최적화  (0) 2021.11.22
규제 기법2 - Augmentation, Dropout, 앙상블  (0) 2021.11.21
규제 기법 - Ridge & Lasso  (0) 2021.11.20