728x90
오토인코더 는 대표적인 비지도 학습을 위한 인공신경망 구조 중 하나이다.
비지도 학습은 어떤값을 예측하거나 분류하는 목적인 지도학습 과 는 다르게 데이터의 숨겨진 구조를 발견하는 것이 목표인 학습방법 이다.
오토인코더의 구조
오토인코더는 출력충의 노드 개수와 입력층의 노드 개수가 동일한 구조의 인공신경망이다. 오토인코더의 구조는 다음과 같이 나뉜다.
- 입력층(Input Layer) 원본 데이터를 입력받는 층
- 은닉층(Hidden Layer) 입력 데이터를 압축하여 중요한 특징만을 추출하는 층
- 출력층(Output Layer) 원본 데이터를 재구축하는 층
오토인코더의 동작방식
주요동작과정은 다음과 같다.
- 입력데이터 재구축
출력은 원본데이터를 재구축한 결과이다.
예를들어 MNIST데이털르 재구축한 결과는 약간의 노이즈가 포함된 원본데이터와 유사한 이미지를 나타낸다. - 은닉층의 중요성
중요한 것은 출력값이 아닌 은닉층의 출력값이다.
은닉층의 출력은 원본데이터에서 불필요한 특징들을 제거한 압축된 특징을 학습하게 된다.
오토인코더의 특징
은닉층의 노드개수 가 입력층과 출력층의 노드 개수보다 적다.
은닉층은 더 작은 표현력으로 원본 데이터의 모든특징을 학습해야 한다.
결과적으로 은닉층의 출력값은 원본데이터의 불필요한 특징을 제거한 압축된 특징을 나타낸다.
728x90
'알고리즘' 카테고리의 다른 글
CNN기반 컴퓨터비전처리 (0) | 2024.06.17 |
---|---|
AutoEncoder를 사용한 MNIST 데이터 재구축 (1) | 2024.06.17 |
TensorFlow 2.0을 이용한 ANN MNIST 숫자분류기 구현 (0) | 2024.06.16 |
인공신경망(Artificial Neural Networks[ANN]) (1) | 2024.06.15 |
TensorFlow2.0으로 MNIST 숫자분류기 구현 (1) | 2024.06.14 |