Saltar para o conteúdo

Rede neural artificial: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
(Sem diferenças)

Revisão das 21h26min de 11 de agosto de 2003

Rede Neural Da Wikipedia, enciclopédia livre.


Uma rede neural artificial, mais conhecida pela forma abreviada "rede neural", é um sistema computacional baseado em um enfoque conexionista da computação. Estes nós simples (ou "neurônios", ou "unidades") são conectados entre si para formar uma rede de nós - daí o termo "rede neural". A inspiração original para esta técnica veio do exame das redes bioelétricas formadas por neurônios e por suas sinapses no cérebro.

A maioria dos pesquisadores hoje em dia possivelmente concorda que as redes neurais artificiais são muito diferentes, em termos estruturais, das rdes neuronais do cérebro . Mas, semelhantemente ao cérebro,uma rede neural é uma coleção fortemente paralela de unidades de processamento muito simples e pequenas na qual as interconexões formam a maior parte da inteligência da rede. Entretanto, em termos de escala o cérebro é muito maior que qualquer rede neural; além disso, as unidades usadas na rede neural são tipicamente muito mais simples que os neurônios e o processo de aprendizado do cérebro (embora ainda desconhecido) quase certamente é muito diferente do das redes neurais.

Uma rede neural "pró-alimentada" (em contraposição a "retroalimentada") típica consiste de um conjunto de nós. Alguns desses nós são designados nós de entrada, outros nós de saída e aquels que estão entre estes dois tipos de nós são chamados de nós "escondidos". Existem também conexões entre os neurônios, com um número referido como um ponderador associado a cada conexão. Quando a rede está em operação, um valor de entrada será aplicado a cada nó de entrada - estes valores são colocados por um operador humano ou por sensores ambientais ou talvez por outros programas. Cada nó então passa seu dado valor para as conexões que saem dele e em acda conexão o valor é multiplicado por um ponderador associado a essa conexão. Cada nó na camada seguinte então recebe um valor que é a soma dos valores produzidos por produzidos pelas coenxões que chegam até ele e em cada nó é realizada uma computação simples sobre esse valor - uma função sigmóide é típica.O processo então é repetido com os resultados sendo passados através de camadas subsequentes de nós até que os nós de resultados sejam atingidos.

Nota: isto é baseado em um modelo de neurônio da década de 1970.

Os modelos alternativos de cálculo nas redes neurais incluem aqueles dotados de "loops" (nos quais algum tipo de processo de retardamento de tempo precisa ser usado) e os modelos "o vencedor leva tudo", nos quais o neurônio com os valores mais altos "dispara" e toma o valor 1, e todos os outros neurônios tomam o valor 0.

Tipicamente os ponderadores em uma rede neural são colocados inicialmente em valores aleatórios pequenos; isto significa que a rede não sabe nada. À medida que o processo de treinamento acontece, esses ponderadores irão convergir para valores que permitem que eles realizem uma computação útil. Assim pode ser dito que uma rede neural começa sabendo nada e move-se no sentido de ganahr algum conhecimnento real.

As redes neurais são particularmente úteis para lidar com dados ligados a valores reais em que se desejada obter uma saída dotada de valor real; desta maneira as redes neurais irão realizar uma classificação por graus, e serão capazes de expressar valores equivalentes "não conhecido com certeza". Se uma rede neural é treinada usando a função de erro de entropisa cruzada (veja o livroi de Bishop) e se a saída dessa rede neural tem uma forma sigmoidal não-linear, então as saídas serão estimativas probabilidade posteriorreal de uma classe.

In real life applications, neural networks perform particularly well on the following common tasks:-


Function approximation Time series prediction Classification Pattern recognition Other kinds of neural networks, in particular Continuous-Time Recurrent Neural Networks (CTRNN), are used in conjunction with genetic algorithms(GAs) to produce robot controllers. The genome is then constitued of the networks parameters and the fitness of a network is the adequacy of the behaviour exhibited by the controlled robot (or often by a simulation of this behaviour).


Table of contents [showhide] 1 Types of neural networks

1.1 Single layer perceptron 1.2 Multi-layer perceptron 1.3 Simple recurrent network 1.4 Hopfield network 1.5 Boltzmann machine 1.6 Support vector machine 1.7 Committee of machines 1.8 Self-organizing map 1.9 Other network types 1.10 Data representation

2 Relation to optimization techniques

3 External links

4 Bibliography



Types of neural networks

Single layer perceptron The earliest kind of neural network is a single-layer perceptron network, which consists of a single layer of output nodes; the inputs are fed directly to the outputs via a series of weights. In this way it can be considered the simplest kind of feedforward network. The sum of the products of the weights and the inputs is calculated in each node, and if the value is above some threshold (typically 0) the neuron fires and takes the value 1; otherwise it takes the value -1. Neurons with this kind of activation function are also called McCulloch-Pitts neurons or threshold neurons. In the literature the term perceptron often refers to networks consisting of just one of these units.

Perceptrons can be trained by a simple learning algorithm that is usually called the delta-rule. It calculates the errors between calculated output and sample output data, and uses this to create an adjustment to the weights, thus implementing a form of gradient descent.

Single-unit perceptrons are only capable of learning linearly seperable patterns; in 1969 in a famous monograph entitled Perceptrons by Marvin Minsky and Seymour Papert showed that it was impossible for a single layer perceptron network to learn an XOR function. They conjectured (incorrectly) that a similar result would hold for a multi-layer perceptron network. Although a single threshold unit is quite limited in its computational power, it has been shown that networks of parallel threshold units can approximate any continuous function from a compact interval of the real numbers into the interval [-1, 1]. This very recent result can be found in [Auer, Burgsteiner, Maass: The p-delta learning rule for parallel perceptrons, 2001 (state Jan 2003: submitted for publication)].


Multi-layer perceptron This class of networks consists of multiple layers of computational units, usually interconnected in a feedforward way. This means that 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.

The universal approximation theorem for neural networks states that every continuous function that maps intervals of real numbers to some output interval of real numbers can be approximted arbitrary closely by a multi-layer perceptron with just one hidden layer. This result holds only for restricted classes of activation functions, e.g. for the sigmoidal functions.

Multi-layer networks use a variety of learning techniques, the most popular being backpropagation. Here the output values are compared with the correct answer to compute the value of some predefined error-function. By various techniques the error is then fed back through the network. Using this information, the algorithm adjusts the weights of each connection in order to reduce the value of the error-function by some small amount. After repeating this process for a sufficiently large number