본문 바로가기
Deep Learning

오토인코더 AE(AutoEncoder)

by wave_m 2020. 9. 21.
728x90

AE 란 ?

- 비지도학습(Unsupervised learning) 인공지능

- 비지도학습 : 입력 데이터를 가공하여 목표값을 출력하는 방식이 아니라 레이블 정보가 없는 데이터 특성을 분석하거나 추출

- 데이터 압축, 저차원화를 통한 데이터 관계 관찰, 배경 잡음 억제(denoising) 등에 활용

 

 

AE의 목적 ?

- 입력 데이터의 특징점을 효율적으로 찾음

- 다차원 입력 데이터를 저차원 부호로 바꾸고 다시 저차원 부호를 처음 입력한 다차원 데이터로 바꾸면서 특징점을 찾음

- 특징점들은 데이터 압축 등에 응용 가능

- AE의 출력 데이터는 입력한 데이터에 비해 정보의 차원이 줄기 때문에 잡음 성분을 제거하는 용도로도 사용 가능

- 대부분의 데이터에 레이블 정보가 없어 지도 학습만으로는 한계가 있음

- AE 등 비지도학습 인공신경망의 구현과 응용 방법을 알고 나면 인공지능의 활용 범위를 무궁무진하게 늘리기 가능

 

 

AE의 원리 ?

- AE는 입력한 데이터를 부호화한 후 복호화하는 신경망으로 입력 데이터의 특징점을 추출

- 주성분 분석(Principle Component Analysis, PCA)으로 처리하는 일차원 데이터 처리 방식을 딥러닝 방식으로 확장한 것

- 데이터 구성이 복잡하거나 데이터가 대량인 경우에 주성분 분석 방법보다 더 효과적

 

 

AE의 동작 과정 ?

- 부호화 과정과 복호화 과정이 연속적으로 일어남

- 은닉 계층의 수는 여러개일 수 있음

 

[ 부호화 과정 ]

1) 입력 계층에서 들어온 다차원 데이터는 차원을 줄이는 은닉 계층으로 들어감

2) 은닉 계층의 출력이 곧 부호화 결과

 

[ 복호화 과정 ]

1) 은닉 계층에서 출력한 부호화 결과는 출력 계층으로 들어감. 이때 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많음. 즉, 더 높은 차원의 데이터로 되돌아감.

2) 출력 계층은 입력 계층과 노드 수가 동일

 

 

AE의 구조

 

 

reference ? 

한빛 미디어  / 코딩 셰프의 3분 딥러닝 케라스맛

728x90