맥에서 오픈소스로
t-SNE 플롯 기술 개발의 숨겨진 이야기 본문
2008년, 네덜란드 마스트리흐트 대학의 한 연구실. 로렌스 반 데르 마텐(Laurens van der Maaten)은 고차원 데이터 시각화 문제로 밤을 새우고 있었습니다. 당시 머신러닝 커뮤니티는 고차원 데이터를 2D나 3D로 시각화하는 것에 목말라 있었죠. PCA나 MDS 같은 기존 방법들은 복잡한 매니폴드 구조를 제대로 표현하지 못했습니다.
로렌스는 멘토인 제프리 힌튼(Geoffrey Hinton)과 함께 SNE(Stochastic Neighbor Embedding)를 개선하는 작업을 시작했습니다. 원래 SNE는 힌튼이 2002년에 개발했지만, 계산 비용이 너무 높고 "crowding problem"이라는 치명적인 약점이 있었습니다. 고차원에서 가까운 점들이 저차원에서 표현될 공간이 부족해 뭉쳐지는 현상이었죠.
전환점은 우연히 찾아왔습니다. 로렌스가 저차원 분포로 Student-t 분포를 사용하면 어떨까 하는 아이디어를 떠올린 것입니다. 가우시안 분포 대신 꼬리가 두꺼운 t-분포를 사용하니, 마법처럼 crowding 문제가 해결되었습니다. 멀리 떨어진 점들이 더 멀리 밀려나면서 클러스터 구조가 선명하게 드러났죠.
하지만 첫 논문은 거절당했습니다. 리뷰어들은 "왜 t-분포인가?"에 대한 이론적 근거가 부족하다고 지적했습니다. 로렌스는 좌절했지만 포기하지 않았습니다. 수개월간 수학적 증명을 보완하고, Barnes-Hut 알고리즘을 적용해 O(N²)에서 O(N log N)으로 계산 복잡도를 획기적으로 줄였습니다.
2008년 JMLR에 논문이 게재되자, 반응은 폭발적이었습니다. 생물학자들은 단일 세포 RNA 시퀀싱 데이터를 시각화하는 데 t-SNE를 사용하기 시작했고, 이미지 인식 연구자들은 딥러닝 특징 공간을 탐색하는 도구로 활용했습니다.
특히 2016년, 구글 브레인 팀이 t-SNE를 사용해 Word2Vec 임베딩을 시각화한 것은 센세이션을 일으켰습니다. "King - Man + Woman = Queen" 같은 단어 벡터 연산이 시각적으로 확인되는 순간이었죠.
하지만 t-SNE도 완벽하지 않았습니다. perplexity 파라미터에 민감하고, 전역 구조를 잘 보존하지 못한다는 비판이 있었습니다. 이는 2018년 UMAP의 등장으로 이어졌고, 현재는 두 기법이 상호 보완적으로 사용되고 있습니다.
로렌스는 현재 페이스북 AI 연구소에서 일하며, t-SNE의 성공이 "때로는 직관이 수학보다 앞설 수 있다"는 것을 보여준 사례라고 회고합니다. 그의 작은 아이디어가 수백만 명의 연구자들이 데이터를 이해하는 방식을 바꾼 것입니다.
'딥러닝' 카테고리의 다른 글
메타의 Segment Anything 이야기 (0) | 2025.05.27 |
---|---|
CNN(합성곱 신경망) 개발 스토리 (2) | 2025.05.27 |
구글 FNet 프로젝트의 탄생 비화 (0) | 2025.05.27 |
U-Net 개발의 숨겨진 이야기: 의료 영상 혁명의 시작 (1) | 2025.05.27 |
끌로드 + MCP 로 인터넷정보를 검색하여 대답을 요청하기 (1) | 2025.04.09 |