Redes Neurais - PowerPoint PPT Presentation

About This Presentation
Title:

Redes Neurais

Description:

Title: Redes Neurais COPIN Author: Prof. Herman M Gomes Keywords: Redes neurais, reconhecimento de padr es Description: 2000.2 Last modified by: hermanmg – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 74
Provided by: Prof148
Category:

less

Transcript and Presenter's Notes

Title: Redes Neurais


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 1010 neurônios
  • cada um conectado com cerca de 104 outros

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 (i1,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) gt P(Gj X) para i1,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) / ( ?j P(X Gj)
    . P(Gj) )

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

17
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 x01
  • 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(t1) wi(t)
  • se saída0, mas devia ser 1 wi(t1)
    wi(t)xi(t)
  • se saída1, mas devia ser 0 wi(t1)
    wi(t)-xi(t)

23
  • Modificações da adaptação dos pesos
  • 4. Adaptar os pesos
  • se correto wi(t1) wi(t)
  • se saída0, mas devia ser 1 wi(t1)
    wi(t)?xi(t)
  • se saída1, mas devia ser 0 wi(t1)
    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(t1) 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
  • Xpx0,x1,...,xn-1, Tpt0,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(t1) 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 ki, 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 Xixi1, 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
    (PLNProbabilistic 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

51
  • Neurônio GSN - estado de validação
  • A saída oi de um neurônio é dada pela fórmula

52
  • Neurônio GSN - estado de aprendizagem
  • O neurônio procura por um endereço que já
    armazene a saída desejada
  • Se isto não for possível, então um endereço que
    contém um valor indefinido é utilizado
  • A fórmula para o endereço procurado é

53
  • Neurônio GSN - estado de aprendizagem
  • Depois de calculado o endereço e armazenada a
    saída desejada, são geradas as entradas desejadas
    que acessam o seu conteúdo
  • Estas entradas desejadas (sinais de saída) se
    conectam às saídas desejadas (sinais de entrada)
    dos neurônios na camada anterior

54
  • Neurônio GSN - estado de uso
  • O objetivo neste estado é produzir o valor
    binário de maior ocorrência no conjunto
    endereçável

55
  • Redes GSN
  • Arquitetura piramidal feedforward com
    aprendizagem supervisionada com duas fases de
    processamento aprendizagem e uso

56
  • Redes GSN - fase de aprendizagem
  • Subfase de Validação
  • Os neurônios estão no estado de validação, ou
    seja cada neurônio informará sua capacidade de
    aprender alguma coisa
  • A rede passa informações para frente, e o
    objetivo é produzir um valor indefinido no último
    neurônio

57
  • Redes GSN - fase de aprendizagem
  • Subfase de Aprendizagem
  • Os neurônios estão no estado de aprendizagem, a
    operação da rede é feedbackward, da última camada
    em direção à primeira camada
  • Os neurônios são inicializados com valores
    indefinidos em seus conteúdos
  • Quando a rede produz uma saída indefinida, é
    sinal que houve rejeição de resposta para o
    padrão de entrada

58
  • Redes GSN - fase de uso
  • Os neurônios estão no estado de uso e a rede
    procura a saída que melhor representa a
    aprendizagem realizada, pois cada neurônio
    procura pela saída binária de maior probabilidade
    no conjunto endereçável

59
Redes ART (Adaptive Resonance Theory)
  • Idealizadas por Carpenter e Grossberg, 1987
  • Resultado da pesquisa sobre o problema da
    estabilidade/plasticidade os algoritmos mantém a
    plasticidade requerida para aprender mais
    padrões, enquanto previnem a modificação contínua
    dos padrões que foram previamente aprendidos.
  • Os dois subparadigmas ART mais comuns são ART1,
    que aceita entradas binárias apenas, e ART2, que
    aceita entradas tanto binárias como contínuas.
  • A rede ART recebe um vetor de entrada e o
    classifica em uma dentre um conjunto de
    categorias, dependendo dos padrões armazenados
    com os quais ele mais se parece.

60
  • Arquitetura de uma rede ART

61
  • Arquitetura de uma rede ART
  • A decisão de classificação é indicada na Camada
    de Reconhecimento.
  • Quando um padrão armazenado que casa com o vetor
    de entrada for encontrado, conforme um limiar de
    vigilância, o padrão é modificado para tornar-se
    mais parecido com o vetor de entrada.
  • Quando o vetor de entrada não casa com nenhum
    padrão armazenado, então uma nova categoria de
    classificação é criada através do armazenamento
    de um novo padrão que é o próprio padrão de
    entrada.
  • O problema da estabilidade/plasticidade é
    resolvido pois nenhum padrão armazenado é
    modificado se ele não casa com a entrada
    corrente, e novos padrões podem criar novas
    categorias de classificação.

62
  • Arquitetura de uma rede ART - camada de
    comparação

63
  • Arquitetura de uma rede ART - camada de
    comparação
  • Inicialmente propaga o vetor de entrada X
    inalterado para a camada de reconhecimento.
  • Cada neurônio recebe 3 entradas binárias
    componente xi da entrada X, sinal de feedback pj
    (soma ponderada de rj) e G1. Regra 2-dentre-3.
  • Ganho é inicializado em 1, e R em 0, assim C é
    inicialmente X.

64
  • Arquitetura de uma rede ART - camada de
    reconhecimento

65
  • Arquitetura de uma rede ART - camada de
    reconhecimento
  • A função desta camada é classificar o vetor de
    entrada.
  • Cada neurônio tem associado um vetor de pesos
    contínuos Bj.
  • Regra de disparo do tipo winner-takes-all
    apenas o neurônio que mais se aproxime d vetor de
    entrada é quem dispara.
  • Os pesos Bj representam uma categoria (classe) de
    vetores de entrada.
  • Uma versão binária do mesmo padrão é também
    armazenada em um conjunto de pesos Tj
    correspondente na camada de comparação

66
  • Arquitetura de uma rede ART - camada de
    reconhecimento
  • Os neurônios desta camada computam o produto
    interno de seus pesos pelo vetor C.
  • O neurônio vencedor será aquele que tiver os seus
    pesos mais parecidos com os componentes do vetor
    C.
  • Existem conexões excitatórias ligando um neurônio
    a ele mesmo, e inibitórias ligando a saída de um
    neurônio às entradas dos outros neurônios.

67
  • Arquitetura de uma rede ART - G2, G1, Reset
  • Ganho 2
  • A saída G2 é o OU lógico dos componentes xi do
    vetor de entrada binário X.
  • Ganho 1
  • Se todos os componentes de R são 0 então a saída
    Ga é o OU lógico dos componentes xi do vetor de
    entrada binário X, caso contrário, G1 é 0.
  • Reset
  • A função deste módulo é medir a similaridade
    entre os vetores X e C.
  • Se o quociente entre onúmero de 1s em C pelo
    número de 1s em X estiver abaixo do fator de
    vigilância, então Reset é ativado para
    desabilitar o neurônio que disparou na Camada de
    Reconhecimento.

68
  • Rede ART - processo de classificação
  • A operação de uma rede ART, também referida como
    processo de classificação, consiste de 5 fases
  • Inicialização
  • Reconhecimento
  • Comparação
  • Busca
  • Treinamento

69
  • Rede ART - fase de inicialização
  • Os pesos dos vetores Bj (bottom-up) são
    inicializados com os mesmos valores
    bijL/(L-1m), ?i,j (m é o número de componentes
    do vetor de entrada, e L é normalmente 2).
  • Os pesos dos vetores Tj (top-down) são todos
    inicializados com 1
  • O fator de vigilância ? pode ficar na faixa de 0
    a 1.

70
  • Rede ART - fase de reconhecimento
  • Os pesos Bj de cada neurônio representam uma
    única categoria de classificação. Inicialmente o
    vetor C copia o vetor X.
  • No passso seguinte, cada neurônio da camada de
    reconhecimento efetua um produto intero de seu
    vetor de pesos Bj pelo vetor C.
  • O neurônio com pesos mais próximos do vetor de
    entrada irá disparar sozinho, ou seja um simples
    componente rj será igual a 1.

71
  • Rede ART - fase de comparação
  • O único neurônio que disparou na Camada de
    Reconhecimento propaga um 1 de volta à Camada de
    Comparação através de seu sinal de saída rj
  • O algoritmo de treinamento e a inicialização
    deverão garantir que cada T seja formado por
    valores binários e cada Bj seja uma versão
    contínua de Tj

72
  • Rede ART - fase de busca
  • Se o grau de similaridade entre os veores X e C
    não for suficiente para atender ao fator de
    vigilância, então outros padrões armazenados
    precisam ser pesquisados para se encontrar o que
    mais se aproxima da entrada.
  • Isto é conseguido através da inibição provida
    pelo sinal Reset
  • O processo de busca se repete até que um dos
    seguintes eventos aconteça
  • 1. Um padrão que casa com X é encontrado e o
    fator de vigilância é satisfeito
  • 2. Todos os padrões armazenados são selecionados,
    porém nenhum deles satisfaz o fator de
    vigilância, e, neste instante os neurônios na
    Camada de Reconhecimento são inibidos. Neste caso
    a busca irá terminar num neurônio descomprometido
    com os pesos em 1.

73
  • Rede ART - fase de treinamento
  • O algoritmo de aprendizagem deve ser aplicado
    tanto nas buscas com sucesso quanto nas buscas
    sem sucesso.
  • No caso de uma busca com sucesso, a rede deverá
    entrar num ciclo que modificará tanto T quanto Bj
    , o objetivo é que o vetor X atualize os pesos de
    sua categoria de classificação
  • bij (Lci)(L-1 ?ck)
  • ci é o i-ésimo componente do vetor de saída da
    Camada de Comparação
  • j é o número do neurônio vencedor na Camada de
    Reconhecimento
  • bij é o peso em B conectando o neurônio i na
    camada de comparação ao neurônio j da camada de
    reconhecimento
  • L é uma constante gt 1, normalmente L2/
  • Tij ci
  • No caso de uma busca sem sucesso, um neurônio
    previamente desalocado é quem será usado.
Write a Comment
User Comments (0)
About PowerShow.com