Building a neural network in C#

Creating a neural network with the ability for backpropagation, and evolution based training.

Kip Parker
Towards Data Science

--

Introduction

We will be building a Deep Neural Network that is capable of learning through Backpropagation and evolution. The Code will be extensible to allow for changes to the Network architecture, allowing for easy modification in the way the network performs through code.

The network is a Minimum viable product but can be easily expanded upon. You can find all the code available on GitHub, This includes the mutation and backpropagation variant.

I will be explaining how we will set up the feed-forward function, setting up all the required arrays and allowing for mutation-driven learning.

You will need to be familiar with some basic coding if you want to understand the workings of the neural network. For backpropagation, you will want to be familiar with gradient descent and calculus. Unless you just want to use the code for your projects.

Concept time!

Our deep neural network consists of an input layer, any number of hidden layers and an output layer, for the sake of simplicity I will just be using fully connected layers, but these can come in many different flavors.

A simple neural network model

--

--

Responses (9)

  NODES
coding 1
HOME 1
Idea 1
idea 1
text 1
Training 1