변이형 오토인코더Variational Autoencoder

점이 아니라 범위로 기억하는 오토인코더

핵심 정리
  • 변이형 오토인코더는 자료 하나를 점 하나가 아니라 범위로 기억해요. 중심과 함께 얼마나 퍼져 있는지를 같이 적어 둬요.
  • 되살릴 때는 그 범위 안에서 하나를 뽑아 써요. 같은 자료라도 매번 조금씩 다른 결과가 나와요.
  • 벌점이 두 가지예요. 원본과 얼마나 어긋났는지범위가 얼마나 별나게 놓였는지를 함께 봐요.
  • 범위들이 겹치며 자리가 촘촘히 메워져서, 두 자료 사이의 값을 넣어도 그럴듯한 결과가 나와요.
  • 그 대신 결과가 또렷하기보다 부드러운 쪽으로 나오는 경향이 있어요.
목차

1비유로 이해하기

비누 공방에서 만들어 둔 비누를 다시 만들려면 배합을 적어 둬야 해요. 베이스 몇 그램에 향 몇 방울이라고 딱 한 점으로 적어 두면 그 비누는 정확히 되살아나지만, 적어 두지 않은 비누는 어떻게 만들어야 할지 알 수 없어요.

그래서 적는 방식을 바꿔요. 향은 이만큼에서 저만큼 사이, 굳히는 시간은 이 근처라고 폭을 함께 적어 둬요. 만들 때마다 그 폭 안에서 조금씩 다르게 넣으니 매번 미묘하게 다른 비누가 나오지만, 어느 것이나 쓸 만한 비누예요.

적어 둔 폭들이 서로 겹치면 배합표 사이에 빈 구석이 사라져요. 두 비누의 배합표 중간쯤을 아무렇게나 집어도 어색하지 않은 비누가 나와요.

2자세히 알아보기

점 대신 범위로 적어 둬요

보통의 오토인코더는 그림 한 장을 짧은 숫자 묶음 하나로 줄여요. 자료마다 자리 하나가 정해지는 셈이에요. 문제는 그 자리들 사이에 아무것도 없다는 점이에요. 자리와 자리 사이를 집으면 알아볼 수 없는 결과가 나와요.

변이형 오토인코더는 줄이는 쪽이 값 두 벌을 내놓아요. 하나는 중심이고 다른 하나는 퍼짐의 폭이에요. 그림 한 장이 점 하나가 아니라 동그란 영역 하나로 기록되는 셈이에요.

영역으로 기록하면 이웃한 자료들의 영역이 서로 겹치기 시작해요. 겹친 자리에서는 이쪽 그림과 저쪽 그림의 성질이 섞인 결과가 나와요. 자리 사이의 빈틈이 메워지는 것이 이 방식의 핵심이에요.

매번 범위 안에서 하나를 뽑아요

되살리는 쪽은 중심값을 그대로 받지 않아요. 적어 둔 폭 안에서 한 점을 무작위로 뽑아 그 값으로 결과를 만들어요. 같은 그림을 넣어도 뽑히는 점이 매번 다르니 나오는 결과도 조금씩 달라요.

이 뽑기가 훈련을 까다롭게 만들어요. 무작위가 끼어들면 어디를 얼마나 고쳐야 할지 되짚어 갈 수 없거든요. 그래서 뽑는 방식을 바꿔요. 무작위 값을 먼저 하나 만들어 두고, 중심에 폭을 곱해 더하는 형태로 자리를 정해요. 무작위가 바깥으로 빠지니 중심과 폭은 정상적으로 손볼 수 있어요.

벌점이 두 가지예요

학습에서 재는 것이 둘이에요. 첫째는 되살린 결과가 원본과 얼마나 어긋났는가예요. 둘째는 적어 둔 범위가 표준으로 정해 둔 모양에서 얼마나 벗어났는가예요. 배합표를 저마다 멀리 떨어진 곳에 적어 두지 못하도록 잡아 두는 규칙이에요.

두 벌점은 서로 반대로 당겨요. 되살리기만 잘하려 들면 폭을 최대한 좁혀 점 하나처럼 만들어 버려요. 그러면 사이가 다시 텅 비어요. 반대로 표준 모양에 맞추는 데만 힘을 쏟으면 모든 배합표가 한가운데로 몰려 어떤 그림을 넣어도 비슷한 결과가 나와요.

두 벌점의 무게를 어떻게 두느냐가 이 모델의 성격을 정해요. 무게를 조절해 각 자리가 맡는 성질을 또렷하게 나누려는 시도도 이 지점에서 나왔어요.

사이를 걸어가도 그럴듯해요

범위들이 겹쳐 자리가 촘촘해지면 재미있는 일이 가능해져요. 그림 두 장의 자리를 잡고 그 사이를 일정한 간격으로 걸어가며 결과를 만들어 보면, 한쪽에서 다른 쪽으로 서서히 변해 가는 장면들이 나와요. 중간에 알아볼 수 없는 결과가 끼어들지 않아요.

새 결과물을 만드는 방법도 간단해져요. 원본 없이 표준 범위에서 값을 하나 뽑아 되살리는 쪽에 넣으면 돼요. 학습에 없던 자리라도 근처 자료들의 성질이 섞인 결과가 나와요.

결과가 부드럽게 나오는 이유

이 방식으로 만든 그림은 형태가 안정적인 대신 가장자리가 무르고 세부가 뭉개진 인상을 주기 쉬워요. 같은 자리에서 여러 결과가 나올 수 있는 구조라, 되살리는 쪽이 그 여러 가능성의 가운데쯤을 그리는 편이 벌점을 줄이는 데 유리하기 때문이에요.

그래서 또렷한 그림이 필요한 자리에서는 다른 방식과 짝을 지어 써요. 자료를 작은 요약본으로 줄여 두는 역할만 이 구조에 맡기고, 그 안에서 결과를 다듬는 일은 얼룩을 걷어 내는 방식에 넘기는 식이에요. 소리나 분자 구조처럼 자리 사이가 매끄럽게 이어져야 하는 분야에서는 지금도 이 방식 자체가 널리 쓰여요.

3조금 더 정확하게

변이형 오토인코더는 인코더가 잠재 변수의 확률 분포를 내놓고, 그 분포에서 뽑은 표본으로 디코더가 원본을 복원하는 생성 모델이에요. 학습 목표는 복원 오차와, 인코더가 내놓은 분포가 미리 정한 기준 분포에서 떨어진 정도를 함께 줄이는 것이에요. 무작위 표본을 뽑으면서도 학습이 가능하도록 표본을 중심과 폭의 계산으로 바꿔 쓰는 기법을 재매개변수화라고 불러요.

비유가 어긋나는 지점이 있어요. 비누 배합은 두세 가지 숫자로 적히지만 실제 잠재 변수는 수십에서 수백 자리에 이르고, 각 자리가 향이나 굳기처럼 사람이 알아볼 수 있는 성질을 맡고 있지도 않아요. 또 배합표의 폭은 사람이 정하지만, 여기서는 폭 자체가 학습으로 정해지고 자료마다 달라져요.

기준 분포에 맞추는 벌점은 자리를 촘촘히 메우는 대가로 세부를 흐리게 만들어요. 이 둘은 함께 좋아지지 않는 관계라, 어느 쪽을 얼마나 포기할지 정하는 일이 늘 따라와요.

4직접 해보기

5흔한 오해

  • 변이형 오토인코더가 오토인코더에 무작위를 살짝 섞은 것이라고 생각하기 쉽지만, 실제로는 자료를 점이 아닌 분포로 기억하고 자리 전체를 촘촘히 만드는 것이 목적이에요.

  • 범위로 기억하니 결과가 제멋대로일 것이라고 여기기 쉽지만, 실제로는 범위를 잡아 두는 벌점 덕분에 오히려 사이 값에서도 안정적인 결과가 나와요.

  • 결과가 흐릿한 것은 학습이 덜 된 탓이라고 생각하기 쉽지만, 실제로는 여러 가능성의 가운데를 그리는 편이 유리한 구조에서 비롯된 성질이에요.

7한 줄 요약

그러니까변이형 오토인코더는 자료를 점이 아니라 범위로 기억해 자리 사이의 빈틈을 메우고, 그 덕분에 사이 값에서도 새 결과물을 만들어 내는 구조예요.

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