AutoEncoder
AutoEncoder는 Manifold Learning의 비선형 변환 모델 중 하나로,
비지도 방식으로 신경망을 훈련하여 Encoder를 통해 입력 데이터를 최대한 압축하여 입력데이터를 잘 표현할 수 있는 z 벡터를 만들고 이를 다시 Decoder를 통해 원본 데이터로 복원하는 것을 말한다.

AutoEncoder는 Representation Learning으로 구분할 수 있다.
Manifold Learning
Manifold 란? 모든 데이터를 최대한 오차없이 잘 아우를 수 있는 subspace(부분공간)을 의미 고차원의 manifold를 잘 찾아낸다면, 고차원의 manifold를 저차원으로 압축했을때 각 데이터들의 특징을 유지
stop-thinking-start-now.tistory.com
AutoEncoder의 종류
1. Vanilla Autoencoder (AE)

2. Linear AutoEncoder
AE는 비선형으로 AE에서 ReLU, GELU와 같은 비선형성을 추가하는 activation function을 제외한 구조.
3. Denoising Autoencoder (DAE)
autoencoder에 들어가는 데이터를 망가뜨린 후 모델에 넣는 방법 (모델에 corrupted된 데이터를 넣는 방법)
Loss 함수는 original image x와 복원된 이미지 x’을 이용하여 계산
가우시안 노이즈가 추가된 손상된 이미지를 보고 손상이전의 이미지를 학습해야하므로 더 유의미한 잠재변수를 학습하게 됨.

4. Sparse Autoencoder
잠재변수에 sparsity를 강제하는 것. 잠재변수에서 활성화되는 뉴런의 수를 제한하여 모든 잠재변수를 디코더가 참조하지 못하도록 하는 기법. 더 robus한 모델이 학습되는 효과를 기대하는 것.
loss function에 sparsity를 강제하는 term을 추가하여 학습하게됨. $$\Omega(z)$$는 KL-divergence 또는 L1 regularization을 이용하여 sparsity를 강제한다.
$$ Loss : L(x, x') + \Omega(z) $$
$$ L(x,x') : reconstruction loss $$
$$ \Omega(z) : sparsity inducing term $$
5. Stacking Autoencoder
Stacked autoencoder는 차례로 각각 hidden layer의 해당하는 가중치들을 학습하는 방식.
Xiavery initalizer 등 가중치 초기화 방식이 없었을 당시, 가중치를 초기화하는 방식으로 많이 이용.
AE와 VAE의 차이점
AutoEncoder이 목적은 Encoder에 있다. Encoder의 학습을 위해 Decoder를 붙였다. 반면 VAE는 생성모델로 목적이 Decoder에 있다. Decoder의 학습을 위해 Encoder를 붙였다.
참고
Autoencoder (오토인코더)
Manifold learning에 대한 설명과 그와 관련된 모델들을 설명하고, 특히 autoencoder (오토인코더)에 대해 자세히 다룹니다.
ljm565.github.io
'AI' 카테고리의 다른 글
Bytes Are All you Need: Transformers Operating Directly On File Bytes 리뷰 (0) | 2023.06.12 |
---|---|
AutoEncoder 실습 (0) | 2023.05.18 |
Manifold Learning (0) | 2023.05.18 |
GAN (0) | 2023.05.17 |
TAO Toolkit 관련 자료 (0) | 2023.05.17 |
AutoEncoder
AutoEncoder는 Manifold Learning의 비선형 변환 모델 중 하나로,
비지도 방식으로 신경망을 훈련하여 Encoder를 통해 입력 데이터를 최대한 압축하여 입력데이터를 잘 표현할 수 있는 z 벡터를 만들고 이를 다시 Decoder를 통해 원본 데이터로 복원하는 것을 말한다.

AutoEncoder는 Representation Learning으로 구분할 수 있다.
Manifold Learning
Manifold 란? 모든 데이터를 최대한 오차없이 잘 아우를 수 있는 subspace(부분공간)을 의미 고차원의 manifold를 잘 찾아낸다면, 고차원의 manifold를 저차원으로 압축했을때 각 데이터들의 특징을 유지
stop-thinking-start-now.tistory.com
AutoEncoder의 종류
1. Vanilla Autoencoder (AE)

2. Linear AutoEncoder
AE는 비선형으로 AE에서 ReLU, GELU와 같은 비선형성을 추가하는 activation function을 제외한 구조.
3. Denoising Autoencoder (DAE)
autoencoder에 들어가는 데이터를 망가뜨린 후 모델에 넣는 방법 (모델에 corrupted된 데이터를 넣는 방법)
Loss 함수는 original image x와 복원된 이미지 x’을 이용하여 계산
가우시안 노이즈가 추가된 손상된 이미지를 보고 손상이전의 이미지를 학습해야하므로 더 유의미한 잠재변수를 학습하게 됨.

4. Sparse Autoencoder
잠재변수에 sparsity를 강제하는 것. 잠재변수에서 활성화되는 뉴런의 수를 제한하여 모든 잠재변수를 디코더가 참조하지 못하도록 하는 기법. 더 robus한 모델이 학습되는 효과를 기대하는 것.
loss function에 sparsity를 강제하는 term을 추가하여 학습하게됨. $$\Omega(z)$$는 KL-divergence 또는 L1 regularization을 이용하여 sparsity를 강제한다.
$$ Loss : L(x, x') + \Omega(z) $$
$$ L(x,x') : reconstruction loss $$
$$ \Omega(z) : sparsity inducing term $$
5. Stacking Autoencoder
Stacked autoencoder는 차례로 각각 hidden layer의 해당하는 가중치들을 학습하는 방식.
Xiavery initalizer 등 가중치 초기화 방식이 없었을 당시, 가중치를 초기화하는 방식으로 많이 이용.
AE와 VAE의 차이점
AutoEncoder이 목적은 Encoder에 있다. Encoder의 학습을 위해 Decoder를 붙였다. 반면 VAE는 생성모델로 목적이 Decoder에 있다. Decoder의 학습을 위해 Encoder를 붙였다.
참고
Autoencoder (오토인코더)
Manifold learning에 대한 설명과 그와 관련된 모델들을 설명하고, 특히 autoencoder (오토인코더)에 대해 자세히 다룹니다.
ljm565.github.io
'AI' 카테고리의 다른 글
Bytes Are All you Need: Transformers Operating Directly On File Bytes 리뷰 (0) | 2023.06.12 |
---|---|
AutoEncoder 실습 (0) | 2023.05.18 |
Manifold Learning (0) | 2023.05.18 |
GAN (0) | 2023.05.17 |
TAO Toolkit 관련 자료 (0) | 2023.05.17 |