NEGABARO RecSys
추천시스템 알고리즘과 아키텍처를 정리한 기술 가이드
임베딩 & 표현 학습
벡터란? 거리와 각도로 「비슷함」을 재는 숫자 나열
방향과 크기를 가진 숫자 묶음 — 차원이 올라가면 의미를 담는다
벡터는 숫자의 나열이다. 2개면 평면 위의 점, 3개면 공간 속의 점, 1536개면 의미 공간 속의 점이 된다.
임베딩이란? 의미가 비슷하면 가까운 숫자로 바꾸는 기법
숫자로 바꿔야 계산할 수 있다 — 모든 AI의 출발점
임베딩은 텍스트, 이미지, 아이템 같은 비정형 데이터를 숫자 벡터로 변환하는 기법이다. 변환된 벡터 사이의 거리가 곧 "의미적 유사도"가 된다.
Word2Vec이란? 주변 단어로 의미 벡터를 배우는 원리
단어를 벡터로 바꾸는 시작점
주변 단어로 중심 단어를 예측(CBOW)하거나, 중심 단어로 주변을 예측(Skip-gram)하면서 의미 벡터를 학습한다.
Item2Vec이란 — 구매·클릭 시퀀스로 아이템 임베딩 학습하기
Word2Vec을 아이템에 적용한 추천 임베딩
Item2Vec은 사용자의 구매·클릭 시퀀스를 문장, 아이템을 단어로 보고 Word2Vec(Skip-gram + Negative Sampling)으로 아이템 임베딩을 학습한다. A를 본 사람이 B도 보면 두 벡터가 가까워져, 코사인 유사도로 비슷한 상품을 추천한다.
추천시스템의 임베딩 총정리
User, Item, Context를 하나의 벡터 공간에 모으기
추천시스템에서 임베딩은 유저와 아이템을 같은 벡터 공간에 매핑해서 거리로 선호도를 측정하는 기법이다.
전통적 추천
딥러닝 추천
GRU4Rec이란? RNN으로 다음 클릭을 예측하는 추천 모델
세션 기반 추천의 시작
GRU(Gated Recurrent Unit)로 유저의 클릭 시퀀스를 모델링해서, 다음에 클릭할 아이템을 예측한다.
Transformer 기반 추천의 원리 — GRU와 무엇이 다른가
Self-Attention으로 유저 행동 시퀀스 전체를 한 번에
GRU가 순차적으로 처리했다면, Transformer는 Self-Attention으로 시퀀스 전체의 관계를 병렬로 파악한다.
BERT4Rec이란? 빈칸 맞히기로 유저 취향을 배우는 추천 모델
Masked Language Model을 추천에 가져와 양방향 문맥을 배운다
BERT의 MLM(Masked Language Model) 방식을 추천에 적용. 시퀀스 중간의 아이템을 마스킹하고 맞추면서 양방향 문맥을 학습한다.