AI/Recommender System

Sequential Recommendation System 카카오 서비스 적용기 정리+ DL concat 사용 이유

아나엘 2023. 1. 5. 15:44

https://speakerdeck.com/kakao/sequential-recommendation-system-kakao-seobiseu-jeogyonggi

 

Sequential Recommendation System 카카오 서비스 적용기

#RecommenderSystem #SequentialRecommendationSystem #ML Sequential Recommendation System은 유저의 history의 순서와 시간을 보존하여 다음에 소비할 아이템을 예측하는 추천 시스템 입니다. - 카카오 웹툰에 Sequential mode

speakerdeck.com

Sequential Recommendation System

sequential recommendation system 은 사용자가 관심있어할 만한 아이템은 사용자의 interaction seq에 seq dependency 가진다고 가정. 

- sequential 이 기존 모델보다 더 좋은 성능 보이는상황은 ?

- DL 이 추천 도메인에서 다른 학습방법론 대비(MF, MAB, EASE) 어떤 상황에서 좋을까?

    - side info 넣기. 정말 성능 올라가나?

BERT4Rec

  • Sun, Fei, et al,『BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer.』Proceedings of the 28th ACM international conference on information and knowledge management. 2019.
  • Chen, Qiwei, et al. 『Behavior sequence transformer for e-commerce recommendation in alibaba.』Proceedings of the 1st International Workshop on Deep Learning Practice for High-Dimensional Sparse Data. 2019


*궁금증: 단순히 concat 하는 이유 궁금-> 

  • 층(layer)를 건너뛰는 연결(skip connection): 레이어를 계속해서 쌓음과 동시에 상위 레이어와 하위 레이어 중간을 건너뛰어 연결하는 계산을 넣으면 (말 그대로 skip connection), 이러한 계산을 따라서 기울기가 흐를 수 있다. 이때 많이 쓰는 연결함수 중 하나는 덧셈. 말 그대로 f'(x) = f(x) + x 꼴로 만드는 것이다. 덧셈은 기울기를 그대로 흘려보내기 때문에 가능하다. 게다가 기울기를 흐르게 하는 역할 외에, 모델이 값 자체가 아니라 값의 오차(residual)을 배우게 해서 수렴 속도가 빨라지는 부가 효과도 있다. 이 방식을 사용해서 ResNet은 레이어를 152개 씩이나 쌓기도 했다.이를 위해 concat[12]이나 add[13]와 같은 연산이 주로 사용된다.(나무위키..)
  • tensor를 붙인다.. 입력목록을 연결. 두 입력이 서로 관련 크게 없을때 같은 layer로 넘기고 싶으면 concat, 관련있으면 add. (축이 다른데 add가 되나-> 행렬덧셈 느낌이 아니라 그 값들을 다 더하는 느낌인가보다)
  • 예를들어 a 1000 b 2000 c 3500 갖고있을때 add는 6500 을 넘기고 concat은 1000 2000 3500을 넘기는 것
  • concat->적은 parameter feature map의 depth높임.
  • element wise add-> vanishing gradient방지

- 카카오 브런치 서비스에 Sequential Recommendation System(BERT4Rec)적용했는데 기존 추천대비 성능하락. timestamp 추가했는데 더 떨어짐? 브런치-> KPGT활용해보자 ->? 성능향상될텐데? CTR비교까지. ->논문이 있나?

- 웹툰에서 all data + MLM +NIP +TS -> transformer block 3, seq length 60, cvr37.7%상승, CTR 142%상승

- NIP: next item prediction -> 추천 도메인에서 이걸 향상시키는게 메인 목표. 그런데 MLM(자연어처리분야에서 제안된 기법) 써도 향상되더라. (Multi Armed Bandit 대비.)

- 데이터 양도 증가시키자

 

-... 너무 복잡하고 무거움. 간단한 모델?

Sequence-Aware MLP

  • Hyunsung Lee, Sungwook Yoo, Andrew Yang, Wonjun Jang and Chiwan Park,『Simple and Efficient Recommendation Strategy for Warm/Cold Sessions for RecSys Challenge 2022』RecSysChallenge'22: Proceedings of the Recommender Systems Challenge 2022.
  • last 1,2,5,20 items concat정보와 view historyfmf matmul하여 softmax
  • 학습시간 감소
  • Ensemble SMLP로 성능향상시킴

 

Future works

-diversity, cold start 해결해야함

-새로운 아이템이 seqence학습시 안들어가므로 추천에서 제외될수있음.

반응형