DS7: TensorFlow and neural networks

Synopsis

Deep Learning is a branch of Artificial Intelligence. It is generally associated with neural networks, this discipline has been thoroughly studied this very last years thanks to contemporary computing facilities. Its common applications deals with image and language processing: shape or face recognition, automatic translation, text or music generation, and so on…

Several technical solutions exist in order to apply the related algorithms. This training will allow participants to be familiar with one of them, i.e. TensorFlow, and its major features.

After a presentation of neural networks and their interest in artificial intelligence context, participants will build their own neural networks by the use of the Python TensorFlow library. Although different applications exist, this training will focus on convolutional neural networks, which aim at extracting information from images.

An important part of the training is dedicated to practice, so as to enhance the participant autonomy.

Goals

Thanks to this training, you will develop the following skills:

  • Know what a tensor is, and know how to use it in simple examples
  • Design convolutional neural networks
  • Use TensorFlow to program a neural network
  • Know some additional TensorFlow features

Duration

3 days

  • Base knowledges in linear algebra and statistics
  • Ease in Python
  • Ease in Unix-like environment

Program

This program is indicative. It could be adapted to your specific needs.

  • Artificial Intelligence and neural networks

    • Reminder of linear algebra and machine learning basis
    • Interest of neural networks
    • Design a neural network

  • Working environment configuration

    • Python, ipython and jupyter-notebook setting up
    • Python library setting up (numpy, pandas, matplotlib, TensorFlow)

  • Introduction to tensors with TensorFlow

    • TensorFlow philosophy: numerical calculation based on graphs
    • Create a working session
    • Review of elementary operations
    • Variable management in TensorFlow

  • Review of main TensorFlow features

    • Record variables
    • Plot the tensor graph
    • Plot the evolution of variables

  • Build a neural network

    • Use a seminal dataset: MNIST (hand-written digit recognition)
    • Use a home-made dataset
    • Build the neural network with TensorFlow

  • Apply TensorFlow to domain-specific problems

    • Identify which problem has to be solved
    • Problem formulation in a TensorFlow way
    • Prepare data

DS7 – Data Science

TensorFlow and neural networks

Contact us for on-site trainings (dates are flexible to your needs).