세션 데이터를 기반으로 유저가 다음에 클릭 또는 구매할 아이템을 예측하는 추천.
세션은 유저가 서비스를 이용하면서 발생하는 중요한 정보를 담은 데이터를 말하며, 서버 쪽에 저장된다. 여기서는 세션을 브라우저가 종료되기 전까지 유저의 행동을 담은 시퀀스 데이터 같은 의미로 사용한다.
논문 : SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS
세션들의 길이는 짧은 것도 매우 긴 것들도 존재하기 때문에, 이 세션들을 데이터 샘플 하나로 보고 mini-batch를 구성하여 input으로 넣는다면 길이가 제일 긴 세션의 연산이 끝날 때까지 짧은 세션들이 기다려야 한다. 그래서 세션이 끝날 때까지 기다리지 않고 병렬적으로 계산하는 것을 사용한다.
stateful=True
옵션을 사용하고 세션이 끝나면 state를 0으로 만들어준다.Negative Sampling와 같은 개념으로, Item수가 많기 때문에 loss를 계산할 때 모든 아이템을 비교하지 않고 인기도를 고려하여 sampling한다.
ranking loss의 목표는 inputs 사이의 상대적인 거리를 예측하는 것으로, metric learning이라고 불리기도 한다.
참고 : https://gombru.github.io/2019/04/03/ranking_loss/