수백 차원 벡터를 한 화면에서 살펴보기
토큰이나 문장을 수백 개 수치로 나타낸 임베딩은 종이에 그대로 그리기 어렵다. 산점도는 차원 축소 방법을 사용해 각 벡터를 2차원 좌표로 옮기고 점으로 표시한다. 가까운 단어 후보, 외딴 점, 군집 경계를 탐색하는 출발점이 된다.
이 글의 산점도 좌표는 개념을 설명하려고 준비한 교육용 값이다. 개념을 설명하기 위한 예시다. 실제 분석에서는 모델·층·풀링·토크나이저·입력 문맥·차원 축소 방법에 따라 점 위치가 달라진다. 제목과 캡션에 이 생성 조건을 남긴다.
임베딩은 대상을 고정 길이 벡터로 나타낸 값이다
임베딩은 토큰, 문장, 문서 같은 대상을 고정 길이 수치 벡터로 바꾼 표현이다. 학습 목표는 함께 나타나는 문맥이나 과제를 이용해 관련 패턴이 벡터 관계에 드러나게 만든다. Mikolov 등의 연구는 큰 말뭉치에서 단어의 연속 벡터 표현을 효율적으로 학습하는 구조를 제시했다.
같은 문자열도 토큰 임베딩, 문맥을 지난 위치 표현, 문장 전체를 모은 임베딩이 다르다. “배”처럼 문맥에 따라 뜻이 달라지는 말은 어떤 입력 문장과 어느 층의 벡터인지 기록한다. 점 라벨만 보고 벡터 생성 단위를 추측하지 않는다.
| 표현 단위 | 벡터를 얻는 위치 | 확인할 조건 |
|---|---|---|
| 토큰 임베딩 | 입력 임베딩 표의 행 | 토큰 ID·토크나이저 |
| 문맥 토큰 표현 | 특정 층의 특정 위치 | 문장·층·위치 |
| 문장 임베딩 | 풀링 또는 전용 모델 출력 | 풀링 방식·모델 |
| 문서 임베딩 | 문서 분할과 집계 뒤 | 분할·길이·집계 |
원래 공간의 거리와 화면의 거리를 구분한다
고차원 벡터끼리는 코사인 유사도나 유클리드 거리 등 정한 기준으로 가까움을 계산할 수 있다. 차원 축소는 그 관계 일부를 2차원에 보존하려고 하지만 모든 쌍의 거리를 동시에 완벽하게 유지할 수 없다. 화면에서 가깝게 보이는 두 점의 원래 거리도 다시 확인한다.
코사인 유사도는 벡터 방향의 유사성을 보고 크기 차이를 상대적으로 덜 반영한다. 어떤 거리 기준이 적절한지는 임베딩 모델의 사용 지침과 과제에 달려 있다. 그림에는 원래 공간의 거리 기준, 전처리, 정규화 여부를 적는다.
| 단계 | 거리·좌표 | 역할 |
|---|---|---|
| 원래 임베딩 | D차원 벡터와 선택한 거리 | 실제 이웃 계산 |
| 차원 축소 | D차원→2차원 변환 | 관계 일부 보존 |
| 산점도 | 화면 x·y 좌표 | 탐색과 표본 선택 |
| 원문 확인 | 대상 텍스트·메타데이터 | 해석 검증 |
PCA는 큰 변동 방향을 선형 축으로 옮긴다
주성분분석(PCA)은 데이터의 변동을 많이 설명하는 서로 직교하는 방향을 찾아 좌표축으로 사용한다. 선형 변환이므로 같은 설정에서 결과를 비교하고 전체적인 방향을 보는 데 유용하다. 첫 두 축이 전체 변동을 얼마나 설명하는지도 함께 기록한다.
PCA의 x축과 y축은 사람이 정한 “주제성”, “감정” 축이 아니다. 각 축은 원래 특징의 선형 결합이다. 점 배치를 보고 축 의미를 붙이려면 축 적재값과 여러 표본을 추가로 살펴야 한다. 첫 두 주성분의 설명 비율이 낮으면 2차원 그림이 놓친 변동이 크다.
t-SNE는 가까운 이웃 구조를 탐색하는 데 집중한다
t-SNE는 고차원에서 가까운 점들의 관계를 저차원 확률 분포로 바꾸고 두 분포의 차이를 줄이는 좌표를 찾는다. 국소적인 이웃 묶음을 탐색하는 데 유용하지만 서로 멀리 떨어진 군집 사이 거리와 군집 크기를 원래 공간의 절대 관계처럼 읽으면 곤란하다.
perplexity, 학습률, 초기값, 반복 수가 결과에 영향을 줄 수 있다. 여러 설정과 시드를 비교하고, 같은 묶음이 반복해서 나타나는지 확인한다. t-SNE 논문이 제안한 목적과 실제 그림 해석을 구분한다. 예쁜 섬 모양 하나를 정답 군집으로 선언하지 않는다.
| 읽기 대상 | 가능한 해석 | 주의 |
|---|---|---|
| 가까운 이웃 | 국소 후보 묶음 | 원래 거리 재확인 |
| 군집 사이 빈 공간 | 시각적 분리 | 절대 거리로 해석 제한 |
| 군집 면적 | 화면상 크기 | 빈도·분산과 동일시 제한 |
| 반복 실행 | 배치 안정성 | 시드·매개변수 기록 |
라벨과 색은 분석자가 붙인 해석 정보다
산점도에 “도서”, “교통” 색을 칠했다면 그 색이 정답 라벨, 사람이 붙인 범주, 군집 알고리즘 결과 중 무엇인지 범례에 적는다. 이미 알고 있는 라벨을 색으로 칠한 뒤 점이 모였다고 학습 과정이 그 라벨을 발견했다고 말할 수 없다.
텍스트 라벨이 많으면 서로 가려지므로 모든 점에 글자를 붙이지 않는다. 선택 점, 중심 후보, 외딴 점만 표시하고 나머지는 번호나 상호작용으로 확인한다. 색각 차이를 고려해 색과 도형을 함께 쓴다. 점의 투명도와 크기가 추가 변수를 나타내면 단위도 적는다.
| 표식 | 가능한 출처 | 범례 문구 예 |
|---|---|---|
| 점 위치 | 차원 축소 결과 | PCA 2차원 좌표 |
| 점 색 | 사람 라벨 | 정답 주제 라벨 |
| 점 모양 | 자료 출처 | 기사 / 공지 / 설문 |
| 점 크기 | 문서 길이 | 토큰 수 |
LLM으로 산점도 검토 절차를 정리한다
임베딩 벡터나 좌표를 제공하지 않고 LLM에게 산점도를 요청하면 모델이 그럴듯한 점 위치를 만들어 낼 수 있다. 실제 분석에서는 벡터 파일이나 계산 코드를 사용해 좌표를 확정하고, LLM에는 라벨 정리, 캡션 초안, 경계 점 검토 질문을 맡긴다.
요청문에는 점 ID, 원문 링크, 벡터 생성 조건, 거리 기준, 축소 방법과 매개변수, 시드, 라벨 출처를 제공한다. 결과에는 가까운 점 쌍과 외딴 점 목록을 만들되 의미 결론은 원문 확인 뒤에 쓰게 한다. 개인정보가 포함된 텍스트를 외부 서비스에 전송하기 전 권한과 정책을 확인한다.
잘못된 산점도는 화면의 군집을 정답 범주로 바꾼다
수정 전 그림은 t-SNE 결과의 세 섬에 이름을 붙이고 “모델이 세 개 의미를 학습했다”고 결론냈다. 매개변수와 시드, 원래 공간 거리, 라벨 출처가 없었다. 같은 벡터를 다른 설정으로 다시 투영하자 경계 점의 위치와 군집 간격이 달라졌다.
수정 후에는 “탐색 후보”라고 제목을 바꾸고, 방법·매개변수·시드·원래 거리 기준을 표시했다. 각 묶음에서 중심·경계·외딴 점을 골라 원문을 읽고, 다른 투영에서도 관계가 유지되는지 비교했다. 투영이 만든 모양과 자료가 지닌 관계를 분리했다.
점에서 벡터와 원문까지 확인한다
최종 검수에서는 모델·버전·층·풀링·입력 단위, 벡터 차원, 거리 기준, 정규화, 축소 방법, 매개변수, 시드, 라벨 출처를 확인한다. 각 점 ID에서 원래 벡터와 텍스트로 돌아갈 수 있어야 한다. 공개 권한이 없는 원문은 링크와 화면에서 보호한다.
한 투영만 보고 결론을 확정하지 않는다. 여러 설정, 원래 공간의 최근접 이웃, 중심·경계·외딴 표본을 비교한다. 독자가 2차원 왜곡 가능성을 알 수 있도록 캡션에 제한을 적고, 준비된 예시와 실제 실행 결과를 분명하게 구분한다.
| 검사 | 통과 기준 | 미통과 행동 |
|---|---|---|
| 점 대상 | 토큰·문장·문서 단위 명시 | 라벨 수정 |
| 재현 | 모델·방법·매개변수·시드 기록 | 설정 보완 |
| 거리 | 원래 공간 기준 함께 제공 | 이웃 재계산 |
| 라벨 | 사람·정답·군집 출처 구분 | 범례 수정 |
| 해석 | 투영 왜곡과 표본 확인 포함 | 결론 범위 축소 |
복사해서 쓸 수 있는 LLM 요청문
아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.
다음 임베딩 결과를 2차원 산점도로 검토할 수 있게 정리해 줘. 1. 점 하나가 토큰·문장·문서 중 무엇인지와 점 ID·원문 링크를 적는다. 2. 모델·버전·층·풀링·벡터 차원·정규화·거리 기준을 기록한다. 3. PCA 또는 t-SNE 등 축소 방법, 매개변수, 시드와 실행 시점을 적는다. 4. 제공된 좌표만 사용하며 좌표나 군집을 새로 추정하지 않는다. 5. 점 색·모양·크기의 라벨 출처를 사람 라벨·정답 라벨·알고리즘 군집으로 구분한다. 6. 원래 고차원 공간의 최근접 이웃과 화면의 이웃을 비교한다. 7. 중심·경계·외딴 점을 표본으로 골라 원문 확인 질문을 만든다. 8. 군집 사이 거리·면적을 절대 의미로 해석하지 말고 투영 왜곡과 재현 조건을 캡션에 쓴다. [임베딩 메타데이터·좌표·원문 목록] …
직접 실습하고 결과를 읽기
이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.
자료와 출처
아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.