Upload
iaudesc
View
11.935
Download
65
Embed Size (px)
DESCRIPTION
Descreve o funcionamento da rede Perceptron e Kohonen. Baseado no livro Redes Neurais - Fundamentos e Aplicações com Programas em C
Citation preview
Redes Neurais Arti�ciais
Redes Neurais Arti�ciais
Dino [email protected]
Universidade do Estado de Santa Catarina
Inteligência Arti�cial
29 de maio de 2011
Redes Neurais Arti�ciais
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Introdução
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Introdução
Histórico
I Provavelmente a mais antiga técnica de IA em uso.
I Década de 40 por Walter Pitts e McCulloch(primeiro matemático e o segundo neuro�siologista)
I Análogia entre neurônios biológicos e circuitos eletrônicos
Redes Neurais Arti�ciais
Introdução
Histórico
I Von Neumann, propôs a arquitetura dos computadoreseletrônicos atuais, nesta mesma década
I Donald Hebb - Defendeu que o condicionamento psicológicoclássico está igualmente presente em qualquer animal, por serum propriedade dos neurônios.
I Hebb foi o primeiro a propor uma lei de aprendizagemespeci�ca para as sinapses dos neurônios.
Redes Neurais Arti�ciais
Introdução
Histórico
I Primeiro Neurocomputador (Snark) foi criado em 1951 porMavin Minsky (serviu "apenas" de inspiração para projetosposteriores)
I Em 1957 Frank Rosenblatt criou uma rede neural com o nomede Perceptron.
I Simulação computacional para a retina - demonstrou como osistema nervoso visual reconhece padrões
Redes Neurais Arti�ciais
Introdução
Histórico
I Porém Marvin Minsky e Seymor Papert provaram que redesneurais de uma unica camada não seriam capazes de resolverproblemas simples como a operação lógica XOR (OUexclusivo):
A XOR B ↔ (A ∨ B) ∧ ¬(A ∧ B)
Esse trabalho desestimulou os pesquisadores e somente em1982, quando John Hop�eld apresentou um trabalho, no qualele descreveu um modelo de rede neural, baseado no sistemanervoso de uma lesma, o interesse por tais algoritmos renasce.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
I Cérebro humano - 10 bilhões de neurôniosI Cada neurônio - até 10.000 sinapses1 com outros neurôniosI Se cada ligação == 1 bit, teriamos 100 trilhões de bits 11,37
terabytes de capacidade máxima de memória
1Sinapses - Regiões de comunicação entre os neurônios
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
Figura: Um neurônio2.
2Fonte - colinfahey.com
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
Figura 1 mostra um neurônio e os principais componentes são:I Corpo da célula ou Soma - é responsável por coletar e
combinar as informações vindas de outros neurônios.I Dendritos3 - Recebe os estímulos transmitidos pelos outros
neurônios.I Axônio4 - Responsável por transmitir estimulos para outras
células.
3Clique para mais informações sobre Dendritos4Clique para mais informações sobre Axônio
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
O neurônio matemático recebe um ou mais sinais de entrada edevolve um único sinal de saída, que pode ser distribuído comosinal de saída da rede, ou como sinal de entrada para um ou váriosoutros neurônios da camada posterior.
Figura: Representação do neurônio matemático5.
5Fonte - Livro Redes Neurais [Montgomey e Ludwig]
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
I Os sinais de entrada chegam simultaneamente aosneurônios, por isso as redes são classi�cadas comoinstrumentos de processamento paralelo. (No PC isso ésimulado!!!)
I Dendritos e axônios são representados matematicamenteapenas pelas sinapses e a intesidade da ligação érepresentada por um grandeza denominada peso sináptico,simbolizada pela letra w
I As entradas, x, são apresentadas ao neurônio, sãomultiplicadas pelos pesos sinápticos correspondentes,gerando as entradas ponderadas:
w1x1,w2x2, ...,wnxn
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
O neurônio totaliza todos os produtos e o resultado destasomatório é denominado pela Função de Combinação ou Função de
ativação representada pela letra v :
v =n∑
i=0
wixi
Então o valor é passado para a Função de transferência, que evitao acrésimo progressivo dos valores de saída ao longo das camadasda rede.Esse modelo é simpli�cado e o neurônio é estático, ou seja, nãoconsidera a dinâmica do neurônio natural.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
Algumas funções de tranferências utilizadas:I Função sigmóide:
ϕ(v) =1
1 + e−v
I Função gaussiana:ϕ(v) = e−v2
I Função tangente hiperbólica:
ϕ(v) = tanh(v)
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Neurônios
O modelo matemático também pode incluir uma polarização oubias de entrada, representada pela letra b.
Esta variável é incluída no somatório da função de ativação, com ointuito de aumentar o grau de liberdade desta função e,consequentemente, a capacidade de aproximação da rede.
I O valor do bias é ajustado da mesma forma que os pesossinápticos.
I O bias permite que um neurônio apresente saída não nulaainda que todas as suas entradas sejam nulas.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
A Rede Neural Arti�cial
rna
Combinando os neurônios em uma ou mais camadas, que podemconter um ou mais neurônios e interligando estes neurônios atravésdas sinapses, pode-se formar uma RNA (Rede Neural Arti�cial).Em geral possuem:
I Uma camada de entrada ou de distribuição - tem númerode nós igual ao número de sinais de entrada da rede.
I Uma, nenhuma ou várias camadas ocultas - sãoconstituidas de um ou mais neurônios ocultos.
I Uma camada de saída - contém, necessariamente, umnúmero de neurônios igual ao número de sinais de saída darede.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
A Rede Neural Arti�cial
Ajustando os valores de seus pesos sinápticos, a rede neural poderepresentar (ou memorizar) as relações entre os dados de entrada esaída, assumindo uma característica de memória associativa.
Figura: Sinais de entrada e de saída em uma cadeia de neurôniosinterligados de uma RNA6.
6Fonte - Livro Redes Neurais [Montgomey e Ludwig]
Redes Neurais Arti�ciais
Princípios de Neurocomputação
A Arquitetura da Rede
I Amplamente conectada (fully connected)
I Realimentação (feedback)
I A arquitetura da rede neural é livre, ou seja, não existeformalização que determine quantas camadas, ou quantosneurônios devem existir
I Esta formalização irá depender do projetista, que deverá variaresse número para alcançar o melhor desempenho com umconjunto de dados reservados para testes e validação.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Controle do Aprendizado
I SupervisionadoI Não supervisionado
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Controle do Aprendizado
supervisionado
I Rede treinada com pares de conjunto de entrada e de saídadesejada
I Quando é apresentada à rede este conjunto de entrada, estaretorna um conjunto de valores de saída, que é comparadoao conjunto de valores de saída desejado.
I Em seguida, os pesos sinápticos e níveis de bias sãoajustados de forma a minimizar a diferença entre a saídaapresentada pela rede e a saída desejada.
I O processo é repetido para todos os pares de entrada e saídaque constituem o conjunto de treinamento da rede, até que ataxa de acerto seja considerada satisfatória.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Controle do Aprendizado
não supervisionado
I A rede não recebe informações sobre valores de entrada eorganiza sua estrutura de modo a fazer a classi�caçãodeste valores em grupos.
I Classi�cação de dados pelo reconhecimento de padrões, ouseja, detecção de características em comum entre conjuntos dedados.
I Processo de competição e cooperação entre os neurônios.
Redes Neurais Arti�ciais
Princípios de Neurocomputação
Algoritmo de Aprendizado
Depois de treinada a rede pode ser utilizada em diversas áreas doconhecimento humano, ainda que na ausência de uma especialista.Atualmente existem diversos algoritmos utilizados para ajustar ospesos sinápticos e o nível de bias de uma rede neural, dentre asquais pode-se destacar:
I Aprendizagem por correção de erros (regra delta) Aprendizadosupervisionado!!!
I Aprendizagem competitiva (regra de Kohonen) Aprendizadonão supervisionado!!!
I Aprendizagem baseada em memóriaI Aprendizagem hebbianaI Aprendizagem de Boltzmann
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
projeto rede neural
I Coleta e seleção de dadosI Con�guração da redeI TreinamentoI TesteI Integração
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
Coleta e Seleção de Dados
coleta e seleção de dados
I É fundamentalI Minimizar ambiguidades e errosI Cobrir amplamente o domínio do problema, incluindo as
exceções e as condições limitesI 2 categorias:
1. Dados de treinamento, para treinar a rede2. Dados de validação, veri�ca o desempenho da rede
I O número adequado de dados para o treinamento de umaRNA é função do número de sinapses e bias desta rede
I Assim, quanto mais variáveis livres (sinapses e bias) uma RNAtiver, mais restrições (exemplos de treinamento) serãonecessários
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
Con�guração da rede
con�guração da rede
I 4 etapas:1. Seleção do paradigma neural apropriado à aplicação, qual a
con�guração a ser utilizada (perceptron simples, de multiplascamadas, rede de kohonen, etc.)
2. Determinação da topologia da rede, ou seja, o número decamadas e o número de neurônios em cada camada
3. Determinação do algoritmo de treinamento, a taxa deaprendizado, demais parâmetros de treinamento
4. Determinação do tipo de função de transferência
I Escolha feita de forma empírica, apesar de o autor citar queexistem algumas heurísticas que conduzem a opção maisacertada
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
Treinamento
treinamento
I Ajuste dos pesos das conexõesI Determinação dos valores iniciais dos pesos sinápticos
(inicialização da rede), de forma aleatóriaI Qual algoritmo de aprendizagem utilizar - basicamente
empíricoI E quanto tempo de treinamento para o aprendizado da rede -
pode-se adotar um número máximo de ciclos, a taxa deerro médio por ciclo, ou ainda, a capacidade degeneralização da rede (pode causar over-training)
O ideal é que o treinamento venha a ser interrompido quando arede apresentar uma boa capacidade de generalização e quandoa taxa de erro foi admissível. Assim, deve-se encontrar umponto ótimo de parada com erro mínimo e capacidade degeneralização máxima
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
Teste
teste
I Veri�ca se a rede não decorou os dados de entradas e validaa rede para a aplicação desejada.
I Deve-se considerar outros testes como a análise dos pesossinápticos e níveis de bias, pois se existirem valores muitopequenos, as conexões associadas podem ser consideradasinsigni�cantes e então serem eliminadas (prunning)
Redes Neurais Arti�ciais
Projeto de uma Rede Neural
Integração
integração
I Com a rede valida e treinada, é possível a integração dela aum sistema.
I Este sistema deve fazer a manutenção da rede quando fornecessária ou avisar aos projetistas as necessidades de novasseções de treinamento.
Redes Neurais Arti�ciais
Perceptron
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Perceptron
I Arquitetura mais simplesI Possui apenas uma camada de entrada e uma camada de
saída, não há camadas de neurônios intermediárias.I Utilizado apenas em estruturas de decisão simples.
Redes Neurais Arti�ciais
Perceptron
I Função de ativação - Faz a soma ponderada dos sinais deentrada
I Função de transferência- Determina a saída do neurônio, em função da soma ponderada.
I Podemos comparar isto a uma situação real de reação doorganismo quando se encosta em algo quente: a entrada datemperatura pelos sensores indicam a possível queimadura,que ativa o cérebro a enviar um comando (a saída) de seafastar imediatamente.
Redes Neurais Arti�ciais
Perceptron
I Os valores: wi j , representam os pesos sinápticos das ligaçõesentre os neurônios: o elemento i da camada de entrada como neurônio j da camada de saida, e simula a e�cácia dasinapse entre os nerônios naturais
Redes Neurais Arti�ciais
Perceptron
A função de ativação está representada pela letra v, e tem oformato:
vj =n∑
i=1
wi jxi
A função de transferência está representada pelo simbolo: ϕ e,normalmente, são utilizadas funções de limite ríspido como afunção degrau, onde a função pode assumir dois valores,conforme:
ϕ(v) =
{1,∀ v > 00,∀ v 6 0
}
Redes Neurais Arti�ciais
Perceptron
As funções de limite ríspido são quem determinam a veracidadede uma entrada de�nida, como o caso do exemplo dado:
I o imediado afastamento do objeto é uma reação normal, casoo objeto esteja realmente quente. Informação Verdadeira!
I caso contrário, o cérebro não reage deixando a pessoa seencostar naturalmente no objeto. Informação Falsa!
I Estas informações só são absorvidas com o aprendizado
Redes Neurais Arti�ciais
Perceptron
algoritmo de aprendizagem do perceptron
I O ajuste correto dos pesos sinápticos é obtido,iterativamente, através de um algoritmo de aprendizado que,no caso do perceptron de um única camada, é a regra delta.
I O elemento de processamento que utiliza essa regra é oADALINE Adaptive Linear Neuron ou Adaptive Linear Element
Redes Neurais Arti�ciais
Perceptron
algoritmo de aprendizagem do perceptron
1. Atribui-se aos pesos valores aleatórios e, com eles, apresenta-seum conjunto de sinais de entrada e calcula-se a resposta darede
2. Então, comparam-se os valores calculados com os valoresdesejados (treinamento supervisionado).
3. Caso erro não aceitável, faz-se o ajuste de pesosproporcionalmente ao erro E (j) = d(j)− y(j) e ao valor dosinal de entrada correspondente. (Quanto maior o erro, maiordeve ser a correção)
4. A expressão que representa este processo:
w(i , j)T+1 = w(i , j)T + ηE (j)T x(i)
Redes Neurais Arti�ciais
Perceptron
w(i , j)T+1 = w(i , j)T + ηE (j)T x(i)
I Valor do erro corrigido: w(i , j)T+1
I Valor do peso na iteração anterior: w(i , j)TI Valor do erro para o neurônio j : E (j)TI Taxa de aprendizado: ηI Índice do sinal de entrada: iI Iteração: TI Índice do neurônio: jI Sinal de entrada: x(i)
Redes Neurais Arti�ciais
Perceptron
O Erro E (j) é a diferença entre o sinal de saída desejado para oneurônio j , representado por d(j), e o sinal de saída calculado pelarede para aquele neurônio, y(i), representado na equação:
E (j) = d(j)− y(j)
O Erro médio para todos os neurônios da camada de saída naiteração T será:
ε(T ) =
∑nj=1 |E (j)|
n
em que n é o número médio de neurônios da camada de saída. Oerro médio para todo o conjunto de treinamento será:
εmed =
∑nT=1 ε(T )
n
Este valor pode ser utilizado como referência para o encerramentoda seção de treinamento pela avaliação do nível de precisão da rede.
Redes Neurais Arti�ciais
Perceptron
Exemplo 1:http://www.dinomagri.com/downloads/ia/rna.zip
I Usaremos dois sinais de entrada e um neurônio nacamada de saída. Esta rede, após o treinamento será capazde classi�car quatro individuos em duas classes, conformesegue:
COMPOSITOR CIENTISTABACH XBEETHOVEN XEINSTEIN XKEPLER X
Redes Neurais Arti�ciais
Perceptron
Primeiro passo é codi�car as informações em base binária.BACH = 00BEETHOVEN = 01EINSTEIN = 10KLEPER = 11COMPOSITOR = 0CIENTISTA = 1
Conclui-se que apenas 2 elementos na camada de entrada sãonecessários, pois o número de elementos necessários, em basebinária, é dada pela fórmula: X = 2n, em que n é o número deelementos na camada de entrada e X é o número de sinais deentrada.Para a camada de saída vale a mesma relação, logo pararepresentar dois valores necessita-se de apenas 1 neurônio.
Redes Neurais Arti�ciais
Perceptron
passo a passo
I Adiciona-se 1 bias de entrada ao neurônio, para melhorar acapacidade de aproximação, tendo assim mais um parâmetrolivre
I Arbitrar o valor zero para todos os pesos sinápticos e o bias
I Sinal de entrada do bias b é constante e tem sempre o valorpositivo 1
I Calcular o valor da função de ativação
Redes Neurais Arti�ciais
Perceptron
passo a passo
I Após, aplicar a função de transferência:1. Se saída está correta, mantêm os mesmos pesos sinápticos e
o bias e espera os próximos sinais de entrada2. Se saída está incorreta:a Compara com a saída desejada e terá o valor do Erro, que a
diferença entre o esperado e o encontradob Arbitrar taxa de aprendizado = 1c A correção será aplicada pela formula:
w(i , j)T+1
= w(i , j)T
+ ηE (j)Tx(i)
3. Com os novos pesos, espera os próximos sinais de entrada
I Repete-se todo o processo novamente
Redes Neurais Arti�ciais
Perceptron
Mão na massa :-)
Redes Neurais Arti�ciais
Perceptron
codigo fonte
Let's Code :-)
Redes Neurais Arti�ciais
Perceptron
conclusões do perceptron
I Estas redes só resolvem problemas cujas classes sejamlinearmente separáveis, o que não é o caso no problema do ou
exclusivo (XOR).I Desta forma, se Beethoven resolvesse ser cientista e Kleper
compositor, a rede jamais aprenderia a classi�ca-los, porqueestas mudanças resultariam no problema XOR, conforme atabela abaixo:
COMPOSITOR CIENTISTABACH(00) 0BEETHOVEN(01) 1EINSTEIN(10) 1KEPLER(11) 0
Redes Neurais Arti�ciais
Perceptron
I A função de ativação v é linear, sendo assim, a reta nodiagrama ao lado contém todos os pares ordenados de valorX1 e X2, onde o valor de v é igual a zero.
Figura: Exemplo de função de ativação
A equação desta reta, a qual é apresentada na Figura anterior,é obtida da seguinte formula:
Redes Neurais Arti�ciais
Perceptron
v = b + w1X1 + w2X2 = 0
, que resolvendo para X2, encontra-se:
X2 = −(w1X1 + b)
w2
I Para os pontos acima desta reta o valor de v será maior doque zero, o que resultará um sinal de saída igual a 1 positivo
I Para os pontos abaixo desta reta, v será menor do quezero, resultando um sindal de saída igual a zero
I Ou seja, esta reta é uma fronteira de decisão na classi�caçãodos sinais de entrada
I Assim, sempre que projetar um simples perceptron, deveveri�car se as entradas não recaem neste problema coma saída, para evitar que uma solução não seja encontrada.
Redes Neurais Arti�ciais
A rede de Kohonen
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
A rede de Kohonen
kohonen
I Idealizado por Teuvo Kohonen
I Algoritmo é um modelo de mapa auto-organizável
I Treinamento não supervisionadoI Nesta estrutura, os neurônios estão dispostos como nós de
uma grade que, normalmente, é uni ou bidimensional.I No caso de uma mapa bidimensional, a geometria é livre,
podendo ser quadrada, retangular, triangular, etc.
Redes Neurais Arti�ciais
A rede de Kohonen
I Princípio fundamental → Aprendizagem competitiva
I Ao se apresentar uma entrada à rede, os neurônios competementre si e o vencedor tem seus pesos ajustados para respondermelhor ao supracitado estímulo
I Também é simulado um processo de cooperação entre oneurônio vencedor e seus vizinhos topológicos, que tambémrecebem ajustes.
I A motivação para a criação deste modelo neural é a teoria deque no cérebro humano, entradas sensoriais diferentes sãomapeadas em regiões especí�cas do córtex cerebral.
I A isto se pode denominar de distribuição de probabilidade
codi�cada por localização
Redes Neurais Arti�ciais
A rede de Kohonen
Uma rede com 8 nós deentrada, e quatro neurônios, dispostos emuma grade bidimensional quadrada. Cada neurônio da grade estátotalmente conectado com todos os nós da camada de entrada
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
algoritmo
I O algoritmo inicia o processo arbitrando pequenos valoresaleatórios aos pesos sinápticos, para que nenhumaorganização prévia seja imposta no mapa
I Após isso, é iniciado o processo de competição,cooperação e adaptação sináptica
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
processo competitivo
I Imagine que um vetor de entrada (selecionado aleatóriamente),representado por: x = [x1, x2, ..., xn]T é apresentado à redesem que se especi�que a saída desejada.
I Um neurônio y deverá responder melhor a esta entrada, ouseja, será o neurônio vencedor
I Para a escolha do neurônio vencedor usa-se a distânciaeuclidiana. Assim, o neurônio que apresenta a menordistância euclidiana entre o vetor de entrada e o seu vetor depesos é o vencedor.
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
I Considerando que o vetor:
wi = [wi 1,wi 2, ...,wi n]T ,
represente os valores dos pesos sinápticos de um neurônio i
no instante t e o vetor
x = [x1, x2, ..., xn]T ,
represente um exemplo de treinamento apresentado à rede nomesmo instante t, a distância euclidiana entre wi e x, serádada pela equação:
di (t) =N∑j=1
(xj(t)− wi j(t))2, onde :
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
I di (t), é a distância euclidiana entre o vetor de pesos doneurônio i e o vetor de entrada, na iteração t;
I i , é o índice do neurônioI j , é o índice do nó de entradaI N, número de sinais de entrada (número de dimensões do
vetor x)I xj(t), é o sinal de entrada no nó j na iteração t
I wi j(t), é o valor do peso sináptico entre o nó de entrada j e oneurônio i na iteração t
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
processo cooperativo
I O neurônio vencedor indica o centro de uma vizinhança
topológica hik , que indica o grau de interação ou cooperaçãoentre o neurônio i e seu vizinho k , é simétrico em relação aoneurônio vencedor k e decrese monotonamente com oaumento da distância lateral lik até que, no limite em que liktende a in�nito hik tende a zero.
I A função gaussiana abaixo atende estas condições:
hi k = e(−li k
2
2σ2), onde :
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
I O termo li k2, no caso de uma grade bidimensional, é a
distância euclidiana entre os neurônios i e k.I O parâmetro σ é denominado de largura efetiva da vizinhança
topológica e deve diminuir com o passar do tempo, o queimplica em valores de hi k menores ao longo do tempo.
I Isto caracteriza uma vizinhança mais restrita e, portanto, maisespecializada. O valor de σ é, normalmente, uma funçãoexponencial com a seguinte forma:
σ(t) = σ0.e(− t
τ1),
I em que σ0 é o valor inicial de σ, t é o número de iterações eτ1 é uma constante de tempo
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
processo adaptativo
I O aprendizado de um mapa auto-organizável, se dá peloajuste de seus pesos sinápticos.
I Considere, wi j entre o nó de entrada j e o neurônio i , o ajuste∆wi j que este deve sofrer, será dado pela equação:
∆wi j = η(t).hi k(t).(xj − wi j), onde :
o termo hi k(t) é o parâmetro vizinhança topológica naiteração t, no qual o índice k se refere ao neurônio melhorclassi�cado k .
I xj é o valor do exemplo de entrada e wi j é o peso do neurônioI O parâmetro taxa de aprendizagem η(t), geralmente é de�nido
pela expressão:
η(t) = η0.e(− t
τ1),
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo da rede
I onde τ1 é uma constante de tempoI e η0 é o valor inicial adotado, o qual deve ser maior que zero e
menor que um
I Nota-se que a taxa de aprendizagem decresce gradualmenteao longo do tempo. A �nalidade é evitar que dados novos,apresentados após um longo treinamento, venham acomprometer seriamente o conhecimento que já estásedimentado
I O mesmo ocorre com o cérebro humano: quanto mais idoso setorna, menor é a capacidade de aprender
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
1. De�nir os pesos inicias dos arcos aleatóriamente;
2. De�nir os valores de σ(0), τ1, η e o valor do erro;
3. Inserir exemplo de treinamento;
4. Encontrar a distância euclidiana para cada neurônio;
5. Encontrar o neurônio vencedor;6. Para cada neurônio da rede fazer:
6.1 Calcular a largura efetiva σ(t);6.2 Calcular a distância lateral l2;6.3 Calcular a vizinhança topológica h;6.4 Calcular a taxa de aprendizagem η(t);6.5 Calcular os valores ∆w para cada arco do neurônio e seu
respectivo ajuste (novo valor de w);
7. Voltar ao paso 3 até que as distâncias euclidianas satisfaçam oerro de�nido;
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Exemplo 2, tem três nós de entrada e seis neurônios dispostos
Figura: Rede Kohonen bidimensional para treinamento
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 1 - De�nir os pesos inicias dos arcos aleatóriamente
I Neurônio11 - w1 = 2; w2 = 2; w3 = 1;
I Neurônio12 - w1 = 3; w2 = 2; w3 = 2;
I Neurônio13 - w1 = 2; w2 = 1; w3 = 1;
I Neurônio21 - w1 = 1; w2 = 2; w3 = 3;
I Neurônio22 - w1 = 2; w2 = 0; w3 = 1;
I Neurônio23 - w1 = 1; w2 = 2; w3 = 0;
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 2 - De�nir os valores de σ(0), τ1, η e o valor do erro
I σ(0) = 0.8I τ1 = 10I η = 0.8I Valor do erro = 0.99
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 3 - Inserir exemplo de treinamento
I Primeiro exemplo de treinamento
x1 = 0; x2 = 3; x3 = 5;
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 4 - Encontrar a distância euclidiana para cada neurônio
di (t) =N∑j=1
(xj(t)− wi j(t))2
I Neurônio11 → d11 = (x1 − w1)2 + (x2 − w2)2 + (x3 − w3)2
I Neurônio11 → d11 = (0− 2)2 + (3− 2)2 + (5− 1)2 = 21
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 5 - Encontrar o neurônio vencedor
I Neurônio11 → d11 = (0− 2)2 + (3− 2)2 + (5− 1)2 = 21I Neurônio12 → d12 = (0− 3)2 + (3− 2)2 + (5− 2)2 = 19I Neurônio13 → d13 = (0− 2)2 + (3− 1)2 + (5− 1)2 = 24I Neurônio21 → d21 = (0− 1)2 + (3− 2)2 + (5− 3)2 = 6I Neurônio22 → d22 = (0− 2)2 + (3− 0)2 + (5− 1)2 = 29I Neurônio23 → d23 = (0− 1)2 + (3− 2)2 + (5− 0)2 = 27
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 5 - Encontrar o neurônio vencedor
I Neurônio11 → d11 = (0− 2)2 + (3− 2)2 + (5− 1)2 = 21I Neurônio12 → d12 = (0− 3)2 + (3− 2)2 + (5− 2)2 = 19I Neurônio13 → d13 = (0− 2)2 + (3− 1)2 + (5− 1)2 = 24I Neurônio21 → d21 = (0− 1)2 + (3− 2)2 + (5− 3)2 = 6I Neurônio22 → d22 = (0− 2)2 + (3− 0)2 + (5− 1)2 = 29I Neurônio23 → d23 = (0− 1)2 + (3− 2)2 + (5− 0)2 = 27
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 6 - Para cada neurônio da rede fazer:
6.1 Calcular a largura efetiva σ(t);
6.2 Calcular a distância lateral l2;
6.3 Calcular a vizinhança topológica h;
6.4 Calcular a taxa de aprendizagem η(t);
6.5 Calcular os valores ∆w para cada arco do neurônio e seurespectivo ajuste (novo valor de w);
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 6.1 - Calcular a largura efetiva σ(t)Equação:
σ(t) = σ0.e(− t
τ1),
Logo:σ(0) = 0, 8.e(−
010
),
σ(0) = 0.8
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 6.2 - Calcular a distância lateral (l2) entre o neurôniovencedor(x1, y1) (2,1) e o neurônio(x2, y2) (1,1)Equação:
l2 = (x1 − x2)2 + (y1 − y2)2,
Logo:l2 = (2− 1)2 + (1− 1)2,
l2 = 1
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 6.3 - Calcular a vizinhança topológica (h) do neurôniovencedor em relação ao neurônio (11)Equação:
hi k = e(−li k
2
2σ2)
Logo:
h = e(−1
2x0.82)
h = 0.46
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 6.4 - Calcular a taxa de aprendizagem η(t) para a primeiraiteração (t = 0)Equação:
η(t) = η0.e(− t
τ1),
Logo:η(0) = 0.8.e(−
010
)
η(0) = 0.8
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Passo 6.5 - Calcular o ajuste do peso através do valores ∆w paracada arco do neurônio e seu respectivo ajuste (valor corrigido de w)Equações para cada arco do neurônio e o ajuste do peso:
∆wi j = η(t).hi k(t).(xj − wi j) e wi = wi + ∆wi
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Logo, o peso w1 do neurônio (11) e seu ajuste será:
∆w1 = η(0).h(0).(x1 − w1)
∆w1 = 0.8x0.46x(0− 2)
∆w1 = −0.74
w1 = (2− 0.74)
w1 = 1.26
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Logo, o peso w2 do neurônio (11) e seu ajuste será:
∆w2 = η(0).h(0).(x2 − w2)
∆w2 = 0.8x0.46x(3− 2)
∆w2 = 0.37
w2 = (2 + 0.37)
w2 = 2.37
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Logo, o peso w3 do neurônio (11) e seu ajuste será:
∆w3 = η(0).h(0).(x3 − w3)
∆w3 = 0.8x0.46x(5− 1)
∆w3 = 1.47
w3 = (1 + 1.47)
w3 = 2.47
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
O novos pesos w1,w2,w3 para o neurônio 11, será:
w1 = 1.26
w2 = 2.37
w3 = 2.47
Repete-se os passos 6.1 a 6.5 para todos osneurônios e seus pesos
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Faze-se o ajuste do neurônio 12:
σ(0) = 0, 8.e(−010
) = 0.8
l2 = (2− 1)2 + (1− 2)2 = 2
h = e(−2
2x0.82) = 0.21
η(0) = 0.8.e(−010
) = 0.80
Ajuste para w1,w2,w3 do neurônio 12:
∆w1 = 0.8x0.21x(0− 3) = 2.5
w1 = (3− 0.50) = 2.50
∆w2 = 0.8x0.21x(3− 2) = 0.17
w2 = (1 + 0.17) = 1.17
∆w3 = 0.8x0.21x(5− 2) = 0.5
w3 = (1 + 0.5) = 1.50
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Faze-se o ajuste do neurônio 13:
σ(0) = 0, 8.e(−010
) = 0.8
l2 = (2− 1)2 + (1− 3)2 = 5
h = e(−5
2x0.82) = 0.02
η(0) = 0.8.e(−010
) = 0.80
Ajuste para w1,w2,w3 do neurônio 13:
∆w1 = 0.8x0.02x(0− 2) = −0.03
w1 = (2− 0.03) = 1.97
∆w2 = 0.8x0.02x(3− 1) = 0.03
w2 = (1 + 0.03) = 1.03
∆w3 = 0.8x0.02x(5− 1) = 0.06
w3 = (1 + 0.06) = 1.06
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Faze-se o ajuste do neurônio 22:
σ(0) = 0, 8.e(−010
) = 0.8
l2 = (2− 2)2 + (1− 2)2 = 1
h = e(−1
2x0.82) = 0.46
η(0) = 0.8.e(−010
) = 0.80
Ajuste para w1,w2,w3 do neurônio 22:
∆w1 = 0.8x0.46x(0− 2) = 0.74
w1 = (2− 0.74) = 1.26
∆w2 = 0.8x0.46x(3− 0) = 1.10
w2 = (0 + 1.10) = 1.10
∆w3 = 0.8x0.46x(5− 1) = 1.47
w3 = (1 + 1.47) = 2.47
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Faze-se o ajuste do neurônio 23:
σ(0) = 0, 8.e(−010
) = 0.8
l2 = (2− 2)2 + (1− 3)2 = 4
h = e(−4
2x0.82) = 0.04
η(0) = 0.8.e(−010
) = 0.80
Ajuste para w1,w2,w3 do neurônio 12:
∆w1 = 0.8x0.04x(0− 1) = −0.04
w1 = (1− 0.04) = 0.96
∆w2 = 0.8x0.04x(3− 2) = 0.04
w2 = (2 + 0.04) = 2.04
∆w3 = 0.8x0.04x(5− 0) = 0.18
w3 = (0 + 0.18) = 0.18
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Faze-se o ajuste do neurônio 22, o vencedor:
σ(0) = 0, 8.e(−010
) = 0.8
l2 = (2− 2)2 + (1− 1)2 = 0
h = e(−0
2x0.82) = 1.00
η(0) = 0.8.e(−010
) = 0.80
Ajuste para w1,w2,w3 do neurônio 22:
∆w1 = 0.8x1.0x(0− 1) = −0.80
w1 = (1− 0.80) = 0.20
∆w2 = 0.8x1.0x(3− 2) = 0.80
w2 = (2 + 0.80) = 2.80
∆w3 = 0.8x1.0x(5− 3) = 1.60
w3 = (3 + 1.60) = 4.60
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
I Concluída a primeira iteração, o processo se repete de formasimilar até que sejam atigidas as condições de parada.
I Ou seja, quando as distâncias euclidianas entre os vetores depeso dos neurônios vencedores e os respectivos vetores desinais de entrada, forem aceitáveis.
Redes Neurais Arti�ciais
A rede de Kohonen
Algoritmo de treinamento da rede Kohonem
Let's Code :-)
Redes Neurais Arti�ciais
A rede de Kohonen
Conclusão Kohonen
I A rede tem como saída a distância euclidiana entre:I os vetores de peso dos neurônios vencedoresI e os respectivos vetores de sinais de entrada
I Assim, os pesos �nais desta rede determinam um padrão dereconhecido
Redes Neurais Arti�ciais
Conclusão
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Conclusão
conclusão
I Redes Perceptron:I Voltado para problemas linearmente separáveis (Problema
XOR!!!)
I Redes Kohonen:I Utiliza a arquitetura paralela de uma rede neuralI Fornece uma organização grá�ca dos relacionamentos entre os
padrõesI Podem ser treinadas rapidamente
Redes Neurais Arti�ciais
Exercícios
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Exercícios
exercícios
I Download emhttp://www.dinomagri.com/downloads/ia/rna.zip
Redes Neurais Arti�ciais
Referências
Agenda:
Introdução
Princípios de Neurocomputação
Projeto de uma Rede Neural
Perceptron
A rede de Kohonen
Conclusão
Exercícios
Referências
Redes Neurais Arti�ciais
Referências
referências
I Redes Neurais - Fundamentos e aplicações com programas emC - Oswaldo Ludwig Jr e Eduard Montgomery
I Inteligência Arti�cial - Stuart Russell e Peter NorvigI Redes Neurais Arti�ciais - Teoria e aplicações - Antônio de
Pádua Braga, Teresa Bernarda Ludermir e André Carlos Poncede Leon Ferreira Carvalho
I Imagens forem retiradas do image.google.comI Wikipedia
Redes Neurais Arti�ciais
Referências
Até logo e obrigado pela paciência :-)