프로그래밍 공부
카테고리
작성일
2024. 6. 16. 23:56
작성자
WDmil
728x90

오토인코더 는 대표적인 비지도 학습을 위한 인공신경망 구조 중 하나이다.

비지도 학습은 어떤값을 예측하거나 분류하는 목적인 지도학습 과 는 다르게 데이터의 숨겨진 구조를 발견하는 것이 목표인 학습방법 이다.

 

오토인코더의 구조

오토인코더는 출력충의 노드 개수와 입력층의 노드 개수가 동일한 구조의 인공신경망이다. 오토인코더의 구조는 다음과 같이 나뉜다.

  • 입력층(Input Layer) 원본 데이터를 입력받는 층
  • 은닉층(Hidden Layer) 입력 데이터를 압축하여 중요한 특징만을 추출하는 층
  • 출력층(Output Layer) 원본 데이터를 재구축하는 층

 

 

오토인코더의 동작방식

주요동작과정은 다음과 같다.

  • 입력데이터 재구축
    출력은 원본데이터를 재구축한 결과이다.
    예를들어 MNIST데이털르 재구축한 결과는 약간의 노이즈가 포함된 원본데이터와 유사한 이미지를 나타낸다.
  • 은닉층의 중요성
    중요한 것은 출력값이 아닌 은닉층의 출력값이다.
    은닉층의 출력은 원본데이터에서 불필요한 특징들을 제거한 압축된 특징을 학습하게 된다.

위가 원본이고 밑이 노이즈가 들어간 재구현본이다.

 

오토인코더의 특징

은닉층의 노드개수 가 입력층과 출력층의 노드 개수보다 적다.

은닉층은 더 작은 표현력으로 원본 데이터의 모든특징을 학습해야 한다.

결과적으로 은닉층의 출력값은 원본데이터의 불필요한 특징을 제거한 압축된 특징을 나타낸다.

 

728x90