본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작
강의 종료
강의장
학습 인증샷
학습후기
ch02-02.Two tower architecture
유저 타워와 아이템 타워 두 개의 독립적인 신경망이 유저와 아이템 인베딩을 각각 생성.
이 임베딩 벡터들의 Dot Product 또는 Cosine Simimilarity를 통해 추천 점수 계산
유저벡터와 아이템벡터는 상호보완적으로 임베딩을 생성하지않나? 어떻게 각각 독립적인 임베딩을 생성할 수 있지?
tow-tower 구조에서는 유저와 아이템 임베딩을 독립저으로 만들지만
학습은 상호작용 데이터로 합꼐 한다.
유저 타워 : 유저 ID + side feature -> User Embedding
아이템 타워 : 아이템 ID + side feature -> User Embedding
모델 학습에서는
(user_123, item_456) → 클릭했다 → score 높아야 함
(user_123, item_789) → 클릭 안 함 → score 낮아야 함
양쪽 벡터가 동시에 업데이트됨
학습이 끝난 이후에는
유저 벡터만 가지고 [이 유저가 좋아할 만한 아이템]을 dot product로 계산 가능
아이템 벡터만 가지고 [이 아이템을 좋아할 유저]를 계산 가능하다.
학습 중에는 둘 다 함께 보는 데이터로 맞춰감
two-tower 구조의 진짜 장점은 학습보다 추론 단계에서 빛을 발한다.
이 구조는 아이템 벡터를 미리 계산해서 저장할 수 있다.
실시간으로 바뀌는 건 유저 쪽이고 매번 유저 벡터만 새로 생성해서 미리 저장된 아이템 벡터와 dot product만 계산하면 된다.
User와 Item을 분리해서 관리 가능하고
신규 유저가 들어와도 해당 유저의 임베딩만 업데이트하면된다.
전체를 학습할 필요 없이 빠르게 반영 가능하다.
따라서 실무에 적합하다
ANN 검색과도 잘 어울려 빠른 속도로 유사 아이템과 유저를 찾을 수 있기 때문에 대규모 서비스에서도 latency 걱정 없이 서빙이 가능하다.
'패스트캠퍼스' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 35일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.05.05 |
---|---|
패스트캠퍼스 환급챌린지 34일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (1) | 2025.05.04 |
패스트캠퍼스 환급챌린지 32일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (1) | 2025.05.02 |
패스트캠퍼스 환급챌린지 31일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.05.01 |
패스트캠퍼스 환급챌린지 30일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기 (0) | 2025.04.27 |