Modelling of Chaotic Systems and State Prediction with Artificial Neural Networks
|Supervisor:||Horst Hellbrück , Manfred Constapel|
Chaotic systems are widespread, since almost all processes in nature are sensitive or even bound to initial conditions. A good example is a double pendulum; such a system behaves completely differently after some period of time given different initial poses while keeping the environment constant. The chaotic but deterministic behavior can be observed by tracking the legs of the pendulum yielding an attractor. Due to the apparent randomness, its difficult to model such a chaotic system in order to predict its future states. Thus, a double pendulum is a good representative to prove the fitness of Artificial Neural Networks for prediction tasks in chaotic systems.
A promising approach to predict states in a chaotic system are Recurrent Neural Networks (RNNs), in particular, Long Short-Term Memory (LSTM). Such structures try to memorize patterns and detect the underlying rules of the observed system. Given manyn observations of a pendulum, i.e. a dataset containing times and locations of both legs, any Neural Network has to be trained in a systematic fashion. This training phase is often referred to as learning, in this case about the pendulums behavior from one discrete point in time to another.
- Well commented source code of a processing pipeline
- Documentation and evaluation of experiments carried out, e.g. with different networks, network structures, parameters and pendulums respectively
- Write a Scientific paper
- Create a Scientific poster
- Present your work at a Student Conference
- Creation of datasets suitable for training Neutral Networks from motions of double pendulums, considering at least two different double pendulums regarding their legs sizes.
- Motions can be captured in either of three ways: 1) With a high-speed camera observing real pendulums with motion-tracking techniques or 2) via numerical simulation of carefully modeled double pendulums having reasonable noise added to their motions or 3) by capturing sensor data directlty from the pendulum.
- Development of a processing pipeline with the Python programming language, utilizing Keras and TensorFlow (and OpenCV for motion tracking).
- Evaluation of the prediction accuracy of motions for estimating future states of pendulums.
- Evaluation of the classification accuracy of the pendulum; given a snippet from a dataset for the prediction task, a method has to be developed, e.g. by using Multilayer Perceptrons (MLPs), to classify the double pendulum by inferring its inner and outer leg sizes from the motion observed in the snippet.
- Digging into the concept of Neural Networks, in particular for prediction and classification tasks.
- Good knowledge of a high-level programming language (e.g. Python, Java, Matlab, C#)
- Rough idea about Artificial Intelligence, in particular Neural Networks
- Interest in Chaotic and Dynamic Systems, as well as Computer Vision or Numerical Simulations respectively
- Independent and self-organized working