오토인코더(Autoencoder)는 neural network의 비지도 학습 중 하나.
목표 : 어떻게 효율적으로 데이터를 잘 압축(compress, encode)하고 어떻게 다시 그 압축된 데이터를 원래 데이터 형태로 복원(reconstruct) 시키는가 !
MNIST 데이터셋에 autoencoder를 적용시키면 이런 형식이 나온다.
오토인코더는 크게 4가지 파트가 있다.
1. Encoder : input data -> reduce! -> encoded representation
2. Bottleneck : input data의 압축된 형태를 가지고 있는 layer
3. Decoder : encoded representation -> reconstruct! -> original input
4. Reconstruction Loss : 얼마나 잘 복원했는지 측정
모델 training은 4.reconstruction loss를 최소화(minimize)하도록 back propagation하면서 진행된다.
autoencoders는 5 종류로 사용된다.
1. Undercomplete autoencoders
압축된 image를 원래 image로 예측하는 기법
encoder로 차원 축소
2. Sparse autoencoders
Undercomplete autoencoders과 비슷하지만, hidden layer의 노드수로 규제가 됨
-> sparsity function
3. Contractive autoencoders
image의 representation을 배우는 기법
4. Denoising autoencoders
image의 noise를 없애는 기법
5. Variational Autoencoders
image의 특정 부분을 확률분포로 다루는 기법
autoencoder의 활용
1. 차원축소
2. 이미지 노이즈 감소
3. 이미지와 시계열 데이터 생성
4. 비정상 탐지
참고 링크
https://towardsdatascience.com/auto-encoder-what-is-it-and-what-is-it-used-for-part-1-3e5c6f017726
Auto-Encoder: What Is It? And What Is It Used For? (Part 1)
A Gentle Introduction to Auto-Encoder and Some Of Its Common Use Cases With Python Code
towardsdatascience.com
https://www.v7labs.com/blog/autoencoders-guide
Autoencoders in Deep Learning: Tutorial & Use Cases [2022]
Autoencoders are a type of neural network that can be used for unsupervised learning. Explore different types of autoencoders and learn how they work.
www.v7labs.com
https://keras.io/examples/vision/autoencoder/
Keras documentation: Convolutional autoencoder for image denoising
Convolutional autoencoder for image denoising Author: Santiago L. Valdarrama Date created: 2021/03/01 Last modified: 2021/03/01 Description: How to train a deep convolutional autoencoder for image denoising. View in Colab • GitHub source Introduction Thi
keras.io