Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Neural network C++ Guided project tutorial
Rating: 4.2 out of 5(31 ratings)
156 students

Neural network C++ Guided project tutorial

Neural network Simulator design in C++ Guided project
Created byEzeuko Emmanuel
Last updated 1/2023
English
English [Auto],

What you'll learn

  • The student will learn how to design the structure of a neural network including its neurons, bias, input layer, hidden layers, output layers and weights
  • The student will have a clear understanding of how the feed forward mechanism is used to shift inputs from the input layer through the output layer
  • The student will learn how to calculate the Root Mean Square error, output and hidden gradient, transfer function and the derivatives for a neural network
  • The student will also carryout back propagation on a neural network after the feed forward and use it for adjusting the weights of the neurons.
  • The student will learn how to generate training samples

Course content

1 section12 lectures1h 49m total length
  • 01. Introduction2:49

    Design neural networks in C++ by organizing neurons into input, hidden, and output layers and training them by adjusting weighted connections to match outputs.

  • downloadable zip , course files0:01
  • 02. Accessing the Number of layers and Neurons from command line5:40

    Parse neural network topology from command line arguments and store it in a vector using a GetData class and getTopology function, then print the layer and neuron counts.

  • 03. Generating the Training samples8:37

    Generate training samples by converting rgb values to grayscale using a weighted formula, then train the neural network by adjusting weights to match known outputs.

  • 04. Developing the Neural Network structure14:52

    Design the neural network structure by implementing a neuron class and layer vectors driven by a topology vector, including a bias with unit output and random connection weights.

  • 05. Testing our Neural Network structure4:06

    Run the neural network from the command line, print neuron and layer indices, demarcate each layer's neurons, and validate a seven-layer topology with bias neurons.

  • 06. Extracting our Training samples from text file12:16

    Learn to extract training samples from a text file by reading inputs and target outputs into separate vectors, then feed them into a neural network and prepare for training.

  • 07. Implementing the feed forward mechanism14:22

    Explore feed forward mechanism in a neural network that moves data from input layer through layers to output layer, using biases, weights, and a transfer function during training.

  • 08. Extracting and displaying the results of our training7:16

    Add a show vector function to display the input, output, and target vectors during testing. Retrieve results from the output layer and compare them to targets for backpropagation.

  • 09. Back propagation and calculating RMS and gradients13:21

    Learn back propagation by comparing network outputs with training targets, computing the root mean square error, and updating weights via output and hidden layer gradients.

  • 10. Updating the weight of our Neurons16:25

    Compute hidden gradients and update weights across hidden and next layers using the sum down approach, transfer function derivative, learning rate eta, and momentum alpha in backpropagation.

  • 11. Exercise and conclusion10:00

    Test a neural network in c++ by printing the recent average error and weights, then use feed forward with fixed weights after training to compare outputs to expected results.

Requirements

  • Theoritical Understanding of neural network, feed forward and back propagation
  • Basic knowledge of C++ is required

Description

This course teaches the practical design of a Neural network simulator using C++. It is recommended for all levels of C++ programmers with a theoretical knowledge of Neural network and looking forward to implement them in practice. The course interactively simulates the Neural network from the design of the class called Neuron, to the implementation of the Neuron layers in Vectors and finally the top level design consisting of the input layer, hidden layer and the output layer. Some random training samples will be generated which will be feed to the input layer through a vector and progress to the output layer through feed forward. The back propagation is also implemented which enables us to calculate the error and update the weight for a more accurate result. The training samples used in this course is for demonstration as the concept of sample generation is well explained. At the end of the course the student should be able generate real samples for testings.

Some of the Core concepts we will learn in this course includes:

Feed forward .

Bias Neuron.

Transfer function.

Back propagation.

Activation function.

Root mean square error.

Transfer function derivative.

Generating training samples.

Output and hidden layer Gradient.


Some of the C++ concepts used includes:

Assert()

prototyping

Class design

Nested Vectors

Reference Variables

Static class variables

Data hiding and encapsulation



Who this course is for:

  • All levels C++ developer