IA Perceptron

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

1 Favorite

IA Perceptron - Presentation Transcript

  1. I nteligência Artificial Perceptron Rafael Rosario [email_address] [email_address]
  2. Perceptrons (I)
    • Modela um neurônio pegando a soma ponderada de suas entradas, e comparando contra um valor (exemplo, valor = 0).
    • Se soma > 0, resulta 1;
    • Se soma <= 0, resulta 0;
    • Consegue aprender qualquer problema de classificação de dados linearmente separáveis
  3. Perceptrons (II) X2 X1
  4. Perceptron - Conhecimento
    • O conhecimento do Perceptron, assim como o de qualquer RNA, está nos pesos das suas ligações:
    BIAS N1 N2  S  Wb= 3 W2=0 W1= -2
  5. Perceptron - Treinamento
    • Se o perceptron dispara quando não deve disparar, diminua de cada peso (Wi) um número proporcional ao sinal de entrada;
    • Se o perceptron deixa de disparar quando deveria, aumente um número semelhante em cada Wi.
  6. Perceptron – Exemplo (I)
    • Imaginemos um problema de classificação:
    COMPOSITOR CIENTISTA BACH X BEETHOVEN X EINSTEIN X KEPLER X
  7. Perceptron – Exemplo (II)
    • Primeiro, codificamos as informações em base binária:
    N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1 COMPOSITOR 0 CIENTISTA 1
  8. Perceptron – Exemplo (III)
    • Os pesos começam todos com zero (Wb, W1, W2 = 0).
    • O sinal do bias será sempre positivo (1).
    BIAS N1 N2  S  Wb= 0 W2=0 W1= 0 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  9. Perceptron – Exemplo (IV)
    • Escolhemos um valor para testar a rede.
    • A somatória (   será: (Bias*Wb)+(N1*W1)+(N2*W2)
    BIAS N1 N2  S  Wb= 0 W2=0 W1= 0 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  10. Perceptron – Exemplo (V)
    • Para Kepler, teremos: (1 * 0) + (1 * 0) + (1 * 0) = 0.
    • Ou seja, a saída foi 0, e a saída esperada era 1... :-/
    BIAS N1 N2  S  Wb= 0 W2=0 W1= 0 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  11. Perceptron – Exemplo (VI)
    • Temos que ajustar os pesos (W), usando a fórmula:
    • Wnovo = Wanterior +
    • (ValorErro * TaxaAprendizagem * SinalEntrada)
    BIAS N1 N2  S  Wb= 0 W2=0 W1= 0 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  12. Perceptron – Exemplo (VII)
    • Para Wb: Wb novo = 0 + (1 * 1 * 1) = 1
    • Para W1: W1 novo = 0 + (1* 1 * 1) = 1
    • Para W2: W2 novo = 0 + (1* 1 * 1) = 1
    BIAS N1 N2  S  N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  13. Perceptron – Exemplo (VIII)
    • Então, escolhemos outro valor e repetimos o processo:
    • (Bias*Wb)+(N1*W1)+(N2*W2) =>
    • (1*1) + (0*1) + (1*1) = 2 (se  > 0, sinal saída = 1)
    BIAS N1 N2  S  Wb= 1 W2=1 W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  14. Perceptron – Exemplo (IX)
    • Novamente o sinal de saída esperado (0) não foi alcançado. Ou seja, é preciso corrigir os pesos.
    • ValorErrro = SinalEsperado – SinalGerado (0 -1 = -1)
    BIAS N1 N2  S  Wb= 1 W2=1 W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  15. Perceptron – Exemplo (X)
    • Para Wb: Wb novo = 1 + (-1 * 1 * 1) = 0
    • Para W1: W1 novo = 1 + (-1* 0 * 1) = 1
    • Para W2: W2 novo = 1 + (-1* 1 * 1) = 0
    BIAS N1 N2  S  W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  16. Perceptron – Exemplo (XI)
    • Seguimos com novo valor:
    • (Bias*Wb)+(N1*W1)+(N2*W2) =>
    • (1*0) + (1*1) + (0*0) = 1 (se  > 0, sinal saída = 1)
    BIAS N1 N2  S  Wb= 0 W2= 0 W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  17. Perceptron – Exemplo (XII)
    • Desta vez o sinal gerado (1) era o sinal esperado.
    • Neste caso, não precisamos ajustar os pesos.
    BIAS N1 N2  S  Wb= 0 W2= 0 W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  18. Perceptron – Exemplo (XII)
    • Testando para Bach, o sinal gerado também é correto:
    • (Bias*Wb)+(N1*W1)+(N2*W2) =>
    • (1*0) + (0*1) + (0*0) = 0
    BIAS N1 N2  S  Wb= 0 W2= 0 W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  19. Perceptron – Exemplo (XIII)
    • Os pesos já funcionaram para 3 entradas, testando Kepler novamente:
    • (1*0) + (1*1) + (1*0) = 1  Funciona! A rede aprendeu!
    BIAS N1 N2  S  Wb= 0 W2= 0 W1= 1 N1 N2 SAÍDA BACH 0 0 0 BEETHOVEN 0 1 0 EINSTEIN 1 0 1 KEPLER 1 1 1
  20. Perceptrons – Prática 1
      • Faça o exemplo visto anteriormente no Perceptron implementado em C++:
      • O programa de treinamento funciona sempre ou depende da seqüência de valores informados durante o treinamento?
      • Qual o número máximo de interações para corrigir os pesos?
  21. Perceptrons – Prática 2 (I)
      • Considere a seguinte base de treinamento, sobre o diagnóstico de Gripe x Resfriado:
    VÍRUS BACTÉRIA DOR CABEÇA CORISA GRIPE 1 0 1 1 RESFRIADO 0 1 0 1 GRIPE 1 0 1 0 RESFRIADO 0 1 1 1 GRIPE 0 0 1 1 RESFRIADO 0 0 0 1
  22. Perceptrons – Prática 2 (II)
    • Quantas iterações são necessárias para encontrar os pesos corretos da base de treinamento?
    • Qual é o resultado para outros valores?
    • O programa parece ter alguma inteligência? Como ele se comporta?
    VÍRUS BACTÉRIA DOR CABEÇA CORISA ? 1 1 1 1 ? 1 0 0 0 ? 0 1 0 0 ? 0 1 1 1 ? 1 0 0 1 ? 0 0 0 0
  23. Perceptrons - Limitação
    • Minsky e Papert: e se não for linear?
      • XOR
    X1 X2 X1 XOR X2 0 0 0 0 1 1 1 0 1 1 1 0
  24. Perceptrons – Prática 3
      • Com o mesmo Perceptron da prática 1, teste a tabela XOR:
      • O programa consegue achar uma solução? Por quê?
  25. Perceptrons Multicamadas(I)
    • Resolvem problemas não lineares, mas introduz um sério problema de aprendizagem;
    1 X1 X2   X1 X2  W=? W=? W=? W=? W=? W=? W=?
  26. Perceptrons Multicamadas(II)
    • Uma solução para o problema XOR:
    1 X1 X2   X1 X2  W=-1,5 W=1 W=1 W=-9 W=-0.5 W=1 W=1
  27. Perceptrons – Prática 4 (I)
    • VALENDO 2 PONTOS DA PARCIAL 2:
    • Crie seu perceptron, seguindo os seguintes passos:
    • Crie uma base de conhecimento para treinamento. Sua base deve ter pelo menos 5 características, 4 resultados possíveis e 12 exemplos;
    Carac 1 Carac 2 Carac 3 Carac 4 Carac 5 RESULTADO A 1 1 1 1 1 RESULTADO B 1 0 0 0 0 RESULTADO C 0 1 0 0 1 RESULTADO D 0 1 1 1 0 RESULTADO B 1 0 0 1 1 Até a linha 12... … … … … ...
  28. Perceptrons – Prática 4 (II)
    • 2. A base de conhecimento criada deve ser baseada em um problema concreto, ou seja, as características e resultados devem ter significado. Dica: características -> sintomas do problema, resultados -> soluções do problema;
    • 3. Implemente seu Perceptron em C++ (usando o programa da prática 2), de forma a alimentar a matriz de leitura com os exemplos da base de treinamento;
    • 4. Verifique e responda:
      • Sua RNA conseguiu aprender os 12 elementos do treinamento? Eles são linearmente separáveis?;
      • Crie mais quatro exemplos e teste no seu programa. Quais eram o resultados esperados e o que a rede respondeu?
      • A RNA criada teria alguma utilidade prática? Por que?
  29. Referências
    • http://www.intelliwise.com/reports/info2001.htm
    • http://www.ucs.louisiana.edu/%7Eisb9112/dept/phil341/wisai/WhatisAI.html
    • http://www.cs.bham.ac.uk/%7Eaxs/courses/ai.html
    • http://pt.wikipedia.org/wiki/Intelig%C3%AAncia_artificial
    • http://pt.wikiquote.org/wiki/Intelig%C3%AAncia
    • http://www.ucb.br/prg/professores/rogerio/FIA/fundia.html
    • http://to-campos.planetaclix.pt/neural/hop.html
    • http://codebetter.com/photos/greg_young/images/169874/320x394.aspx
    • http://www.dcc.fc.up.pt/~jpp/cia/node54.html >
    • http://www.livinginternet.com/i/ii_ai.htm
    • http://www.conpet.gov.br/ed/
    • http://www.inbot.com.br/sete/
    • http://alicebot.org
    • http://www.cin.ufpe.br/~in1006/2003/AIParadigms.ppt
    • http://www.stdwizard.org/
    • http://expertise2go.com/webesie/
    • http://www.din.uem.br/ia/neurais/ >
    • http://www.icmc.usp.br/~andre/research/neural/index.htm
    • http://www.inf.unisinos.br/~osorio/neural.html
    • Inteligência Artificial – Elaine Rich e Kevin Knight – 2ª edição
  30. Funções de Transferência

+ rafael.joirafael.joi, 2 years ago

custom

2068 views, 1 favs, 0 embeds more stats

Apresentação sobre Perceptron, uma das arquitetur more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 2068
    • 2068 on SlideShare
    • 0 from embeds
  • Comments 1
  • Favorites 1
  • Downloads 52
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories