This writing is provided in English first, followed by Korean.
이 글은 영어 -> 한국어 순으로 작성되어 있습니다.
An Autoencoder
An Autoencoder is an unsupervised neural network that learns to compress (encode) data into a low-dimensional representation and then reconstruct (decode) it back to its original form. Its primary goal is to learn the most essential features of the data, captured in a compressed "latent space," by training the network to reconstruct its own input.
Autoencoders come in several variations, each with unique constraints and use cases:
The structure of an autoencoder is composed of two main parts: the Encoder and the Decoder.
The Encoder's job is to compress the input data. It takes the high-dimensional input (like an image) and passes it through a series of layers that progressively reduce the dimensions. The final output is a compact, low-dimensional representation, often called the bottleneck or latent representation.
The Decoder's job is to reconstruct the original data from the compressed representation. It takes the low-dimensional output from the encoder and passes it through a series of layers that progressively increase the dimensions, aiming to recreate the input as accurately as possible.
Feature | Encoder | Decoder |
---|---|---|
Purpose | Compresses data into a latent representation. | Reconstructs data from the latent representation. |
Architecture | The number of neurons decreases with each layer. | The number of neurons increases with each layer. |
Input & Output | Input: Original Data\<br>Output: Latent Representation | Input: Latent Representation\<br>Output: Reconstructed Data |
Autoencoders are well-suited for tasks that benefit from learning the underlying structure of data in an unsupervised manner.
By learning a compressed representation, autoencoders can be used to reduce the number of features in a dataset. This is useful for data visualization and can improve the performance of other models.
An autoencoder can be trained on clean data and then used to clean up noisy inputs. It reconstructs a clean version from a corrupted input, effectively filtering out the noise.
Variational Autoencoders (VAEs) can generate new data. By sampling points from the learned latent space, the decoder can create new, plausible data samples that resemble the original training data.
Autoencoders are excellent for detecting outliers. Trained only on "normal" data, they produce a high reconstruction error for anomalous inputs, signaling a deviation. This can be used for fraud detection or confirming a genuine match.
오토인코더(Autoencoder)
데이터 조건과 환경 등에 맞추어 여러 버전의 오토인코더가 있음.
오토인코더의 구조는 인코더와 디코더, 두 가지 주요 부분으로 구성됨.
입력 데이터를 압축하는 역할. 고차원 입력을 받아 점진적으로 차원을 축소하는 신경망 층을 통과시킴. 최종 출력은 데이터의 압축된 저차원 표현이며, 병목(bottleneck) 또는 잠재 표현(latent representation) 이라 말함.
압축된 표현으로부터 원본 데이터를 복원하는 역할. 인코더의 저차원 출력을 받아 점진적으로 차원을 확대하는 신경망 층을 통과시켜, 가능한 한 원본 입력과 가깝게 재구성하는 것을 목표로 함.
특징 | 인코더 | 디코더 |
---|---|---|
목적 | 데이터를 잠재 표현으로 압축 | 잠재 표현으로부터 데이터 복원 |
구조 | 신경망 층이 진행될수록 뉴런 수 감소 | 신경망 층이 진행될수록 뉴런 수 증가 |
입력 & 출력 | 입력: 원본 데이터 출력: 잠재 표현 | 입력: 잠재 표현 출력: 복원된 데이터 |
오토인코더는 비지도 방식으로 데이터의 근본적인 구조를 학습하는 것이 유용한 작업에 매우 적합함.
데이터의 압축된 표현을 학습하여 데이터셋의 특징 수를 줄이는 데 사용. 데이터 시각화에 유용하며 다른 모델의 성능을 향상시킬 수 있음.
깨끗한 데이터로 학습시킨 후 노이즈가 낀 입력을 정리하는 데 사용. 손상된 입력으로부터 깨끗한 버전을 재구성하여 효과적으로 노이즈를 필터링함.
변이형 오토인코더(VAE)는 새로운 데이터를 생성할 수 있음. 학습된 잠재 공간에서 포인트를 샘플링하여, 디코더가 원본 학습 데이터와 유사한 새로운 데이터를 만들어 냄.
이상치를 탐지하는 데 탁월함. "정상" 데이터로만 학습되어 비정상적 입력에 대해 높은 재구성 오류를 생성하며, 이는 편차를 나타내는 신호가 됨. 사기 탐지나 진위 여부 확인에 사용될 수 있음.
Reference
Image
https://www.ibm.com/think/topics/autoencoder
https://en.wikipedia.org/wiki/Autoencoder
https://www.v7labs.com/blog/autoencoders-guide