오토인코더 (자동부호기)
정의
두 자연수 에 대해서, 함수 를 부호기encoder라 한다. 함수 를 복호기decoder라 한다. 이때 가 를 만족하면, 오토인코더autoencoder, 자동부호기라 한다.
설명
부호기는 함숫값의 차원이 변수의 차원보다 작기 때문에, 데이터를 압축하고 암호화하는 역할을 한다고 볼 수 있다. 반면 복호기는 압축/암호화된 데이터를 다시 복원하는 역할을 한다. 만약 를 만족하는 를 찾을 수 있다면, 는 를 작은 차원으로 잘 압축하고, 는 압축된 데이터를 원래의 차원으로 복원하는 데 성공한 것이다. 오토인코더가 소개된지 얼마 되지 않았을 때 이는 차원축소와 같은 데이터의 압축 관점에서 주로 사용되었지만, 최근2024-12-09에는 생성 모델에서도 많이 활용되고 있다. 1
오토인코더가 데이터의 압축 관점에서 유용하려면, 이 보다 충분히 작아야한다. 그런 경우에 를 정확히 만족하는 를 찾는 것은 불가능하며, 최대한 를 만족하는 를 찾는 것이 목표가 된다. (물론 수학적으로는 만 되어도 를 만족하는 를 찾을 수 없다.)
U-net은 이미지에 대한 오토인코더에 스킵커넥션을 추가한 구조이다.
Ian Goodfellow, Deep Learning, p557-558 ↩︎