241102 TIL #531 AI Tech #64 RecSys with DeepLearning - 2

김춘복·2024년 11월 2일
0

TIL : Today I Learned

목록 보기
533/575

Today I Learned

오늘 배운 내용은 딥러닝 부분 이어서!


RecSys with GNN

GNN(Graph Neural Network)

node와 edge로 구성된 그래프구조의 데이터를 처리하기 위한 딥러닝 모델

  • 그래프는 관계, 상호작용, 교통 네트워크, 분자구조 같은 non-euclidean 공간을 표현하기 적합한 자료구조다.

  • 그래프의 관계를 인접행렬로 변환해서 nn에 적용할 수도 있지만, 이런 방식은 노드에는 없는 순서에 대한 정보를 만든다던가, 노드가 늘어날수록 행렬이 커지는 문제가 있다.

GCN (Graph Convolutional Network)

그래프 데이터에 합성곱(Convolution) 연산을 적용하는 신경망 모델
일반적으로 GNN이라 함은 GCN을 기반으로 한 모델들이다.

이미지 출처 : littlefoxdiary

  • convolution : input을 작은 필터(커널)로 순차적으로 스캔해 특징을 추출하는 연산.
    필터와 입력 데이터의 각 부분을 곱하고 더하는 과정을 반복한다.
    계산이 효율적이고, 위치 불변성이 있어 robust하면서 일반화 능력이 강하고, 특징 추출에 효율적이다.

  • GCN 작동 원리

  1. 각 노드는 자신과 직접 연결된 이웃 노드들의 특성을 수집하고, 가중치를 사용해 이웃노드들의 영향력을 조절한다.
  2. 수집된 정보를 가중치 행렬과 곱해 변환한다. ReLU같은 비선형 활성화 함수 사용
  3. 여러 레이어를 쌓아 더 깊은 이웃관계까지 고려한다. 각 레이어마다 다른 가중치를 학습한다.
  • 장점
    파라미터가 공유되어 효율적인 학습이 되고, 계산 복잡도가 낮다. 새로운 노드에 대해서도 적용이 가능해 전이학습이 용이하다. 결과 해석도 용이한 편.

  • 단점
    레이어가 깊어질수록 성능이 저하되고 Over-smoothing 문제가 발생할 수 있다. 시간에 따라 변하는 그래프처리는 제한적. 방향성이 있는 그래프는 추가적인 고려가 필요하다.


Neural Graph CF(NGCF)

  • 논문 링크

  • 기존 CF모델들은 유저와 아이템을 각각 임베딩 한 후 상호작용을 모델링했다.
    하지만 이 모델은 유저-아이템 상호작용을 임베딩 단계에서부터 학습하도록 한다.

이미지 출처 : 논문

  • 위 그림과 같이 고차원 연결성(High-order Connectivity)을 사용한다.

  • 구조

  1. 임베딩 레이어 : 유저,아이템의 원핫 인코딩 벡터
  2. 임베딩 전파 레이어 : 그래프 구조를 따라 메시지 전파, 이웃 노드의 정보를 집계하여 임베딩 갱신
  3. 예측 레이어 : 최종 사용자-아이템 임베딩을 사용하여 선호도 점수 예측. 내적으로 유사도 계산

LightGCN

NGCF를 더 간단하고 효율적으로 개선한 추천 시스템 모델

  • 논문 링크

  • 이웃노드의 임베딩을 가중합하는 것이 convolution의 전부로 NGCF에서 특징 변환과 비선형 활성화 함수를 제거했다.

  • 계산효율성, 성능 향상, 해석용이성이 NGCF에 비해 나아졌고, 오버피팅 위험도 적어졌다.

  • 하지만 cold start 문제, 부가적인 특징 정보 활용 제한적, 동적변화 힘듬의 단점이 있다.


RecSys with RNN

RNN

Recurrent Neural Network, 순환 신경망

  • 시퀀스 데이터를 처리하기 위한 신경망 구조로, 이전 단계의 정보를 현재 단계에 전달하는 순환구조다.

  • RNN의 장기기억 단점을 개선한 LSTM과, LSTM을 더 단순하고 가볍게 만든 GRU가 있다.

GRU4Rec

  • 논문 링크

  • Session based RecSys
    고객의 선호는 시간에 따라 달라진다. 세션은 유저가 서비스를 이용한 동안 행동을 기록한 데이터로, 이를 통해 지금 고객이 좋아하는 것은 뭔지 예측한다.

  • 특징
    사용자의 세션 내 클릭/조회 시퀀스를 GRU로 모델링한다.
    다음 아이템 예측을 위한 순차적 패턴을 학습한다.
    세션기반 추천이라 로그인 없는 상황에서도 사용 가능하다

이미지 출처 : 논문

  • 구조
  1. 입력 레이어 : ont-hot 인코딩 된 아이템 ID로 이루어진 세션을 input으로 사용
  2. GRU 레이어 : 세션 내 순차적 패턴을 학습해 장단기 의존성을 포착한다.
  3. 출력 레이어 : 다음 아이템 예측을 위한 점수 계산.
  • 학습시 짧은 세션들은 다른 세션 뒤에 붙여서 세션을 병렬적으로 구성해 미니 배치 학습시킨다.
    그리고 인기가 높은데 유저와 상호작용 없으면 관심없는 아이템이라고 가정해, 인기를 기반으로 negative sampling을 한다.
profile
Backend Dev / Data Engineer

0개의 댓글