AI · Deep Learning · Computer Vision · Autoencoder·VAE

OUTTA Basic — 기본 언어모델, Embedding과 Autoencoder 연결하기

2026-08-01 · 수정 2026-08-01 · Hyeongrok Ryu

TF-IDF cosine similarity에서 dense embedding과 autoencoder latent까지 표현 학습의 흐름을 정리했다.

Series
2024 OUTTA AI 부트캠프 Basic · 4
유형 / 난이도
study-note · intermediate
Tools
Python, PyTorch, scikit-learn, Matplotlib
01Token에서 확률로

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

02TF-IDF와 cosine similarity

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

03Dense embedding

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

04Autoencoder latent

이 글에서 순서대로 다시 확인하는 학습 포인트입니다.

이 글의 목차에서 자동으로 만든 개념 흐름도입니다.

Token에서 확률로

먼저 언어모델이 무엇인지 문장을 통째로 외우는 장치가 아니라 앞의 token으로 다음 token의 분포를 계산하는 모델로 정리했다. 49쪽 기본 언어모델 모듈을 보면서 vocabulary, integer index, context window, target shift 순서로 Notebook shape를 확인했다.

p(w₁…wₜ) = ∏ₜ p(wₜ | w before t)

같은 문장도 tokenizer와 vocabulary가 달라지면 index sequence가 바뀐다. 그래서 padding index와 unknown token을 먼저 정하고, embedding 입력 dtype이 long인지 확인했다.

TF-IDF와 cosine similarity

Dense embedding에 들어가기 전 TF-IDF로 문서를 표현했다. 두 vector의 cosine similarity는 길이보다 방향을 비교한다. heatmap에서 밝은 쌍은 같은 단어를 많이 공유했고, 어두운 쌍은 vocabulary overlap이 적었다.

cos(a, b) = aᵀb / (‖a‖₂‖b‖₂)

일곱 문서 사이 TF-IDF cosine similarity heatmap
밝은 대칭 cell을 따라 가까운 문서 쌍을 확인했다.

Dense embedding

28쪽 Word Embedding·Autoencoder 모듈에서는 one-hot vector 대신 학습 가능한 dense row를 사용했다. Embedding(vocab_size, embedding_dim)의 출력은 입력 sequence 뒤에 embedding 축 하나가 붙는다. 단어 사이 관계를 확인할 때도 cosine similarity를 사용하지만, 이번에는 count가 아니라 학습된 좌표를 비교한다.

반복 횟수가 늘면서 빠르게 감소한 embedding 실습 loss
저장된 curve는 초기에 크게 감소한 뒤 낮은 값에서 안정됐다.

Autoencoder latent

Autoencoder에서는 입력을 작은 latent로 압축하고 다시 복원한다. 이 부분은 처음에 PCA와 혼동했다. PCA는 선형 축을 찾지만, encoder와 decoder 사이에 비선형 activation을 넣으면 곡선형 표현도 학습할 수 있다.

z = fθ(x), x̂ = gφ(z), L = ‖x − x̂‖₂²

Shape를 확인하는 코드

token_ids = tokenizer(batch_text)          # (batch, time)
vectors = embedding(token_ids)             # (batch, time, dim)

latent = encoder(features)                 # (batch, latent_dim)
reconstruction = decoder(latent)           # (batch, feature_dim)

assert vectors.shape[:2] == token_ids.shape
assert reconstruction.shape == features.shape

표현을 비교한 기준

TF-IDF는 어떤 단어가 겹쳤는지 설명하기 쉽고, embedding은 비슷한 문맥을 더 작은 dense vector에 담을 수 있다. Autoencoder latent는 입력 복원에 필요한 정보를 압축한다. 나는 세 표현을 서로 대체하는 답으로 보지 않고 목적·학습 신호·해석 방법이 다른 도구로 정리했다.

사용한 자료

  • 기본 언어모델 — course-pdf; tokenization과 next-token prediction
  • Word Embedding과 Autoencoder — course-pdf; dense representation과 reconstruction
논문 첫 페이지 미리보기