오토인코더는 입력데이터 자체를 레이블로 활용하는 학습방식으로, 별도의 레이블이 필요하지 않는 비지도학습 방식이다.
이는 데이터 코딩(encoding, decoding)을 위해서 원하는 차원만 할당해주면, 자동으로 학습하여 원하는 형태로 데이터의 차원을 축소해주는 신경망의 한 어플리케이션이다.
오토인코더의 목적은 네트워크가 중요한 의미를 갖는 신호 외의 '노이즈'를 제거하도록 훈련함으로써 일반적인 차원 축소 방법론들과 비슷한 목적으로 활용된다. 여기에서 코딩된 코드 영역을 입력데이터의 잠재적 표현(latent representation)이라고 부르게 된다.
데이터를 잠재적 표현으로 변경하는 차원축소과정(decoding)과 잠재적 표현에서 다시 데이터로 재구성과정(encoding)은 각각의 가중치들의 연산을 통해서 이뤄지고 이를 신경망을 통해서 학습한다.