Hello everyone and welcome to the introduction to neural networks lecture.
I'm super excited for this lecture because after discussing supervised learning topics and unsupervised
learning topics we're finally at reinforcement learning neural networks is our first stepping stone
to understanding things such as deep learning.
There's no official reading assignment for this lecture.
But I would still suggest you go ahead and browse through the Wikipedia articles on neural networks
and reinforcement learning before viewing the lecture.
Let's go ahead and get started.
Neural networks are modeled after biological neural networks and attempt to allow computers to learn
.
In a similar manner humans through reinforcement learning there's lots of use cases for neural networks
.
A few examples would be things like pattern recognition time series predictions.
Signal Processing anomaly detection and later on through the use one that works can even do things like
controlling self-driving vehicles.
The human brain has interconnected neurons with dendrites that receive inputs and then based off those
inputs produced an electrical signal output to another neuron.
And that's the concept we're going to be trying to recreate through artificial neural networks or a
an end.
Let's talk about why we want to even develop neural networks to begin with.
There are problems that are difficult for humans but easy for computers.
Things such as multiplying two large numbers together are easy for computers to solve but difficult
for humans to do in their head.
Then there are problems that are easy for humans but difficult for computers such as recognising pictures
of people or given an image and describing the image and what's inside that picture.
Neural networks attempt to solve problems that would normally be easy for humans but hard for computers
.
Let's start by looking at the simplest neural network possible.
The perception perception consists of one or more inputs a processor and a single output.
A perception follows the feed forward model meaning the inputs are sent into the neuron are processed
and then result in an output.
So for this figure below you would read this from left to right.
You have input 0 input 1 going into the preprocessor and then being output it is some sort of result
after being processed.
A perception process follows four main steps.
First you receive the inputs to you put some sort of weights on those inputs three you sum those inputs
and then for you process those inputs and generates some sort of output.
Let's go ahead and walk through the very simple example.
Say we have a perception of two inputs we'll say Input 1 is x 1 equals 12.
Say input 1 is x 2 equal to for each input that is sent into the neuron must first be weighted which
means going to be multiplied by some value.
Often this value is just between negative 1 and 1 when creating a perception will typically begin by
just assigning random weights.
In this case we'll go ahead and randomly assign weight zero to 0.5 in weight 1 to negative 1.
That means we take each input and multiply it by it's weights.
That means we'll say input 0 times weight 0 is 12 times 0.5 equals 6 and Input 1 7 1 is 4 times negative
one equals negative for the output of a perception is generated by passing that sum.
There are some sort of activation function.
In the case of a simple binary output that activation function is what tells preset Tron whether to
fire or not.
There are many activation functions to choose from functions and processing such as logistic functions
Trigon to metric functions such as sinusoidal functions or tanh functions step functions etc..
Let's go ahead and make the activation function.
The sign of the sun.
So a very simple activation function.
In other words if the sum is a positive number we'll have the output be 1.
If it's a negative number we'll have the output be negative 1.
One more thing to consider is bias.
Imagine that both inputs were equal to zero.
That means any sum no matter what multiplicative weight you put on it would also be zero that would
cause problems because it will be very common to have a point that may just happen to land on X one
is 0 x 2 is 0 or X is zero y is zero etc..
In order to solve that problem we add a bias.
This third input is known as a bias and it starts with a value of 1.
This avoids that zero issue to actually train the perception.
We use the following steps.
We provide the perceptional inputs for which there is a known answer.
We asked the preset trons to guess an answer.
Then we compute the error which is basically asking how far off from the correct answer are we.
We adjust all the weights according to that error and we return to step 1 and just keep repeating this
process.
That means these five steps laid out here is how you actually trained Chrisette Tron and you'll basically
layer a bunch percept trons and create a neural net.
We repeat that until we reach an error that we're satisfied with and usually set that beforehand.
That is how a single percept trundled work and that or create a neural network or you again you have
to do is link many preset trons together in layers you'll have an input layer and an output layer any
layers in-between are known as hidden layers because you don't directly see anything but the input or
output you may have heard of the term deep learning.
That's just a neural network with many hidden layers causing it to be deep.
You may be wondering well how deep is a typical deep learning network.
There's no good answer for how many hidden layers you should use.
But as a quick example Microsoft state of the art vision recognition uses something like 152 layers
for neural networks and deep learning and this course we're going to use Google's tensor flow library
.
Up next we're going to give some background of what the tensor flow library is and how we can use it
.
After that we'll have a lecture to show how to install tensor Flo Mac OS and Linux users are going to
have a really easy time installing of just a simple Pip install for Windows users.
Going to be a little more complicated.
I'll show you how to set up a virtual box running who boot to in order to run tensor phyllo as if you
are a Linux user.
OK coming up next is going to be a brief background on Google's tensor library.
Thanks everyone and I'll see at the next lecture