Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Training a Neural Network with Reinforcement learning

I know the basics of feedforward neural networks, and how to train them using the backpropagation algorithm, but I'm looking for an algorithm than I can use for training an ANN online with reinforcement learning.

For example, the cart pole swing up problem is one I'd like to solve with an ANN. In that case, I don't know what should be done to control the pendulum, I only know how close I am to the ideal position. I need to have the ANN learn based on reward and punishment. Thus, supervised learning isn't an option.

Another situation is something like the snake game, where feedback is delayed, and limited to goals and anti-goals, rather than reward.

I can think of some algorithms for the first situation, like hill-climbing or genetic algorithms, but I'm guessing they would both be slow. They might also be applicable in the second scenario, but incredibly slow, and not conducive to online learning.

My question is simple: Is there a simple algorithm for training an artificial neural network with reinforcement learning? I'm mainly interested in real-time reward situations, but if an algorithm for goal-based situations is available, even better.

like image 638
Kendall Frey Avatar asked May 23 '12 14:05

Kendall Frey


People also ask

Can you use reinforcement learning to train a neural network?

Deep reinforcement learning combines artificial neural networks with a framework of reinforcement learning that helps software agents learn how to reach their goals. That is, it unites function approximation and target optimization, mapping states and actions to the rewards they lead to.

Which algorithm is commonly used to train feedforward neural networks reinforcement learning?

The proposed FFNN is a two-layered network with sigmoid hidden neurons and linear output neurons. The network is trained using the LMBP algorithm.

How is training done in reinforcement learning?

Training: The training is based upon the input, The model will return a state and the user will decide to reward or punish the model based on its output. The model keeps continues to learn. The best solution is decided based on the maximum reward.


1 Answers

There are some research papers on the topic:

  • Efficient Reinforcement Learning Through Evolving Neural Network Topologies (2002)
  • Reinforcement Learning Using Neural Networks, with Applications to Motor Control
  • Reinforcement Learning Neural Network To The Problem Of Autonomous Mobile Robot Obstacle Avoidance

And some code:

  • Code examples for neural network reinforcement learning.

Those are just some of the top google search results on the topic. The first couple of papers look like they're pretty good, although I haven't read them personally. I think you'll find even more information on neural networks with reinforcement learning if you do a quick search on Google Scholar.

like image 151
Kiril Avatar answered Sep 19 '22 04:09

Kiril