250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- tensorflow text
- Airflow
- hadoop
- flask
- TensorFlow
- airflow subdag
- UDF
- GenericGBQException
- youtube data
- requests
- grad-cam
- API Gateway
- Counterfactual Explanations
- integrated gradient
- 상관관계
- login crawling
- correlation
- BigQuery
- Retry
- gather_nd
- top_k
- subdag
- GCP
- 공분산
- chatGPT
- session 유지
- 유튜브 API
- XAI
- API
- spark udf
Archives
- Today
- Total
데이터과학 삼학년
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가지 기초 단계로 이루어져 있음
- 시뮬레이터는 user model로 부터 user state(유저 상태)를 요청함
- 시뮬레이터는 후보 documents와 관찰할수 있는 유저 state의 portion을 agents에게 보낸다
- agents는 현재 정책을 현재 청책을 시뮬레이터에게 slate로 돌려 보낸다.
- 시뮬레이터는 추천된 documents의 slates(조각)을 전달하고, 전체 user state를 user choice model에 보낸다
- 구체화된 선택과 반응 function을 사용하여 user choice model은 가능한 통계적인 유저 선택과 반응을 generates한다
- 시뮬레이터는 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으로 진행됨
- user 상태를 user model로부터 얻음 / ducument model에 추천할 feature들을 내놓으라고 call
- 시뮬레이터가 user 상태와 추천할 feature를 agents에 보냄
- agent가 현재 설정된 정책을 사용해서 시뮬레이터에 추천할 아이템인 slate를 되돌려줌
- 시뮬레이터는 추천된 slates 와 유저 상태를 user-choice model에 보냄
- 선택 model에 따라 user-choice model은 유저의 선택(반응)을 생성해내고 다시 그 결과를 시뮬레이터에 보냄
- 시뮬레이터는 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).
728x90
반응형
LIST
'Papers' 카테고리의 다른 글
Heterogeneous Graph Neural Networks for Extractive Document Summarization (2020) (0) | 2022.05.06 |
---|---|
Multivariate recurrence plots (2004) (0) | 2021.01.04 |
Forecasting at Scale (2018) - Prophet 소개 (0) | 2020.12.10 |
Anomaly Detection in Time Series Data Based on Unthresholded Recurrence Plots (2018) (0) | 2020.12.02 |
Universal Sentence Encoder (2018) (0) | 2020.08.06 |