dqn4wirelesscontrol
dqn4wirelesscontrol copied to clipboard
Python Q learning implementations and application examples in wireless networks
DQN for Wireless Control
This projects provides a modular python-based deep reinforcement learning implementation as well as an example application in wireless network control.
The package currently implements both the canonnical table-based Q learning agent in rl.qtable.QAgent and the more recent neuron-network-based version, a.k.a deep q network (DQN), using Theano and Lasagne in rl.qnn_theano.QAgentNN.
A set of additional agent features have also been implemented as Mixin classes in rl.mixin.
- In non-Markovian environments,
PhiMixincan be used with either type of agents to stack the historical observation into a augmented observation vector. - For a better exploration and exploitation tradeoff, we implemented a anealing mixin class in
AnealMixinfor gradually decrease exploration rate. - When a environment model is available,
DynaMixincan be used to incorporate planning into the learnign process.
For testing, we provide a simple maze example in rl.simple_env.SimpleMaze.
The wireless networking application is dynamic online base station sleeping control.