반응형
최근 딥러닝의 부상으로 다양한 딥러닝 모델들의 관심이 뜨겁습니다.
그중에서도 생성모델인 autoencoder에 대해 간단하게 설명하고자 합니다.
* Autoencoder란?
- Encoder와 Decoder로 구성된 딥러닝 모델을 의미합니다.
- 입력과 출력의 크기가 동일합니다.
- 가장 핵심은 데이터를 잘 압축하는 latent space vector를 얻고자 하는 것입니다.
- Manifold Learning
- Latent space vector를 통해서 데이터를 생성하는 것이 가능해집니다.
- Generative model
이미지 출처:
https://thilospinner.com/towards-an-interpretable-latent-space/
https://www.jeremyjordan.me/variational-autoencoders/
* Autoencoder의 활용도
- Denoising
- 이미지의 노이즈를 제거하는데 사용할 수 있습니다.
- 노이즈가 있는 이미지를 Autoencoder를 통해 변환하면 노이즈가 제거된 이미지를 얻을 수 있습니다.
- 음성 잡음 제거
- 주변 잡음이 있는 음성의 주변 잡음을 제거합니다.
* Autoencoder의 손실 함수
- Autoencoder의 기본적인 손실 함수는 MSE(Mean Square Error)함수를 사용하여 backpropagation 계산을 진행합니다.
- 입력값과 Autoencoder를 통해서 생성된 출력값의 차이가 최소화 되도록 학습합니다.
- 하지만 MSE가 더 작다고 해서 이미지를 더 잘 생성한다고 하기는 어렵습니다.
- 아래의 이미지에서 b의 경우는 생성된 이미지가 일부만 손실이 된 것을 알 수 있고, c의 경우에는 생성된 이미지가 픽셀이 옮겨진 것을 알 수 있습니다. 이때 MSE를 계산하면 b의 값이 낮게 측정이 되지만 눈으로 보기에는 c의 이미지가 원본 이미지에 가까운 것을 알 수 있습니다.
* Autoencoder의 목적
- autoencoder의 목적은 원본 이미지처럼 잘 생성하는 생성모델을 학습시키는 것을 목표로 합니다.
- 위에서 설명한 것처럼 MSE의 값이 낮다고만 해서 좋은 모델이라고 할 수는 없습니다.
- 따라서, MSE 뿐만 아니라 다양한 손실 함수를 조합하거나 원본의 이미지를 잘 표현할 수 있는 좋은 모델 구조를 활용하여 사용하는 것이 필요합니다.
- latent space vector가 원본 이미지를 다양한 형태로 표현할 수 있는 벡터로 만들어지는 것이 중요합니다.
- 다양한 Autoencoder에 대해서 요약하여 설명한 review 논문을 소개해드리도록 하겠습니다.
* 다양한 Autoencoder 리뷰 논문
- 아래의 논문은 Autoencoder에 대한 다양한 접근 방법에 대한 논문들을 review한 논문입니다.
- Autoencoder의 다양한 형태에 대해 학습할 수 있고, 본 게시글에서는 설명하지 않은 수식에 관련한 부분도 설명이 되어있습니다.
https://arxiv.org/abs/2003.05991
반응형