이미지 출처는 링크 or 아이펠 교육 자료입니다.

6-1. 들어가며


학습 내용

  • 협업 필터링의 발전

    • CF와 NCF
  • Shallow 영역과 Deep 영역

    • Shallow와 Deep의 융합
  • 어텐션을 활용한 추천 시스템

    • 어텐션과 추천 시스템
  • 다양한 딥러닝 기반 추천 시스템

    • Sequential
    • Graph
    • Image
    • LLM

학습 목표

  • 다양한 추천 시스템의 방법론에 대한 파악
  • 각 추천 시스템별 특징과 목표에 대한 설명이 가능해짐


6-2. 협업 필터링의 발전


CF

  • 협업 필터링 추천 시스템 방법

  • 간단하지만 동시에 강력한 성능을 자랑

  • 사용자 - 아이템의 상호작용 분석 ➡️ 다수 사용자 패턴 반영

  • 유사 취향을 가진 사람 -> 유사 콘텐츠 소비라는 전제 조건

  • 한계점

    • 아이템, 사용자 수 증가
      • 데이터의 희소 증가
      • 연산량 증가
      • 콜드 스타트 문제
      • Bias 존재(그냥 유명한 것을 추천하는 것)

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을 기준으로 어텐션을 고려하지만, 정보의 한정이 발생됨

⭐️ 3. Transformer

구조

  • Multi-Head Self-Attention 구조
  • Scaled Dot-Product Attention 예시
    • Input vector: [0.0012, 0.0034, 0.0078]
    • softmax 계산을 거친 어텐션 스코어가 나옴
      • [0.1, 0.7, 0.2]
    • 이러한 가중치와 벡터를 곱해준다면 그만큼의 중요도가 반영될 것
  • 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에 넣어 추천을 할 것인지, 아닐 것인지를 결정
profile
언젠가 내 코드로 세상에 기여할 수 있도록, Data Science&BE 개발 기록 노트☘️

0개의 댓글

관련 채용 정보