Knowledge

Neuroevolution of augmenting topologies

Source 📝

214:
have the potential to adapt to changing conditions and learn new behaviors as they carry out their tasks. The online evolutionary process is implemented according to a physically distributed island model. Each robot optimizes an internal population of candidate solutions (intra-island variation), and two or more robots exchange candidate solutions when they meet (inter-island migration). In this way, each robot is potentially self-sufficient and the evolutionary process capitalizes on the exchange of controllers between multiple robots for faster synthesis of effective controllers.
114:
genes by the use of a global innovation number which increases as new genes are added. When adding a new gene the global innovation number is incremented and assigned to that gene. Thus the higher the number the more recently the gene was added. For a particular generation if an identical mutation occurs in more than one genome they are both given the same number, beyond that however the mutation number will remain unchanged indefinitely.
61:. It alters both the weighting parameters and structures of networks, attempting to find a balance between the fitness of evolved solutions and their diversity. It is based on applying three key techniques: tracking genes with history markers to allow crossover among topologies, applying speciation (the evolution of species) to preserve innovations, and developing topologies incrementally from simple initial structures ("complexifying"). 151:
population. When a network's timer expires, its current fitness measure is examined to see whether it falls near the bottom of the population, and if so, it is discarded and replaced by a new network bred from two high-fitness parents. A timer is set for the new network and it is placed in the population to participate in the ongoing evaluations.
213:
odNEAT is an online and decentralized version of NEAT designed for multi-robot systems. odNEAT is executed onboard robots themselves during task execution to continuously optimize the parameters and the topology of the artificial neural network-based controllers. In this way, robots executing odNEAT
81:
Traditionally, a neural network topology is chosen by a human experimenter, and effective connection weight values are learned through a training procedure. This yields a situation whereby a trial and error process may be necessary in order to determine an appropriate topology. NEAT is an example of
154:
The first application of rtNEAT is a video game called Neuro-Evolving Robotic Operatives, or NERO. In the first phase of the game, individual players deploy robots in a 'sandbox' and train them to some desired tactical doctrine. Once a collection of robots has been trained, a second phase of play
113:
and is represented by , if this genome is crossed with an identical genome (in terms of functionality) but ordered crossover will yield children that are missing information ( or ), in fact 1/3 of the information has been lost in this example. NEAT solves this problem by tracking the history of
93:-like feed-forward network of only input neurons and output neurons. As evolution progresses through discrete steps, the complexity of the network's topology may grow, either by inserting a new neuron into a connection path, or by creating a new connection between (formerly unconnected) neurons. 150:
In 2003, Stanley devised an extension to NEAT that allows evolution to occur in real time rather than through the iteration of generations as used by most genetic algorithms. The basic idea is to put the population under constant evaluation with a "lifetime" timer on each individual in the
85:
In order to encode the network into a phenotype for the GA, NEAT uses a direct encoding scheme which means every connection and neuron is explicitly represented. This is in contrast to indirect encoding schemes which define rules that allow the network to be constructed without explicitly
163:
An extension of Ken Stanley's NEAT, developed by Colin Green, adds periodic pruning of the network topologies of candidate solutions during the evolution process. This addition addressed concern that unbounded automated growth would generate unnecessary structure.
264:
Erin J. Hastings, Ratan K. Guha, and Kenneth O. Stanley (2009). "Automatic Content Generation in the Galactic Arms Race Video Game ". IEEE Transactions on Computational Intelligence and AI in Games, volume 4, number 1, pages 245-263, New York: IEEE Press,
254:
Matthew E. Taylor, Shimon Whiteson, and Peter Stone (2006). "Comparing Evolutionary and Temporal Difference Methods in a Reinforcement Learning Domain". GECCO 2006: Proceedings of the Genetic and Evolutionary Computation
197:, a space-shooter game in which unique particle system weapons are evolved based on player usage statistics. Each particle system weapon in the game is controlled by an evolved 275:
Silva, Fernando; Urbano, Paulo; Correia, Luís; Christensen, Anders Lyhne (2015-09-15). "odNEAT: An Algorithm for Decentralised Online Evolution of Robotic Controllers".
82:
a topology and weight evolving artificial neural network (TWEANN) which attempts to simultaneously learn weight values and an appropriate topology for a neural network.
155:
allows players to pit their robots in a battle against robots trained by some other player, to see how well their training regimens prepared their robots for battle.
223: 101:
The competing conventions problem arises when there is more than one way of representing information in a phenotype. For example, if a genome contains neurons
69:
On simple control tasks, the NEAT algorithm often arrives at effective networks more quickly than other contemporary neuro-evolutionary techniques and
245:
Kenneth O. Stanley and Risto Miikkulainen (2002). "Evolving Neural Networks Through Augmenting Topologies". Evolutionary Computation 10 (2): 99-127
193:
Content-Generating NEAT (cgNEAT) evolves custom video game content based on user preferences. The first video game to implement cgNEAT is
802: 137:
interpreter. This implementation of NEAT is considered the conventional basic starting point for implementations of the NEAT algorithm.
780: 812: 678: 669: 58: 807: 492: 642: 582: 759:- A 3D version of Picbreeder, where you interactively evolve 3D objects that are encoded with CPPNs and evolved with NEAT. 688: 651: 629: 616: 607: 134: 722: 817: 660: 638: 573: 464:
Proceedings of the Artificial Intelligence and Interactive Digital Entertainment Conference (AIIDE 2005) Demo Papers
126: 706: 42: 591: 500:
IAAI 2007: Proceedings of the Nineteenth Annual Innovative Applications of Artificial Intelligence Conference
456: 786: 349: 70: 762: 783:- A visual tutorial series on NEAT, including solving the classic pole balancing problem using NEAT in R 434: 17: 513: 354: 503: 390: 375: 310: 194: 54: 455:
Kenneth O. Stanley; Ryan Cornelius; Risto Miikkulainen; Thomas D’Silva & Aliza Gold (2005).
775: 367: 302: 38: 408: 359: 334: 292: 284: 117:
These innovation numbers allow NEAT to match up genes which can be crossed with each other.
475:"Comparing Evolutionary and Temporal Difference Methods in a Reinforcement Learning Domain" 726: 595: 447: 50: 474: 517: 521: 202: 46: 796: 427:"Phased Searching with NEAT: Alternating Between Complexification And Simplification" 426: 314: 86:
representing every connection and neuron, allowing for more compact representation.
548: 379: 561: 540: 612: 181:
is specialized to evolve large scale structures. It was originally based on the
398:
Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2002)
363: 767: 693: 482:
GECCO 2006: Proceedings of the Genetic and Evolutionary Computation Conference
90: 391:"Efficient Reinforcement Learning Through Evolving Neural Network Topologies" 718: 625: 416:
Proceedings of the 2003 IEEE Congress on Evolutionary Computation (CEC-2003)
178: 173: 130: 674: 371: 306: 557: 288: 665: 493:"Stochastic Optimization for Collision Selection in High Energy Physics" 771: 508: 297: 599: 544: 409:"Evolving Adaptive Neural Networks with and without Adaptive Synapses" 684: 587: 407:
Kenneth O. Stanley; Bobby D. Bryant & Risto Miikkulainen (2003).
702: 578: 697: 603: 552: 634: 125:
The original implementation by Ken Stanley is published under the
753:- Online, collaborative art generated by CPPNs evolved with NEAT. 565: 198: 182: 787:"Artificial intelligence learns Mario level in just 34 attempts 774:
video demonstrating an implementation of NEAT learning to play
647: 569: 473:
Matthew E. Taylor; Shimon Whiteson & Peter Stone (2006).
756: 744: 732: 750: 621: 335:"Evolving Neural Networks Through Augmenting Topologies" 738: 27:
Genetic algorithm for making artificial neural networks
656: 389:
Kenneth O. Stanley & Risto Miikkulainen (2002).
333:
Kenneth O. Stanley & Risto Miikkulainen (2002).
733:"Evolutionary Complexity Research Group at UCF" 491:Shimon Whiteson & Daniel Whiteson (2007). 201:, similarly to the evolution technique in the 241: 239: 224:Evolutionary acquisition of neural topologies 8: 457:"Real-Time Learning in the NERO Video Game" 185:theory and is an active field of research. 768:MarI/O - Machine Learning for Video Games 507: 353: 296: 739:NERO: Neuro-Evolving Robotic Operatives 235: 31:NeuroEvolution of Augmenting Topologies 735:- Ken Stanley's current research group 443: 432: 18:NeuroEvolution of Augmented Topologies 7: 763:BEACON Blog: What is neuroevolution? 41:(GA) for the generation of evolving 747:- an example application of cgNEAT 741:- an example application of rtNEAT 624:(not an exact implementation) and 25: 789:NEAT explained via MarI/O program 59:The University of Texas at Austin 598: (archived 2021-05-15)) and 89:The NEAT approach begins with a 1: 681:(not an exact implementation) 729: (archived 2023-12-05)) 834: 803:Artificial neural networks 364:10.1162/106365602320169811 171: 43:artificial neural networks 707:Go (programming language) 205:interactive art program. 813:Evolutionary computation 342:Evolutionary Computation 277:Evolutionary Computation 49:technique) developed by 808:Evolutionary algorithms 745:GAR: Galactic Arms Race 442:Cite journal requires 71:reinforcement learning 129:. It integrates with 97:Competing conventions 425:Colin Green (2004). 289:10.1162/evco_a_00141 518:2006hep.ex....7012W 818:Genetic algorithms 757:"EndlessForms.com" 195:Galactic Arms Race 55:Risto Miikkulainen 776:Super Mario World 57:in 2002 while at 39:genetic algorithm 16:(Redirected from 825: 781:"GekkoQuant.com" 751:"PicBreeder.org" 528: 526: 520:. Archived from 511: 497: 485: 479: 467: 461: 451: 445: 440: 438: 430: 419: 413: 401: 395: 383: 357: 339: 319: 318: 300: 272: 266: 262: 256: 252: 246: 243: 21: 833: 832: 828: 827: 826: 824: 823: 822: 793: 792: 727:Wayback Machine 715: 596:Wayback Machine 536: 534:Implementations 531: 524: 495: 490: 477: 472: 459: 454: 441: 431: 424: 411: 406: 393: 388: 355:10.1.1.638.3910 337: 332: 328: 323: 322: 274: 273: 269: 263: 259: 253: 249: 244: 237: 232: 220: 211: 191: 176: 170: 161: 148: 143: 123: 99: 79: 67: 51:Kenneth Stanley 28: 23: 22: 15: 12: 11: 5: 831: 829: 821: 820: 815: 810: 805: 795: 794: 791: 790: 784: 778: 765: 760: 754: 748: 742: 736: 730: 714: 713:External links 711: 710: 709: 700: 691: 682: 672: 663: 654: 645: 632: 619: 610: 585: 576: 555: 535: 532: 530: 529: 527:on 2015-10-28. 509:hep-ex/0607012 487: 486: 469: 468: 452: 444:|journal= 421: 420: 403: 402: 385: 384: 329: 327: 324: 321: 320: 283:(3): 421–449. 267: 257: 247: 234: 233: 231: 228: 227: 226: 219: 216: 210: 207: 203:NEAT Particles 190: 187: 172:Main article: 169: 166: 160: 159:Phased pruning 157: 147: 144: 142: 139: 122: 121:Implementation 119: 98: 95: 78: 75: 66: 63: 47:neuroevolution 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 830: 819: 816: 814: 811: 809: 806: 804: 801: 800: 798: 788: 785: 782: 779: 777: 773: 769: 766: 764: 761: 758: 755: 752: 749: 746: 743: 740: 737: 734: 731: 728: 724: 723:NEAT Homepage 720: 719:NEAT Homepage 717: 716: 712: 708: 704: 701: 699: 695: 692: 690: 686: 683: 680: 676: 673: 671: 667: 664: 662: 658: 655: 653: 649: 646: 644: 640: 636: 633: 631: 627: 623: 620: 618: 614: 611: 609: 605: 601: 597: 593: 589: 586: 584: 580: 577: 575: 571: 567: 563: 559: 556: 554: 550: 546: 542: 538: 537: 533: 523: 519: 515: 510: 505: 501: 494: 489: 488: 483: 476: 471: 470: 465: 458: 453: 449: 436: 428: 423: 422: 417: 410: 405: 404: 399: 392: 387: 386: 381: 377: 373: 369: 365: 361: 356: 351: 348:(2): 99–127. 347: 343: 336: 331: 330: 325: 316: 312: 308: 304: 299: 294: 290: 286: 282: 278: 271: 268: 261: 258: 251: 248: 242: 240: 236: 229: 225: 222: 221: 217: 215: 208: 206: 204: 200: 196: 188: 186: 184: 180: 175: 167: 165: 158: 156: 152: 145: 140: 138: 136: 132: 128: 120: 118: 115: 112: 108: 104: 96: 94: 92: 87: 83: 76: 74: 72: 64: 62: 60: 56: 52: 48: 44: 40: 36: 32: 19: 694:EvolutionNet 522:the original 499: 481: 463: 435:cite journal 415: 397: 345: 341: 326:Bibliography 280: 276: 270: 260: 250: 212: 192: 177: 162: 153: 149: 124: 116: 110: 106: 102: 100: 88: 84: 80: 68: 34: 30: 29: 626:neat-python 613:neat-python 298:10071/10504 255:Conference. 65:Performance 797:Categories 679:Javascript 670:Javascript 539:Stanley's 230:References 141:Extensions 91:perceptron 675:Neataptic 622:NeuralFit 592:MultiNEAT 588:MultiNEAT 579:SharpNEAT 350:CiteSeerX 179:HyperNEAT 174:HyperNEAT 168:HyperNEAT 77:Algorithm 73:methods. 657:RubyNEAT 541:original 372:12180173 315:20815070 307:25478664 218:See also 133:, a GNU 772:YouTube 725:at the 685:Neat-Ex 594:at the 566:NEAT 4J 514:Bibcode 37:) is a 703:goNEAT 689:Elixir 666:neatjs 652:Python 630:Python 617:Python 608:Python 600:mtNEAT 549:rtNEAT 545:mtNEAT 380:498161 378:  370:  352:  313:  305:  209:odNEAT 189:cgNEAT 146:rtNEAT 135:scheme 635:Encog 562:JNEAT 525:(PDF) 504:arXiv 496:(PDF) 478:(PDF) 460:(PDF) 412:(PDF) 394:(PDF) 376:S2CID 338:(PDF) 311:S2CID 265:2009. 131:Guile 770:, a 705:for 696:for 687:for 677:for 668:for 661:Ruby 659:for 650:for 648:peas 641:and 639:Java 637:for 628:for 615:for 606:and 602:for 581:for 574:Java 572:for 570:ANJI 551:for 547:and 448:help 368:PMID 303:PMID 199:CPPN 183:CPPN 109:and 53:and 35:NEAT 698:C++ 604:C++ 558:ECJ 553:C++ 360:doi 293:hdl 285:doi 127:GPL 45:(a 799:: 643:C# 583:C# 568:, 564:, 560:, 543:, 512:. 502:. 498:. 480:. 462:. 439:: 437:}} 433:{{ 414:. 396:. 374:. 366:. 358:. 346:10 344:. 340:. 309:. 301:. 291:. 281:23 279:. 238:^ 105:, 721:( 590:( 516:: 506:: 484:. 466:. 450:) 446:( 429:. 418:. 400:. 382:. 362:: 317:. 295:: 287:: 111:C 107:B 103:A 33:( 20:)

Index

NeuroEvolution of Augmented Topologies
genetic algorithm
artificial neural networks
neuroevolution
Kenneth Stanley
Risto Miikkulainen
The University of Texas at Austin
reinforcement learning
perceptron
GPL
Guile
scheme
HyperNEAT
HyperNEAT
CPPN
Galactic Arms Race
CPPN
NEAT Particles
Evolutionary acquisition of neural topologies


doi
10.1162/evco_a_00141
hdl
10071/10504
PMID
25478664
S2CID
20815070
"Evolving Neural Networks Through Augmenting Topologies"

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.