Saturday, August 21, 2010

Fundamental of Neural Network

Artificial Neural Network
Neural nets (ANN) is known as connectionist models, parallel distributed processing models, or just written the neural network. Defining the neural nets views of the function or structure is a simplification of the model design of the human brain. The performance of the structure of biological neural nets in the human brain is by way of relay signals from one neuron to another neuron and the corresponding adjacent. The same thing continues to neurons that follows, until at last the desired neuron signals.
Artificial neurons in a neural net structure is a processing element that can function like a neuron. A collection of neurons made into a mesh that will serve as a computational tool based computers by way of a mathematical approach to math. Or ANN can also be viewed as "a system that consists of elements that are
distributed in parallel with the ability to improve performance through a process of learning."

Basic Structure of Biological Nets
The human brain contains millions of nerve cells responsible for processing information. Each cell works like a simple processor. Each of these cells interact with each other so that supports the ability of the human brain works.


Each neuron will have a cell nucleus, this nucleus will be served to make the processing of information. The information received by the dendrites and then come out through the Axon and the results will be input for other neurons, which dendrites between the two cells are brought into contact with synapsis. More details on this can be obtained at the disciplines of molecular biology.
In general, neural nets are formed from millions (even more) the basic structure of neurons which are interconnected and integrated with each other so that they can carry out activities regularly and continuously in accordance with needs.

Learning Methods
Learning for the ANN is a process set the price of weight parameters to obtain the best price by exercising (training) nets according to the desired system performance. The definition of learning itself, according to Herbert Simon (1983): "Learning is to show the changes in a system which is adjusted based on sensing that allows the system to perform tasks more effectively and efficiently in the future."
The purpose of this process so that a collection of input patterns (input vector) is given to produce the output pattern (output vector) is desirable or at least close. This training sequence is formed by applying the input pattern and set nets close to the weight of output follows a pattern of a particular learning algorithm during the learning process, weight is slowly converging towards a certain price, so that the input pattern to produce the desired output pattern. Ability to learn is also the ability to approximate a function (approximation capability). This makes it flexible to be used in the process of identification of a plant.
There are two methods of learning the neural network (ANN), namely:

1. Supervised training
Backpropagation algorithm included in method (supervised training). This algorithm requires the couple to each input vector with the vector of the target (desired output). A trained neural network system by comparing the number of output pairs with the target vector.
Input pattern is inserted into the nets that are then processed to produce output, which is called the output of the net. The difference of the two output states an error (error) which will be used to change the connection weight. So the error will be smaller in the next training cycle.

2. Unsupervised Training
This algorithm does not require the target vector to output, so no comparisons to determine the ideal response. Collection of training patterns consist of only the input vector training algorithm and serves as a modifier or modifications to generate a net weight of the vector, so that the implementation of two training vectors of a vector of other similar enough to produce the same output pattern. In the training process, the net classifies the input patterns into similar groups. Introduction of a vector of a certain class of input vectors will produce a specific output, but there's no way to determine beforehand the training, which will produce a particular output pattern with an input vector of a particular class.

AVR Overview

AVR microcontroller is one type of architecture that became the mainstay Atmel microcontroller. The architecture is designed to have many advantages and is a refinement of the architecture of existing microcontroller.

Various AVR microcontroller series is produced by Atmel and used worldwide as a microcontroller that is low cost and high performance. In Indonesia, the AVR microcontroller is widely used because of its features are fairly comprehensive, easy to get, and relatively affordable price

AVR microcontroller series has varied types and facilities, but all have the same architecture and instruction set is also relatively no different. The following tables compare several artificial Atmel AVR microcontroller series.


Series Flash (KBytes) RAM (Bytes) EEPROM (KBytes) Pin I/O Timer 16-bit Timer 8-bit UART PWM ADC 10-bit SPI ISP
ATmega8 8 1024 0.5 23 1 1 1 3 6/8 1 Y
ATmega8535 8 512 0.5 32 2 2 1 4 8 1 Y
ATmega16 16 1024 0.5 32 1 2 1 4 8 1 Y
ATmega162 16 1024 0.5 35 2 2 2 6 8 1 Y
ATmega32 32 2048 1 32 1 2 1 4 8 1 Y
ATmega128 128 4096 4 53 2 2 2 8 8 1 Y
ATtiny12 1 - 0.0625 6 - 1 - - - - Y
ATtiny2313 2 128 0.125 18 1 1 1 4 - 1 Y
ATtiny44 4 256 0.25 12 1 1 - 4 8 1 Y
ATtiny84 8 512 0.5 12 1 1 - 4 8 1 Y

  • Flash is a type of Read Only Memory is usually filled with the results of man-made programs to be executed by the microcontroller
  • RAM (Random Access Memory) is memory that helps the CPU for temporary data storage and processing data when the program is running
  • EEPROM (Electrically Erasable Programmable Read Only Memory) is memory for storing data permanently by the programs that are running
  • Port I / O is a way to an exit or entrance as the signal output or input for the program
  • Timer is in the hardware module that works to calculate the time / pulse
  • UART (Universal Asynchronous Receive Transmit) is a specialized data communications channels using serial asynchronous
  • PWM (Pulse Width Modulation) is a facility to create a pulse modulation
  • ADC (Analog to Digital Converter) is a facility to be able to receive analog signals within a certain range and then converted to a digital value within a certain range
  • SPI (Serial Peripheral Interface) is a specialized data communication lines in serial synchronous serial
  • ISP (In System Programming) is the special ability of the microcontroller to be programmed directly in the circuit system by requiring a minimum number of pins