Fall 2015 CAP 6616 Neuroevolution and Generative and Developmental Systems: Syllabus
MW 3:00PM - 4:15PM (3 credit hours) in BA1 room 207
Instructor: Dr. Kenneth Stanley
EPlex Research Group: http://eplex.cs.ucf.edu
Office: Harris 332
Office Hours (starting 8/26/15): Wednesdays 1-3pm
Textshttp://www.iro.umontreal.ca/~bengioy/dlbook/ by Yoshua Bengio, Ian J. Goodfellow, and Aaron Courville (2015 online)
Evolutionary Computation: A Unified Approach by Kenneth A. De Jong (2006)
(Sometimes listed as 2002)
Assorted Current Research Papers
Software and Source CodeAny version of NEAT, HyperNEAT, or novelty search can be used in the class projects. A number of versions are available here: http://eplex.cs.ucf.edu/neat_software/
A clean update of the version of NEAT written by myself is at, http://nn.cs.utexas.edu/?neat-c. Another clean version is called rtNEAT, which is available here. An alternate stripped down version of my non-real-time code is neatVS.zip, refitted for easy compiling by Jared Johnson. An accelerated version (for GPU) of the original NEAT C++ by Sean Dougherty is at https://github.com/sean-dougherty/accneat .
SharpNEAT is also a good choice.
DescriptionThe purpose of this artificial intelligence (AI) and machine learning (ML) course is to introduce students to current topics in the artificial evolution of complex systems, focusing on evolving neural networks (i.e. neuroevolution). In neuroevolution, a Darwinian selection process among neural networks leads to increasingly sophisticated solutions without the need for human design. However, such a process requires a principled approach to combining, selecting, and encoding large, complex neural networks. The class will also examine sophisticated encoding techniques based on the growth of an embryo from a single cell (i.e. generative and developmental systems) and DNA encoding in nature. Such techniques promise to facilitate the evolution of neural networks with orders of magnitude more complexity than has been heretofore possible. This course will introduce students to the cutting edge of such research, culminating in a project in which students program their own system that evolves increasingly complex structures over time. Neural networks are a good proxy for complex systems in general, exhibiting many of the key properties that make such systems difficult to evolve. The class surveys methods in neuroevolution that have resulted in new ways to produce controllers for a broad range of difficult sequential decision tasks and creative endeavors, including robot and autonomous vehicle control, pattern generation, limb coordination, warning systems, factory optimization, intelligent video games, and computer-generated art and music. In this way, students will become experts through hands-on experience.
GoalsStudents will learn the theory and use (through actual practice) of (1) neural networks, (2) evolutionary algorithms, (3) neuroevolution algorithms. They will further learn the theory and optionally use (4) indirect encodings. Students will learn (5) to implement a research project and (6) to report its results in publication-level form. Finally, students will gain experience (7) working on a team.
Requirements and Grading PolicyGrades will be based 65% on a final project (10% final presentation and 55% final report), 25% on project milestones, and 10% on quizes on assigned papers. Students must work with partners and periodically report how they are allocating tasks.
Late policy: 20% off if turned in within one week. Otherwise, not accepted.
Project Milestones (25% of grade; all milestones must be turned in as a hardcopy report):
8/28: Reply to graded discussion on Webcourse (1 point towards initial proosal)
9/23: Initial proposal and project plan (5%)
9/28: XOR test (5%)
10/12: Domain code prelim (5%)
11/2: Midterm presentation and report (10%)
12/7: Final project and presentation (65% of grade)
There are no exams.
CheatingAll of the work that you turn in or present must be your own. Cheating, plagiarism, and any other form of academic dishonesty will be penalized. The minimum penalty for cheating will include:
- An automatic zero on the assignment -- this grade may not be dropped; and
- reduction of your final grade by one letter grade; and
- notification of the incident to the UCF Office of Student Conduct.
Plagiarism and paraphrasing are forms of cheating. Plagiarism is the presentation of others' ideas and writings as your own. Paraphrasing is taking someone else's sentence, changing a few words, and then presenting it as your own. Both are unacceptable in this class.
ScheduleAugust 24 Intro, context within AI, Prior Projects
August 26 Neural Networks Basics, Sequential Decision Problems, Complexity and Search
August 31 NEAT, CPPNs, HyperNEAT, Novelty Search Overviews and Applications
September 2 Project Discussions
September 7 No Class: Labor Day
September 9 Topics in Neural Networks: Backprop, Hebbian Learning, Biological Inspirations, Reinforcement Learning
September 14 Topics in Evolutionary Computation: Types of EC, Genetic Algorithms Basics
September 16 Genetic Algorithms Theory, Criticisms of EC, No Free Lunch
September 21 Neuroevolution (Evolving Neural Networks): Combining EC with NNs, Significance to AI, Classic obstacles
September 23 NeuroEvolution of Augmenting Topologies (NEAT): Overcoming the obstacles
Initial Proposal and Project Plan Due
September 28 Post-NEAT Methods and Extending NEAT
XOR Test Due
September 30 Generative and Developmental Systems: The Power of Reuse, Prior Work, Biological Underpinnings, Skeptical Perspective
October 5 Compositional Pattern Producing Networks (CPPNs)
October 7 Topics in Neural Networks: Deep Learning
October 12 HyperNEAT: Hypercube-based NEAT Preliminary Domain Code Due
October 14 Advanced HyperNEAT
October 19 Abandoning Objectives and the Search for Novelty
October 21 Quality Diversity
October 26 Real-time NEAT and the NERO video game
October 28 Advanced implementation issues for ANNs in video games
November 2 Midterm Project Reports
November 4 Midterm Project Reports
November 9 Competitive Coevolution and Complexification
November 11 No Class: Observing Veteran's Day
November 16 More realistic neural models: Adaptive synapses
November 18 More on realistic neurons: Leaky integrator neurons
November 23 Cutting-edge Neuroevolution
November 25 Interactive Evolutionary Computation and Genetic Art (Art, music, and other applications)
November 30 Evolution as a creative process, target-based vs. non-target-based evolution, large-scale IEC, Picbreeder, Novelty-Assisted IEC; Technical Writing Tips
December 2 Conclusions
December 7 Final Presentations
Final Projects Due
Classes End December 7th
December 9 Final Presentations (during Final between 1:00pm and 3:50pm)
Student Final Presentations: Students will have run their own experiments in neuroevolution and generative and developmental systems and will present results and methods from their projects.