RecSim は、ユーザーとの逐次対話を自然にサポートするレコメンダー システム (RS) のシミュレーション環境を作成するための構成可能なプラットフォームです。 RecSim を使用すると、逐次対話型レコメンデーション問題における現在の強化学習 (RL) および RS 技術の限界を押し上げるのに適した抽象化レベルで、ユーザーの行動と項目構造の特定の側面を反映する新しい環境を作成できます。ユーザーの好みやアイテムの馴染み度などに関する前提を変える環境を簡単に構成できます。ユーザーの潜在的な状態とそのダイナミクス。選択モデルとその他のユーザー応答行動。 RecSim が RL および RS の研究者や実践者にどのように価値を提供するか、また RecSim が産学連携の手段としてどのように機能するかを概説します。 RecSim アーキテクチャの詳細な説明については、Ie et al. を参照してください。このリポジトリのコードを仕事で使用する場合は、論文を引用してください。
@article{ie2019recsim,
title={RecSim: A Configurable Simulation Platform for Recommender Systems},
author={Eugene Ie and Chih-wei Hsu and Martin Mladenov and Vihan Jain and Sanmit Narvekar and Jing Wang and Rui Wu and Craig Boutilier},
year={2019},
eprint={1909.04847},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
これは正式にサポートされている Google 製品ではありません。
(https://pypi.org/project/recsim/) を使用して RecSim をインストールすることをお勧めします。
pip install recsim
ただし、2019 年 12 月時点では、Dopmine の最新バージョンは PyPI に存在しません。RecSim をインストールする前に、以下のように Dopmine のリポジトリから最新バージョンをインストールしたいと思います。 Dopmine には、Ubuntu および Windows の GPU サポートを含む最終 1.x リリースである Tensorflow 1.15.0 が必要であることに注意してください。
pip install git+https://github.com/google/dopamine.git
インストールのテストに使用できるサンプル コマンドをいくつか示します。
git clone https://github.com/google-research/recsim
cd recsim/recsim
python main.py --logtostderr
--base_dir="/tmp/recsim/interest_exploration_full_slate_q"
--agent_name=full_slate_q
--environment_name=interest_exploration
--episode_log_file='episode_logs.tfrecord'
--gin_bindings=simulator.runner_lib.Runner.max_steps_per_episode=100
--gin_bindings=simulator.runner_lib.TrainRunner.num_iterations=10
--gin_bindings=simulator.runner_lib.TrainRunner.max_training_steps=100
--gin_bindings=simulator.runner_lib.EvalRunner.max_eval_episodes=5
その後、テンソルボードを開始して出力を表示できます。
tensorboard --logdir=/tmp/recsim/interest_exploration_full_slate_q/ --port=2222
シミュレートされたログは /tmp/recsim/episode_logs.tfrecord にもあります。
まずは、Colab チュートリアルをご覧ください。 RecSim: 概要では、RecSim についての簡単な概要を説明します。次に、構成可能な各コンポーネント (環境とレコメンダー エージェント)について説明します。
高度な設計についてはホワイトペーパーを参照してください。