데이터과학 삼학년

RECSIM: A Configurable Simulation Platform for Recommender System (2019) 본문

Papers

RECSIM: A Configurable Simulation Platform for Recommender System (2019)

Dan-k 2021. 6. 2. 20:00
반응형

RECSIM: A Configurable Simulation Platform for Recommender System (2019)

Basic Knowledge

  • 전통적인 추천 시스템은 유저 행동에 기반한 한시적 추천에 중점을 맞추는 반면, 최근 모델들은 유저 행동과 선호를 기반으로 순차적인 상호작용을 반영하여  최적의 추천 시스템을 만들고 있음
  • 이러한 추천방식은 collaborative interactive recomender (CIRs)로 알려져 있으며, 자연어처리와 딥러닝과 같은 영역에서 주로 사용되고 있음
  • 최근에 google은 CIRs의 시뮬레이션 환경을 만드는 플랫폼인 RecSim을 발표함
  • 기존 CIRs의 한계는 다른 유저들의 상호작용 시나리오에 대해 시뮬레이션하기 어렵다는 것이었음
  • 강화학습 시스템이 CIRs 실험에 이상적이기 때문에 주목할만한 도전들이 있음
  • Recsim은 configurable platform
  • Recsim은 generic, perfect한 시뮬레이터를 만든다기 보다는 실세계에서 관찰된 유저행동의 특정 양상을 mirroring하는데 초점이 맞춰져 있음
  • Recsim은 user model, document model, user choice model로 이루어진 환경을 토대로 추천을 시뮬레이트함

  • user, docuent, user-choice 모델은 유저에게 documents의 후보를 추천함으로써 서로 환경에 영향을 주기 때문에, Recsim은 관찰할수 있는 유저와 후보 documents feature를 사용하여 추천을 구성함
  •  Document model
  • User model
  • RecSim agent 가 유저에게 Document를 추천할때, 반응은 user-choice model에 기반하여 결정되어 짐
  • document 가 소모되면, user states 는 변이를 겪게 되는데 configurable한 user transition model을 통해 이루어짐

  • RecSim의 또 다른 중요한 구성요소는 agents와 환경간의 상호작용을 컨트롤할수 있는 구조적 요소임
  • interaction은 6가지 기초 단계로 이루어져 있음
  1. 시뮬레이터는 user model로 부터 user state(유저 상태)를 요청함
  2. 시뮬레이터는 후보 documents와 관찰할수 있는 유저 state의 portion을 agents에게 보낸다
  3. agents는 현재 정책을 현재 청책을 시뮬레이터에게 slate로 돌려 보낸다. 
  4. 시뮬레이터는 추천된 documents의 slates(조각)을 전달하고, 전체 user state를 user choice model에 보낸다
  5. 구체화된 선택과 반응 function을 사용하여 user choice model은 가능한 통계적인 유저 선택과 반응을 generates한다
  6. 시뮬레이터는 user 의 선택과 반응을 전달함
  • Recsim은 CIRs의 능률적은 테스트와 검증을 위해 매우 독특한 접근을 한다 (딥러닝을 기반으로)

 

Abstract

  • Recsim은 cofigurable한 platform으로 추천시스템을 시뮬레이팅하기 위한 도구임
  • RecSim은 특정한 유저 행동과 item 구조를 반영한 새로운 환경을 만들어 낼 수 있음
  • 환경은 쉽게 구성되어 진다 (다양한 가정에 기반하여)
  • 즉, 기존 Collaborative Interaction Recommenders (CIRs)에서 겪고 있는 문제들을 RecSim을 통해 어느 정도 해결 가능함

1. Introduction 

  • 완벽한 시뮬레이터를 만드는 것이 아닌 특정한 유저 행동의 양상을 실세계에서 찾아 mirroring하고, 추천 모델 알고리즘을 비교 평가하기 위해 RecSim을 만듦
  • Recsim의 목적은 연구 공통체 안에 모델들을 공유하고, 재생산성을 높이기 위함
  • 강화학습에 관심있는 추천 연구자들에게 RecSim은 큰 도움을 줄수 있음

1.1 RECSIM : A Brief Sketch 

  • RecSim의 환경은 user model, document model, user-choice model로 이루어져 있음
  • 추천 agent는 document의 일부를 유저에게 추천함으로서 이러한 환경들과 상호작용을 함
  • agent는 유저의 관찰할수 있는 feature와 추천할 후보 document에 대한 접근권한을 가지고 있음 
  • user model은 user별 성격, 만족, 흥미와 같은 잠재요소와 session 길이, 방문수, time budget과 같은 행동기반 feature를 포함하여 user features를 샘플링함
  • document model은  이전 document features로부터 항목들을 샘플링함
  • user response는 user choice model에 의해 결정됨
  • document가 추천되고 나면 user state는 변이모델에 의해 수정됨
  • 개발자들은 이 시뮬레이션 시스템을 통해 전체적으로 user의 engagement를 평가할수 있게 됨 → RS와 RL 모델의 비교가 가능해짐

1.2 RECSIM and RL

  • RecSim의 motivation은 새로운 RL(강화학습) 알고리즘을 추천 시스템에 이용할 수 있는 환경을 제공하는 것임
  • 많은 분야에서 (게임,로봇,물리시스템 등) 강화학습을 사용하고 있고, 추천 시스템에서도 강화학습의 사용이 매우 도전적인 과제로 진행되고 있음
  • 그러나 강화학습을 실세계 추천 시스템에 적용하는 것은 보편적으로 연구하기 쉽지는 않음 (아래는 RL 적용이 어려운 이유들에 대해 서술함)

1.3 RECSIM and RecSys

  • 유저의 상태가 변할수 있다는 환경은 강화학습뿐만 아니라 추천시스템에도 어려운 문제를 야기시킴
  • 전통적인 추천 시스템은 유저의 통계를 기반하여 다뤄졋음
  • 그러나 최근, 추천 연구는 순차적인 패턴에 대해 연구하기 시작했음
  • 이러한 순차성(sequence)을 최적화하는데 강화학습의 적용에 대한 흥미는 추천 시스템에 강화학습을 도입하는데 박차를 가하고 있음
  • Recsim은 시스템적으로 강화학습 방법을 추천시스템에 적용할 수 있도록 도울 것임

1.4 Non-objectives

  • Recsim의 주요 목적은 간단한 환경(사양) 구성과 주요 환경 구성요소를 공유하는 것임 (순차성을 가진 추천 상호작용을 시뮬레이팅하는데 있어서)
  • 학습 알고리즘 (collaborative filtering or reinforcement learning agents)와 같은 것들은 제공하지 않음
  • 주요 목적은 개발, 분석, 비교 등을 지원하는 것
  • 연구자의 주관이나 세팅된 환경보다는 새로운 추천 환경을 계속해서 만드는 도구

2. Related Work

2.1 RL Platforms

  • 시뮬레이션은 강화학습 방법의 평가 목적으로 사용됨
  • 주로 OpenAI Gym을 이용하여 강화학습 환경들을 구성
  • RecSim은 OpenAI Gym의 환경 제공 강점을 취함
  • ReSim 사용을 위해 configured 하면, 전체적인 환경은 OpenAI gym으로 쌓여지고, 강화학습을 위한 실험과 평가를 할 수 있음
  • Dopamine framework은 다양한 강화학습 방법을 단순 실행 시킴으로 빠르게 새로운 알고리즘을 개발하는 것을 도움
  • RecSim 역시 Dopamine이 통합되어 있는 형태임

2.2 RecSys and Dialogue Environments

  • RecoGym 은 OpenAI Gym 기반의 강화학습을 이용한 추천시스템 시뮬레이션 환경
  • 유저 행동 기반의 추천시스템은 초기에 rule-based 방법으로 접근했음
  • 비슷한 룰 기반 환경은 최근에 dialogue agents를 평가하기 위한 방법으로 고안됨
  • 더 최근에는 GAN을 이용하여 가상 유저를 생성한 추천 시스템으로 발전하고 있음  
  • 시스템이나 상업적 상품에 따라 환경 구성이 다르기 때문에 RecSim은 환경을 styled 할 수 있도록 구성함

3.  Simulation Components 

  • RecSim의 주요 구성 요소에 대해 3.1에서 살펴보고, 각각의 역할과 상호작용에 대해 3.2에서 확인할 수 있음

3.1 Main Components

  • fig.1이 RecSim의 주요 구성요소를 설명
  • 추천 agents는 documents의 slates를 user에게 추천 함으로써 환경과 상호작용을 함
  • 관찰 가능한 user와 후보 document feature를 사용하여 추천함
  • 많은 강화학습 추천 agents 가 관찰 가능한 history를 사용하기 때문에 RecSim 툴에 history를 넣을 수 있도록 함
  • document model은 이전 document feature로부터 샘플링을 함 (최근 feature를 포함하여)
  • user model도 이전 user 특성으로 부터 user를 샘플링하여 사용함
  • agent가 유저에게 documents를 추천할때, user 반응은 user-choice model에 의해 결정됨
  • RecSim은 dynamic Bayesian network 로 확률 분포를 결정할 수 있음

  • RecSim이 기본 환경과 recommender agents를 가지고는 있지만 개발자가 직접 추천 알고리즘에 맞는 환경을 구성할 필요가 있음

3.2 SlateQ Simulation Environment

  • RecSim 구성요소를 어떻게 configuration 할 수 있는지 보여주기 위해 아래 fig.2와 같은 가상 환경을 구성함

4. Software Architecture

4.1 Simulator

  • 시뮬레이터는 아래와 같은 step으로 진행됨
  1. user 상태를 user model로부터 얻음 / ducument model에 추천할 feature들을 내놓으라고 call
  2. 시뮬레이터가 user 상태와 추천할 feature를 agents에 보냄
  3. agent가 현재 설정된 정책을 사용해서 시뮬레이터에 추천할 아이템인 slate를 되돌려줌
  4. 시뮬레이터는 추천된 slates 와 유저 상태를 user-choice model에 보냄
  5. 선택 model에 따라 user-choice model은 유저의 선택(반응)을 생성해내고 다시 그 결과를 시뮬레이터에 보냄
  6. 시뮬레이터는 user 선택과 반응을 보냄
  • 위의 step대로 ㅗ시뮬레이터는 순차적으로 시뮬레이션을 지속함
  • 각 episode는 multi-turn history로 남음(agent와 single user간 상호작용 기록)
  • 설정된 iteration을 반복하며 log 결과들을 모음




4.2 Environment

  • 환경은 api를 제공하며, configuration을 다 구성하면, OpenAI Gym으로 wrapped 된 환경이 구성됨

4.3 Recommender Agent Architecture

  • RecSim은 hierachical agent layer을 쌓을수 있도록 제공됨
  • 계층적 agent layer는 추천 slates를 구체화하지 못하지만 1개 이상의 agents는 이것을 할 수 있음
  • RecSim은 베이스라인 agents를 제공함
  • slateQ agent는 DQN 기반으로 구성되어 있음
  • Random agent는 중복되지 않은 random한 slate를 추천함

 

5. Case Studies

  • 3가지 use case를 만들었음

5.1 Latent State Bandits

  • 즉각적인 보상과 장기간 보상사이의 tradeoff 가 모델에 어떤 영향을 끼치는지 실험함
  • 환경은 user를 샘플링하는데 user의 잠재적 흥미는 즉각적으로 관찰되지 않게 설정됨
  • agent는 다양한 실험전략을 통해 유저의 흥미를 발견해낼수 있음
  • 하나의 아이템 추천 환경은 topic의 set을 가정하고, document의 분포도 주어짐
  • 아래 표는 다른 전략을 적용했을때 결과를 나타냄
  • 후자의 세개 모델은 클릭율이 높은것 확인

 

[생략]

5.2 Tractable Decomposition for Slate RL

5.3 AdvantageAmplificationoverLongHorizons

6 Next Steps

---


참조 

Ie, Eugene, et al. "Recsim: A configurable simulation platform for recommender systems." arXiv preprint arXiv:1909.04847 (2019).

https://medium.com/dataseries/googles-recsim-is-an-open-source-simulation-framework-for-recommender-systems-9a802377acc2

 

728x90
반응형
LIST
Comments