반응형
Deep Learning — Different Types of Autoencoders
오토 인코더는 함수 f를 사용하여 입력값 x를 인코딩한다. 그리고 입력값과 동일한 출력값을 생성하기 위한 함수를 사용하여 인코딩된 값 $f(x)$를 디코딩한다.
오토인코더 목적은 입력과 출력간 재구성오류(reconstruction error)를 최소화하는 것이다. 이는 오토인코더가 데이터에 있는 중요 특성을 학습하는데 도움을 준다. 표현(representation)이 입력에 대한 훌륭한 재구성을 하도록 한다면 이 표현은 입력에 존재하는 많은 정보를 포함한 것이다.
What are different types of Autoencoders?
불완전(undercomplete) Autoencoders
불완전 오토인코더 : 은닉층이 입력 레이어에 비해 더 작은 차원을 갖는다.
- 오토인코더의 목표는 데이터에 존재하는 대부분의 중요 특징을 포착하는 것이다.
- 불완전 오토인코더는 입력레이에 대비 은닉층(hidden layer)이 더 작은 차원을 갖는다. 이는 데이터로부터 중요 특징을 얻는데 도움이 된다.
- 목적은 입력 x와 차이가 있는 것에 대해 $g(f(x))$에 패널티를 주는 것으로 손실함수(loss function)를 최소화하는 것이다.
- 디코더(decoder)가 선형이고 MSE(Mean Squared Error) 손실함수를 사용하며 불완전 오토인코더는 PCA와 비슷한 축소된 특성공간을 생성한다.
- 인코더 함수 f와 디코더 함수 g가 비선형(non linear)이면 PCA의 강력한 비선형 일반화(generalization)를 얻는다.
- 불완전 오토인코더는 입력을 출력에 복제하는 것보다 오히려 데이터의 확률을 최대화하는 것처럼 다은 일반화가 필요없다.
희소(sparse) Autoencoders
희소 오토인코더는 한번에 은닉 노드의 감소된 수만을 사용한다
- 희소 오토인코더는 입력 노드보다 더 큰 은직노드를 갖는다. 이 노드들은 여전히 데이터에서 중요한 특성을 발견할 수 있다.
- 희소성 제약(sparsity constraint)은 은닉층에 적용된다. 이는 출력 레이어가 입력데이터를 복사하는 것을 막는다.
- 희소 오토인코더는 희소성 패널티(sparsity penalty), $\Omega(h)$, 0에 가깝지만 0이 아닌 값을 갖는다. 희소성 패널티는 은닉층과 재구성 오류에 적용된다. 이는 오버피팅을 막는다.
- 희소 오토인코더는 은닉틍에서 가장 높은 활성화 값을 취하고 은닉 노드의 나머지는 0으로 한다. 이는 오토인코더가 한번에 모든 은닉 노드를 사용하는 것을 막고 사용되는 은닉 노드의 감소된 수만을 사용하게 한다.
- 데이터셋에서 각 열에 대해 은닉 노드을 활성화/비활성화 한다. 각 은닉 노드는 데이터에서 특성을 추출한다.
노이즈 제거(denoising) Autoencoders(DAE)
노이즈 제거 오토인코더 - 입력이 오염되었다.
- 노이즈 제거(denoising)는 원본 입력을 네트워크에 제공하기 전에 입력에 의도적으로 노이즈를 추가하는 것을 나타낸다. 노이즈 제거는 통계적 매핑(stochastic mapping)을 사용하여 달성할 수 있다.
- 노이즈 제거 오토인코더는 몇몇 노이즈를 적용하여 입력에 대한 변질된 복사본을 생성한다. 이는 오토인코더가 데이터에 대한 특성을 학습하지 않고 입력을 출력으로 복사하는 것을 막는다.
- 입력에 대한 오염(corruption)은 몇몇 입력을 0으로 만들어 무작위로 완료될 수 있다. 남은 노드는 입력을 노이즈가 낀 입력으로 복사한다.
- 노이즈 제거 오토인코더는 입력과 유사한 출력을 만들기 위해 오염을 제거해야만 한다. 출력은 노이즈가 낀 입력이 아닌 입력과 비교된다. 손실함수를 최소화하기 위해 수렴할때 까지 게속한다.
- 노이즈 제거 오토인코더는 출력 노드와 오염된 입력간 손실함수를 최소화 한다.
- 노이즈 제거는 오토인코더가 데이터에 존재하는 잠재표현을 학습하는데 도움이 된다. 노이즈 제거 오코인코더는 노이즈가 낀 입력에서 튼튼하게 유도될 수 있는 좋은 표현을 보장하고 해당하는 깨끗한 입력을 복원하는데 유용하다.
- 노이즈 제거는 몇몇 입력을 0으로 설정하는 통계적 오염 프로세스(stochastic corruption process)를 사용하는 것같은 통계적 오토인코더이다.
수축성(contractive) Autoencoders(CAE)
수축성 오토인코더
- 수축성 오토인코더(CAE)의 목표는 데이터에서 작은 변형이 덜 민감한 튼튼한 학습된 표현을 얻는 것이다.
- 데이터에 대한 표현의 튼튼함(robustness)은 손실함수에 페널티 항(penalty term)을 적용하여 완료된다. 패널티 항은 야코비안 행렬의 프로베니우스 노름(Frobenius norm of the Jacobian matrix)이다. 은닉층에 대한 야코비안 행렬의 프로베니우스 노름은 입력에 대해서 계산된다. 야코비안 행렬의 프로베니우스 노픔은 모든 요소의 제곱의 합이다.
패널치 항을 가진 손실함수 - 야코비안 행렬의 프로베니우스 노름
- 수축성 오토인코더는 희소 오토인코더와 노이즌 제거 오토인코더 같은 또다른 일반화(regulariaztion) 기술이다.
- CAE는 가중치 감쇠(weight decay)와 노이즈 제거를 사용하는 일반화된 오토인코더로 얻은 결과를 능가한다. CAE는 유용한 특성 추출을 학습하기 위해 노이즈 제거 오토인코더보다 더 나은 선택이다.
- 패널티 항은 데이터를 강력하게 수축하는 매핑을 만드기 때문에 수축성 오토인코더이다.
누적된(stacked) Denoising Autoencoders
누적된 노이즈 제거 오토인코더
- 누적된 오토인코더는 여러층의 희소 오토인코더를 갖는 신경망이다.
- 오토인코더에 하나의 은닉층보다 더 많은 은닉층을 추가하면 이는 고차원 데이터를 중요 특성을 표현하는 더 작은 크드로 줄이는데 도움을 준다.
- 각 은닉층은 최종 은닉층보다 더 소형(compact)의 표현이다.
- 또한 입력에서 노이즈를 제거하고 누적된 노이즈 제거 오코인코더(stacked denoising autoencoders)라 불리는 누적된 오토인코더로 데이터를 전달할 수 있다.
- 누적된 노이즈 제거 오토인코더에서 입력 오염(corruption)은 오직 초기 노이즈 제거에 대해서만 사용된다. 이는 데이터내 존재하는 중요 특성을 학습하는데 도움을 준다. 매핑함수 $f(\theta)$가 학습되면 추가적은 레이어에 대해서는 이전 레이어로부터 오염되지 않은 입력을 사용한다.
- 위에서 설명된 누적된 인코더를 훈련한 후 SVM(Support Vector Machine) 또는 다중 클래스 로지스틱 회귀(multi class logistics regression)같은 지도 학습(supervised machine learning) 분리하기 위해 입력으로 누적된 노이즈 제거 오토인코더의 출력을 사용할 수 있다.
심층(deep) Autoencoders
Deep Autoencoders (Source: G. E. Hinton* and R. R. Salakhutdinov, Science , 2006)
- 심층 오토인코더는 두개의 똑같은 신념 네트워크(belief network)로 구성된다. 하나는 인코딩을 다른 하나는 디코딩을 위한 것이다.
- 보통 심층 오토인코더는 인코딩을 위한 4개에서 5개 레이어를 갖고 다음 4개에서 5개는 디코딩을 위한 레이어를 갖는다. 레이어 사전훈련으로 비지도 학습된 레이어(unsupervised layer)를 사용한다.
- 제한된 볼츠만 머신(Restricted Boltzmann Machine, RBM)은 심층 신념 네트워크의 기본 빌딩 블록(building block)이다.
- 위 그림에서는 784픽셀 이미지를 취하고 4개 RBM의 스택을 사용하여 훈련한다. 이를 펼쳐 역전파(back propagation)으로 세부조정(finetune)한다.
- 마지막으로 인코딩 레이어는 작고(compact) 빠르다.
30차원 심층 오토인코더로 제한; 30차원 표준 PCA로 제한 (Source: G. E. Hinton* and R. R. Salakhutdinov, Science , 2006)
References:
- Deep learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville
- http://www.icml-2011.org/papers/455_icmlpaper.pdf
- http://www.jmlr.org/papers/volume11/vincent10a/vincent10a.pdf
반응형