-
AutoEncoderAI Study 2022. 3. 24. 18:12
AutoEncoder란?
- 입력을 받아서 압축한 것을 압축 해제하여 복원하는 것을 학습하는 모델로,
비지도 학습을 지도학습 문제로 바꾸어 해결한 예이다. - 정답 데이터가 따로 필요하지 않기때문에 Unsupervised Learning
- encoder로 입력 데이터의 정보를 최대한 보존하도록 압축을 실행하고,
decoder로 중간결과물 z의 정보를 입력데이터 x 와 같아지도록 복원을 실행하는
encoder와 decoder 가 합쳐진 모델 - 학습하면서, AE(AutoEncoder)는 입력 x의 특징(feature)를 잘 추출하도록 자동으로 학습된다.
- 중간 결과물 z는 Bottleneck Hiddenlayer 라고도 하며, Latent Variable, Feature, Hidden representation, latent vector 등 다양하게 불리운다.
- AE가 학습이 잘 되고 있다 <=> 입력 데이터 x 의 특징을 잘 추출하고 있다.
학습 과정
-
Input Data x를 Encoder Network 에 통과시켜 압축된 z값을 얻음.
-
압축된 z vector로부터 Input Data와 같은 크기의 출력값 y를 생성.
-
입력값 x와 Decoder를 통과한 출력 값 y의 차이로 Loss 구함.
AutoEncoder가 쓰이는 곳
- 데이터의 Feature를 추출할 때 많이 씀
- 차원축소에 사용됨.
- Batch-Norm, Xavier Initialization 과 같은 가중치 초기화 기법들이 없었을 때 Network parmeter 초기화에 사용되었다고 함.
기타
-
Activation Function 없이 사용하는 AutoEncoder를 Linear AutoEncoder라고 부른다.
-
Linear AutoEncoder를 사용하면 PCA와 같은 manifold를 배운다. (1990년대 논문에서 증명 - 무슨 논문이지?)
Reference
Fastcampus 김기현의 딥러닝을 활용한 자연어 생성 패키지
https://deepinsight.tistory.com/126[정리노트] [AutoEncoder의 모든것] Chap3. AutoEncoder란 무엇인가(feat. 자세히 알아보자)
AutoEncoder의 모든 것 본 포스팅은 이활석님의 'AutoEncoder의 모든 것'에 대한 강연 자료를 바탕으로 학습을 하며 정리한 문서입니다. 이활석님의 동의를 받아 출처를 밝히며 강의 자료의 일부를 인
deepinsight.tistory.com
- 입력을 받아서 압축한 것을 압축 해제하여 복원하는 것을 학습하는 모델로,