티스토리 뷰

728x90
반응형

오토인코더(Autoencoder)는 비지도학습 유형의 딥러닝 모델 중 하나이며 입력된 데이터를 신경망에 통과시켜 똑같이 출력하는 기능을 한다. 입력 재건 자체보다는 입력을 잘 표현할 수 있는 은닉 표현(hidden representation)을 찾는 것을 목적으로 한다. 이를 통해 입력 크기를 더 적은 차원으로 요약할 수 있다. 유의미한 정보는 모든 가능한 경우의 극히 일부분만을 차지하며 집중되어있다는 다양체 가정이 모델의 가능성을 뒷받침한다.


은닉층의 노드를 증가시킨다면 당연히 입력 데이터를 완벽하게 표현할 수 있지만 이는 오토인코더를 사용하는 목적을 퇴색시킨다.(over-fitting) 물론 더 적은 노드를 사용하면 완벽하게 입력데이터를 묘사할 수 없을지 모르지만 그럼에도 어느 정도 입력 데이터의 특징을 추출해낼 수 있기 때문에 더욱 의미가 있다. 이를 uncomplete autoencoder(undercomplete autoencoder)라고 한다. 따라서 과적합을 일어나지 않도록 조치를 취해야 한다.


일반적으로 정규화(regularization)을 통해 은닉층의 너비를 조정한다. 비용함수(복원 오차)에 정규화항을 덧붙여 학습을 진행한다. 라소 스타일의 정규화를 시도한다면 은닉층에서 활성화될 노드를 선택할 수 있고 따라서 희소성을 부여할 수 있다.


오토인코더 중 Denoising autoencoder는 노이즈가 추가된 입력을 원래의 데이터로 복원하도록 하여 노이즈에 더욱 강건한 모델을 학습할 수 있다.


오토인코더의 오차는 데이터가 가지는 특성으로 생각할 수 있다. 다른 오차 값을 가지는 데이터가 입력된다면 그 데이터를 다른 형태의 데이터로 생각할 수 있다.(다양체) 여러 개의 은닉층을 쌓아 성능을 더욱 강화시킬 수 있거나 입력이나 출력의 특성에 따라 CNN, RNN을 응용할 수도 있다. 과거에 오토인코더는 신경망의 초기 가중치를 결정하는 데 사용되기도 하였다.(greedy layerwise pre-training)

 

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함