1 / 73

Redes Neurais

Redes Neurais. DSC/CEEI/UFCG Professor : Herman M Gomes. Bibliografia. Haykin S. Neural Networks: A Compreensive Foundation. Macmillan College Publishing, 1994. Kovacs Z.L. Redes Neurais: Fundamentos e Aplicações. Edição Acadëmica, 1996.

quinn-rosa
Download Presentation

Redes Neurais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Redes Neurais DSC/CEEI/UFCG Professor : Herman M Gomes

  2. Bibliografia • Haykin S. Neural Networks: A Compreensive Foundation. Macmillan College Publishing, 1994. • Kovacs Z.L. Redes Neurais: Fundamentos e Aplicações. Edição Acadëmica, 1996. • McClelland J.L., Rumelhart D.E. Explorations in Parallel Distributed Processing. The MIT Press. 1988. • R. Beale, T. Jackson. Neural Computing: An Introduction. IOP Publishing, 1990. • R. Hetch-Nielsen. “Neurocomputing”. Addison-Wesley Publishing Company,1990. • P. K. Simpson. “Artificial Neural Systems”. Pergamon Press, 1990. • P. D. Wasserman. “Neural Computing: Theory and Pratice”. Van Nostrand Reinhold, 1989. • C. Bishop. Neural Networks for Pattern Recognition.

  3. Introdução • O que é computação?

  4. Funções computáveis e não computáveis • Funções lineares e não lineares

  5. A estrutura do cérebro • aproximadamente 1010neurônios • cada um conectado com cerca de 104outros

  6. Ativação de um neurônio ativo Sinal de Saída inativo Nível de Entrada limiar 0

  7. Aprendizagem em sistemas biológicos 0

  8. Vetores de características e espaços de estados

  9. Funções discriminantes

  10. Técnicas de classificação: vizinho mais próximo

  11. Medidas de distância entre vetores • Distância de Hamming = • Distância Euclidiana =

  12. Classificadores lineares

  13. Técnicas estatísticas: classificação Bayesiana • Importante técnica analítica que facilita o entendimento da natureza estatística dos dados • Baseia-se na teoria estatística de probabilidades e probabilidades condicionais • Em reconhecimento de padrões, medições são feitas sobre os padrões (componentes do vetor de características) a fim de se obter uma estimativa da probabilidade de um padrão pertencer a uma classe particular. • Mais formalmente, seja Gi (i=1,2,...,n) a lista de possíveis grupos ou classes, define-se a probabilidade de um padrão pertencer a uma classe como sendo P(Gi), onde 0  P(Gi)  1

  14. O uso de probabilidades condicionais permite a inclusão de conhecimento prévio sobre o problema de forma a melhorar a estimativa de um padrão pertencer a uma dada classe • Dados dois eventos X e Y, a probabilidade condicional é definida como sendo a probabilidade do evento Y dada a ocorrência do evento X: P(Y |X) • Em reconhecimento de padrões, o conhecimento prévio que é combinado com a função de probabilidade da classe são as medições de dados obtidas para o padrão, ou seja, o vetor de características X = (x1, x2 , ..., xn ) • Assim, o problema de classificação de padrões pode ser enunciado como: Considerando um conjunto de medições, X, qual é a probabilidade dele pertencer à classe Gi , ou seja P(Gi|X) ?

  15. Regra de Bayes • Decida por x pertencer à classe i se: P(Gi |X) > P(Gj|X) para i=1,2,...,n i  j • Como estimar as probabilidades condicionais? • Fazendo suposições sobre os dados de padrões • Descrevendo distribuições desconhecidas através de modelos • Dado que se sabe que o padrão deva pertencer a um dos n grupos, então define-se a probabilidade de se se obter aquele padrão em cada um dos grupos P(X | Gi) • P(Gi |X) = P(X | Gi ) . P(Gi) / ( jP(X | Gj) . P(Gj) )

  16. Outras técnicas estatísticas • EM algorithm: Expectation-Maximisation • Support Vector Machines

  17. x0 w0 x1 w1 y  w2 x2 w3 ... x3 wn x4 Perceptrons • Modelando um único neurônio

  18. Funções de ativação

  19. Funções de ativação

  20. Funções de ativação

  21. Funções de ativação

  22. Aprendizagem do perceptron 1. Inicializar pesos e limiar Definir wi(t), (0  i  n) como o peso da entrada i no tempo t e w0 como sendo -, o limiar, e x0=1 Ajustar wi(0) com pequenos valores randômicos 2. Apresentar entradas x0, x1, ..., xn e saída desejada d(t) 3. Calcular a saída do neurônio 4. Adaptar os pesos se correto wi(t+1) = wi(t) se saída=0, mas devia ser 1 wi(t+1) = wi(t)+xi(t) se saída=1, mas devia ser 0 wi(t+1) = wi(t)-xi(t)

  23. Modificações da adaptação dos pesos 4. Adaptar os pesos se correto wi(t+1) = wi(t) se saída=0, mas devia ser 1 wi(t+1) =wi(t)+xi(t) se saída=1, mas devia ser 0 wi(t+1) =wi(t)-xi(t) onde 0    1 controla a taxa de adaptação do peso 4. Adaptar os pesos - regra delta de Widrow-Hoff  = d(t) - y(t) wi(t+1) = wi(t) +   xi(t) Neurônios com este algoritmo de aprendizagem: ADALINE Uso de entradas bipolares acelera o treinamento, por que?

  24. Limitações dos perceptrons de 1 camada • Foi provado (Rosemblatt) que se for possível classificar linearmente um conjunto de entradas, então uma rede de perceptrons pode aprender a solução • Um perceptron tenta encontrar uma reta que separa as classes de padrões • Porém há situações em que a separação entre as classes precisa ser muito mais complexa do que uma simples reta, por exemplo, o problema do XOR: linearmente inseparável X Y Z 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1

  25. Perceptron de múltiplas camadas • Como resolver o problema de ser incapaz de resolver problemas linearmente inseparáveis com o perceptron? • Uma solução seria usar vários perceptrons, cada qual encarregado de separar várias pequenas seções linearmente separáveis das entradas, e combinar as saídas em outro perceptron que daria o resultado da classificação final

  26. Perceptron de múltiplas camadas • O problema com este arranjo em camadas é que os neurônios não podem aprender usando a aprendizagem do perceptron • Os neurônios da primeira camada recebem as entradas diretamente, mas os da segunda camada não conhecem o estado das entradas reais, apenas o resultado do processamento pela 1a camada • Como o aprendizado de perceptrons corresponde ao reforço de conexões entre entradas ativas e neurônios ativos, seria impossível reforçar as partes corretas da rede, uma vez que as entradas são mascaradas pelas camadas intermediárias

  27. A solução • Usar função de ativação contínua ao invés de binária permite ter-se uma idéia mais realística das entradas, por exemplo, sigmóide ou semi-linear. f(net) = 1 / (1+ e -z . net)

  28. Arquitetura Saída Entrada Escondida

  29. A solução • Algoritmo de aprendizagem: 1. Iniciar pesos e limiar para pequenos valores randômicos 2. Apresentar entrada e saída desejada Xp=x0,x1,...,xn-1, Tp=t0,t1,...,tm-1 3. Calcular as saídas da rede, cada camada produz: e passa os resultados como entradas para a próxima camada. As saídas da última camada são opj 4. Adaptar os pesos

  30. Algoritmo de aprendizagem (backpropagation): 4. Adaptar os pesos, começar na camada de saída e prosseguir de trás para frente wij(t+1) = wij(t) + pj opj Para neurônios de saída: pj = z opj(1 -opj) (tpj - opj) Para neurônios de camadas escondidas pj = z opj(1 -opj) kpk wjk

  31. Algoritmo backpropagation (prova): • Vamos definir a função de erro como sendo proporcional ao quadrado das diferenças entre as saídas reais e desejadas para todos os padres a serem aprendidos: • O objetivo final será minimizar esta função • A ativação de cada unidade j para um padrão p pode ser escrita como:

  32. Algoritmo backpropagation (prova): • A saída do neurônio j é definida como: • Pela regra da cadeia, pode-se escrever a derivada da energia associada ao padrão p com respeito ao peso wij: • Substituindo (2) em (4):

  33. Algoritmo backpropagation (prova): • Substituindo (2) em (4): • uma vez que: • exceto quando k=i, quando a expressão acima é igual a 1.

  34. Algoritmo backpropagation (prova): • A mudança em erro pode ser definida como uma função da mudança nas entradas da rede para um certo neurônio: • Substituindo em (4): • Decrementar o valor da Energia, significa portanto tornar as mudanças de pesos proporcional a

  35. Algoritmo backpropagation (prova): • Agora precisamos saber qual a expressão de para cada um dos neurônios, se soubermos isto poderemos reduzir a energia. • Usando (6) e pela regra da cadeia, podemos escrever: • Considerando o segundo termo acima e usando (3):

  36. Algoritmo backpropagation (prova): • Considerando agora o primeiro termo de (9) e usando (1), podemos derivar Ep com relação a opj : • Portanto: o que é bastante útil para neurônios de saída, mas não para neurônios em camadas intermediárias, uma vez que suas saídas desejadas não são conhecidas

  37. Algoritmo backpropagation (prova): • Assim, se um neurônio não está na camada de saída, pode-se escrever novamente pela regra da cadeia: também usando (2) e (6) e notando que a soma é cancelada uma vez que a derivada parcial não é zero para apenas um valor, como em (5).

  38. Algoritmo backpropagation (prova): • Substituindo (14) em (9), finalmente chaga-se à função que representa a mudança no erro, com respeito aos pesos da rede: • A função acima é proporcional aos erros em neurônios subsequentes, assim o erro deve ser calculado nos neurônios de saída primeiro.

  39. Algoritmo backpropagation (prova): • Usando a função sigmóide como função de ativação, tem-se:

  40. Redes RAM-based e Goal Seeking Neurons (GSN) • Neurônio RAM • Dificuldades para implementar neurônios de McCulloch-Pitts • Primeiro proposto por Aleksander (1967), quando era denominado de SLAM (Stored Logic Adaptive Microcircuit) • As entradas, saídas e pesos são discretos (binários) • Adaptação através da mudança de conteúdos endereçáveis, ao invés dos pesos da conexão • Da mesma forma que em memórias RAM, existem terminais de endereçamento e terminais de dados

  41. Neurônio RAM - características • Em geral, um neurônio RAM possui vários terminais de endereçamento, um terminal de dado de saída e outro de entrada, além de um terminal de controle para indicar o modo de operação • Os modos de operação de um neurônio RAM são: aprendizagem e uso

  42. Neurônio RAM - características • Pode-se imaginar que os pesos das conexões entre neurônios do tipo RAM, seriam as potências de 2, associadas a cada terminal de entrada, para cálculo do endereço acessado • Por outro lado, alguns autores constumam denominar este tipo de neurônio como neurônio sem peso, uma vez que os pesos são fixos, não sendo utilizados durante o processo de adaptação da rede

  43. Neurônio RAM - endereçamento e ativação • Sendo Xi=xi1, xi2,..., xic os terminais de entrada, zi1, zi2,..., zic os pesos escritos na forma de potências de 2 associados a cada entrada, a fórmula para calcular o endereço acessado pela entrada Xi será: • A função de ativação para o neurônio RAM é definida pela equação:

  44. Neurônio PLN • Baseado no neurônio RAM, adicionando a possibilidade de um tratamento probabilístico (PLN=Probabilistic Logic Neuron) • A extensão feita ao neurônio RAM é incluir um terceiro valor lógico (indefinido), além de 0 e 1 • Quando o valor lógico indefinido é endereçado, a saída produzida tem uma certa probabilidade de produzir 1 e uma outra probabilidade (complementar) de produzir 0. • A interpretação deste novo valor lógico pode ser dada como uma condição de desconhecimento, sendo representado pelo símbolo u

  45. Neurônio PLN - ativação • A função de saída do neurônio PLN é a seguinte: • O neurônio PLN requer o dobro da memória requerida pelo neurônio RAM, em função da inclusão do terceiro valor lógico • O papel do valor indefinido no neurônio PLN é fazer com que ele generalize

  46. Neurônio GSN (Goal Seeking Neuron) • O neurônio GSN desenvolvido por Carvalho Filho em 1990 • Assim como o neurônio PLN, o neurônio GSN baseia-se no neurônio RAM • As diferenças entre o neurônio GSN e o neurônio PLN estão nos valores que eles podem propagar, e nos modos de operação • Um neurônio GSN pode armazenar {0,1,u}, e todos estes três valores podem também ser enviados a outros neurônios e recebidos • Dependendo do estado das entradas, pode-se acessar uma única célula ou um conjunto de células

  47. Neurônio GSN - modos de operação • O neurônio busca por objetivos diferentes quando em modos ou estados diferentes. • Há três estados ou modos de operação: • Validação: o neurônio valida a possibilidade de aprender uma saída desejada sem destruir informações aprendidas anteriormente • Aprendizagem: o neurônio seleciona um endereço e armazena a saída desejada • Uso: o neurônio produz a melhor saída com base na aprendizagem

  48. Neurônio GSN - estrutura • Além das estruturas básicas do neurônio RAM, o neurônio GSN possui terminais de entradas desejadas: di1, di2,..., dic, os quais informam qual entrada satisfaz o objetivo procurado • Quando há valores indefinidos presentes nos terminais de entrada, tem-se acesso a um conjunto de endereços possíveis (conjunto endereçável) ao invés de um único endereço

  49. Neurônio GSN - endereçamento • O neurônio GSN exemina o conjunto endereçável para escolher o melhor conteúdo para o objetivo procurado • O endereço fixo para as entradas com valores definidos (0,1) é dado por: • O conjunto endereçável é dado por:

  50. Neurônio GSN - estado de validação • No estado de validação o neurônio procura produzir uma saída indefinida, representando a possibilidade de aprender qualquer saída saída desejada • Caso não seja possível encontrar um valor indefinido, então o neurônio pode produzir e aprender apenas um valor binário

More Related