이미지 출처는 링크 or 아이펠 교육 자료입니다.
6-1. 들어가며
학습 내용
-
협업 필터링의 발전
-
Shallow 영역과 Deep 영역
-
어텐션을 활용한 추천 시스템
-
다양한 딥러닝 기반 추천 시스템
- Sequential
- Graph
- Image
- LLM
학습 목표
- 다양한 추천 시스템의 방법론에 대한 파악
- 각 추천 시스템별 특징과 목표에 대한 설명이 가능해짐
6-2. 협업 필터링의 발전
CF
NCF
논문 링크: Neural Collaborative Filtering
- 협업 필터링에 neural 네트워크 적용 & Implicit Feedback 사용
- MF(행렬 분해)sms NCF의 스페셜 케이스로 분리
- 사용자 - 아이템의 상호작용 학습을 위해 Multi Layer Perceptron 사용


- 아키텍쳐
- user, item : 임베딩 레이어를 거쳐 각각 MF 벡터 추출
- Element-wise Product를 거쳐 사용자와 아이템 간의 상호작용 학습
- Multi Layer Perceptron: 사용자 벡터와 아이템 임베딩 값을 합쳐 MLP 레이어에 적용하여 최종 output 도출

6-3. Shallow 영역과 Deep 영역
Shallow와 Deep의 개념
Shallow
- 선형적 방법
- 얕은 모델
- Low Order Interaction(1~2 order)
- Factorization Machine(FM), Logistic Regression(LR)
- ex) (남자-20대)
Deep
- 깊은 구조를 가짐
- High Order Interaction(3~N order)
- DNN, Attention..
- ex) (남자-20대-한국)
FM
- input 데이터
- feature vector x 형태로 고려함! -> sparse
- 파란색: 사용자 벡터
- 주황색: 아이템 벡터
- 노란색: 사용자의 다른 영화 평점
- 초록색: 월 단위 시간
- 갈색: 사용자가 현재 영화 평가 직전 평가한 영화 정보

- 2 way FM 모델 방법의 인터렉션 방법 소개
- feature마다의 가중치를 부여
- feature 사이의 상호작용 고려


장점
- 사용자 성별, 장르 등의 다양한 변수를 사용할 수 있다는 것
- input을 feature vector로 정의
- feature마다의 가중치를 부여
- feature 사이의 상호작용 고려
FM 특징
- feature 간 관계 및 중요성 모델링
- 계산 효율을 위해 2-way를 주로 사용
- Low Order Interaction 방법 or Second Order Interaction으로 소개되는 이유임
Shallow와 Deep의 융합[1] - DeepFM
강조점
- 기존 연구들이 Low or High에 편향되어 있음
- DeepFM
- Low + High order feature interaction을 결합
- Factorization Machine(FM) + 뉴럴 네트워크
- Wide & Deep
- Wide에 해당하는 파트를 FM으로 대체하기 때문에 피처 엔지니어링 안해도 됨!

아키텍쳐

FM Component & Deep Component
- FM Component에서 Low order interaction 수행
- Deep Component에서 High order feature interaction 수행

Shallow와 Deep의 융합[2] - W&D
강조점
-
Memorization(기억 파트)
- Wide part
- feature들간의 관계를 기억하는 것
- 피처 엔지니어링이 필요함..
-
Generalization(일반화 파트)
- Deep Neural Network
- 피처 엔지니어링을 많이 할 필요는 없지만, 과도한 일반화 발생 가능 우려가 있음
-
Wide & Deep
- Memorization + Generalization

Joint training과 Ensemble 차이
- Joint training : 공동으로 모델 훈련 및 가중치 최적화
- Ensemble(앙상블) : 개별 모델이 독립적 훈련 ➡️ Inference할 때 결합


-
Cross Product에 해당하는 부분이 Wide part 담당
-
그 옆의 멀티 레이어 구성 부분이 Deep part 담당

-
offline AUC만이 아닌, 실제 A/B 테스트를 통한 검증을 한 것이 특징

6-4. 어텐션을 활용한 추천 시스템
어텐션 메커니즘(Attention Mechanism)
- 뉴럴 네트워크가 입력 데이터의 특정 파트에 집중
- 가장 관련도가 높은 정보에 집중해 정보의 효율적 처리 및 전달을 이룸
- ex) 번역 시에 연관성 있는 단어를 통해 번역을 수행하는 과정
- NLP에서도 사용
- Self-attention, Transformar 계열
- 이미지, 추천 시스템 등 다양한 분야에서 사용
1. Bahdanau
Decoder에 Attention 적용
- Encoder 정보를 사용
- Softmax 계산을 통해 Attention Score 추출 ➡️ 추출된 Score를 Decoder에서 사용하는 방식
- 가중합을 통해 정보를 압축

2. Global & Local
Global attention 및 Local attention
- Global
- Input sequence 전체에 대한 정보를 고려하지만, 연산량 과다 우려

- Local
- 특정 subset을 기준으로 어텐션을 고려하지만, 정보의 한정이 발생됨

구조
- Multi-Head Self-Attention 구조

- Scaled Dot-Product Attention 예시
- Input vector: [0.0012, 0.0034, 0.0078]
- softmax 계산을 거친 어텐션 스코어가 나옴
- 이러한 가중치와 벡터를 곱해준다면 그만큼의 중요도가 반영될 것
- Multi-Head Self-Attention
- 여러 개의 어텐션을 보는 방식
- 서로 다른 관점의 어텐션 메커니즘을 적용하겠다는 것
- feature간의 중요도를 다양한 관점에서 평가
어텐션과 추천 시스템
특징
- 사용자의 WHY에 대한 답을 도출
- 다양한 아이템의 feature에 대한 사용자 어텐션 분포를 추정할 수 있음
- 아이템 feature에 대한 가중치를 각각 다르게 부여하는 것


논문 링크 : Feature-level Deeper Self-Attention Network for Sequential Recommendation

논문 링크 : AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks

추천 시스템의 어텐션 활용
- 추천 결과(CTR 등)에 영향을 주는 Feature 중요도를 학습하는 등의 방식으로 다양히 활용됨!
6-5. 다양한 딥러닝 기반 추천 시스템
Sequential
- Sequential 패턴
- 하루 기준 : 아침, 점심, 저녁
- 주 단위 : 월, 화, 수, 목, 금, 토, 일
...
- 음악을 듣거나, 쇼핑을 하거나, 강의를 듣는 등..패턴 존재!
GRU4Rec
- RNN 방식
- 긴 History에 적용
- 순서를 모델링하는 과정에서의 MF는 적절하지 않다는 의견에 따라, 본 논문은 RNN-based(GRU) 접근법으로 세션 모델링을 진행
SASRec
- self attention 기반으로 Sequential 모델 구조를 활용한 방식
- 상대적으로 적은 사용자 History로도 예측 수행이 가능함
- 마르코프 기반 모델, RNN 기반 모델보다 더 효율적, 성능도 뛰어남!
BST
- 알리바바에서 제안
- Transformer 구조를 기반으로 함
- 사용자의 순차 신호를 캡쳐 ➡️ 행동 시퀀스 모델링
- 사용자1: A -> B -> C -> F
- 사용자2: B -> C -> F
BERT4Rec
- BERT 모델 구조를 추천 시스템에 도입
- 이전 모델
- 사용자 히스토리 인코딩 : 왼쪽 -> 오른쪽 순서 행동을 기반으로 인코딩
- 좋은 성능을 보이긴 하나, 단방향 아키텍쳐는 사용자 시퀀스의 잠재적 표현이 제한되어 정렬된 시퀀스를 가지게 되고, 활용이 어려웠음
- BERT4Rec 모델
- 양방향 셀프 어텐션 구조
- 랜덤 마스크 아이템 예측
Graph
- 노드와 엣지로 구성

NGCF
논문 링크 : Neural Graph Collaborative Filtering
- 특징
- CF -> NCF로 넘어오면서 그 방법을 그래프로 확장함
- 사용자 - 아이템 상호작용의 효과적 인코딩 방식 제안
- 이분 그래프 구조
- 사용자 - 아이템 그래프 구조
- Neural Graph Collaborative Filtering


LightGCN
- GCN 디자인 단순화를 통해 추천 시스템에 도입
- 기존 GCN은 Feature transformation, 비선형 활성화 함수가 많은 기여를 하지 못했었음
- NGCF보다 많이 개선됨
- 불필요한 연산이 사라져 가벼우면서도 효과적
Image
- 사용자가 선호하는 이미지 유형 분석
- 유사 이미지 특징을 모아 클러스터링
- RNN과의 결합...
사람과 시각적 관계 사이 개념 모델링
- 사람
- 물건
- 대체 or 상호 보완적 물건이 있을 수 있다는 특징이 있음
- 대체 : 청바지가 2벌 이상
- 상호 보완 : 셔츠 1장, 청바지 1벌..

VECF
LLM
- ChatGPT, GPT-4, PaLM, LLaMA 등
- 사용자 프로필, 아이템 속성들을 함께 활용해 프롬프트 구성 ➡️ ChatGPT에 제공하여 Output을 냄

Chat-REC
- 사용자 히스토리와 같은 정보를 프롬프트에 넣어 구성한 뒤, ChatGPT에 넣어 추천을 할 것인지, 아닐 것인지를 결정
