728x90
반응형
SMALL
자연어처리(NLP)와 인공지능에서 텍스트를 숫자로 변환하는 과정에서 희소 행렬 (Sparse Matrix )과 밀집 행렬( Dense Matrix) 이라는 용어를 반드시 만나게 된다.
두 가지 모두 컴퓨터가 인간의 언어를 이해할 수 있도록 돕는 핵심 개념이지만, 그 형태와 쓰임새는 완전히 다르다. 오늘은 챗GPT같은 최신 AI 가 밀집 행렬을 선택했는지, 두 행렬의 차이점을 한 눈에 알기 쉽게 비교해 보겠다.
1. 희소 행렬 (Sparse Matrix) : "대부분이 0으로 비어있는 거대한 공간"
희소 행렬이 단어 뜻 그대로 데이터가 희박하게 (Sparse) 흩어져 있는 행렬이다. 행렬의 대부분이 0으로 채워져 있고, 아주 일부분만 1이나 다른 숫자로 채워져 있다.
- 대표적인 예: 원-핫인코딩(One-hot Encoding), Bag of Words(BoW), TF-IDF
- 특징 : 사전에 등록된 단어가 10만 개라면, 단어 하나를 표현하기 위해 10만 개의 칸을 만들고 해당 단어의 자리에만 1을, 나머지 99,999개는 0을 넣는다.
- 장점 : 직관적이고 사람이 이해하기 쉽다. 특정 단어가 정확히 포함되었는지(Exact Match) 확인할 때 유리하다.
- 단점 : 단어의 개수가 늘어날수록 차원이 무한정 커져 메모리 낭비가 매우 심하다. 또한, '강아지'와 '고양이'처럼 단어 간의 의미적 유사도를 전혀 파악할 수 없다.
반응형
2. 밀집 행렬 (Dense Matrix) : "작지만 의미로 꽉 찬 알짜배기 공간"
밀집 행렬은 0이 거의 없고, 대부분의 의미를 가진 실수(예: 0.24, -1.5, 0.8 등)로 빽빽하게(Dense) 채워져 있는 행렬이다. 최신 딥러닝과 대형 언어 모델(LLM)에서 기본적으로 사용하는 방식이다.
- 대표적인 예: Word2Vec, GloVe, FastText, 트랜스포머(Transformer) 임베딩
- 특징 : 단어 사전이 10만 개라도, 사용자가 차원을 128, 256, 512 등으로 고정할 수 있다. 단어들은 이 고정된 차원 안에서 실 수 값들의 조합으로 표현된다.
- 장점 : 차원이 작아 메모리를 효율적으로 사용한다. 가장 큰 장점은 비슷한 의미를 가진 단어들은 비슷한 숫자 패턴을 가지게 되어, 단어 간의 문맥과 의미적 유사도를 AI가 이해할 수 있다는 것이다.
- 단점 : 숫자들은 신경망 학습의 결과물이기 때문에, 특정 숫자가 왜 그 값인지 사람이 직관적으로 해석하기 어렵다( 블랙박스 현상). 또한 초기 학습에 많은 컴퓨텅 자원이 필요하다.
728x90
3. 비교
| 비교항목 | 희소 행렬(Sparse Matrix) | 밀집 행렬(Dense Matrix) |
| 데이터 구성/ 값 | 대부분이 0으로 채워짐 | 대부분이 0이 아닌 실수로 채워 |
| 벡터의 차원(크기) | 단어 집합의 크기만큼 커짐(수만 ~ 수십만 차원) | 사용자가 지정한 고정 크기 (보통 128~ 1024차원) |
| 메모리 효율성 | 매우 낮음(공간 낭비 심함)/ 비효율 | 매우 높음(압축된 형태)/ 효율 |
| 단어의 의미 파악 | 불가능(단어간 유사도 계산 불가) | 가능(비슷한 단어는 비슷한 벡터 값을 가짐) |
| 사람의 해석(직관성) | 높음(어떤 단어인지 바로 알 수 있음) | 낮음(숫자의 의미를 직접 해석하기 어려움) |
| 주요 활용 모델 | 전통적인 머신러닝, 검색 엔진(키워드 매칭) | 최신 딥러닝, LLM(챗GPT, BERT등) |
| 의미 표현 | 약함 | 강함 |
| 예 | One-hot | Embedding |
4. 마무리 : 왜 최신 AI는 밀집 행렬을 쓸까?
결론적으로, 과거에는 직관적이고 계산이 단순한 희소 행렬을 많이 사용했지만, 인공지능이 사람처럼 문맥을 파악하고 자연스러운 문장을 생성하기 위해서는 단어의 '의미'를 담을 수 있는 밀집 행렬(Dense Matrix)이 필수적이게 되었다.
우리가 사용하는 챗GPT가 개떡같이 말해도 찰떡같이 알아듣는 이유도, 바로 이 밀집 행렬 덕분에 단어들 사이의 숨겨진 관계를 완벽하게 이해하고 있기 때문이다.
제미나이, 챗지피티 등을 이용 하여 작성
728x90
반응형
'LLM' 카테고리의 다른 글
| 25. 특잇값 분해 (SVD, Singular Value Decomposition) (0) | 2026.05.15 |
|---|---|
| 24. TF-IDF(Term Frequency-Inverse Document Frequency) (0) | 2026.05.14 |
| 22. 밀집 행렬(Dense Matrix) (1) | 2026.05.12 |
| 21. Bag Of Words(BoW) (0) | 2026.05.11 |
| 20. 예측 기반(Prediction-based) (0) | 2026.05.08 |