Professional Documents
Culture Documents
/0)&*1/2/*34%(+4(
S(2*&2/02() 3%9+*Y+
1/5%)*6"7-
3(/04'
8"9*:;*<=>? @ A*7%+*0(/) @ B%&2(+
!"#$%&'$"(%&)*+,-&.*%"/*"0$,)1'"0$&2*)34"5$).$4
6"71)&"8
7/;"5%<&3)
A Gentle Introduction To Neural Networks Series (GINNS).
<H>I*6-$$-.(0&
!/&&%-+/2(*/#-"2*2(4'+-$-9K;*&-G2./0(*)(5($-C7(+2
/+)*G%+/+4%/$*7/0R(2&H
6-$$-.
2)*-%(*)3%2-5"&3
!/"$*V%(7&2\ %+ ,-./0)&*1/2/*34%(+\
/ (
R$$?"'$1)%.%9"1%+"'.%$1)
)$9)$44.*%"1)$"1"'*&";*)$")$'1&$+
&=1%">*,";.9=&"&=.%3
`/4R*,/22(0&'/$$ %+ E-)([
Y*'"8P"/=$"EG"7.?$'.%$
V%7/+&'"*!/0((R %+ ,-./0)&*8Y
5*,%+"1%+"!-*,4&.-"?1&&$)%4"&*
+.19%*4$"JQY(R"`71)&"Da
!8M8F*IaD8X*3YFSV
:$1)"J'144.@.-1&.*%P"B)*;"R1&1
J*''$-&.*%"&*"#U("@*)"E*+$'
(%&)*+,-&.*% (%@$)$%-$
Neural networks and deep learning are big topics in Computer Science and in the
technology industry, they currently provide the best solutions to many problems
in image recognition, speech recognition and natural language processing.
V($C 32/2"& U0%2(0& J$-9 E/0((0& !0%5/4K ,(07& 8#-"2
Recently many papers have been published featuring AI that can learn to paint, I+-./#$(
I’m writing this series of posts about Neural Networks and Deep learning, where
I’m going to guide you from learning the basic concepts of Artificial Neural
Networks (ANN), show you examples from simple Network to mimic the AND
gate, to solving Image recognition tasks using Convolutional Neural Networks
(CNNs), Recurrent Neural Networks (RNN) and more. The code will always be
written in python, some times with the help of Tensorflow (I don’t expect you to
be guru using Tensorflow as I will try to explain the code in details).
!9$%+1
Introduction To Neural Networks (This post)
AND Gate Neural Network (Perceptron) and XOR Gate Feedfoward Neural
Network (2 layers).
0$,)1'"0$&2*)34
The definition of a neural network, more properly referred to as an 'artificial'
neural network (ANN), is provided by the inventor of one of the first
neurocomputers, Dr. Robert Hecht-Nielsen. He defines a neural network as:
Or you can also think of Artificial Neural Network as computational model that is
inspired by the way biological neural networks in the human brain process
information.
:.*'*9.-1'";*&.<1&.*%"1%+"-*%%$-&.*%4
The basic computational unit of the brain is a neuron. Approximately 86 billion
neurons can be found in the human nervous system and they are connected with
approximately 10¹⁴ — 10¹⁵ synapses. The diagram below shows a cartoon
drawing of a biological neuron (left) and a common mathematical model (right).
#%-$-9%4/$*+("0-+*]$(G2^*/+)*/*4-77-+*7/2'(7/2%4/$*7-)($*]0%9'2^
The basic unit of computation in a neural network is the neuron , often called a
node or unit. It receives input from some other nodes, or from an external source
and computes an output. Each input has an associated
weight (w), which is assigned on the basis of its relative importance to other
inputs. The node applies a function to the weighted sum of its inputs.
The idea is that the synaptic strengths (the weights w) are learnable and control
the strength of influence and its direction: excitory (positive weight) or
inhibitory (negative weight) of one neuron on another. In the basic model, the
dendrites carry the signal to the cell body where they all get summed. If the final
sum is above a certain threshold, the neuron can fire, sending a spike along its
axon. In the computational model, we assume that the precise timings of the
spikes do not matter, and that only the frequency of the firing communicates
information. we model the firing rate of the neuron with an activation function
(e.x sigmoid function), which represents the frequency of the spikes along the
axon.
0$,)1'"0$&2*)3"!)-=.&$-&,)$
From the above explanation we can conclude that a neural network is made of
neurons, biologically the neurons are connected through synapses where
informations flows (weights for out computational model), when we train a
neural network we want the neurons to fire whenever they learn specific
patterns from the data, and we model the fire rate using an activation function.
Input Nodes (input layer): No computation is done here within this layer,
they just pass the information to the next layer (hidden layer most of the
time). A block of nodes is also called layer.
Learning rule: The learning rule is a rule or an algorithm which modifies the
parameters of the neural network, in order for a given input to the network to
produce a favored output. This learning process typically amounts to
modifying the weights and thresholds.
/>?$4"*@"0$,)1'"0$&2*)34
There are many classes of neural networks and these classes also have sub-
classes, here I will list the most used ones and make things simple to move on in
this journey to learn neural networks.
8A"B$$+@*)21)+"0$,)1'"0$&2*)3
A feedforward neural network is an artificial neural network where connections
between the units do not form a cycle. In this network, the information moves in
only one direction, forward, from the input nodes, through the hidden nodes (if
any) and to the output nodes. There are no cycles or loops in the network.
8A8A"5.%9'$C'1>$)"7$)-$?&)*%
This is the simplest feedforward neural Network and does not contain any
hidden layer, Which means it only consists of a single layer of output nodes. This
is said to be single because when we count the layers we do not include the input
layer, the reason for that is because at the input layer no computations is done,
the inputs are fed directly to the outputs via a series of weights.
3%7C$(*!(04(C20-+
8ADA"E,'&.C'1>$)"?$)-$?&)*%"FEG7H
This class of networks consists of multiple layers of computational units, usually
interconnected in a feed-forward way. Each neuron in one layer has directed
connections to the neurons of the subsequent layer. In many applications the
units of these networks apply a sigmoid function as an activation function. MLP
are very more useful and one good reason is that, they are able to learn non-
linear representations (most of the cases the data presented to us is not linearly
separable), we will come back to analyse this point in the example I’ll show you
in the next post.
DB!
8AIA"J*%<*',&.*%1'"0$,)1'"0$&2*)3"FJ00H
Convolutional Neural Networks are very similar to ordinary Neural Networks,
they are made up of neurons that have learnable weights and biases. In
convolutional neural network (CNN, or ConvNet or shift invariant or space
invariant) the unit connectivity pattern is inspired by the organization of the
visual cortex, Units respond to stimuli in a restricted region of space known as
the receptive field. Receptive fields partially overlap, over-covering the entire
visual field. Unit response can be approximated mathematically by a convolution
operation. They are variations of multilayer perceptrons that use minimal
preprocessing. Their wide applications is in image and video recognition,
recommender systems and natural language processing. CNNs requires large
data to train on.
EFF*G-0*%7/9(*4$/&&%G%4/2%-+
DA"K$-,))$%&"%$,)1'"%$&2*)34
In recurrent neural network (RNN), connections between units form a directed
cycle (they propagate data forward, but also backwards, from later processing
stages to earlier stages). This allows it to exhibit dynamic temporal behavior.
Unlike feedforward neural networks, RNNs can use their internal memory to
process arbitrary sequences of inputs. This makes them applicable to tasks such
as unsegmented, connected handwriting recognition, speech recognition and
other general sequence processors.
J*;;*%'>",4$+"1-&.<1&.*%"@,%-&.*%4
Every activation function (or non-linearity) takes a single number and performs a
certain fixed mathematical operation on it. Here are some activations functions
you will often find in practice:
Sigmoid
Tanh
ReLU
Leaky ReLU
Follow this Activation Functions post and also this Cs231n (CNNs) course notes
for more details.
!)&.@.-.1'"0$,)1'"0$&2*)34"1%+"&=$":)1.%
Artificial neural networks doesn’t work like our brain, ANN are simple crude
comparison, the connections between biological networks are much more
complex than those implemented by Artificial neural network architectures,
remember, our brain is much more complex and there is more we need to learn
from it. There are many things we don’t know about our brain and this also
makes hard to know how we should model an Artificial Brain to reason at human
level. Whenever we train a neural network, we want our model to learn the
optimal weights (w) that best predicts the desired outcome
(y) given the input signals or information (x).
L=1&M4"0$N&O
In the next post I will bring some code examples and explain a bit more of how
we can train neural networks. Stay tuned!
K$@$)$%-$4P
Neural Networks and Deep Learning
http://cs231n.github.io/neural-networks-1/
If you enjoyed the writings leave your claps to recommend this article so that
others can see it.
>H>I >
>H>I >
!"#$%&'%()*%+,-%./*"/01-
JK*,-./0)&*1/2/*34%(+4(
L5(0K*,'"0&)/K;*2'(*M/0%/#$(*)($%5(0&*2'(*5(0K*#(&2*-G*,-./0)&*1/2/*34%(+4(N*G0-7*'/+)&O
-+*2"2-0%/$&*/+)*4"22%+9O()9(*0(&(/04'*2-*-0%9%+/$*G(/2"0(&*K-"*)-+P2*./+2*2-*7%&&HQ,/R(*/
$--RH
S(2*2'%&*+(.&$(22(0
2)*-%(*)3%+)4/*56%7/8/%!9"-$9- 6-$$-.
T-"0*'-7(*G-0*)/2/*&4%(+4(H*8*D()%"7*C"#$%4/2%-+*&'/0%+9*4-+4(C2&;*%)(/&*/+)
4-)(&H
1/$%/+/*B%" @ 8"9*:;*<=>?
G$1)%"5?1)3"@*)":.9"R1&1"!%1'>&.-4".%"8X";.%4!
I guarantee you that this short tutorial will save you a TON of time from
reading the long documentations. Ready to jump on the Big Data Train?
Let’s get to it! Basic concepts RDD: the basic abstraction of Spark. It…
distributes data object on to multiple machines, and process in memory,
which…
1/2/*34%(+4( Z*7%+*0(/)
3'/0(*K-"0*%)(/&*.%2'*7%$$%-+&*-G*0(/)(0&H U0%2(*-+*D()%"7
1/5%)*!(2(0&-+ @ 8"9*:;*<=>?
L=.-="5&1&$4"1)$"&=$"E*4&"Y$91%O"!%+Z"L=.-=
5&1&$4"1)$%M&"FW,&")$1''>"21%&"&*"W$HO
This is the golden age for being a foodie like me. Not only can you dnd
every cuisine but also restaurant concepts catering to the dietary…
restrictions of SoCal’s residents, whether needed or imagined. Something I
hear
M(9/+often from people that move to California from elsewhere is that
:*7%+*0(/)
California has…
VW/$7/0*S%&$/&-+ @ 8"9*:;*<=>?
L=$%"B.&W.&"41>4"[\*,)"+1&1"W$'*%94"&*">*,]^_
…what they really mean is “We’ve reluctantly given you limited access to a
small portion of your data” Before I go any further, let me say that I’m a
Fitbit fanboy. I have had several trackers over the course of the last few…
years and I use my Charge 2…
U(/0/#$(& :*7%+*0(/)
X/7(&'*Y$/+9-5/+ @ 8"9*Z;*<=>?
8D"4.&,1&.*%4"+1&1"4-.$%&.4&4"2.''"&*&1''>")$'1&$"&*
A data scientist is someone who is better at statistics than any software
engineer and better at software engineering than any statistician. – Josh
Wills, Cloudera Data science is easily one of the most sought-after skills i…
the market today. According to a CNBC article, ‘data scientist’ is among
the…
1/2/*34%(+4( _*7%+*0(/)
B((*X-## @ 8"9*Z;*<=>?
S.9="K$4*',&.*%"L$1&=$)"R1&1"2.&="K
One of the pain points we run into at WeatherDecTech is customers that
need bulk weather data but have no experience with scientidc data
formats. Since the release of our high resolution analysis data (in NetCDF…
format), this issue has been coming up more frequently. …
1/2/*34%(+4( <*7%+*0(/)
X(/)*7-0(*G0-7*,-./0)&*1/2/*34%(+4(
:-9)33-$5-5%(*)3%2-5"&3
Q--,?1%->"R$&$-&.*%",4.%9 S*2"&*"/)1.%":TK/"@)*;"5-)1&-=
G*9.4&.-"K$9)$44.*%"1%+"0$,)1' *%"#7U4
0$&2*)34"F71)&"8H