
learn to build a fully functioning neural network from scratch in C# with an iterative, step-by-step approach that clarifies concepts behind machine learning and ai.
Explore neural network basics by understanding neurons, layers, weights, and biases, and learn how forward pass and backpropagation optimize a model for tasks like a nand gate.
Model a neural network from scratch using iterative development, creating a neural network class with layers, neurons, prediction, and a loss function interface for back propagation.
Model the layer class for a neural network in C#, introduce a neuron class, and initialize multiple layers via a constructor using a range, with input and output layer flags.
Model a neuron with input, output, bias, id, activation function, and a connections list; create layer constructors to populate neurons with logistic sigmoid for output and tanh for hidden.
Learn to build a neural network in C# by defining layers with a specified number of neurons, using tanh for hidden layers and logistic sigmoid for the output layer.
Model activations in your neural network by using logistic sigmoid for the output layer and tanh for hidden layers, with no activation for the input layer, via an activation interface.
Explore modeling neural network connections by assigning random weights to connections between neurons across input, hidden, and output layers, and map each connection to its targeted neuron.
Recap of neural network modeling reviews layers, neurons, activation functions, and connections with random weights, framing a deep network to learn nand and xor gates.
Train a neural network to learn the nand function by feeding data and adjusting weights and biases via backpropagation, including feed forward and loss calculation.
Create a prototype neural network train function by forming train data, inputs as a matrix, and outputs as a vector, using Math.net numerics, with epochs and learning rate.
Learn to build a neural network from scratch, implementing a train function with epoch loops, feed forward, backward pass, and weight updates to predict a nand gate.
Develop a feedforward pass across hidden and output layers by looping through neurons to compute weighted sums from previous layer outputs, apply activation, and produce the final prediction.
Explore backpropagation for neural networks, learn how to minimize loss with mean squared error by computing partial derivatives via the chain rule to update weights and biases.
Explore backpropagation derivatives using the chain rule to relate mean squared error loss to weight and bias updates, and implement learning-rate driven updates in a neural network.
Implement the backpropagation algorithm in a C# neural network from scratch by coding the backward pass, the loss derivative, and the local deltas for sigmoid and tanh activations.
Implement weight and bias updates with backpropagation local deltas and the learning rate. Loop through layers and neurons, skipping input and output layers, then prepare a predict pass after training.
Create a predict function to test the trained neural network by feeding a double input vector through feedforward and obtaining a prediction, illustrated with nand gate examples like [1,1].
Test a from-scratch neural network learning the nand function by evaluating predictions across input pairs, tuning epochs and learning rate, and applying feed forward and backward passes to adjust weights.
Visualize the neural network loss by plotting epoch versus loss (mean squared error) in Linqpad, building a graph data class, and updating current loss after each epoch.
Model a function that takes x and y and returns their squared sum. Normalize by max, use gradient descent, and tune epochs, learning rate, and activation choices.
Congratulations on completing the course and moving forward in neural networks and AI, while contributing with dotnet features, Python libraries, and C# from scratch approaches.
I am sure you heard about neural networks, machine learning and transformers. Maybe you are already familiar with some of the concepts surrounding these fields, or even tried a practical approach already, but still feel you are missing something.
I know I have felt this way even after taking several courses and learning special libraries(python I am looking at you). I always felt I somehow missed the point. That is why I created this hands on course, where together we go over main features of Neural Networks including:
Layers
Neurons
Connections
Feed Forward
Backpropagation
Visualizing the Loss
We will use our own deep neural network diagram, created specifically for this course. Using such graphical approach will make it easier to understand what we are coding, model by model.
Specific emphasis is put on backpropagation, where I guide you through an article with step by step explanations of partial derivatives calculation for our diagram.
Once we build our neural network we also test it on more demanding functions and see how we can improve predictions.
We use object oriented modelling and a bit of functional programming along the way.
So, if you are interested in a practical coding approach to understanding neural networks, join me in this course.