スマートフォンで人工生命数十体がリアルタイムに学習可能な深層強化学習
- 2018が推奨
- ScriptingRuntimeVersionを必ず.NET4.Xにして動かして下さい
git clone --recursive https://github.com/dwango/RLCreature.git
- git-lfsが必要です
- MessagePack-CSharp
- https://github.com/neuecc/MessagePack-CSharp/releases
- unitypackageをダウンロードしてインストールしてください
- https://github.com/neuecc/MessagePack-CSharp/releases
- UniRX
- Standard Assets
- Assets/RLCreature/Sample/RandomCreatures
- Assets/RLCreature/Sample/DesignedCreatures
- Assets/RLCreature/Sample/VariousHeights
- Assets/RLCreature/Sample/Driving
- Assets/RLCreature/Sample/SimpleHunting
see Assets/RLCreature/Sample/DesignedCreatures/DesignedCreaturesEntryPoint.cs
// Instantiate prefab (see Assets/RLCreature/Sample/DesignedCreatures/CreaturePrefabs)
var centralBody = Instantiate(creaturePrefab);
// Add Sensor and Mouth for food
Sensor.CreateComponent(centralBody, typeof(Food), State.BasicKeys.RelativeFoodPosition, range: 100f);
Mouth.CreateComponent(centralBody, typeof(Food));
// Initialize Brain
var actions = LocomotionAction.EightDirections();
var sequenceMaker = new EvolutionarySequenceMaker(epsilon: 0.1f, minimumCandidates: 30);
var decisionMaker = new ReinforcementDecisionMaker();
var souls = new List<ISoul>() {new GluttonySoul()};
var brain = new Brain(decisionMaker, sequenceMaker);
var agent = Agent.CreateComponent(creatureRootGameObject, brain, new Body(centralBody), actions, souls);
@inproceedings{ogaki2018,
author = {Keisuke Ogaki and Masayoshi Nakamura},
title = {Real-Time Motion Generation for Imaginary Creatures Using Hierarchical Reinforcement Learning},
booktitle = {ACM SIGGRAPH 2018 Studio},
year = {2018},
publisher = {ACM}
}