Gorio Tech Blog search

Recommendation for new users & items via randomized training and M-o-E transformation 요약 설명

|

목차

이번 글에서는 Recommendation for new users & items via randomized training and M-o-E transformation 논문의 핵심 포인트만 간추려서 기술합니다.

본 논문에서는 일반적인 CF 구조의 문제를 3가지로 지적합니다.

  • 최종 loss는 CF loss + Transformation loss로 이루어지는데, seperate-training (user/item representation을 별도로 학습) 방법의 경우 이를 따로 따로 학습하다 보니 괴리가 발생함
  • 한 번에 학습하는 joint-training의 경우 user/item feature를 받아들이는 transformation layer와 최종 output layer와의 거리가 너무 멀어 효과적인 학습이 일어나지 않음
  • 일반적으로 side information은 noisy & complex하므로 unified transformation으로 주요 정보를 잘 포착하여 개인화된 결과를 만들어내는 것은 힘듦

논문에서는 이를 해결하기 위해 Heater라는 구조를 제안하고, 이는 크게 3가지 부분으로 이루어져 있습니다.

  • user/item feature를 input으로 받아들여 생성된 intermediate vector(최종 output vector 아님)는 양질의 representation이 아니므로 미리 학습된 high-quality의 cf representation을 가져와 이 둘 사이의 차이를 줄이는 guide objective function을 설정하고, 이를 최종 objective 함수에 포함함
  • 하지만 이 또한 역시 충분하지 않을 수 있으므로 Randomized Training이라는 방법을 사용하는데, 일정 확률 p를 설정하여 intermediate vector 대신 pre-trained high-quality cf representation을 사용함
  • side information을 단일 transformation 함수로 변환하는 것은 다양한 input을 충분히 수용할 수 없기 때문에 Mixture-of-Experts 구조, 즉 여러 MLP layer의 가중합으로 output을 생성하도록 함

재미있는 아이디어가 많지만, 실제로 쉽게 활용하기는 어렵지 않나 하는 생각이 드는 논문이었습니다. 일단 논문에서 이야기한 구조를 구현하기 위해서는 high-quality cf representation을 먼저 얻어야 합니다. 그런데 이 임베딩의 성능 또한 결국 실험을 통해 파악할 수 밖에 없습니다. Randomized Training은 바로 위 부분에 의해 영향을 받습니다. 그리고 확실하진 않지만 MLP layer의 가중합이 단일 MLP layer 보다는 나을 수 있겠지만 최근 몇 년 사이에 등장한 여러 구조에 비해 무엇이 나은 것인지는 잘 모르겠다는 생각도 듭니다.