오토인코더는 입력을 좁은 병목 계층을 통과시킨 후 다시 재구성하도록 훈련된 신경망의 한 유형이다. 이는 두 부분으로 구성된다: 입력을 압축된 내부 코드로 변환하는 인코더와, 그 코드로부터 원래 입력을 재구성하는 디코더이다. 네트워크는 병목 계층을 통해 소량의 정보만 통과시킬 수 있기 때문에, 데이터에서 가장 중요한 특징이 무엇인지 학습하게 되며, 그 결과 원시 입력보다 더 작고 종종 더 의미 있는 잠재 공간 표현이 생성된다.
역사와 변형
오토인코더는 1980년대 연결주의 문헌에서 시작되었지만, 레이블이 필요 없다는 점에서 비지도 학습의 한 형태로 현대적 중요성을 얻었다. 입력 자체가 훈련 목표 역할을 하며, 이는 현재 자기 지도 학습이라고 불리는 방식의 초기 사례이다. 2013년 변분 오토인코더의 도입은 확률적 요소를 추가하여, 잠재 공간이 임의의 형태가 아닌 매끄럽고 알려진 분포에 근사하도록 제약을 가했다. 이를 통해 그 분포에서 임의의 점을 추출하여 디코딩함으로써 새로운 샘플을 생성할 수 있게 되었고, 오토인코더는 압축 도구에서 생성 모델로 전환되었다. 다른 변형으로는 손상된 입력에서 깨끗한 입력을 복구하도록 훈련된 잡음 제거 오토인코더와, 대부분의 잠재 유닛이 0에 가깝게 유지되도록 장려하는 희소 오토인코더가 있으며, 후자의 속성은 나중에 대규모 언어 모델 내부의 개별 특징을 분리하는 해석 가능성 연구에서 재사용되었다.
응용 분야
직접적인 생성 외에도 오토인코더는 차원 축소와 이상 탐지에 널리 사용된다. 모델이 잘 재구성하지 못하는 입력은 훈련 분포와 비교해 비정상적일 가능성이 높기 때문이다. 이미지 생성에서는 오토인코더의 인코더-디코더 쌍이 잠재 확산 모델의 핵심 구성 요소로, 이미지를 작은 잠재 격자로 압축하고, 확산 과정이 그 압축된 공간에서 실행된 후, 디코더가 결과를 전체 해상도 이미지로 확장한다. 이러한 역할 분담 덕분에 현대 텍스트 이미지 시스템이 소비자용 하드웨어에서 실행될 수 있다. 오토인코더는 추천 시스템에서도 등장하는데, 희소한 사용자-아이템 상호작용 데이터를 재구성하는 데 사용되며, 음성 인식 및 오디오 파이프라인에서는 파형을 추가 처리 전에 압축하는 방식으로 활용된다.
다른 구조와의 관계
오토인코더는 생성적 적대 신경망과 관련이 있지만 구별된다. GAN의 생성자는 잠재 벡터를 출력으로 매핑한다는 점에서 유사하지만, 재구성 오차를 최소화하는 대신 판별기와 적대적으로 훈련되며, 그 결과 더 선명하지만 제어 가능성은 낮은 출력을 생성하는 경향이 있다. 대규모 자연어 처리에서는 트랜스포머 기반 시스템이 단순 오토인코더를 대체했지만, 인코더-디코더 패턴 자체는 시퀀스 투 시퀀스 모델에서 먼저 공식화되었으며, 오토인코더와 트랜스포머 구조 모두의 개념적 선조로 남아 있다. BERT와 같은 모델에서 사용되는 마스크 예측 사전 훈련 목표는 텍스트에 적용된 잡음 제거 오토인코더 작업으로 볼 수 있다.
한계
표준 오토인코더는 재구성만 최적화하므로, 잠재 공간이 매끄럽거나 분리 가능하거나 하위 작업에 유용하다는 보장이 없다. 변분 및 기타 정규화된 변형은 이러한 문제를 부분적으로 해결하지만, 일반적으로 재구성의 선명도를 희생하면서 더 구조화된 잠재 공간을 얻는다. 2020년대 중반 기준으로 오토인코더는 주로 독립적인 모델링 접근법보다는 더 큰 생성 파이프라인 내부의 구성 요소로 사용된다.