Skip to content

Latest commit

 

History

History
119 lines (74 loc) · 5.55 KB

File metadata and controls

119 lines (74 loc) · 5.55 KB

Models


개요

1. Rule Based Model

  • 모델 선정 이유
  • Input & Output
  • 모델 설명

2. Light-GCN

  • 모델 선정 이유
  • Input & Output
  • 모델 설명

3. 모델 Workflow


1. Rule Based Model 🔗 상세설명

모델 선정 이유

저희가 갖고 있는 데이터는 상대적으로 sparsity가 높았습니다. 
따라서, 머신러닝 혹은 딥러닝 모델을 적용하더라도 학습할 상호작용 데이터가 부족했기 때문에 좋은 성능을 내지 못했습니다. 
결과적으로 저희 팀은 안정적인 성능을 보장하는 Rule-Based Model을 사용하기로 결정했습니다.

Input & Output

Input : 아이템 ID
Output : 대분류 별 추천 아이템 (최대 10개)

모델 설명

모델의 작동 방식은 다음과 같습니다.

1. 아이템 ID를 입력 받는다
2. 아이템이 속한 아이템 클러스터 (동일한 색과 중분류를 갖는 아이템의 집합)을 찾는다
3. 해당 클러스터와 상호작용한 클러스터들과 포함되어 있는 아이템을 추천 후보 집합에 넣는다
4. 추천 후보 아이템들을 Light-GCN의 상호작용 결과값이 높은 순서로 정렬한 후, Top 10개를 추천한다

* 필요한 데이터 
  클러스터 사이 상호작용 여부를 담고 있는 클러스터 상호작용 행렬

2. Light-GCN 🔗 상세설명

모델 선정 이유

1. Data Crawling Method
: 저희 팀은 1차적으로 코디와 코디에 포함된 아이템을 크롤링 한 후, 크롤링된 아이템이 포함되어 있는 다른 
코디와 포함되어 있는 아이템들을 다시 반복해서 크롤링 했습니다. 결과적으로 아래 사진과 같이 모든 아이템들은 
코디로 연결되어 있는 타 아이템이 최소 1개 이상 갖고 있습니다. 

모든 아이템이 서로 끊어지지 않고 연결되어 있는 그래프 구조가 보장되어 있기 때문에, 이를 활용할 수 있는 
그래프 계열 모델을 사용하는 것이 효과적이라고 생각했습니다. 

스크린샷 2022-06-10 오후 5 32 04

2. Data Sparsity
: 최대한 서로 상호작용한 아이템이 많이 포함되도록 크롤링 했음에도 불구하고, 아이템 상호작용 행렬 
sparsity이 너무 높았습니다. 이를 해결하기 위해 아이템들을 클러스터로 묶어서 상호작용 행렬을 만들었음에도, 
모델 성능을 충분히 높이기엔 여전히 데이터가 너무 sparse한 것을 발견했습니다. 

이러한 sparsity를 보완하기 위해 직접 상호작용한 아이템 뿐만 아니라, 연결 관계를 타고 들어가서 더 많은 
정보를 고려하여 예측하는 그래프 계열 모델이 적합하다고 판단했습니다. 

3. Inference Speed
: 그래프 계열 모델 중에서 Light-GCN을 선택한 이유는, 모델 예측 속도가 가장 빠르기 때문입니다. 모델이 
결과를 산출하는 과정이 느리다면, 서비스 배포에 장애물이 될 수도 있기 때문에 상대적으로 빠른 모델을 
선택했습니다. 

Input & Output

Input : 클러스터와 아이템
Output : 클러스터와 아이템이 상호작용할 확률

모델 설명

Light-GCN은 원래 유저와 아이템의 상호작용 그래프를 학습하여, 특정 유저와 아이템이 주어졌을 때, 둘이 
상호작용할 확률을 계산합니다. 저희 팀은 갖고 있는 데이터에 맞게 유저와 아이템 노드를 클러스터와 아이템 
노드로 치환해서 사용했습니다. 다음은 학습 데이터 그래프를 시각화한 그림입니다. 큰 원은 클러스터, 작은 원은 
아이템입니다.

스크린샷 2022-06-12 오후 5 27 59

학습 과정

1. Data
Light-GCN은 (클러스터 - 아이템) 쌍을 입력하고, 상호작용 label을 예측하도록 학습시킵니다. 실제로 상호작용한
클러스터 - 아이템 쌍뿐만 아니라, 상호작용 하지 않은 쌍도 무작위로 negative sampling 하여 동일한 개수를 
학습시킵니다.

2. Model Structure
Light-GCN은 클러스터와 아이템을 입력 받은 후, 지정한 깊이만큼 연결된 노드를 따라가면서 정보를 수집합니다. 
가까운 노드일 수록 더 많은 가중치를 둬서 모든 정보를 응축시켜 최종 상호작용 확률 값을 계산합니다. 논문에 
나온 모델 구조 이미지는 아래 첨부했습니다.

3. Inference
모든 학습이 완료된 후, 특정 클러스터와 아이템을 입력하게 되면 둘이 상호작용할 확률을 계산합니다. 

스크린샷 2022-06-12 오후 5 35 54

3. Model Workflow

다음은 모델 입력부터 출력까지를 시각화한 것입니다.

스크린샷 2022-06-13 오전 12 18 14