A Neuron

Nature-Inspired Computing
Summer Term 2016


Organization

Lecturer-in-Charge: Ralf Joost

Integrated Class: Tuesday: 11:00-17:00 1219/1216, Building 1, Warnemünde

Description

Content

Nature has developed astonishing alternatives for adaptation and optimization of biological systems, i.e., individuals, in complex environments. This class provides an introduction into how some of the underlying concepts can by applied to real-world engineering problems. In so doing, this module focuses on the following three topics:

  1. Evolutionary Algorithms:
  2. These algorithms are a class of randomized algorithms that draw significant inspiration from natural evolution, and thus incorporate random variations and selection. The first part of this module describes how these algorithms work, how they can be implemented in software, and how they perform from a mathematical point of view.

  3. Artificial Neural Networks:
  4. The second part discusses how artificial neural networks can be applied to (technical) learning tasks, such as data classification, data approximation, and data compression. Pitts-McCulloch threshold neurons, Rosenblatt’s perceptron, multilayer perceptrons, also known as backpropagation networks, and Kohonen feature mapps are typical instances that are covered during the course of learning.

  5. Autonomous, Mobile Robots:
  6. Finally, some of the concepts covered above are applied in a rather challenging task: learning and adaptation in autonomous mobile robots. In this task, a small, physical robot, known as Epuck, is supposed to move around in a physical environment. To this end, the robot is already equiped with a small number of sensors, such as proximity and ambient light sensors as well as a CCD camera, and actuators, such as two motors. The brain, which might also be called software, is missing and supposed to be implemented by the students. Over time, the robot has to to freely move around and to avoid obstacles. Very important, the robot has to learn this by itself and not by the designer. Prior to their own programming, the students will be exposed to some well-known learning-and-adaptation architectures widely used in mobile robots.

Format

This module is assigned six (6) ECTS points, and has thus a work load of 180 normalized working hours, i.e., 180 working periods of 45 minuted each. This work load is distributed to in-class work, private studies, and exam preparation. The actual classes consists of three major components: lectures, exercises, and project work. Lectures and exercises take place in the first ten weeks of the semester whereas the remaining four weeks are dedicated to the actual project work.

Lectures and exercises are held every Tuesday in three subsequent sessions from 11 am to 5 pm with a one-hour lunch break at approximately 12:30 pm. During class time both lectures and exercises are scheduled dynamically according to the class’s rate of progress. The exercises contain various tasks, such as mathematical evaluations, transferring the theoretical knowledge to real-world problems, and programming selected algorithms in software. Because of the programming part, profound knowledge of the C programming language is important.

Prerequisites

Profound knowledge of the C programing language and the usage of a C compiler is essential for a successful project work. The schedule of this class does definitely not allow a time-consuming introduction into C programming!

Goals

The main goal of this class is to get a fair understanding of the methods that nature successfully applies to adaption and optimization tasks. Furthermore, the students will see the benefits and limitations of these concepts. Finally, the students get trained in applying these ideas to technical problems.

Exams

The final exam consists of two separate parts, a 20-minute oral examination, and the presentation of the actual project work. The oral examinations will be by individual appointment during the official examination time (please ask the student office for further details). The oral examination takes place after the successful project presentation, but not necessarily on the same day.


Staff

Name Email Phone
Lecturer-in-Charge Ralf Joost 72 55
Assistent Ralf Salomon 72 51

Scripts


Exercises and Samples


Literature


Class Schedule

Please note that because of the integrated nature of this class, the term Integrated Class includes both teacher-centered teaching and student-centered exercises on an on-demand basis. So, please do not expect a precise distinction between both.

Class Content Exercises and Laboratory Content
April 5. 4. 2016: Lecture Organization
  • Introduction of the staff members
  • Brief description of the class’s content, material, and format
Classical Optimization
  • What does "optimization" mean
  • local vs. global optima
  • analytical optimization
  • how to transform a given application description into a computer-readable form
  • global vs. local optimization
5. 4. 2016: Exercise Exercises 1 and 2
12. 4. 2016: Lecture Evolution Strategy: Concept
  • the biological role model
  • applying the concept of natural evolution to technical problems
  • ingredients and concepts of evolution strategies
12. 4. 2016: Exercise Exercises 3 and 5
19. 4. 2016: Lecture Evolution Strategy: Operators
  • recombination and mutation
  • selection schemes
  • the importance of the step size
  • dynamic step size adaptation
19. 4. 2016: Exercise Exercises 7
26. 4. 2016: Lecture Evolution Strategy: Performance
  • rate of progress
  • variations of the evolution strategy
26. 4. 2016: Exercise Exercises 8 and 9
May 3. 5. 2016: Lecture 3. 5. 2016: Exercise Exercises 8 to 10
10. 5. 2016: Lecture Introduction to Neural Networks
  • supervised and unsupervised learning
  • symbolic and subsymbolic systems
  • threshold/bias units
10. 5. 2016: Exercise Exercises 12
24. 5. 2016: Lecture 24. 5. 2016: Exercise Exercises 16
31. 5. 2016: Lecture Backpropagation
  • the multi-layer perceptron
  • the logistic (transfer) function
  • the backpropagation algorithm
31. 5. 2016: Exercise Exercises 16 and 17
June 7. 6. 2016: Lecture Backpropagation Add On
  • the momentum term in backpropagation
Self-Organizing Feature Maps
  • the network architecture
  • the learning rule
  • the applications
7. 6. 2016: Exercise Exercises 16 to 18
14. 6. 2016: Lecture Intelligent Systems
  • ingredients and architecture
  • designing a task
  • the Braitenberg vehicle
Project Work Description
14. 6. 2016: Exercise Braitenberg Vehicle in the Khepera Simulator
  • configuring the simulator
  • implementing a object avoidance
  • implementing a wall follower
21. 6. 2016: Lecture Classical AI vs. New AI
  • formalized vs. physical worlds
  • classical vs. new AI perspective
  • the agent-environment interaction
  • learning by (a) human (teacher)
  • learning on the evolutionary time scale
21. 6. 2016: Exercise Evolving a Braitenberg Vehicle
  • the evolutionary approach
  • the design of a fitness function
28. 6. 2016: Lecture Self-Adaptation/The Autonomous Agend Perspective
  • the fungus eater
  • design guides
  • the frame-of-reference problem
  • adaptation of the individual time scale
  • control architectures for autonomous agents: the subsumption architecture, Dida Bots
28. 6. 2016: Exercise Project Work
July 5. 7. 2016: Lecture 5. 7. 2016: Exercise Project Work
12. 7. 2016: Lecture Summary 5. 7. 2016: Exercise Project Work