Accéder au contenu principal

Understanding Neural Network


Understanding Neural Network

What is a neural network?

Figure 1: What is a Neural Network?

The neural network is a system that mimics a human brain structure. Figure 1 presents a multi-layer feedforward Neural Network structure, which contains an input layer (green), hidden layers (pink) and an output layer (orange). Each layer contains multiple nodes indicated by a small circle, for example, input nodes are in green, hidden nodes are in pink, and output nodes are in orange.

Nodes in different layers can connect to each other, and the connection strength between two nodes is called a weight between these nodes. The connection flow is started from the input layer to hidden layers, and then to the output layer. Each node in a hidden layer can accept input connections from a previously hidden layer or input layer. These input connections will be summed and fed to a special function called activation function to form its node's output. As a result, only hidden layers and output layer do have activation functions. There are different types of activation functions that define the character of the Neural Network.

In a nutshell, for a given Neural Network structure, the output of this Neural Network can be calculated based on its inputs. The Neural Network weights are determined from a learning process that learn a pattern or features from a data-set. This data-set is a collection of input and target pairs.


Neural Network applications


Figure 2: Neural Network application


As a Neural Network can approximate any mathematics functions. its applications are mainly on function approximation and classification fields. That fields include function fitting, prediction and pattern recognition as shown in Figure 2.

Pattern recognition example

Figure 3: Handwriting recognition example

In this example, a data-set for handwriting recognition application contains 60000 samples of 28pixelx28pixel gray images representing the number from 1 to9. The purpose of this example is to use image samples to train a Neural Network to recognize number 1 to 9. As a result, the Neural Network input will be a 28pixelx28pixel gray image and its target would be any number (from 1 to 9) as shown in Figure 3. After being trained, the Neural Network will have the correct knowledge to recognize the correct number from a hand-writing 28x28 gray image. In other words, the trained Neural Network will be able to recognize a pattern in handwriting images to correctly identify them.

Function fitting/ prediction example
Figure 4: Function fitting/prediction example

In this example, a historical data representing a share price over time, and this data might be a presented by a continuous mathematics function. The future share price would be predicted if this mathematics function is known. Unfortunately, this is not the case in a stock market. Different techniques, refereed as function fitting, have been explored to formalize a mathematics function based on a historical data. With learning capability, a Neural Network is a perfect candidate for this kind of application.

Figure 4 presents a function fitting application of a Neural Network. First, historical stock price data is used to train a Neural Network to learn its features. After being trained, the Neural Network could predict future prices of this stock share.   
How does a Neural Network learn?


Figure 5: How to train a Neural Network?

The ability to recognize patterns or to approximate unknown functions thanks to the Neural Network learning capability. To teach a Neural Network, a data-set that contains a collection of input-target pairs is required. For a given input from that data-set, the corresponding target is the Neural Network output expected to be. Figure 5 demonstrates the Neural Network learning process.

For a given Neural Network structure, its outputs can be calculated based on its current weights and inputs from the data-set (outputs = F(W, inputs)). These outputs will then be compared against targets from the data-set to form training signals to adjust the Neural Network weights via an optimization procedure. This process is repeated until no significant differences between the Neural Network outputs and corresponding targets, also called errors, are achieved.  Since errors are calculated from the Neural Network output layer and used to adjust weights from hidden layers to the input layer, this process also refers to the back-propagation process. Through this training process, the Neural Network will eventually learn data-set's behavior.


Commentaires

Posts les plus consultés de ce blog

PLC with ARDUINO (ATmega 328p)

Contents 1  INTRODUCTION 2  TECHNICAL SPECIFICATIONS 3  CHANGES COMPARED TO THE PREVIOUS VERSION (V4) 4  ELECTRONIC SCHEMATIC 5  PCB BOARD DESIGN - Order now at JLCPCB 6  LIST OF ELECTRONIC COMPONENTS 7  STEPS TO UPLOAD A PROGRAM 8  EXTERNAL PARTS AND CONNECTIONS 9  LIST OF EXTERNAL TERMINALS AND ATMEGA328P-AU 10  TEST CODES 10.1  OUTPUTS 10.2  INPUTS AND OUTPUTS 10.3  ANALOG INPUTS 10.4  SERIAL PLOTER 10.5  REAL TIME CLOCK (RTC) INTRODUCTION At the beginning of this year 2020 a video of the PLC V4 was published.  whose device still had to be improved, therefore, for this version 4.1, a Real Time Clock and a DC DC step down source have been integrated. PLC with arduino (ATmega328p AU) V4.1, is a programmable logic controller that was designed by Electroall, whose circuit is based on the SIEMENS S7 1200 CPU1214c PLC device with relay outputs.  Initially, the current version will have a 24VDC power supply like all industrial devices.  In addition, it includes a  Real Time Clock (RTC).  S

Home

Deep Learning is a  superpower .  With  it you can make a computer  see ,  synthesize novel  art , translate  languages ,  render a medical  diagnosis , or build pieces of a  car that can  drive itself . If that isn’t a  superpower, I don’t know what is. What is deep learning? The field of artificial intelligence is essentially when machines can do tasks that typically require human intelligence. It encompasses machine learning, where machines can learn by experience and acquire skills without human involvement. Deep learning is a subset of machine learning where artificial neural networks, algorithms inspired by the human brain, learn from large amounts of data. Similarly to how we learn from experience, the deep learning algorithm would perform a task repeatedly, each time tweaking it a little to improve the outcome. We refer to ‘deep learning’ because the neural networks have various (deep) layers that enable learning. Just about any problem that require

Covid-19 Detection With Images Analysis And Machine Learning DL4J

In this presentation, you will try learn how to automatically detect COVID-19 in a hand-created X-ray image dataset using Deeplearning4j and talk about And talking about an experiment that I did using the technique of object detection to capture the Covid virus through pictures of infected cells. But it did not produce good results due to the lack of pictures of the affected cells. Meaning that the two techniques can be applied to technical assistance for health professionals In this application, we will rely on a database of positive and negative images diagnosed by the doctor Joseph Cohen’s, which has uploaded on  github  platform. You can view it through the   link  . We will rely on DL4J framework to create the neural network according to the following plan: 1-Build the neural network 2- Train the model the net 3- Save & Loading the model of our neural network 4- Test the neural network against unsigned  images 1-Buildin The neural Network : At this poin

DL4j Spring Boot

1. Introduction: In this article, we'll create a simple neural network with the  deeplearning4j  (dl4j) library – a modern and powerful tool for machine learning. Before we get started, not that this guide doesn't require a profound knowledge of linear algebra, statistics, machine learning theory and lots of other topics necessary for a well-grounded ML engineer. 2. What Is Deep Learning ? Neural networks are computational models that consist of interconnected layers of nodes. Nodes are neuron-like processors of numeric data. They take data from their inputs, apply some weights and functions to these data and send the results to outputs. Such network can be trained with some examples of the source data. Training essentially is saving some numeric state (weights) in the nodes which later affects the computation. Training examples may contain data items with features and certain known classes of these items (for instance, “this set of 16×16 pixels contains a hand-