본문 바로가기
[Artificial Intelligence]/[Deep Learning]

[오토인코더] AutoEncoder

by 보끔밥0130 2023. 1. 25.
728x90

오토인코더는 일종의 인공신경망이다.

 

데이터 인코딩 작업을 수행하기 위해 사용합니다.

 

오토인코더의 구조는 다음 그림과 같습니다.

출처: https://commons.wikimedia.org/wiki/File:Autoencoder_structure.png

 

인공신경망이 인코더 네트워크와 디코더 네트워크로 구분됩니다.

 

두 개의 인공신경망이 있고 반전된 구조로 연결되어 있습니다.

 

인풋이 들어가 은닉층을 거치며 축소되고 코드 층에서 업샘플링을 합니다.

 

Z는 Bottlenect  "code layer"로 네트워크가 인풋을 압축시켜 인코딩 되도록 강제하는 역할을 수행합니다.

 

그리고 아웃풋에 도달합니다.

 

인풋 데이터와 똑같은 아웃풋 데이터를 재구성해내는 구조입니다.

 

오토 인코더를 사용하여 간단한 차원 축소 혹은 인코딩을 수행합니다.

 

만약, 데이터들 간에 상관관계가 존재한다면 오토인코더는 잘 작동됩니다.

 

ENCODER : h(x) = sigmoid(W * x + b)

W: weights, x: inputs, b: bias

 

DECODER: x_hat = sigmoid(W^* * h(x) + c) # upsampling

 

TIED WEIGHTS: 인코더 내의 가중치와 디코더 내의  가중치가 동일한 값을 가진다

 

 

 

 

728x90

'[Artificial Intelligence] > [Deep Learning]' 카테고리의 다른 글

Get Info for DL  (0) 2023.09.20
인공지능 용어  (0) 2023.02.28
AI 기초 이론  (0) 2023.02.27
[콘볼루션 신경망] CONVOLUTIONAL NEURAL NETWORKS  (1) 2023.01.26
[인공신경망] ANN: Artificial Neural Networks  (0) 2023.01.24

댓글