오토인코더Autoencoder

줄였다가 되살려 보며 요령을 익히는 구조

핵심 정리
  • 오토인코더는 들어온 것을 작게 줄였다가 다시 되살리도록 훈련하는 구조예요.
  • 정답표가 따로 없어요. 들어온 것 자체가 정답이라서 사람이 이름표를 붙여 줄 필요가 없어요.
  • 가운데를 좁게 만드는 것이 핵심이에요. 좁아야 버릴 것과 남길 것을 고르게 되거든요.
  • 줄여 놓은 값 몇 개에는 무엇이 중요한지에 대한 요약이 담겨요. 이 값을 다른 일에 꺼내 쓸 수 있어요.
  • 잘 되살리지 못하는 것이 들어오면 낯선 것이 왔다는 신호로 삼을 수 있어요.
목차

1비유로 이해하기

연주를 악보에 옮길 때는 들리는 것을 다 적지 못해요. 종이에 적히는 것은 음의 높낮이와 길이 정도라, 무엇을 남기고 무엇을 버릴지 정해야 해요. 다 적고 나면 악보에는 실제 연주보다 훨씬 적은 것만 남아요.

그 악보를 다른 자리에 놓고 그대로 연주하면 곡이 다시 살아나요. 원래 연주와 나란히 들으면 미묘한 흔들림은 빠져 있지만 무슨 곡인지는 그대로 알아들을 수 있어요.

잘 적은 악보일수록 되살린 연주가 원래에 가까워요. 그래서 적는 일과 연주하는 일은 한 쌍으로 움직여요. 오토인코더가 하는 일이 이 한 쌍의 연습이에요. 줄여서 적고, 적은 것만 가지고 되살려요.

2자세히 알아보기

줄이는 쪽과 되살리는 쪽이 한 쌍이에요

구조는 두 부분으로 되어 있어요. 앞쪽은 들어온 자료를 점점 작은 숫자 묶음으로 줄여 가고, 뒤쪽은 그 묶음만 받아 원래 크기의 결과물을 만들어요. 가운데 가장 좁은 자리에 있는 값이 악보에 적힌 내용에 해당해요.

두 부분은 따로 배우지 않아요. 되살린 결과가 원본과 얼마나 다른지를 재서 그 차이를 두 쪽에 함께 돌려줘요. 적는 쪽이 엉성하게 적으면 연주하는 쪽도 어쩔 수 없고, 잘 적은 악보라도 연주가 서툴면 결과가 나쁘니까 둘을 같이 손봐요.

훈련이 끝나면 두 부분을 떼어 따로 쓸 수 있어요. 줄이는 쪽만 꺼내면 자료를 짧은 값으로 요약하는 도구가 되고, 되살리는 쪽만 꺼내면 짧은 값에서 결과물을 만들어 내는 도구가 돼요.

정답표가 자기 자신이에요

보통의 학습에는 사람이 붙여 준 정답이 필요해요. 사진마다 이름표를 달고, 문장마다 옳고 그름을 표시해야 하죠. 오토인코더는 그 일이 필요 없어요. 들어온 자료가 곧 정답이라서, 사진만 잔뜩 모아 두면 그대로 연습 문제가 돼요.

이 성질 덕분에 이름표가 없는 자료를 마음껏 쓸 수 있어요. 공장에서 찍은 부품 사진, 서버가 남긴 기록, 녹음 파일처럼 정리되지 않은 자료가 그대로 학습 재료가 돼요.

다만 목표가 "그대로 되살리기"라서 자칫하면 요령을 부릴 수 있어요. 가운데 자리가 넉넉하면 요약하지 않고 원본을 통째로 실어 나르는 지름길을 찾아내요. 그래서 가운데를 일부러 좁게 만들어요.

적을 칸을 얼마나 줄일까

가운데 자리의 크기는 사람이 정해요. 넉넉하게 두면 되살린 결과가 원본과 거의 같아지지만 요약이라고 부를 만한 것이 남지 않아요. 아주 좁게 두면 굵은 특징만 남고 세부는 사라져요.

좁힐수록 무엇이 중요한지 고를 수밖에 없어져요. 얼굴 사진을 몇 개의 값으로 줄여야 한다면 눈코입의 배치처럼 크게 다른 부분이 먼저 자리를 차지하고, 머리카락 한 올의 방향은 버려져요. 이렇게 남은 값이 그 자료의 요약이 돼요.

적당한 크기는 자료와 목적에 따라 달라요. 압축이 목적이면 되살린 결과가 견딜 만한 선까지 줄이고, 요약값을 다른 작업에 쓰려면 그 작업의 성적을 보며 정해요.

적지 않은 것은 사라져요

되살린 결과는 원본과 같지 않아요. 악보에 적지 않은 흔들림은 아무리 연주해도 나오지 않는 것과 같아요. 무엇이 사라졌는지를 보면 그 모델이 무엇을 중요하게 여겼는지 알 수 있어요.

이 성질을 거꾸로 이용하기도 해요. 학습에 쓴 것과 성격이 비슷한 자료는 잘 되살아나지만, 처음 보는 종류가 들어오면 되살린 결과가 크게 어긋나요. 어긋난 정도를 재서 이상 신호로 쓰는 방법이 설비 점검이나 부정 거래 탐지에 쓰여요.

어디에 쓰나요

가장 알기 쉬운 쓰임은 압축이에요. 자료를 짧은 값으로 줄여 저장하고 필요할 때 되살려요. 이때 줄인 값은 검색용 요약으로도 쓸 수 있어서, 비슷한 자료를 찾는 작업이 훨씬 가벼워져요.

잡티를 지우는 데도 쓰여요. 일부러 얼룩을 얹은 사진을 넣고 깨끗한 원본을 정답으로 두면, 얼룩은 적을 자리가 없어 자연히 빠져요. 그림을 만드는 요즘 방식에서도 큰 화면을 작은 요약본으로 줄여 두고 그 안에서 작업한 뒤 다시 펴는 자리에 이 구조가 들어가요.

3조금 더 정확하게

오토인코더는 입력을 저차원 표현으로 보내는 인코더와 그 표현에서 입력을 복원하는 디코더를 이어 붙이고, 복원 오차를 줄이도록 함께 학습시키는 신경망이에요. 가운데의 좁은 층을 병목이라고 부르고, 거기에 담긴 값을 잠재 표현이라고 해요. 정답을 따로 만들지 않고 입력 자체를 목표로 삼기 때문에 자기지도 학습으로 분류해요.

비유가 어긋나는 지점이 있어요. 악보는 사람이 읽고 무엇이 적혔는지 알 수 있지만, 병목에 담긴 값은 사람이 읽을 수 있는 형태가 아니에요. 어느 값이 무엇을 맡고 있는지 미리 정해져 있지도 않아요. 또 악보의 기호는 사람이 만든 약속이지만, 병목의 값은 그런 약속 없이 학습 도중에 저절로 정해진 숫자예요.

한 가지 더, 기본형 오토인코더의 병목은 아무 값이나 넣어도 그럴듯한 결과가 나오는 자리가 아니에요. 학습에 쓴 자료가 놓인 지점 근처를 벗어나면 엉뚱한 결과가 나와요. 이 점을 손본 것이 변이형 오토인코더예요.

4직접 해보기

5흔한 오해

  • 오토인코더가 원본을 그대로 복원한다고 생각하기 쉽지만, 실제로는 좁은 자리를 지나며 버려진 세부는 돌아오지 않아요.

  • 줄여 놓은 값이 사람이 정한 항목들이라고 여기기 쉽지만, 실제로는 학습 과정에서 저절로 나뉜 값이라 각 자리의 뜻이 정해져 있지 않아요.

  • 아무 값이나 넣으면 새 결과물이 나온다고 생각하기 쉽지만, 실제로는 학습에서 쓰인 자리를 벗어나면 알아볼 수 없는 결과가 나와요.

7한 줄 요약

그러니까오토인코더는 들어온 것을 좁은 자리로 줄였다가 되살리는 연습을 통해, 무엇을 남기고 무엇을 버릴지 스스로 익히는 구조예요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02