### Course

# Deep Learning for Robotics

This course is about learning the basics of Deep Learning using the super cool Neural Networks!

## Course Overview

Deep Learning is a powerful technique to address problems that were previously unbearable for society, due to the difficulty of translating them into computers, their computational cost, or their mathematical complexity.

With good supervision and critical thinking, many new algorithms can be designed using Neural Networks, but you are going to need to put into practice your previous knowledge of mathematics, statistics, and computer programming.

**Learning Objectives**

In this course, we will assume a previous background in mathematics and statistics applications. Their concepts will be used within Python code, classes and functions, and useful libraries such as Keras and Tensorflow.

Also, we will assume previous knowledge of some basic ROS functionalities, on how to create packages, start simulations, run ROS nodes, and compile their code.

You’ll be presented with the two typical challenges for unsupervised learning: regression and classification algorithms. You are going to see the key components of a neural network, neurons, and understand the role of weights, biases, activation functions, loss, and accuracy.

You’ll be presented with the hyperparameters that rule the behavior of a neural network.

You’ll learn how by inspecting the learning evolution of our algorithm we can choose to apply one or another optimization technique to improve its results.

You’ll be presented with an example of a Convolutional Neural Network, an excellent tool to solve Computer Vision problems. You’ll see which neurons and mathematical operations allow extracting features of images, and then classify them into labels. You are going to be challenged to improve their performance of them with optimization techniques.

**Simulation Robots Used**

TurtleBot 3

Intermediate

20 hours

#### Prerequisites

**COURSE CREATOR**

**Irene Pérez**

My name is Irene, I’m a Physicist and Engineer from Barcelona. I’m passionate about applying Artificial Intelligence to Robotics, while focusing in the utility and beauty of fundamental mathematics and physics involved. ROS gives me the tools to enjoy all of that!

## What exercises will you be doing

## DL Basics

Create a simple NN in order to predict the future position of a robot.

## Neural Network in Python

Program a Neural Network from scratch, using Python.

## Hyperparameter Tuning

Configure a Neural Network in order to modify its behavior.

## Convolutional NNs

Develop a CNN to detect cars (and other objects) on the environment.

## Course Project

Identify traffic signs with the TurtleBot3 robot.

## Course Summary

##### Unit 1: Introduction to the Deep Learning for Robotics Course

A brief introduction to the concepts you will be covering during the course.

##### Unit 2: Deep Learning Basics

Learn the basic structure of a Neural Network.

##### Unit 2.5: How to Program an L-layer Neural Network in Python

Learn how to program a whole NN from scratch.

##### Unit 3: Hyperparameter Tuning

Learn the basic parameters that rule a Neural Network.

##### Unit 4: Convolutional neural networks

Learn to apply convolutions to images in order to detect patterns.

##### Course Project

A challenge project where you’ll apply the previous concepts and simulate a maze environment where the TurtleBot identifies traffic signs.

Ready to have this ROS skill?

Start learning online quickly and easily

Top universities choose *The Construct for Campus* to teach ROS & Robotics.