RecSys : Recommender System with RNN
RNN과 추천 시스템
- Session based 추천에서 자주 사용되는 아이디어
- session은 일련의 과정에 따라서 유저이 현재 선호하는 정보를 처리해야 할 필요가 있음
GRU4Rec
Session-based Recommendations with Recurrent Neural Networks
- 고객이 현재 원하는 상품을 찾는 것이 목적이며 RNN을 추천 시스템에 적용한 논문
GRU4Rec 아이디어와 구조
Session-based Recommendations with Recurrent Neural Networks
- session sequence를 GRU 입력으로 넣어서 sequence의 다음에 나올 확률이 높은 아이템을 추천하는 것
- 모델의 구조는 다음과 같음
- 입력
- one-hot encodeing session
- 논문에서는 임베딩을 시도하기도 안하기도 했으나 성능은 임베딩이 없는 것이 더 좋았다고 함
- GRU 레이어
- 기존 RNN처럼 sequence 아이템 맥락 학습
- 출력
- 다음 골라질 아이템에 대한 선호도 스코어
- 입력
GRU4Rec 학습 과정
Session-based Recommendations with Recurrent Neural Networks
- 세션의 길이는 일정하지 않고 짧은 경우와 긴경우가 존재함
- 세션의 특징상 짧은 경우가 많지만 길이가 긴 경우도 있음
- 짧은 길이의 세션을 사용해서 학습할 정보가 많아지면 효율이 떨어지므로 짧은 세션을 긴 세션에 연결하는 병렬적 세션으로 미니 배치 학습을 진행함
- 실제로 아이템이 너무 많다는 것이 문제가 됨
- 이를 해결하고자 negative sampling 방식을 도입해서 일부 후보군에서 추천 목록을 형성
- negative sample 기준은 인기도로 처리
- 만약 아이템의 인기도가 높은데도 상호작용이 없다면 관심이 없는 아이템이라 가정
- 사용자가 interaction 하지 않은 경우에서 인기도 기반으로 negative sampling을 진행
Comments powered by Disqus.