728x90
반응형
SMALL

임베딩(Embedding), 이미지 특징 벡터, 문장 벡터처럼 차원이 높은 데이터를 사람이 이해하기 쉽게 2차원 또는 3차원으로 시각화할 때 자주 사용하는 기법이다. 

 

t-SNE란 무엇인가요?

t-SNE는 고차원 데이터의 가까운 관계를 최대한 보존하면서 저차원 공간으로 줄여주는 차원 축소 (Dimensionality Reduction)기법이다. 

예를 들어 얼굴 인식 모델이 만든 512차원 얼굴 임베딩이 있다고 해보겠다. 사람은 512차원 공간을 볼 수 없기 때문에, 이 벡터들을 2차원 평면에 점으로 찍어보면 어떤 사람끼리 비슷하게 묶이는지 확인할 수 있다. 

쉽게 비유하면, t-SNE는 복잡한 도시의 사람 관계를 한 장의 지도 위에 배치하는 작업과 비슷하다. 서로 친한 사람들은 가깝게, 관련이 적은 사람들은 멀리 배치해서 전체 관계를 눈으로 볼 수 있게 해준다. 

고차원 데이터를 2차원이나 3차원으로 예쁘게 시각화할 때 아주 강력한 성능을 발휘하는 최신 기법이다. 

 

t-SNE는 왜 사용하나요?

t-SNE의 가장 큰 목적은 데이터 구조를 눈으로 이해하는 것이다. 

예를 들어 다음과 같은 상황에서 유용한다. 

  • 이미지 분류 모델의 feature가 클래스별로 잘 나뉘는지 확인
  • 얼굴 임베딩이 사람별로 잘 군집화되는지 확인
  • NLP 문장 임베딩이 의미별로 가까이 모이는지 확인
  • 이상치(outlier)가 있는지 시각적으로 탐색
  • 모델 학습 전후의 representation 변화 비교

즉, t-SNE는 모델을 직접 학습시키는 도구라기보다는 모델이 데이터를 어떻게 이해하고 있는지 확인하는 시각화 도구에 가깝다. 

 

반응형

 

t-SNE의 핵심 아이디어

t-SNE는 고차원 공간에서 가까운 데이터들이 저차원 공간에서도 가깝게 유지되도록 배치한다. 

예를 들어 고차원 공간에서 A와 B가 매우 비슷하다면, 2차원 시각화에서도 A와 B를 가까이 두려고 한다. 반대로 서로 다른 데이터는 멀리 배치되도록 조정한다. 

다만 중요한 점이 있다. 

t-SNT는 전체 거리의 절대적인 의미보다는 가까운 이웃 관계를 잘 보여주는 데 강하다. 

즉, t-SNE 그림에서 "같은 군집 안에서 가까운 점들"은 의미 있게 볼 수 있지만, "서로 멀리 떨어진 군집 간 거리"를 너무 엄격하게 해석하면 위험할 수 있다. 

 

t-SNE와 PCA 비교

비교 항목 PCA t-SNE
목적 전체 분산을 잘 보존 가까운 이웃 관계를 잘 보존
방식 선형 차원 축소 비선형 차원 축소
속도 빠른 편 상대적으로 느림
해석성 축의 의미 해석 가능 축 자체의 의미는 약함
장점 간단하고 빠름 군집 구조 시각화에 강함
단점 복잡한 비선형 구조 표현 한계 결과가 파라미터와 랜덤성에 민감
대표 용도 전처리, 압축, 빠른 분석 임베딩/feature 시각화

 

 

t-SNE를 사용할 때 주의할 점

t-SNE 결과는 예쁘게 보이지만, 무조건 정확한 데이터 구조라고 믿으면 안된다. 

특히 다음을 주의해야 한다. 

  1. perlexity 값에 따라 결과가 달라질 수 있다. 
  2. random seed에 따라 배치가 달라질 수 있다. 
  3. 군집 사이의 거리나 크기를 과도하게 해석하면 안된다. 
  4. 대용량 데이터에서는 계산 비용이 커질 수 있다. 

그래서 실무에서는 t-SNE를 최종 판단 도구로 쓰기보다는, 데이터와 모델의 상태를 빠르게 살펴보는 탐색적 분석 도구로 사용하는 것이 좋다. 

 

728x90

 

마무리

t-SNE는 고차원 데이터를 사람이 볼 수 있는 2차원 지도처럼 펼쳐주는 강력한 시각화 기법이다. 

특히 이미지, 얼굴인식, 자연처 처리, 임베딩 분석에서 데이터가 잘 군집화되는지 확인할 때 유용한다. 

다만 t-SNE는 시각화 도구이지, 모든 거리를 정확하게 보존하는 도구 아니다. 

따라서 결과를 볼 떄는 "가까운 이웃 관계를 확인한다"는 관점으로 해석하는 것이 좋다. 

 

 

 

제미나이, 챗지피티 등을 이용 하여 작성

728x90
반응형

+ Recent posts