RecSimisaconfigurableplatformforauthoringsimulationenvironmentsforrecommendersystems(RSs)thatnaturallysupportssequentialinteractionwithusers.RecSimallowsthecreationofnewenvironmentsthatreflectparticularaspectsofuserbehavioranditemstructureatalevelofabstractionwell-suitedtopushingthelimitsofcurrentreinforcementlearning(RL)andRStechniquesinsequentialinteractiverecommendationproblems.Environmentscanbeeasilyconfiguredthatvaryassumptionsabout:userpreferencesanditemfamiliarity;userlatentstateanditsdynamics;andchoicemodelsandotheruserresponsebehavior.WeoutlinehowRecSimoffersvaluetoRLandRSresearchersandpractitioners,andhowitcanserveasavehicleforacademic-industrialcollaboration.ForadetaileddescriptionoftheRecSimarchitecturepleasereadIeetal.Pleasecitethepaperifyouusethecodefromthisrepositoryinyourwork.
Bibtex@article{ie2019recsim,title={RecSim:AConfigurableSimulationPlatformforRecommenderSystems},author={EugeneIeandChih-weiHsuandMartinMladenovandVihanJainandSanmitNarvekarandJingWangandRuiWuandCraigBoutilier},year={2019},eprint={1909.04847},archivePrefix={arXiv},primaryClass={cs.LG}}DisclaimerThisisnotanofficiallysupportedGoogleproduct.
What'snew12/13/2019:Added(abstract)classesforbothmulti-userenvironmentsandagents.Addedbanditalgorithmsforgeneralizedlinearmodels.InstallationandSampleUsageItisrecommendedtoinstallRecSimusing(https://pypi.org/project/recsim/):
pipinstallrecsimHowever,thelatestversionofDopamineisnotinPyPIasofDecember,2019.WewanttoinstallthelatestversionfromDopamine'srepositorylikethefollowingbeforeweinstallRecSim.NotethatDopaminerequiresTensorflow1.15.0whichisthefinal1.xreleaseincludingGPUsupportforUbuntuandWindows.
pipinstallgit+https://github.com/google/dopamine.gitHerearesomesamplecommandsyoucouldusefortestingtheinstallation:
gitclonehttps://github.com/google-research/recsimcdrecsim/recsimpythonmain.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=5Youcouldthenstartatensorboardandviewtheoutput
tensorboard--logdir=/tmp/recsim/interest_exploration_full_slate_q/--port=2222Youcouldalsofindthesimulatedlogsin/tmp/recsim/episode_logs.tfrecord
TutorialsTogetstarted,pleasecheckoutourColabtutorials.InRecSim:Overview,wegiveabriefoverviewaboutRecSim.Wethentalkabouteachconfigurablecomponent:environmentandrecommenderagent.
DocumentationPleaserefertothewhitepaperforthehigh-leveldesign.
评论