Você está na página 1de 94

Redes Neurais Articiais

Redes Neurais Articiais


Dino Magri dinomagri@gmail.com
Universidade do Estado de Santa Catarina Inteligncia Articial

29 de maio de 2011

Redes Neurais Articiais

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Introduo

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Introduo Histrico

Provavelmente a mais antiga tcnica de IA em uso.

Dcada de 40 por Walter Pitts e McCulloch (primeiro matemtico e o segundo neurosiologista)

Anlogia entre neurnios biolgicos e circuitos eletrnicos

Redes Neurais Articiais Introduo Histrico

Von Neumann, props a arquitetura dos computadores eletrnicos atuais, nesta mesma dcada

Donald Hebb - Defendeu que o condicionamento psicolgico clssico est igualmente presente em qualquer animal, por ser um propriedade dos neurnios. Hebb foi o primeiro a propor uma lei de aprendizagem especica para as sinapses dos neurnios.

Redes Neurais Articiais Introduo Histrico

Primeiro Neurocomputador (Snark) foi criado em 1951 por Mavin Minsky (serviu "apenas" de inspirao para projetos posteriores)

Em 1957 Frank Rosenblatt criou uma rede neural com o nome de Perceptron.

Simulao computacional para a retina - demonstrou como o sistema nervoso visual reconhece padres

Redes Neurais Articiais Introduo Histrico

Porm Marvin Minsky e Seymor Papert provaram que redes neurais de uma unica camada no seriam capazes de resolver problemas simples como a operao lgica XOR (OU exclusivo):

A XOR B (A B ) (A B ) Esse trabalho desestimulou os pesquisadores e somente em 1982, quando John Hopeld apresentou um trabalho, no qual ele descreveu um modelo de rede neural, baseado no sistema nervoso de uma lesma, o interesse por tais algoritmos renasce.

Redes Neurais Articiais Princpios de Neurocomputao

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

Crebro humano - 10 bilhes de neurnios Cada neurnio - at 10.000 sinapses1 com outros neurnios Se cada ligao == 1 bit, teriamos 100 trilhes de bits 11,37 terabytes de capacidade mxima de memria

Sinapses - Regies de comunicao entre os neurnios

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

Figura: Um neurnio2 .

Fonte - colinfahey.com

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

Figura 1 mostra um neurnio e os principais componentes so: Corpo da clula ou Soma - responsvel por coletar e combinar as informaes vindas de outros neurnios. Dendritos3 - Recebe os estmulos transmitidos pelos outros neurnios. Axnio4 - Responsvel por transmitir estimulos para outras clulas.

3 Clique para mais informaes sobre Dendritos 4


Clique para mais informaes sobre Axnio

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

O neurnio matemtico recebe um ou mais sinais de entrada e devolve um nico sinal de sada, que pode ser distribudo como sinal de sada da rede, ou como sinal de entrada para um ou vrios outros neurnios da camada posterior.

Figura: Representao do neurnio matemtico5 .

Fonte - Livro Redes Neurais [Montgomey e Ludwig]

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

instrumentos de processamento paralelo. (No PC isso simulado!!!) Dendritos e axnios so representados matematicamente apenas pelas sinapses e a intesidade da ligao representada por um grandeza denominada peso sinptico, simbolizada pela letra w As entradas, x, so apresentadas ao neurnio, so multiplicadas pelos pesos sinpticos correspondentes, gerando as entradas ponderadas: w1 x1 , w2 x2 , ..., wn xn

Os sinais de entrada chegam simultaneamente aos neurnios, por isso as redes so classicadas como

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

O neurnio totaliza todos os produtos e o resultado desta somatrio denominado pela Funo de Combinao ou Funo de ativao representada pela letra v : v=

n i =0

wi xi

Ento o valor passado para a Funo de transferncia, que evita o acrsimo progressivo dos valores de sada ao longo das camadas da rede. Esse modelo simplicado e o neurnio esttico, ou seja, no considera a dinmica do neurnio natural.

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

Algumas funes de tranferncias utilizadas: Funo sigmide: 1 (v ) = 1 + e v Funo gaussiana: 2 (v ) = e v Funo tangente hiperblica:
(v ) = tanh(v )

Redes Neurais Articiais Princpios de Neurocomputao Neurnios

O modelo matemtico tambm pode incluir uma polarizao ou bias de entrada, representada pela letra b. Esta varivel includa no somatrio da funo de ativao, com o intuito de aumentar o grau de liberdade desta funo e, consequentemente, a capacidade de aproximao da rede. O valor do bias ajustado da mesma forma que os pesos sinpticos. O bias permite que um neurnio apresente sada no nula ainda que todas as suas entradas sejam nulas.

Redes Neurais Articiais Princpios de Neurocomputao A Rede Neural Articial

rna
Combinando os neurnios em uma ou mais camadas, que podem conter um ou mais neurnios e interligando estes neurnios atravs das sinapses, pode-se formar uma RNA (Rede Neural Articial). Em geral possuem:

Uma camada de entrada ou de distribuio - tem nmero


de ns igual ao nmero de sinais de entrada da rede. Uma, nenhuma ou vrias camadas ocultas - so constituidas de um ou mais neurnios ocultos.

Uma camada de sada - contm, necessariamente, um


nmero de neurnios igual ao nmero de sinais de sada da rede.

Redes Neurais Articiais Princpios de Neurocomputao A Rede Neural Articial

Ajustando os valores de seus pesos sinpticos, a rede neural pode representar (ou memorizar) as relaes entre os dados de entrada e sada, assumindo uma caracterstica de memria associativa.

Figura: Sinais de entrada e de sada em uma cadeia de neurnios interligados de uma RNA6 .
6

Fonte - Livro Redes Neurais [Montgomey e Ludwig]

Redes Neurais Articiais Princpios de Neurocomputao A Arquitetura da Rede

Amplamente conectada (fully connected) Realimentao (feedback) A arquitetura da rede neural livre, ou seja, no existe formalizao que determine quantas camadas, ou quantos neurnios devem existir Esta formalizao ir depender do projetista, que dever variar esse nmero para alcanar o melhor desempenho com um conjunto de dados reservados para testes e validao.

Redes Neurais Articiais Princpios de Neurocomputao Controle do Aprendizado

Supervisionado No supervisionado

Redes Neurais Articiais Princpios de Neurocomputao Controle do Aprendizado

supervisionado
desejada
Rede treinada com pares de conjunto de entrada e de sada

Quando apresentada rede este conjunto de entrada, esta retorna um conjunto de valores de sada, que comparado ao conjunto de valores de sada desejado. Em seguida, os pesos sinpticos e nveis de bias so ajustados de forma a minimizar a diferena entre a sada apresentada pela rede e a sada desejada. O processo repetido para todos os pares de entrada e sada que constituem o conjunto de treinamento da rede, at que a taxa de acerto seja considerada satisfatria.

Redes Neurais Articiais Princpios de Neurocomputao Controle do Aprendizado

no supervisionado

organiza sua estrutura de modo a fazer a classicao deste valores em grupos. Classicao de dados pelo reconhecimento de padres, ou

A rede no recebe informaes sobre valores de entrada e

seja, deteco de caractersticas em comum entre conjuntos de dados. Processo de competio e cooperao entre os neurnios.

Redes Neurais Articiais Princpios de Neurocomputao Algoritmo de Aprendizado

Depois de treinada a rede pode ser utilizada em diversas reas do conhecimento humano, ainda que na ausncia de uma especialista. Atualmente existem diversos algoritmos utilizados para ajustar os pesos sinpticos e o nvel de bias de uma rede neural, dentre as quais pode-se destacar: Aprendizagem por correo de erros (regra delta) Aprendizado supervisionado!!! Aprendizagem competitiva (regra de Kohonen) Aprendizado no supervisionado!!! Aprendizagem baseada em memria Aprendizagem hebbiana Aprendizagem de Boltzmann

Redes Neurais Articiais Projeto de uma Rede Neural

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Projeto de uma Rede Neural

projeto rede neural

Coleta e seleo de dados Congurao da rede Treinamento Teste Integrao

Redes Neurais Articiais Projeto de uma Rede Neural Coleta e Seleo de Dados

coleta e seleo de dados


fundamental Minimizar ambiguidades e erros Cobrir amplamente o domnio do problema, incluindo as excees e as condies limites 2 categorias:
1. Dados de treinamento, para treinar a rede 2. Dados de validao, verica o desempenho da rede

O nmero adequado de dados para o treinamento de uma RNA funo do nmero de sinapses e bias desta rede Assim, quanto mais variveis livres (sinapses e bias) uma RNA tiver, mais restries (exemplos de treinamento) sero necessrios

Redes Neurais Articiais Projeto de uma Rede Neural Congurao da rede

congurao da rede
4 etapas:
1. Seleo do paradigma neural apropriado aplicao, qual a congurao a ser utilizada (perceptron simples, de multiplas camadas, rede de kohonen, etc.) 2. Determinao da topologia da rede, ou seja, o nmero de camadas e o nmero de neurnios em cada camada 3. Determinao do algoritmo de treinamento, a taxa de aprendizado, demais parmetros de treinamento 4. Determinao do tipo de funo de transferncia

Escolha feita de forma emprica, apesar de o autor citar que existem algumas heursticas que conduzem a opo mais acertada

Redes Neurais Articiais Projeto de uma Rede Neural Treinamento

treinamento
Ajuste dos pesos das conexes Determinao dos valores iniciais dos pesos sinpticos (inicializao da rede), de forma aleatria Qual algoritmo de aprendizagem utilizar - basicamente emprico E quanto tempo de treinamento para o aprendizado da rede pode-se adotar um nmero mximo de ciclos, a taxa de erro mdio por ciclo, ou ainda, a capacidade de generalizao da rede (pode causar over-training ) O ideal que o treinamento venha a ser interrompido quando a rede apresentar uma boa capacidade de generalizao e quando a taxa de erro foi admissvel. Assim, deve-se encontrar um ponto timo de parada com erro mnimo e capacidade de

generalizao mxima

Redes Neurais Articiais Projeto de uma Rede Neural Teste

teste

Verica se a rede no decorou os dados de entradas e valida a rede para a aplicao desejada. Deve-se considerar outros testes como a anlise dos pesos sinpticos e nveis de bias, pois se existirem valores muito pequenos, as conexes associadas podem ser consideradas insignicantes e ento serem eliminadas (prunning )

Redes Neurais Articiais Projeto de uma Rede Neural Integrao

integrao

Com a rede valida e treinada, possvel a integrao dela a um sistema. Este sistema deve fazer a manuteno da rede quando for necessria ou avisar aos projetistas as necessidades de novas sees de treinamento.

Redes Neurais Articiais Perceptron

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Perceptron

Arquitetura mais simples Possui apenas uma camada de entrada e uma camada de sada, no h camadas de neurnios intermedirias. Utilizado apenas em estruturas de deciso simples.

Redes Neurais Articiais Perceptron

Funo de ativao - Faz a soma ponderada dos sinais de


entrada

Funo de transferncia

- Determina a sada do neurnio, em funo da soma ponderada. Podemos comparar isto a uma situao real de reao do organismo quando se encosta em algo quente: a entrada da temperatura pelos sensores indicam a possvel queimadura, que ativa o crebro a enviar um comando (a sada) de se afastar imediatamente.

Redes Neurais Articiais Perceptron

Os valores: wi j , representam os pesos sinpticos das ligaes entre os neurnios: o elemento i da camada de entrada com o neurnio j da camada de saida, e simula a eccia da sinapse entre os nernios naturais

Redes Neurais Articiais Perceptron

A funo de ativao est representada pela letra v, e tem o formato: n vj = wi j xi i =1 A funo de transferncia est representada pelo simbolo: e, normalmente, so utilizadas funes de limite rspido como a funo degrau, onde a funo pode assumir dois valores, conforme: 1, v > 0 (v ) = 0, v 0

Redes Neurais Articiais Perceptron

As funes de limite rspido so quem determinam a veracidade de uma entrada denida, como o caso do exemplo dado: o imediado afastamento do objeto uma reao normal, caso o objeto esteja realmente quente. Informao Verdadeira! caso contrrio, o crebro no reage deixando a pessoa se encostar naturalmente no objeto. Informao Falsa!

Estas informaes s so absorvidas com o aprendizado

Redes Neurais Articiais Perceptron

algoritmo de aprendizagem do perceptron

O ajuste correto dos pesos sinpticos obtido, iterativamente, atravs de um algoritmo de aprendizado que, no caso do perceptron de um nica camada, a regra delta. O elemento de processamento que utiliza essa regra o ADALINE Adaptive Linear Neuron ou Adaptive Linear Element

Redes Neurais Articiais Perceptron

algoritmo de aprendizagem do perceptron


1. Atribui-se aos pesos valores aleatrios e, com eles, apresenta-se um conjunto de sinais de entrada e calcula-se a resposta da rede 2. Ento, comparam-se os valores calculados com os valores desejados (treinamento supervisionado). 3. Caso erro no aceitvel, faz-se o ajuste de pesos proporcionalmente ao erro E (j ) = d (j ) y (j ) e ao valor do sinal de entrada correspondente. (Quanto maior o erro, maior deve ser a correo) 4. A expresso que representa este processo: w (i , j )T +1 = w (i , j )T + E (j )T x (i )

Redes Neurais Articiais Perceptron

w (i , j )T +1 = w (i , j )T + E (j )T x (i ) Valor do erro corrigido: w (i , j )T +1 Valor do peso na iterao anterior: w (i , j )T Valor do erro para o neurnio j : E (j )T Taxa de aprendizado: ndice do sinal de entrada: i Iterao: T ndice do neurnio: j Sinal de entrada: x (i )

Redes Neurais Articiais Perceptron

O Erro E (j ) a diferena entre o sinal de sada desejado para o neurnio j , representado por d (j ), e o sinal de sada calculado pela rede para aquele neurnio, y (i ), representado na equao: E (j ) = d (j ) y (j ) O Erro mdio para todos os neurnios da camada de sada na iterao T ser: n |E (j )| j =1 ( T ) = n em que n o nmero mdio de neurnios da camada de sada. O erro mdio para todo o conjunto de treinamento ser:
med =

n ( T ) T =1 n

Este valor pode ser utilizado como referncia para o encerramento da seo de treinamento pela avaliao do nvel de preciso da rede.

Redes Neurais Articiais Perceptron

Exemplo 1: http://www.dinomagri.com/downloads/ia/rna.zip
Usaremos dois sinais de entrada e um neurnio na camada de sada. Esta rede, aps o treinamento ser capaz de classicar quatro individuos em duas classes, conforme segue: COMPOSITOR CIENTISTA BACH X BEETHOVEN X EINSTEIN X KEPLER X

Redes Neurais Articiais Perceptron

Primeiro passo codicar as informaes em base binria. BACH = 00 BEETHOVEN = 01 EINSTEIN = 10 KLEPER = 11 COMPOSITOR = 0 CIENTISTA = 1 Conclui-se que apenas 2 elementos na camada de entrada so necessrios, pois o nmero de elementos necessrios, em base binria, dada pela frmula: X = 2n , em que n o nmero de elementos na camada de entrada e X o nmero de sinais de entrada. Para a camada de sada vale a mesma relao, logo para representar dois valores necessita-se de apenas 1 neurnio.

Redes Neurais Articiais Perceptron

passo a passo

Adiciona-se 1 bias de entrada ao neurnio, para melhorar a capacidade de aproximao, tendo assim mais um parmetro livre Arbitrar o valor zero para todos os pesos sinpticos e o bias Sinal de entrada do bias b constante e tem sempre o valor

positivo 1

Calcular o valor da funo de ativao

Redes Neurais Articiais Perceptron

passo a passo
Aps, aplicar a funo de transferncia:
1. Se sada est correta, mantm os mesmos pesos sinpticos e o bias e espera os prximos sinais de entrada 2. Se sada est incorreta: a Compara com a sada desejada e ter o valor do Erro, que a diferena entre o esperado e o encontrado b Arbitrar taxa de aprendizado = 1 c A correo ser aplicada pela formula:

w (i , j )T +1 = w (i , j )T + E (j )T x (i )
3. Com os novos pesos, espera os prximos sinais de entrada

Repete-se todo o processo novamente

Redes Neurais Articiais Perceptron

Mo na massa :-)

Redes Neurais Articiais Perceptron

codigo fonte

Let's Code :-)

Redes Neurais Articiais Perceptron

concluses do perceptron
Estas redes s resolvem problemas cujas classes sejam linearmente separveis, o que no o caso no problema do ou exclusivo (XOR). Desta forma, se Beethoven resolvesse ser cientista e Kleper compositor, a rede jamais aprenderia a classica-los, porque estas mudanas resultariam no problema XOR, conforme a tabela abaixo: COMPOSITOR CIENTISTA BACH(00) 0 BEETHOVEN(01) 1 EINSTEIN(10) 1 KEPLER(11) 0

Redes Neurais Articiais Perceptron

A funo de ativao v linear, sendo assim, a reta no diagrama ao lado contm todos os pares ordenados de valor X1 e X2 , onde o valor de v igual a zero.

Figura: Exemplo de funo de ativao

A equao desta reta, a qual apresentada na Figura anterior, obtida da seguinte formula:

Redes Neurais Articiais Perceptron

v = b + w 1 X1 + w 2 X2 = 0 , que resolvendo para X2 , encontra-se: X2 =


(w1 X1 + b)

w2

Para os pontos acima desta reta o valor de v ser maior do que zero, o que resultar um sinal de sada igual a 1 positivo Para os pontos abaixo desta reta, v ser menor do que zero, resultando um sindal de sada igual a zero Ou seja, esta reta uma fronteira de deciso na classicao dos sinais de entrada Assim, sempre que projetar um simples perceptron, deve

vericar se as entradas no recaem neste problema com a sada, para evitar que uma soluo no seja encontrada.

Redes Neurais Articiais A rede de Kohonen

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais A rede de Kohonen

kohonen
Idealizado por Teuvo Kohonen

Algoritmo um modelo de mapa auto-organizvel Treinamento no supervisionado Nesta estrutura, os neurnios esto dispostos como ns de uma grade que, normalmente, uni ou bidimensional. No caso de uma mapa bidimensional, a geometria livre, podendo ser quadrada, retangular, triangular, etc.

Redes Neurais Articiais A rede de Kohonen

Princpio fundamental Aprendizagem competitiva Ao se apresentar uma entrada rede, os neurnios competem entre si e o vencedor tem seus pesos ajustados para responder melhor ao supracitado estmulo Tambm simulado um processo de cooperao entre o neurnio vencedor e seus vizinhos topolgicos, que tambm recebem ajustes. A motivao para a criao deste modelo neural a teoria de que no crebro humano, entradas sensoriais diferentes so mapeadas em regies especcas do crtex cerebral. A isto se pode denominar de distribuio de probabilidade codicada por localizao

Redes Neurais Articiais A rede de Kohonen

Uma rede com 8 ns deentrada, e quatro neurnios, dispostos em uma grade bidimensional quadrada. Cada neurnio da grade est totalmente conectado com todos os ns da camada de entrada

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

algoritmo

O algoritmo inicia o processo arbitrando pequenos valores aleatrios aos pesos sinpticos, para que nenhuma organizao prvia seja imposta no mapa Aps isso, iniciado o processo de competio,

cooperao e adaptao sinptica

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

processo competitivo
Imagine que um vetor de entrada (selecionado aleatriamente), representado por: x = [x1 , x2 , ..., xn ]T apresentado rede sem que se especique a sada desejada. Um neurnio y dever responder melhor a esta entrada, ou seja, ser o neurnio vencedor Para a escolha do neurnio vencedor usa-se a distncia euclidiana. Assim, o neurnio que apresenta a menor distncia euclidiana entre o vetor de entrada e o seu vetor de pesos o vencedor.

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

Considerando que o vetor: wi = [wi 1 , wi 2 , ..., wi n ]T , represente os valores dos pesos sinpticos de um neurnio i no instante t e o vetor x = [x1 , x2 , ..., xn ]T , represente um exemplo de treinamento apresentado rede no mesmo instante t, a distncia euclidiana entre wi e x, ser dada pela equao: di (t ) =

N j =1

(xj (t ) wi j (t ))2 , onde :

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

di (t ), a distncia euclidiana entre o vetor de pesos do neurnio i e o vetor de entrada, na iterao t ; i , o ndice do neurnio j , o ndice do n de entrada N , nmero de sinais de entrada (nmero de dimenses do vetor x) xj (t ), o sinal de entrada no n j na iterao t wi j (t ), o valor do peso sinptico entre o n de entrada j e o neurnio i na iterao t

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

processo cooperativo
O neurnio vencedor indica o centro de uma vizinhana topolgica hik , que indica o grau de interao ou cooperao entre o neurnio i e seu vizinho k , simtrico em relao ao neurnio vencedor k e decrese monotonamente com o aumento da distncia lateral lik at que, no limite em que lik tende a innito hik tende a zero. A funo gaussiana abaixo atende estas condies: hi k = e ( 22 ) , onde :
l ik

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

O termo li k 2 , no caso de uma grade bidimensional, a distncia euclidiana entre os neurnios i e k. O parmetro denominado de largura efetiva da vizinhana topolgica e deve diminuir com o passar do tempo, o que implica em valores de hi k menores ao longo do tempo. Isto caracteriza uma vizinhana mais restrita e, portanto, mais especializada. O valor de , normalmente, uma funo exponencial com a seguinte forma:
(t ) = 0 .e
( t )
1

em que 0 o valor inicial de , t o nmero de iteraes e 1 uma constante de tempo

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

processo adaptativo
O aprendizado de um mapa auto-organizvel, se d pelo ajuste de seus pesos sinpticos. Considere, wi j entre o n de entrada j e o neurnio i , o ajuste wi j que este deve sofrer, ser dado pela equao:
wi j = (t ).hi k (t ).(xj wi j ), onde :

o termo hi k (t ) o parmetro vizinhana topolgica na iterao t , no qual o ndice k se refere ao neurnio melhor classicado k . xj o valor do exemplo de entrada e wi j o peso do neurnio O parmetro taxa de aprendizagem (t ), geralmente denido pela expresso: ( ) (t ) = 0 .e 1 ,
t

Redes Neurais Articiais A rede de Kohonen Algoritmo da rede

onde 1 uma constante de tempo e 0 o valor inicial adotado, o qual deve ser maior que zero e menor que um Nota-se que a taxa de aprendizagem decresce gradualmente ao longo do tempo. A nalidade evitar que dados novos, apresentados aps um longo treinamento, venham a comprometer seriamente o conhecimento que j est

sedimentado

O mesmo ocorre com o crebro humano: quanto mais idoso se torna, menor a capacidade de aprender

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Denir os pesos inicias dos arcos aleatriamente; Denir os valores de (0), 1 , e o valor do erro; Inserir exemplo de treinamento; Encontrar a distncia euclidiana para cada neurnio; Encontrar o neurnio vencedor; Para cada neurnio da rede fazer: 6.1 Calcular a largura efetiva (t ); 6.2 Calcular a distncia lateral l 2 ; 6.3 Calcular a vizinhana topolgica h; 6.4 Calcular a taxa de aprendizagem (t ); 6.5 Calcular os valores w para cada arco do neurnio e seu respectivo ajuste (novo valor de w ); 7. Voltar ao paso 3 at que as distncias euclidianas satisfaam o erro denido;

1. 2. 3. 4. 5. 6.

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Exemplo 2, tem trs ns de entrada e seis neurnios dispostos

Figura: Rede Kohonen bidimensional para treinamento

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 1 - Denir os pesos inicias dos arcos aleatriamente Neurnio11 Neurnio12 Neurnio13 Neurnio21 Neurnio22 Neurnio23 w1 w1 w1 w1 w1 w1
= 2; w2 = 2; w3 = 1; = 3; w2 = 2; w3 = 2; = 2; w2 = 1; w3 = 1; = 1; w2 = 2; w3 = 3; = 2; w2 = 0; w3 = 1; = 1; w2 = 2; w3 = 0;

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 2 - Denir os valores de (0), 1 , e o valor do erro


(0) = 0.8 1 = 10 = 0.8

Valor do erro = 0.99

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 3 - Inserir exemplo de treinamento Primeiro exemplo de treinamento x1 = 0; x2 = 3; x3 = 5;

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 4 - Encontrar a distncia euclidiana para cada neurnio di (t ) =

N j =1

(xj (t ) wi j (t ))2

Neurnio11 d11 = (x1 w1 )2 + (x2 w2 )2 + (x3 w3 )2 Neurnio11 d11 = (0 2)2 + (3 2)2 + (5 1)2 = 21

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 5 - Encontrar o neurnio vencedor Neurnio11 Neurnio12 Neurnio13 Neurnio21 Neurnio22 Neurnio23
d11 = (0 2)2 + (3 2)2 + (5 1)2 = 21 d12 = (0 3)2 + (3 2)2 + (5 2)2 = 19 d21 = (0 1)2 + (3 2)2 + (5 3)2 = 6 d13 = (0 2)2 + (3 1)2 + (5 1)2 = 24

d23 = (0 1)2 + (3 2)2 + (5 0)2 = 27

d22 = (0 2)2 + (3 0)2 + (5 1)2 = 29

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 5 - Encontrar o neurnio vencedor Neurnio11 d11 = (0 2)2 + (3 2)2 + (5 1)2 = 21 Neurnio12 d12 = (0 3)2 + (3 2)2 + (5 2)2 = 19 Neurnio13 d13 = (0 2)2 + (3 1)2 + (5 1)2 = 24 Neurnio21 d21 = (0 1)2 + (3 2)2 + (5 3)2 = 6 Neurnio22 d22 = (0 2)2 + (3 0)2 + (5 1)2 = 29 Neurnio23 d23 = (0 1)2 + (3 2)2 + (5 0)2 = 27

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 6 - Para cada neurnio da rede fazer: 6.1 6.2 6.3 6.4 6.5 Calcular a largura efetiva (t ); Calcular a distncia lateral l 2 ; Calcular a vizinhana topolgica h; Calcular a taxa de aprendizagem (t ); Calcular os valores w para cada arco do neurnio e seu respectivo ajuste (novo valor de w );

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 6.1 - Calcular a largura efetiva (t ) Equao: ( ) (t ) = 0 .e 1 ,


t

Logo:

(0) = 0, 8.e ( 10 ) , (0) = 0.8

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 6.2 - Calcular a distncia lateral (l 2 ) entre o neurnio vencedor(x1 , y1 ) (2,1) e o neurnio(x2 , y2 ) (1,1) Equao: l 2 = (x1 x2 )2 + (y1 y2 )2 , Logo: l 2 = (2 1)2 + (1 1)2 , l2 = 1

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 6.3 - Calcular a vizinhana topolgica (h) do neurnio vencedor em relao ao neurnio (11) Equao: hi k = e Logo: h = e ( 2
x

l ik

22

1 ) 0.82

h = 0.46

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 6.4 - Calcular a taxa de aprendizagem (t ) para a primeira iterao (t = 0) Equao: ( ) (t ) = 0 .e 1 ,


t

Logo:

(0) = 0.8.e ( 10 ) (0) = 0.8

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Passo 6.5 - Calcular o ajuste do peso atravs do valores w para cada arco do neurnio e seu respectivo ajuste (valor corrigido de w ) Equaes para cada arco do neurnio e o ajuste do peso:
wi j = (t ).hi k (t ).(xj wi j ) e wi = wi + wi

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Logo, o peso w1 do neurnio (11) e seu ajuste ser:


w1 = (0).h(0).(x1 w1 ) w1 = 0.8x 0.46x (0 2) w1 = 0.74

w1 = (2 0.74) w1 = 1.26

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Logo, o peso w2 do neurnio (11) e seu ajuste ser:


w2 = (0).h(0).(x2 w2 ) w2 = 0.8x 0.46x (3 2) w2 = 0.37

w2 = (2 + 0.37) w2 = 2.37

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Logo, o peso w3 do neurnio (11) e seu ajuste ser:


w3 = (0).h(0).(x3 w3 ) w3 = 0.8x 0.46x (5 1) w3 = 1.47

w3 = (1 + 1.47) w3 = 2.47

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

O novos pesos w1 , w2 , w3 para o neurnio 11, ser: w1 = 1.26 w2 = 2.37 w3 = 2.47


Repete-se os passos 6.1 a 6.5 para todos os neurnios e seus pesos

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Faze-se o ajuste do neurnio 12:


(0) = 0, 8.e ( 10 ) = 0.8
0

l 2 = (2 1)2 + (1 2)2 = 2 h = e ( 2
(0) =
x

2 ) 0.82

0 0.8.e ( 10 )

= 0.21 = 0.80

Ajuste para w1 , w2 , w3 do neurnio 12:


w1 = 0.8x 0.21x (0 3) = 2.5

w1 = (3 0.50) = 2.50
w2 = 0.8x 0.21x (3 2) = 0.17

w2 = (1 + 0.17) = 1.17
w3 = 0.8x 0.21x (5 2) = 0.5

w3 = (1 + 0.5) = 1.50

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Faze-se o ajuste do neurnio 13:


(0) = 0, 8.e ( 10 ) = 0.8
0

l 2 = (2 1)2 + (1 3)2 = 5 h = e ( 2
(0) =
x

5 ) 0.82

0 0.8.e ( 10 )

= 0.02 = 0.80

Ajuste para w1 , w2 , w3 do neurnio 13:


w1 = 0.8x 0.02x (0 2) = 0.03

w1 = (2 0.03) = 1.97
w2 = 0.8x 0.02x (3 1) = 0.03

w2 = (1 + 0.03) = 1.03
w3 = 0.8x 0.02x (5 1) = 0.06

w3 = (1 + 0.06) = 1.06

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Faze-se o ajuste do neurnio 22:


(0) = 0, 8.e ( 10 ) = 0.8
0

l 2 = (2 2)2 + (1 2)2 = 1 h = e ( 2
(0) =
x

1 ) 0.82

0 0.8.e ( 10 )

= 0.46 = 0.80

Ajuste para w1 , w2 , w3 do neurnio 22:


w1 = 0.8x 0.46x (0 2) = 0.74

w1 = (2 0.74) = 1.26
w2 = 0.8x 0.46x (3 0) = 1.10

w2 = (0 + 1.10) = 1.10
w3 = 0.8x 0.46x (5 1) = 1.47

w3 = (1 + 1.47) = 2.47

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Faze-se o ajuste do neurnio 23:


(0) = 0, 8.e ( 10 ) = 0.8
0

l 2 = (2 2)2 + (1 3)2 = 4 h = e ( 2
(0) =
x

4 ) 0.82

0 0.8.e ( 10 )

= 0.04 = 0.80

Ajuste para w1 , w2 , w3 do neurnio 12:


w1 = 0.8x 0.04x (0 1) = 0.04

w1 = (1 0.04) = 0.96
w2 = 0.8x 0.04x (3 2) = 0.04

w2 = (2 + 0.04) = 2.04
w3 = 0.8x 0.04x (5 0) = 0.18

w3 = (0 + 0.18) = 0.18

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Faze-se o ajuste do neurnio 22, o vencedor:


(0) = 0, 8.e ( 10 ) = 0.8
0

l 2 = (2 2)2 + (1 1)2 = 0 h = e ( 2
(0) =
x

0 ) 0.82

0 0.8.e ( 10 )

= 1.00 = 0.80

Ajuste para w1 , w2 , w3 do neurnio 22:


w1 = 0.8x 1.0x (0 1) = 0.80

w1 = (1 0.80) = 0.20
w2 = 0.8x 1.0x (3 2) = 0.80

w2 = (2 + 0.80) = 2.80
w3 = 0.8x 1.0x (5 3) = 1.60

w3 = (3 + 1.60) = 4.60

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Concluda a primeira iterao, o processo se repete de forma similar at que sejam atigidas as condies de parada. Ou seja, quando as distncias euclidianas entre os vetores de peso dos neurnios vencedores e os respectivos vetores de sinais de entrada, forem aceitveis.

Redes Neurais Articiais A rede de Kohonen Algoritmo de treinamento da rede Kohonem

Let's Code :-)

Redes Neurais Articiais A rede de Kohonen Concluso Kohonen

A rede tem como sada a distncia euclidiana entre:


os vetores de peso dos neurnios vencedores e os respectivos vetores de sinais de entrada

Assim, os pesos nais desta rede determinam um padro de reconhecido

Redes Neurais Articiais Concluso

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Concluso

concluso

Redes Perceptron: Redes Kohonen:

Voltado para problemas linearmente separveis (Problema XOR!!!) Utiliza a arquitetura paralela de uma rede neural Fornece uma organizao grca dos relacionamentos entre os padres Podem ser treinadas rapidamente

Redes Neurais Articiais Exerccios

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Exerccios

exerccios

Download em http://www.dinomagri.com/downloads/ia/rna.zip

Redes Neurais Articiais Referncias

Agenda:
Introduo Princpios de Neurocomputao Projeto de uma Rede Neural Perceptron A rede de Kohonen Concluso Exerccios Referncias

Redes Neurais Articiais Referncias

referncias
Redes Neurais - Fundamentos e aplicaes com programas em C - Oswaldo Ludwig Jr e Eduard Montgomery Inteligncia Articial - Stuart Russell e Peter Norvig Redes Neurais Articiais - Teoria e aplicaes - Antnio de Pdua Braga, Teresa Bernarda Ludermir e Andr Carlos Ponce de Leon Ferreira Carvalho Imagens forem retiradas do image.google.com Wikipedia

Redes Neurais Articiais Referncias

At logo e obrigado pela pacincia :-)

Você também pode gostar