Artificial Intelligence/Deep Learning

CAE (Convolutional Autoencoder)

테리는당근을좋아해 2023. 3. 27. 22:23

CAE (Convolutional Autoencoder)

- CAE는 auto encoder를 이미지 학습에 적용할 수 있도록 fully connected layer를 convolution layer로 교체해 autoencoder의 기본 구조를 확장

- Encoder에서는 Convolution 연산을 수행하고 Decoder에서는 Transposed convolution 연산 수행

 

autoencoder
CAE

1) Encoder network

- convolution layer

- convolutional layer에서의 연산은 아래 이미지처럼 처리된다.

- convolutional layer에서 output의 길이는 \(output = \frac{input + 2 * padding - kernel}{stride} + 1\)로 정해진다.

 

 

2) Decoder network

- transposed convolutional layer

- transposed 2-D convolution layer는 특성맵을 upsampling

- transposed convolution과 deconvolution 연산은 다름

- downsampling에서 원본 이미지를 축소한 만큼 다시 확대해 input 차원 크기로 맞추는 과정

- transposed convolutional layer에서 output의 길이는 \(output = (input - 1) * stride + kernel - 2 * padding\)로 정해진다.

 

* transposed convultion 연산 과정

(1) (stride - 1) 만큼 input 이미지의 행과 열 사이를 zero-padding 처리

(2) (kernel size - padding - 1) 만큼 테두리에 zero-padding 처리

(3) convolution 연산