1. 밀집 행렬(Dense Matrix)이란?
'사과'라는 단어를 표현하기 위해 [0, 0, 0, 1, 0, 0, ... 0]처럼 수만 개의 0과 단 한 개의 1로 이루어진 길고 텅 빈 배열을 만들었다. 이것이 바로 희소 행렬(Sparse Matrix)이다.
반면, 밀집 행렬 (Dense Matrix)은 0 이 거의 없고 대부분이 의미 있는 실수(예: 0.24, -1.5, 0.8 등)로 꽉꽉 채워져 있는 형태이다. 예를 들어 '사과'를 [0.2, -0.5, 0.9, 1.2]처럼 짧지만 숫자가 꽉 찬 배열로 표현하는 것이다.
아주 쉬운 비유로 이해하기
- 희소 행렬 (원-핫 인코딩): 10,000칸짜리 거대한 책장에 책을 딱 1권만 꽂아두고 나머지 9,999칸은 텅텅 비워두는 방식이다. 공간 낭비가 엄청 심하다.
- 밀집 행렬 (워드 임베딩): 딱 100칸짜리 작은 책장을 준비한 뒤, 빈틈없이 책 100권을 꽉꽉 채워 넣는 방식이다. 공간을 아주 알뜰하게 사용한다.
2. 왜 밀집 행렬을 사용할까요 ? (핵심 장점)
최신 자연어 처리 (NLP)에서 밀집 행렬을 사용하는 이유는 단순히 '공간을 아까기 위해서'만은 아니다. 더 놀라운 마법 같은 기능이 숨어 있다.
① 단어의 '의미'와 '관계'를 담을 수 있다.
희소 행렬에서는 '강아지'와 '고양이' 가 전혀 관계없는 남남이었다. 하지만 밀집 행렬(Word2Vec, GloVe 등)로 단어를 학습시키면, 비슷한 의미를 가진 단어들은 비슷한 숫자 패턴을 가지게 된다. 즉, AI가 "아, 강아지와 고양이는 둘 다 애완동물이니까 숫자가 비슷하네!"라고 스스로 의미를 이해하게 되는 것이다.
② 메모리 낭비를 획기적으로 줄여준다.
사전에 등록된 단어가 10만 개라면, 희소 행렬은 단어 하나를 표현할 때마다 10만 개의 숫자가 필요하다. 하지만 밀집 행렬은 사용자가 차원(크기)을 마음대로 정할 수 있다. 보통 128, 256, 512 차원 정도로 압축해서 사용하므로 컴퓨터의 메모리를 엄청나게 절약할 수 있다.
3. 밀집 행렬의 단점은 없을까?
물론 완벽한 기술은 없습니다. 밀집 행렬에도 몇 가지 아쉬운 점이 있다.
- 설명 가능성(Interpretability)이 떨어진다: 희소 행렬에서는 "3번째 자리가 1이니까 이건 '사과'야!"라고 사람이 직관적으로 알 수 있다. 하지만 밀집 행렬의 숫자들(예: 0.24, -0.8...)은 컴퓨터가 학습한 결과물일 뿐, 사람이 그 숫자 하나하나가 정확히 어떤 의미인지 해석하기는 매우 어렵다. (이를 '블랙박스' 현상이라고도 부른다.)
- 초기 학습 비용이 크다: 단어들을 빽빽한 숫자로 압축하고 의미를 부여하려면, 인공지능 모델(신경망)을 통해 방대한 양의 텍스트를 미리 학습시켜야 하므로 연산 시간이 오래 걸린다.
4. 한눈에 보는 비교: 희소 행렬 vs 밀집 행렬
| 구분 | 희소 행렬 (Sparse Matrix) | 밀집 행렬 (Dense Matrix) |
| 데이터 상태 | 대부분이 0으로 비어 있음 | 대부분이 0이 아닌 실수로 채워짐 |
| 크기(차원) | 단어 집합의 크기만큼 무한히 커짐 (수만~수십만) | 사용자가 정한 고정된 크기 (보통 128~1024) |
| 의미 파악 | 단어 간의 유사도나 의미를 알 수 없음 | 단어 간의 유사도와 문맥적 의미를 잘 담아냄 |
| 대표적인 예 | 원-핫 인코딩 (One-hot Encoding) | Word2Vec, GloVe, FastText |
| 사람의 해석 | 직관적이고 이해하기 쉬움 | 숫자의 의미를 사람이 직접 해석하기 어려움 |
마무리
정리하자면, 밀집 행렬(Dense Matrix)은 방대한 언어 데이터를 작고 꽉 찬 숫자 배열로 압축하여, 컴퓨터가 단어의 진짜 '의미'를 이해하고 메모리도 아낄 수 있게 해주는 핵심 기술이다.
우리가 매일 놀라워하며 사용하는 챗GPT나 번역기 같은 AI 서비스들은 모두 이 밀집 행렬(밀집 벡터)을 기반으로 단어를 이해하고 문장을 만들어내고 있다.
제미나이, 챗지피티 등을 이용 하여 작성
'LLM' 카테고리의 다른 글
| 24. TF-IDF(Term Frequency-Inverse Document Frequency) (0) | 2026.05.14 |
|---|---|
| 23. Dense Matrix vs Sparse Matrix 비교 (0) | 2026.05.13 |
| 21. Bag Of Words(BoW) (0) | 2026.05.11 |
| 20. 예측 기반(Prediction-based) (0) | 2026.05.08 |
| 19. 예측 기반 vs 카운트 기반 임베딩 비교 (0) | 2026.05.07 |