A project to acquire knowledge

Deep Learning

Background

This work is part of the Master Thesis of the Master on Mechanical Engineering. Its scope is to learn the implementation of Deep Learning algorithms with Tensorflow. This is, essentially, a project to get inside the Deep Learning world by means of self-experience. Furthermore, it is tested in a real application as MAGNA. Part of the integration with MAGNA was published.

GitHub code source

Deep Learning modules

The created modular software is capable of easily building different neural network architectures. Integrated Tensorboard capabilities to study optimization parameters during training.

The main modules are:

  • Pickler. Several datasets, in the form of CSV data frames, are generated by ROS-MAGNA, each of them with certain  specifications as  environment, mission o navigation algorithms that take part in it.  Hence, each training requires a set of
    characteristics defined in part with the main parameters. Once the dataset has been  selected, each iteration passes through the filter.
  • Preprocess. A dictionary containing mathematical information of the dataset is computed. These values are used to perform transformations on the data. This  preparation is required at this point so the learning process is facilitated mathematically, no extra information is biased and the convergence is faster.
  • Graph Maker. Tensorflow (TF) working philosophy is based on tensor (matrices of multiple dimensions) operations. Those operations are represented as a graph where each node is an operation and each row represents a tensor.
  • Graph Trainer. This process must be done inside a Tensorflow session. Global variables of the graph, such as randomized weights, are initialised. Besides, a saver TF utility is created and a TF summary merges the created variables to form the graph. The path to the session storage is built using every important parameter that defines this single training process.
  • Computation. Tensorflow is the library used to build upon every ML. It serves also as interface to computation power available management.
  • Application. MAGNA and its Navigation Algorithms as interface with the ML modules are used to generate training data with auxiliar teacher algorithm and also to generate test data making use of the trained ML algorithms.
  • Databases. As highlated before, diverse databases are filled with each corresponding dataset: training data, sessions data and test data.

The full process schema is presented below.

MachineLearningResearchDiagram

Integration with mAGNA

The full productive process is developed to be integrated with MAGNA: from learning data generation to ML final application training and testing.

Graphical examples

Training scenarios
GAZEBO simulator
Training scenarios
GAZEBO simulator
Data generation
RViz visualization
Data generation
RViz visualization
Previous
Next
Loss function optimization
Tensorboard
Weights optimization
Tensorboard
Convolutional + FC architecture
Tensorboard
Full process architecture
Tensorboard
Previous
Next