Genetic programming of online learning

Has anyone seen a GP implemented with online learning rather than standard offline learning? I have done some things with genetic programs, and I just can't figure out what would be a good way to do the learning process online.

Please let me know if you have any ideas, any implementations or any links that I can look at.

+4
source share
3 answers

Using the link on Wikipedia, online learning "teaches one copy at a time." An online / offline label usually refers to how training data is fed into a controlled regression or classification algorithm. Because genetic programming is a heuristic search that uses an evaluation function to evaluate the suitability of its decisions, rather than a set of labeled workouts, these terms do not really apply.

If you ask if the result of the GP algorithm can be used (that is, the best phenotype), although it is still โ€œlookingโ€ for the best solutions, I see no reason why not, assuming this makes sense for your domain / application . Once your GA / GP aggregate reaches a certain threshold, you can apply this solution to your application and continue working with GP, switching to a new solution when it becomes available.

One approach along this line is an algorithm called rtNEAT , which attempts to use the genetic algorithm to generate and update a neural network in real time.

+3
source

I found a few examples by doing a Google scientist search for online genetic programming .

An online method for developing behavior and controlling a miniature robot in real time with genetic programming

In fact, it seems that they have found a way to make the GP modify the machine code of the robot control system during real actions - pretty cool!

The same authors continued to do more related work, such as this improvement:

The evolution of the global model for a miniature robot using genetic programming

I hope their work will be enough to get you started - I do not have enough experience with genetic programming to give you any specific advice.

+1
source

In fact, it seems that they have found a way to make the GP modify the machine code of the robot control system during real actions - pretty cool!

Yes, the department at Uni Dortmund was pretty much a linear GP :-)

Direct execution of GP programs over interpreted code has some advantages, although these days you probably want to go with dynamic languages โ€‹โ€‹such as Java, C # or Obj-C that allow you to write classes / methods at runtime in while you can still benefit from some runtime rather than running on an unprocessed CPU.

The online learning approach does not seem like anything completely new or different from the โ€œclassic GPโ€ to me. As far as I understand, this is just a case of expanding the set of training / fitness tests at runtime?

Cheers, Jay

0
source

Source: https://habr.com/ru/post/1306768/


All Articles