세로형
Link
08-13 07:49
«   2022/08   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Archives
Today
178
Total
2,363,030
관리 메뉴

꿈 많은 사람의 이야기

추천 시스템 논문 리뷰 - Feature level Deeper Self-Attention Network for Sequential Recommendation (FDSA) 본문

추천시스템

추천 시스템 논문 리뷰 - Feature level Deeper Self-Attention Network for Sequential Recommendation (FDSA)

이수진의 블로그 2022. 6. 27. 08:53

포스팅 개요

이번 포스팅은 추천 시스템(recommender system, recsys) 논문 중 FDSA : Feature-level Deeper Self-Attention Network for Sequential Recommendation 이라는 논문을 리뷰라는 포스팅입니다. FDSA는 추천 시스템 방법 중 sequential recommendation 방법을 소개하며 explicit과 implicit feature-level sequence는 full sequential pattern을 추출하는데 도움을 줄 수 있다고 주장하는 논문입니다. 본 포스팅은 해당 논문의 자세한 리뷰를 정리하는 포스팅입니다.

또한, 본 포스팅은 제가 작성하고 있는 추천 시스템 시리즈 글 입니다. 추천 시스템 시리즈 논문 리뷰는 아래와 같은 순서로 진행할 예정입니다. 오늘은 그 네 번째 포스팅입니다.

  1. DeepFM (https://lsjsj92.tistory.com/636)
  2. MAML (https://lsjsj92.tistory.com/637)
  3. VECF (https://lsjsj92.tistory.com/638)
  4. FDSA
  5. PMN (https://lsjsj92.tistory.com/640)
  6. GAU (https://lsjsj92.tistory.com/641)
  7. A3NCF(https://lsjsj92.tistory.com/642)
  8. MIAN
  9. CCANN

본 포스팅에서 참고한 자료는 다음과 같습니다.


포스팅 본문

 


추천 시스템 논문 FDSA : Feature-level Deeper Self-Attention Network for Sequential Recommendation 논문 리뷰는 다음과 같은 순서로 진행합니다~

1. FDSA 핵심 요약
2. FDSA 논문 리뷰


FDSA 핵심 요약

For sequential recommendation 추천 시스템 모델

기존의 방법은 item feature와의 패턴을 무시함
Explicitimplicit feature-level sequencefull sequential pattern을 추출하는데 도움을 줄 수 있음
따라서, Feature-level Deeper Self-Attention Network(FDSA) 제안함

 

FDSA

Heterogeneous feature of items feature sequence로 통합시킴
     • 이때 vanilla attention mechanism을 활용해서 서로 다른 weight 부여
     • Vanilla attentionfeature 쪽에 도입해서 assist feature-based self attention
Self-Attention block을 두 군데에서 활용
     • Item-level sequence
     • Feature-level sequence
     • 이를 통해 item-item 그리고 feature-feature간의 관계를 capture
최종적으로 위 2개의 levelfully-connected로 합침

이제 해당 논문의 상세한 리뷰를 진행해보겠습니다.


FDSA 논문 리뷰

Introduction

Sequential recommendation은 다양한 application에서 필수적인 요소가 됨

Ad click prediction, purchase recommendation, web page recommendation
사용자의 이전 활동의 발생 순서대로의 영향을 받아서 모델링
Sequential recommendation의 목표
     • 사용자의 과거 행동에서 useful sequential patterns 캡처해서 Next item 추천

 

Sequential recommendation에서 다양한 모델이 연구되고 제안 됨

Markov Chain 기반 FPMC
     • Factor들 사이의 effective relationship을 구성하기 쉽지 않음
Deep Learning의 성공으로 RNN기반 추천 시스템 제공
     • Last hidden state of RNN으로 user representation을 사용하고 next action을 예측함
     • 그러나, long-range dependencies 보존하는 것이 어려움
          • LSTM, GRU 사용해도 마찬가지
     • Step by step으로 접근하기 때문에 병렬화도 어려움

 

Sequential recommendation에서 다양한 모델이 연구되고 제안 됨

Self-attention이 좋은 성능을 보여주고 있음
     • Long-range dependencies 캡처하는 강도를 each pair of items에서의 attention weights 계산해 활용
     • SASRecSelf-Attention을 활용한 Sequential Recommendation model
          • 좋은 성능을 보여줌
          • 그러나, only considers the sequential patterns between items
               • , 사용자의 fine-grained preferences 캡처하기 위한 feature 사이의 sequential pattern은 무시함

 

Item feature level

일상 생활과 관련이 있음 ( 카테고리 등 )
Explicit feature transition
      • 사용자의 structured attributes(. Category)가 발전(변화)하는 욕구
Implicit feature transition
     • Item에는 some other unstructured attributes가 있음
          • Text, image item을 더 디테일 하게 보여주는 것
     • 사용자의 potential feature level patterns을 이러한 unstructured attributes 활용해 마이닝 하고자 함
그러나, 2개의 feature transition은 이전 연구에서 종종 간과 되어 짐

 

Implicit and explicit feature transition

Only item-level sequencesfull sequential patterns 반영할 수 없다고 본 저자들은 주장
     • 반면, feature-level sequences는 이러한 목표를 달성하는데 도움을 줄 수 있을 거라 주장
For capturing explicit feature level transition patterns
     • Combined representation of item and its feature하는 것 대신에 separated self-attention blocks 활용
          • Item sequencesfeature sequences에 활용하여 item-item, feature-feature 간의 관계를 캡처하고자 함
          • 이후 item levelfeature levelcombine해서 추천에 활용
     • Vanilla attention을 활용
          • How to capture meaningful implicit feature-level transition patterns from heterogeneous attributes of item의 고민
          • 이를 위해 vanilla attention을 활용해서 feature-based self-attentionassist
               • Item 속성의 다양한 type으로부터 필수 feature adaptively하게 선택하게 함
               • 더 나아가 potential implicit feature transition patterns을 학습

 

Related Work

Sequential recommendation

Markov Chain based method
     • FPMC
RNN
     • GRU4Rec

Attention mechanism

ATRank
CSAN

 

Feature-level Deeper Self Attention Network for Sequential Recommendation

Problem Statement

The Network Architecture of Feature-level Deeper Self-Attention (FDSA)

Item-based self-attention block을 활용해 item-level sequence pattern을 학습
Feature-based self-attention block을 활용해 feature-level transition pattern을 찾음

 

5개의 component

Embedding, Vanilla Attention
Item-based self-attention block, Feature-based self-attention block
Fully-connected layer

 

Vector

Sparse representation of itemlow-dim dense vector
Texttopic model을 활용해 topical keywords 뽑아낸 후 word2vectorvector 추출
Heterogeneous하고 different data type이 있기 마련
     • Vanilla attention을 활용해 self-attention network assist
2개의 self-attention block
     • Item-based self attention : learn item level sequence patterns
     • Feature-based self attention : feature level transition patterns을 캡처
     • Fully connected layerintegrate한 후 final prediction

반응형

The Network Architecture of Feature-level Deeper Self-Attention (FDSA)

Embedding layer
     • 사용자의 과거 선호도를 계산하기 위해 user history sequence로부터 fixed-length sequence 가져옴
          • S = (s1, s2, … sn)
          • N보다 적으면 zero-padding, 크면 recent n
     • Feature sequence도 같은 방법으로 가져옴
         • Category로 예시를 들면 다음과 같으며 category sequence dense vector로 변환

     • Texttopic model을 활용해 topical keywords 뽑아낸 후 word2vectorvector 추출


Vanilla attention layer
     • 어떤 feature가 사용자의 선택에 기여하는가?
     • , item 특성 (category, brand )에서 사용자의 다양한 선호를 캡처하기 위함
     • Item i가 주어졌을 때 각 attribute는 다음과 같이 embedding

                                     

         • Vec(ci) : dense representation of category of i
         • Vec(bi) : dense representation of brand of i
         • Vec(item_text) : textual feature representation
     • Attention network는 아래와 같음

                                     

 

Feature based self attention block
     • Vanilla attention layer에서 나온 것을 활용

                                 

 

     • Sequence정보 이므로 position 값을 넣어 줌

                                                     


     • Scaled dot-product attention(SDPA)
         • Query, key, value에 맞는 linear transformation을 하고 SDFA에 넣음

                      

     • Multi head attention

                                               


     • 이후 steplayer norm 2개의 fully connected layer 거침

                                     


     • 간단하게 정리하자면!

                                         


Item based self attention block
     • Item level transition patterns을 학습하는 것이 목표
     • Item action sequence가 주어졌을 때

                                                             


Fully connected layer
     • Concatenate the output of item based self attention and output of feature based self attention
Dot product 이용해 calculate user preference for items

                                             


     • Y는 이전 t시점까지의 item에 대한 next item(i)과의 relevance라고 보면 됨
Loss function
     • Binary cross entropy

Experiments

Dataset

Toys and Games
     • Amazon dataset
     • Rate 횟수가 5번 미만인 사용자 제거
     • 사용자에 의해 10번 미만으로 평가된 아이템 제거
Tmall
     • B2C platform in China
     • 관찰 횟수가 30번 미만인 사용자 제거
     • 사용자에 의해 15번 미만으로 평가된 아이템 제거

Evaluation metric and Implementation Detail

Hit ratio @ K
NDCG @ K
K = {5, 10}
Maximum sequence length : 50
Embedding size : 100
Batch size : 10

 

Baseline Methods

Baseline 모델 특징
PopRec
-Popularity base
BPR
-Pair-wise
FPMC
-Markov chain base
TransRec
-Relational vector acting as the junction between user and items
GRU4Rec
-GRU for session based recommendation
CSAN
-Multi-type actions and multi-modal contents based on self attention network
SASRec
-Self attention based sequential model
SASRec+
-SASRec + concatenates item vector and category vector
SASRec++
-SASRec + item representations and various heterogeneous feature of items
CFSA
-Simplified version of our proposed method
-Only considers a category feature
300x250

Performance Comparison

BPR and GRU4Rec vs PopRec
     • BPR, GRU4Rec이 이김. 개인화 추천의 효과를 보여줌
FPMC 등의 sequential modelnon-sequential 보다 좋은 성능
     • Next item 추천에서 Importance of considering sequential information
SASRec의 성능은 FPMC, TransRec보다 좋음
     • Advantages of using a self attention mechanism

 

SASRec+SASRec++SASRec보다  toy and games에선 좋고 tmall에선 안 좋음
     • Concatenating items representations and items feature representations하는 것은 안정적인 모델링이 안될 수도 있다는 것을 암시
     • , concate한 것을 self attention input vector로 넣는 것이 안정적이지 않을 수 있다는 것
CFSASASRec+보다 좋고, FDSASASRec++보다 좋음
     • Separated self attention blocks on item level and feature level하고 이를 self attention input으로 넣는 것의 효과를 보여줌
     • Item transition patternsfeature transition patterns을 캡처 하는데의 효과
제안한 모델 FDSA가 가장 좋은 성능

 

Influence of Hyper-parameters

Embedding size
     • 100까지는 성능이 올라가다가 이후에 떨어짐
     • Overfitting
Number of head
     • Tmall : l_s : 4, l_f : 2가 베스트
     • Toys and Game : l_s : 2, l_f : 4가 베스트
     • Tmallsingle data type이라서 복잡한 구조가 필요하지 않은 것으로 보여짐
         • Toys and Game datasettext, title 등이 있어서 더 많은 헤드가 필요

Conclusion

FDSA(Feature level Deeper Self Attention Network) 제안

Sequential recommendation을 위함
Item based self attention block에서 Item, feature based self attention block에서 feature transition을 학습
     • FDSA는 이 둘의 transition patterns을 모델링
Outputintegrated into a fully connected layer for next item prediction


마무리

이번 포스팅은 FDSA : Feature-level Deeper Self-Attention Network for Sequential Recommendation 이라는 추천 시스템 논문을 리뷰하였습니다.
공부하시는 분들에게 조금이나마 도움이 되시길 바라겠습니다.
감사합니다.

반응형
그리드형
0 Comments
댓글쓰기 폼