<참조> https://www.youtube.com/watch?v=3jmcHZq3A5s [WelcomeAIOverlords - Simple Explanation of Auto Encoders.]
## 배울것들
> - 신경망을 통해 데이터의 특징을 찾아내는 방법은 어떻게 만들 수 있을까?
> - 데이터를 특징을 유지한 잠재표현으로 바꾸고 원 데이터를 복원하는 모델을 살펴보자
> - 오토인코더를 통해 데이터의 특징을 추출해 보자
> - 잠재표현과 오토인코더를 통한 차원축소와 복원에 대해 알아보자
> - 잠재표현을 이용하여 새로운 데이터를 생성하는 방법을 생각해보자
## 1. 특징, 그리고 잠재 표현
### **차원 축소는 데이터를 표현하기 위해 사용하는 공간을 더 낮은 차원으로 바꾸는 것이다.**
- 차원의 저주를 피하기 위해 사용
- 단순한 차원 축소만이 아닌 원래 데이터를 다른 공간으로 옮기는 것
- 압축 데이터는 우리가 눈으로 관찰하는 것과는 전혀 다른 방식으로 데이터를 표현하는 것이다.
- 기법: LLE, Isomap, t-SNE등이 제안
### 오토인코더
- 차원을 축소하는 역할을 지닌 **인코더**, 이 축소된 차원을 복원하는 역할을 지닌 **디코더**
- 이 중간 단계 출력이 존재하는 공간을 **잠재공간**, 데이터를 이 공간에 표현한 것을 **잠재 표현**
## 2. 압축과 복원 - 오토 인코더로 구현하기
- 출력이 입력과 동일하게 나오도록 신경망이 학습된다면, 이건은 원래의 데이터를 복원할 수 있는 **압축된 잠재 표현**을 학습하는 것과 같은 것이 될 것이다.
- **오토 인코더**: 우리가 설계산 차원 축소 기봅으로 데이터를 압축하는 것이 아닌 신경망이 자동으로 생성한 모델을 통해 얻는것
## 3. 잠재 표현으로 새로운 데이터 만들기
- 오토인코더를 이용하여 새로운 데이터 생성하는 모델 학습. 이 모델에 같은 클래스에 속하는 데이터들만 인코더를 통과시켜 디코더를 작동시키면 그 클래스의 특징을 대표하는 데이터를 만들어 낸다. 이는 이전에 존재하지 않았던 새로운 데이터이다.
- 해당 대표하는 잠재표현을 조금씩 변형하는 방법을 사용 -> 특징은 비슷하게 유지하면서 조금씩 변형된 표현 얻을 수 있음
참조>