Hacker News new | ask | show | jobs
by dgb23 2002 days ago
Asking from a layman's perspective:

I've read a bit about genetic algorithms or evolutionary computation at some point. Apparently it achieves good results as it can find discrete solutions for complex, well defined problems.

Reinforcement learning is something I know even less about. But from what I gathered it is also most successful in well defined problems and systems (such as games).

So my question is: How do they relate? Is there overlap and what are the most significant conceptual differences?

3 comments

a big conceptual point in RL is the focus on the Bellman equation. value of a state equals immediate reward plus discounted future value. if you know the value of every state, just always move to pick the highest value.

well known methods like Q-learning are basically just iterative, approximate methods to find solutions to the Bellman equation — i.e. a measure of value for every state of the world, such that the Bellman equation is satisfied.

policy optimization methods don’t do this, but there are still mathematical connections back to the Bellman equation (there is a duality relationship between value functions and policies).

I would say this focus is a big part of what makes the field of RL unique.

Hmm... One way that I look at it is evolutionary computation is an optimization strategy. It's characterized by tracking a population of candidates, discarding the lowest scoring, mutating the survivors, and cross-combining elements from multiple candidates.

RL is an optimization domain. It's the name of the problem, not the solution. You can straightforwardly use evolutionary algorithms on RL problems. However, a lot of the recent success in RL has come from using deep learning to try to solve various RL problems, not from trying evolutionary computation.

While RL is about the problem it's also about the solution. Problems/Environments are formulated in a way where methods can be applied easily (i.e. Markov decision process) and thus the solutions are directly connected to the way the problem is formulated.

Deep learning is used for function approximation and is not in contrast with evolutionary computation. You can train a neutral network policy (mapping states to actions) with an evolutionary algorithm, but most of the success has come from methods that utilize the internal structure of the problem as mentioned earlier and evolutionary algorithms do not, which is what makes these optimization strategies both weak and powerful.

That makes sense thank you! It's easy to conflate the concept/problem with the tool as an outsider.
And it doesn't help that popular sources are perfectly happy to just call things AI or RL and leave it at that. The popular discourse around AI sometimes sounds like "How do computers work? Programming. How does google work? Programming. How do games work? Programming." Like, they're not wrong, just too vague to be useful.
Genetic algorithms randomly change things and then test to see if they're better. Reinforcement learning does analysis on past observations and then makes deliberate improvements.