0% found this document useful (0 votes)
74 views3 pages

Creating Neural Networks in Python: Information Technology

neuronal

Uploaded by

jfranbripi793335
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views3 pages

Creating Neural Networks in Python: Information Technology

neuronal

Uploaded by

jfranbripi793335
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

11/28/2017 Creating Neural Networks in Python | Electronics360

IEEE.org   About   Advertise

Search Electronics360 Acquired Electronics360

Home Industries Supply Chain Product Watch Teardowns Hot Topics Calendar Multimedia

HOME   INDUSTRIES   INFORMATION TECHNOLOGY   ARTICLE Share

Information Technology

Creating Neural Networks in Python
Eric Olson Weekly Newsletter
16 June 2017 Get news, research, and analysis 
on the Electronics industry in your 
    inbox every week ­ for FREE

Sign up for our FREE eNewsletter

Get the Free eNewsletter

CALENDAR OF EVENTS

Date Event Location

30 Nov­ Slush Helsinki,


01 Dec Finland
2017

23­27 Apr 2018 IEEE Radar Oklahoma


2018 Conference City,
Oklahoma

18­22 Jun 2018 Symposia Honolulu,


2018 on VLSI Hawaii
Technology &
Circuits
Artificial neural networks are machine learning
frameworks that simulate the biological functions of
natural brains to solve complex problems like image and
speech recognition with a computer. In real brains, Find Free Electronics Datasheets
information is processed by building block cells called
neurons. A detailed understanding of exactly how this
Enter a part number
occurs is the subject of ongoing research. But at a basic
level, neurons receive signals through their dendrites
and output signals to other neurons through axons over
synapses. An illustrative example of an artificial neural network showing
nodes and the links between them. Image credit: Jonathan
Neural networks attempt to mimic the behavior of real Heathcote

neurons by modeling the transmission of information
between nodes (simulated neurons) of an artificial neural network. The networks “learn” in an adaptive way,
continuously adjusting parameters until the correct output is produced for a given input. Signal intensities along
node connections are adjusted through activation functions by evaluating prediction errors in a trial and error
process until the network learns the best answer.

Library Packages

Packages for coding neural networks exist in most popular programming languages, including Matlab, Octave,
C, C++, C#, Ruby, Perl, Java, Javascript, PHP and Python. Python is a high­level programming language
designed for code readability and efficient syntax that allows expression of concepts in fewer lines of code than
languages like C++ or Java. Two Python libraries that have particular relevance to creating neural networks are
NumPy and Theano.

NumPy is a Python package that contains a variety of tools for scientific computing, including an N­dimensional
array object, broadcasting functions, and linear algebra and random number capabilities. NumPy offers an
efficient multi­dimensional container of generic data with arbitrary definition of data types, allowing seamless
integration with a wide variety of databases. NumPy’s functions serve as fundamental building blocks for
scientific computing, and many of its features are integral in developing neural networks in Python.

Engineering Newsletter Signup

http://electronics360.globalspec.com/article/8956/creating-neural-networks-in-python 1/3
11/28/2017 Creating Neural Networks in Python | Electronics360
Theano—a Python library that defines, optimizes and evaluates mathematical
expressions—integrates neatly with NumPy. It has unit­testing and self­
Get the Engineering360
verification features to identify errors; efficient symbolic differentiation; dynamic Electronics360 Newsletter
generation of C code for quick expression evaluation; and is capable of utilizing
the graphics processing unit (GPU) transparently for very fast data­intensive
computations. It can model computations as graphs and use the chain rule to
Stay up to date on:
calculate complex gradients. This is particularly applicable to neural networks NumPy is a library package for the
Features the top stories, latest news, charts, insights
because they are readily expressed as graphs of computations. Utilizing the Python programming language that
and more on the end­to­end electronics value chain.
can be used to develop neural
Theano library, neural networks can be written more concisely and execute networks, among other scientific
much faster, especially if a GPU is employed. computing tasks.
SUBSCRIBE NOW
Other Python libraries designed to facilitate machine learning include: Business Email Address
· scikit­learn: a machine learning library for Python built on NumPy, SciPy and matplotlib.
United States
· TensorFlow: a machine intelligence library that uses data flow graphs to model neural networks, capable of
distributed computing across multiple CPUs or GPUs. SIGN UP
· Keras: a high level neural network application program interface (API) able to run on top of TensorFlow or
You can change your email preferences at any time.
Theano. Read our full privacy policy.

· Lasagne: a lightweight library for constructing neural networks in Theano. Lasagne serves as a middle
ground between the high level abstractions of Keras and the low­level programming of Theano.

· mxnet: a deep learning framework capable of distributed computing with a large selection of language
bindings, including C++, R, Scala and Julia.

Three Layer Neural Network

A simple three layer neural network can be programmed in Python as seen in the accompanying image from
iamtrask’s neural network python tutorial. This basic network’s only external library is NumPy (assigned to ‘np’).
It has an input layer (represented as X), a hidden layer (l1) and an output layer (l2). The input layer is specified
by the input data, which the network attempts to correlate with the output layer across the second hidden layer
by approximating the correct answer in a trial and error process as the network is trained.

The first two
lines of this
Python neural
network assign
values to the
input (X) and
output (Y)
datasets. The
next two lines
initialize the
random weights
(syn0 and syn1),
which are
A three layer neural network in Python. Image credit: iamtrask (Click to enlarge) analogous to
synapses
connecting the network’s layers and are used to predict the output given the input data. Line 5 sets up the main
loop of the neural network that iterates many times (60,000 iterations in this case) to train the network for the
correct solution. Lines 6 and 7 create a predicted answer using a sigmoid activation function and feed it
forward through layers l1 and l2. Lines 8 and 9 assess the errors in layers l2 and l1. Lines 10 and 11 update
the weights syn1 and syn0 with the error information from lines 8 and 9. The process happening in lines 8
through 11 is referred to as backpropagation, which uses the chain rule for derivative calculation. In this
approach, each of the network’s weights is updated to be closer to the real output, minimizing the error of each
“synapse” as the iterative procedure progresses.

Additional operations that can improve this basic neural network for certain datasets include adding a bias and
normalizing the input data. A bias allows shifting the activation function to the left or right to better fit the data.
Normalizing the input data, meanwhile, is important for obtaining accurate results for some datasets, as many
neural network implementations are sensitive to feature scaling. Examples of data normalization include
scaling each input value to fall between 0 and 1, or standardizing the inputs to have a mean of 0 and a
variance of 1.

With the capability to adaptively learn, neural networks have a powerful advantage over conventional
programming techniques. In particular, they are useful in applications that are difficult for traditional code to
handle like image recognition, speech synthesis, decision making and forecasting. As the processing power of

http://electronics360.globalspec.com/article/8956/creating-neural-networks-in-python 2/3
11/28/2017 Creating Neural Networks in Python | Electronics360
computer hardware continues to increase and new architectures are developed, neural networks promise to be
influential tools able to handle increasingly complex tasks that previously only humans could manage.
Get the Engineering360
Electronics360 Newsletter

   

Discussion – 0 comments Powered by CR4, the Engineering Community
By posting a comment you confirm that you have read and accept our Posting Rules and Terms of Use.
Add your comment

INFORMATION TECHNOLOGY RELATED ARTICLES

Barracuda Goes Private Ceva Has Vision For Neural Network
DATA CENTER AND CRITICAL INFRASTRUCTURE Processing
PROCESSORS
New Animation Method Develops Better Light
in Computer Graphics Intel Follows Qualcomm Down Neural
DATA CENTER AND CRITICAL INFRASTRUCTURE Network Path
COMMENTARY
Facebook Developing Method to Animate
Profile Photos Based on Reaction to Posts Brain­Inspired AI Super Computing System
DATA CENTER AND CRITICAL INFRASTRUCTURE Developed
INFORMATION TECHNOLOGY
High­Speed Quantum Encryption Could Make
the Future Internet Even More Secure IBM Seeks Customers For Neural Network
DATA CENTER AND CRITICAL INFRASTRUCTURE Breakthrough
PROCESSORS
Researchers Developed Faster, Longer­
Lasting Batteries Here is the First Embedded Neural Network
INFORMATION TECHNOLOGY on a USB Stick
INFORMATION TECHNOLOGY

Electronics360 360 Websites
Editorial Team Advertising Datasheets360 Engineering360
Client Services Terms of Use

Home  |  Site Map  |  Accessibility  |  Nondiscrimination Policy  |  Privacy & Opting Out of Cookies

© Copyright 2017 IEEE GlobalSpec ­ All rights reserved. Use of this website signifies your agreement to the IEEE Terms and Conditions.

http://electronics360.globalspec.com/article/8956/creating-neural-networks-in-python 3/3

You might also like