164
Redes Neurais Artificiais Inteligência Artificial Inteligência Artificial Prof. Cedric Luiz de Carvalho Instituto de Informática UFG 2006

Redes Neurais Artificiais

Embed Size (px)

DESCRIPTION

Slide sobre redes neurais

Citation preview

Page 1: Redes Neurais Artificiais

Redes Neurais Artificiais

Inteligência ArtificialInteligência Artificial

Prof. Cedric Luiz de CarvalhoInstituto de Informática

UFG 2006

Page 2: Redes Neurais Artificiais

2/164

Tópicos

Introdução

Redes Neurais Humanas

O que são Redes Neurais Artificiais

Características das Redes Neurais Artificiais

Perceptrons

Perceptrons Multi Camadas

Modelo de Hopfield

Page 3: Redes Neurais Artificiais

3/164

Motivação

Criar máquinas capazes de operar independentemente do homemaprender sozinhasinteragir com ambientes desconhecidospossa ser chamada de autônoma, inteligente ou

cognitiva• capacidade de lidar com eventos inesperados

Obs.: cognição aquisição de um conhecimento

Page 4: Redes Neurais Artificiais

4/164

Utilidade

Teriam maior capacidade de aprender tarefas de alto nível cognitivo que não são facilmente manipuladas por máquinas atuais

Seriam úteis onde a presença humana é perigosa, tediosa ou impossível, como em:reatores nuclearescombate ao fogooperações militaresexploração ao espaço...

Page 5: Redes Neurais Artificiais

5/164

Redes Neurais Artificiais (RNA)

Investigam aspectos naturais e adaptativos do sistema cognitivo

Aprendem a reconhecer padrões de informações estabelecidos no meio ambiente

Abordagem bottom-up: a partir de elementos básicos busca o entendimento de conceitos gerais

Page 6: Redes Neurais Artificiais

6/164

Ciências Cognitivas

Epistemologia

Lingüística

Ciências Sociais

Neurobiologia

Ciência daComputação

Psicologia

Page 7: Redes Neurais Artificiais

7/164

Cérebro humano

Mais fascinante processador baseado em carbono

O neurônio é um célula no cérebro cuja principal função é colecionar, processar e disseminar sinais elétricos

10 bilhões de neurônios todos movimentos do organismo são conectados através de sinapses processam e armazenam informações

Page 8: Redes Neurais Artificiais

8/164

Redes neurais naturaisRedes neurais naturais

O sistema nervoso é formado por um conjunto extremamente complexo de células, os neurônios

O cérebro humano possui cerca de 1011 neurônios e mais de 1014 sinapses, possibilitando a formação de redes muito complexas

Page 9: Redes Neurais Artificiais

9/164

Redes neurais naturaisRedes neurais naturais

Neurônios têm papel essencial na determinação do funcionamento e comportamento do corpo humano e do raciocínio

Page 10: Redes Neurais Artificiais

10/164

Neurônios naturais

Neurônios são formados: pelos dendritos, que são um conjunto de terminais

de entrada • recebem estímulos

pelo corpo central (soma)• coleta, combina e processa informações

pelos axônios que são longos terminais de saída• transmitem os estímulos

Neurônios se comunicam através de sinapses

Page 11: Redes Neurais Artificiais

11/164

Neurônios naturais

Page 12: Redes Neurais Artificiais

12/164

Neurônios naturais: Sinapse

É o contato entre dois neurônios através da qual os impulsos nervosos são transmitidos entre eles

Os impulsos recebidos por um neurônio são processados e, atingindo um limiar de ação, dispara, produzindo uma substância neurotransmissora que flui para o axônio, que pode estar conectado a um dendrito de outro neurônio

Page 13: Redes Neurais Artificiais

13/164

Neurônios naturais: SinapseNeurônios naturais: Sinapse

O neurotransmissor pode diminuir ou

aumentar a polaridade da membrana pós-sináptica, inibindo ou excitando a geração dos pulsos no outro neurônio

Este processo depende de fatores como geometria da sinapse e o tipo de neurotransmissor

Page 14: Redes Neurais Artificiais

14/164

Neurônios naturaisNeurônios naturais

Constatação que o cérebro processa informações de forma diferente dos computadores convencionais

Cérebro velocidade 1 milhão de vezes mais lenta processamento altamente paralelo

• 1011 neurônios com 104 conexões cada

Computador processamento extremamente rápido e preciso na

execução de sequência de instruções

Page 15: Redes Neurais Artificiais

15/164

Problema dos 100 Passos

Neurônio: 2ms Processador: 2ns

Processador é 106 mais rápido que o neurônio

Cérebro reage a um estímulo entre 0,2 e 1 segundo

Cérebro responde em 100 passos

Page 16: Redes Neurais Artificiais

16/164

Neurônios naturaisNeurônios naturais

O cérebro tem 10 bilhões de neurônios

Cada neurônio tem 1.000 a 10.000 conexões

60 trilhões de conexões 1014 sinapses

Cada pessoa pode dedicar 100.000 conexões para armazenar cada segundo de experiência 65 anos ⇒ 2.000.000.000 de segundos

Durante os 2 primeiros anos de vida, 1.000.000 de sinapses são formadas por segundo

Page 17: Redes Neurais Artificiais

17/164

Cérebro X Computador

 Parâmetro  Cérebro  Computador

 Material  Orgânico  Metal e plástico

 Velocidade  Milisegundos  Nanosegundos

 Tipo de Processamento  Paralelo  Seqüencial

 Armazenamento  Adaptativo  Estático

 Controle de Processos  Distribuído  Centralizado

 Número de elementos processados  10 e 11 à 10 e 14  10 e 5 à 10 e 6

 Ligações entre elementos processados  10.000  <10

Page 18: Redes Neurais Artificiais

18/164

Computador X RNAs

Computadores  Neurocomputadores

 Executa programas  Aprende

 Executa operações lógicas  Executa operações não lógicas, transformações, comparações

 Depende do modelo ou do programador  Descobre as relações ou regras dos dados e exemplos

 Testa uma hipótese por vez  Testa todas as possibilidades em paralelo

Page 19: Redes Neurais Artificiais

19/164

Redes Neurais Artificiais (RNAs)

RNAs são técnicas computacionais que apresentam um modelo matemático inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento através da experiência

Método de solucionar problemas de IA, que utiliza um sistema que possui circuitos que simulam o cérebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e fazendo descobertas

Uma grande RNA pode ter centenas ou milhares de unidades de processamento

Page 20: Redes Neurais Artificiais

20/164

Redes Neurais Artificiais (RNAs)

Redes Neurais Artificiais são sistemas inspirados nos neurônios biológicos e na estrutura massivamente paralela do cérebro, com capacidade de adquirir, armazenar e utilizar conhecimento experimental

Devido à similaridade com a estrutura do cérebro, as Redes Neurais exibem características similares ao do comportamento humano, tais como:

Page 21: Redes Neurais Artificiais

21/164

Redes Neurais Artificiais (RNAs)

Procura Paralela e Endereçamento pelo Conteúdo o cérebro não possui endereço de memória e

não procura a informação seqüencialmente

Aprendizado a rede aprende por experiência, não

necessitando explicitar os algoritmos para executar uma determinada tarefa

Page 22: Redes Neurais Artificiais

22/164

Redes Neurais Artificiais (RNAs)

Associaçãoa rede é capaz de fazer associações entre

padrões diferentes. Ex.• Pessoa Nome• Perfume Pessoa

Generalizaçãosão capazes de generalizar o seu

conhecimento a partir de exemplos anteriores

Page 23: Redes Neurais Artificiais

23/164

Redes Neurais Artificiais (RNAs)

Abstração capacidade de abstrair a essência de um

conjunto de entradas, isto é, a partir de padrões ruidosos, extrair a informação do padrão sem ruído

Robustez e Degradação Gradual a perda de um conjunto de elementos

processadores não causa o mal funcionamento da rede neural

Page 24: Redes Neurais Artificiais

24/164

O que as RNAs não são

RNN não são circuitos digitaiso modelo MCP usava sinais binários, o

neurônio biológico expressa sua ativação pela freqüência que emite pulsos e esta freqüência tem uma variação contínua entre dois valores positivos

RNN não podem ter excitação negativaalguns modelos usam valores de excitação

negativa

Page 25: Redes Neurais Artificiais

25/164

O que as RNAs não são

RNN não são homogêneasas RNN não possuem todos os seus

neurônios de mesmo tipo como nas RNA, apenas em algumas regiões existe uma certa uniformidade no tipo de neurônios

RNN não são circuitos síncronos ou assíncronosas RNN são sistemas de tempo contínuo, logo

não cabe a classificação de síncrono ou assíncrono

Page 26: Redes Neurais Artificiais

26/164

O que as RNAs não são

Nem neurônios nem sinapses tem dois valores

Circuitos cerebrais não são capazes de cálculos recursivosisto é conseqüência dos neurônios não serem

sistemas discretos, levando a rede a não ser um autômato

logo, equivalência com problemas solúveis por funções recursivas não tem sentido biológico

entretanto, os neurônios das RNAs são capazes de resolver funções recursivas

Page 27: Redes Neurais Artificiais

27/164

Fases da história da IA

Época pré-históricanesta época nada se conhecia sobre os

mecanismos da mente, nem sob o prisma fisiológico nem psicológico e por esta razão vai até 1875 quando Camillo Golgi visualizou o neurônio

Época Antiga (1875-1943)época em que a Lógica formal apareceu

(Russel, etc)

Page 28: Redes Neurais Artificiais

28/164

Fases da história da IA

Época Romântica (1943-1956)o otimismo desordenado, tal um jovem rapaz

romântico, crê que tudo é possívelacaba com a reunião no Darthmouth College

Época Barroca (1956-1969) tudo é fácil e será conseguidofracasso do projeto de tradução automática de

línguas pelo MIT devido a dimensionalidade• inglês-russo

o livro Perceptrons mostra que nem tudo é possível

Page 29: Redes Neurais Artificiais

29/164

Fases da história da IA

Época das Trevas (1969-1981) paralisação de quase todas as pesquisas em IA por falta

de verbas Renascimento (1981-1987)

começou a corrida para IA os resultados obtidos nas épocas anteriores atingiram o

público em geral sistemas especialistas se popularizaram

Época Contemporânea (1987 - atual) logo no início do período Gallant publica seu célebre artigo

sobre sistemas especialistas conexionistas foi o ponto de partida para a união das duas abordagens

de IA

Page 30: Redes Neurais Artificiais

30/164

Acontecimentos

1943 – Primeiras informações da neuro computação (McCulloch e Pitts) Psychon –

• Exitação / Inibição - Sem aprendizado

1949 - Regra de Hebb - D. O. Hebb Aprendizado / Adaptação

1951 – Snark, por Mavin Minsky operava com sucesso mas, não executava funções de processamento

interessantes, porém serviu de inspiração

Page 31: Redes Neurais Artificiais

31/164

Acontecimentos

1956 – “ Darthmouth College” surgiram os paradigmas da Inteligência Artificial:simbólica: simular o comportamento

humano desconsiderando os mecanismos responsáveis

conexionista: simular a estrutura cerebral, acreditando-se que seria capaz de apresentar inteligência

Page 32: Redes Neurais Artificiais

32/164

Acontecimentos

1957 – Mark I Perceptron, por Frank Rosenblatt, Charles Wightman e outros interesse: reconhecimento de padrões Bernard Widrow desenvolveu um novo tipo de

processamento de redes neurais: ADALINE• grande capacidade de aprendizado• valores discretos / binários / Regra Delta

1962 - Perceptron - Frank Rosenblatt valores contínuos

1962 - Madaline - Bernard Widrow combinando Adalines / Combinação manual

Page 33: Redes Neurais Artificiais

33/164

Acontecimentos

1969 - Problema do XOR - Minsky & Papert (Livro “Perceptrons”)

1970 - 1980 Década perdida...

1980 – Campo de pesquisas explodiu:Palallel Distributede Processing

1982 - Modelo de Hopfield Redes recorrentes - Memórias Auto-Associativas

Page 34: Redes Neurais Artificiais

34/164

Acontecimentos 1986 - MLP Back-Propagation - Rumelhart, Hinton & Willians

(Multi-nível)

1987 – Primeira conferência de redes neurais

1980-1990 década das aplicações Jogos, Robótica, Visão, Reconhecimento de Imagens e

Padrões (OCR, Digitais, Assinaturas), Reconhecimento de Voz (Comandos e Fonemas), Previsão de séries temporais (Ações, tempo, consumo, etc)

1990-2005 revendo conceitos e limitações propondo novos modelos

Page 35: Redes Neurais Artificiais

35/164

O Modelo MCP (McCulloch e Pitts)

Uma RNA é composta por várias unidades de processamento (nós), cujo funcionamento é bastante simples

Essas unidades geralmente são ligadas por conexões (links) que estão associados a um determinado peso

As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões

O comportamento inteligente de uma RNA vem das interações entre as unidades de processamento da rede

Page 36: Redes Neurais Artificiais

36/164

O Modelo MCP

Uma ligação de uma unidade j para unidade i serve para propagar a ativação aj de j para i

Cada ligação possui um peso wj,i associado, que determinar a força e o sinal da conexão

Cada unidade i primeiro computa a soma dos pesos de suas entradas:

ini=∑j= 0

n

W j,i a j

Page 37: Redes Neurais Artificiais

37/164

O Modelo MCP Função de ativação

Então se aplica uma função de ativação g nesta soma para derivar a saída:

Se este nível de atividade exceder um certo limite ou limiar (threshold) a unidade produz uma determinada resposta de saída

a i =g ini =g ∑j=0

n

W j,i a j

a i≥θ

Page 38: Redes Neurais Artificiais

38/164O Modelo MCP

Operação de uma unidade de processamento

Sinais de entrada pesos

s = Σ wiXi

y = 1, se s > ty = 0, se s ≤ t

Page 39: Redes Neurais Artificiais

39/164

O Modelo MCP Função de ativação

Este modelo foi simplificado os nós em cada camada da rede disparam

sincronicamente• as entradas em um instante t produzem a sua saída

no tempo t+1• diferente do biológico, onde não existe sincronismo e

nem ativação em tempo discreto

Além disso, possuem outras limitações com apenas uma camada só conseguem implementar

funções linearmente separáveis pesos fixos, não ajustáveis, não há aprendizado

Page 40: Redes Neurais Artificiais

40/164

w1w2 wn...

S=∑ w i x i +bias

...

x1x2 xn

S

Entradas (Dentritos)

Pesos Sinápticos (Efeito de inibição ou de excitaçãosobre a ativação dos sinais de entrada)

Ativação (Considera o conjunto total das entradas e dos seus pesos associados)

Função de Ativação(Regulagem da saída da rede)

Saída (Axônio: Conexões com as Sinapses de outras unidades)

Características das RNAs

Page 41: Redes Neurais Artificiais

41/164

Função de ativação

A função de ativação é projetada com dois desejos a unidade deve ser ativa (perto de 1+) quando a

entrada correta for dada e inativa (perto de 0) quando uma saída errada é dada

a ativação necessita ser não linear, caso contrário a rede neural completa desmoronaria em uma simples função linear

Escolha para a função de ativação g são mostradas a seguir:

Page 42: Redes Neurais Artificiais

42/164

Função de ativação Função linear

g(ini)

ini

inig(ini) =

Page 43: Redes Neurais Artificiais

43/164

Função de ativação Função limiar (threshold)

g(ini) =0, se ini < θ1, se ini ≥ θ

g(ini)

θini

+1

Page 44: Redes Neurais Artificiais

44/164

Função de ativação Função sigmoidal logística (bipolar)

g(ini) = 1/(1 + e- λu(t))

1

Função de limiar diferenciável

g(ini)

ini

Page 45: Redes Neurais Artificiais

45/164

Exemplo de funcionamento

Page 46: Redes Neurais Artificiais

46/164

Características das RNAs

O comportamento inteligente vem das interações entre as unidade de processamento da rede

Elas aprendem através de exemplos

Processo de treinamento a partir dos casos reais

Capaz de extrair regras básicas a partir de dados reais, diferindo da computação programada

Page 47: Redes Neurais Artificiais

47/164

Aprendizagem

Ajustes de seus pesos

Aprendizado ocorre quando atinge uma solução generalizada para uma classe de problemas

50 a 90% do total de dados são escolhidos aleatoriamente afim que a rede aprendao restante só é apresentado na fase de testes

Page 48: Redes Neurais Artificiais

48/164

Processamento Neural

O processamento de uma Rede Neural pode ser dividido em duas fases: processo de cálculo da saída da rede, dado um

certo padrão de entrada • Recuperação da Informação

processo de atualização dos pesos sinápticos para a aquisição do conhecimento

• Aquisição da Informação

Page 49: Redes Neurais Artificiais

49/164

Aprendizagem das RNAs

A maioria dos modelos de redes neurais possui alguma regra de treinamentoonde os pesos de suas conexões são ajustados

de acordo com os padrões apresentados

elas aprendem através de exemplos

Page 50: Redes Neurais Artificiais

50/164

Formas de aprendizado: RNAs

Aprendizagem supervisionadaa saída desejada é conhecida e informada para

que a rede compare com a saída processadase houver erro, a rede tenta corrigir este erro até

que a mesma forneça uma saída igual a saída desejada

Page 51: Redes Neurais Artificiais

51/164

Formas de aprendizado: RNAs

Aprendizagem não supervisionadaa saída desejada é obtida através de entradas

repetitivas até a rede reter o conhecimentonão existe saída informada para comparação

• deve existir redundâncias nos dados para a rede encontrar padrões ou características dos dados

Page 52: Redes Neurais Artificiais

52/164

Exemplo: AprendizagemImplementação da porta lógica AND

Tabela Verdade - ANDEntrada 1 Entrada 2 Saída

1 1 11 0 00 1 00 0 0

0

0 Σ T0 0

1 Σ T0 1

0 Σ T0 1

1 Σ T1

Certificar-se de que todas as respostas estão corretas para cada conjunto de entradas pela tabela-verdade

A RNA possui um único neurônio de duas entradas e uma saída

Page 53: Redes Neurais Artificiais

53/164

Exemplo: AprendizagemImplementação da porta lógica AND

Para treinar a rede vamos seguir alguns passos:

para as entradas [1, 1] pesos iniciais [0, 0]

1

1 Σ T0

0.0

0.0

y = 1, se s > θy = 0, se s ≤ θ

limiar

θ= 0,5

∑i−1

n

x i w i≥θ

Função Soma

Page 54: Redes Neurais Artificiais

54/164

Exemplo: AprendizagemImplementação da porta lógica AND

Para treinar a rede vamos seguir alguns passos: Passo 1: Aplicar a função Soma

Soma = 1*0 + 1*0 = 0 Passo 2: Aplicar a função de

Transferência Soma ≤ 0,5 → y = 0 Soma > 0,5 → y = 1 Transferido 0 para a saída.

Erro!!!!!

θ= 0,5

∑i−1

n

x i w i≥θ

1

1 Σ T0

0.0

0.0

y = 1, se s > θy = 0, se s ≤ θ

limiar

Função Soma

∑i−1

n

x i w i≥θ

Page 55: Redes Neurais Artificiais

55/164

Exemplo: AprendizagemImplementação da porta lógica AND

Passo 3: Ajuste do peso

Equação do ajuste:wnovo = w + F

Fator de correção:F = c*x*E

onde c = 0,5 (constante)x é a entradaE é o erro

Equação do erro:E = Sd - So

onde Sd é a saída desejadaSo é a saída obtida

Page 56: Redes Neurais Artificiais

56/164

Exemplo: AprendizagemImplementação da porta lógica AND

Passo 3: Ajuste do peso

Equação do ajuste:wnovo = w + F

Fator de correção:F = c*x*E

onde c = 0,5 (constante)x é a entradaE é o erro

Equação do erro:E = Sd - So

onde Sd é a saída desejadaSo é a saída obtida

F1 = c*E*x1

F1 = 0,5*1*1

F1 = 0,5

Calcular o novo peso:

w1novo = w1 + F1

w1novo = 0 + 0,5

w1novo = 0,5

F2 = c*E*x2

F2 = 0,5*1*1

F2 = 0,5

w2novo = w1 + F2

w2novo = 0 + 0,5

w2novo = 0,5

Calcular o fator de correção:

Calcular o erro: E = 1 - 0 = 1

Page 57: Redes Neurais Artificiais

57/164

Exemplo: AprendizagemImplementação da porta lógica AND

Para treinar a rede vamos seguir alguns passos:para as entradas [1, 1] ... pesos iniciais [0,5, 0,5]Passo 1: Aplicar a função Soma Soma = 1*0,5 + 1*0,5 = 1Passo 2: Aplicar a função de Transferência

Soma ≤ 0,5 → y = 0

Soma > 0,5 → y = 1

Transferido 1 para a saída. Correto!!!!!

1

1 Σ T1

0.5

0.5

Page 58: Redes Neurais Artificiais

58/164

EXERCÍCIO: AprendizagemImplementação da porta lógica AND

EXERCÍCIO

Continuar treinando a redepara as entradas [0, 0] e pesos [0,5, 0,5]

Testar a redePara as entradas [0, 1] e [1, 0]

Page 59: Redes Neurais Artificiais

59/164

EXERCÍCIO: AprendizagemImplementação da porta lógica AND

Para treinar a rede vamos seguir alguns passos:para as entradas [0, 0] e pesos [0,5, 0,5]Passo 1: Aplicar a função Soma Soma = 0*0,5 + 0*0,5 = 0Passo 2: Aplicar a função de Transferência

Soma ≤ 0,5 → y = 0

Soma > 0,5 → y = 1

Transferido 0 para a saída. Correto!!!!!

0

0 Σ T0

Page 60: Redes Neurais Artificiais

60/164

EXERCÍCIO: AprendizagemImplementação da porta lógica AND

Testar a rede: para as entradas [0, 1] e pesos [0,5, 0,5]Passo 1: Aplicar a função Soma Soma = 0*0,5 + 1*0,5 = 0,5

Passo 2: Aplicar a função de TransferênciaSoma ≤ 0,5 → y = 0

Soma > 0,5 → y = 1

Transferido 0 para a saída. Correto!!!!!

0

1 Σ T0

Page 61: Redes Neurais Artificiais

61/164

EXERCÍCIO: AprendizagemImplementação da porta lógica AND

Testar a rede: para as entradas [1, 0] e pesos [0,5, 0,5]Passo 1: Aplicar a função Soma Soma = 1*0,5 + 0*0,5 = 0,5

Passo 2: Aplicar a função de TransferênciaSoma ≤ 0,5 → y = 0

Soma > 0,5 → y = 1

Transferido 0 para a saída. Correto!!!!!

1

0 Σ T0

Page 62: Redes Neurais Artificiais

62/164

Arquiteturas de RNA

Arquiteturas neurais são tipicamente organizadas em camadas, com unidades que podem estar conectadas às unidades da camada posterior

Page 63: Redes Neurais Artificiais

63/164

Arquiteturas de RNA

Usualmente as camadas são classificadas em três grupos: Camada de Entrada: onde os padrões são

apresentados à rede Camadas Intermediárias ou Escondidas: onde é

feita a maior parte do processamento, através das conexões ponderadas• podem ser consideradas como extratoras de

características Camada de Saída: onde o resultado final é

concluído e apresentado

Page 64: Redes Neurais Artificiais

64/164

Arquiteturas de RNA

Número de camadasredes de camada única

• só existe um nó entre qualquer entrada e qualquer saída da rede

X1

X2

X3

X1

X2

Page 65: Redes Neurais Artificiais

65/164

Arquiteturas de RNA Número de camadas

redes de múltiplas camadas• existe mais de um neurônio entre alguma entrada e

alguma saída da rede

X1

X2

X3

X4

X5

X6

X7

X1

X2

X3

X4

X5

X6

X1

X2

X4

X5

Page 66: Redes Neurais Artificiais

66/164

Arquiteturas de RNA Tipos de conexões dos nós

feedforward ou acíclica• a saída do neurônio na i-ésima camada da rede não

pode ser usada como entrada de nodos em camadas de índice menor ou igual a i

X1

X2

X3

X1

X2

X3

X4

X5

X6

X7

X1

X2

X3

X4

X5

X6

Page 67: Redes Neurais Artificiais

67/164

Arquiteturas de RNA Tipos de conexões dos nós

feedback ou cíclica ou recorrente• a saída do neurônio na i-ésima camada da

rede é usada como entrada de nodos em camadas de índice menor ou igual a i

X1

X2

X1

X2

X4

X5

Page 68: Redes Neurais Artificiais

68/164

Arquiteturas de RNA feedback ou cíclica ou recorrente

o nível de ativação da rede forma um sistema dinâmico que pode alcançar um estado estável ou exibir oscilações ou comportamento caótico

além disso, a resposta da rede para uma dada entrada depende de seu estado inicial, que pode depender das entradas anteriores

por isso, elas podem suportar memória (em partes)• elas são mais parecidas com o cérebro humano

(diferente das acíclicas), mas são mais complicadas

Page 69: Redes Neurais Artificiais

69/164

Arquiteturas de RNA

Conectividadefracamente (ou parcialmente) conectada

X1

X2

X3

X4

X5

X6

X7

X1

X2

X3

X4

X5

X6

X1

X2

X4

X5

Page 70: Redes Neurais Artificiais

70/164

Arquiteturas de RNA

Conectividadecompletamente conectada

X1

X2

Page 71: Redes Neurais Artificiais

71/164

Arquiteturas de RNA

Uma rede neural é caracterizada, principalmente pela sua topologia

• feedforward, feedback

pelas características dos nós • booleano, fuzzy, híbrido

pelas regras de treinamento • Hebb, backpropagation, ...

Page 72: Redes Neurais Artificiais

72/164

Modelos de RNA

Perceptrons (acíclica)

Perceptrons de Múltiplas Camadas (acíclica)

Rede Hopfield (cíclica)

...

Page 73: Redes Neurais Artificiais

73/164

Aprendizagem em Redes Neurais Artificiais

No aprendizado cognitivo, não se procura obter regras como na abordagem simbólica da IAmas sim determinar a intensidade de

conexões entre neurônios

Em outras palavras, aprendizagem em RNA é o processo de modificar os valores de pesos e do limiar

Page 74: Redes Neurais Artificiais

74/164

Aprendizagem em Redes Neurais Artificiais

DefiniçãoDefinição“Aprendizagem é o processo pelo qual os parâmetros de uma RNA são ajustados através de uma forma continuada de estímulo pelo ambiente no qual a rede está operando, sendo o tipo específico de aprendizagem realizada definido pela maneira particular como ocorrem os ajustes realizados nos parâmetros”

Page 75: Redes Neurais Artificiais

75/164

Aprendizagem em Redes Neurais Artificiais

Regras de aprendizagem em RNARegras de aprendizagem em RNAestabelecer um conjunto de pesos para suas

conexões

ativar um conjunto de unidades que correspondam a um padrão de entrada

observar o padrão para o qual a rede converge e em que se estabiliza

Page 76: Redes Neurais Artificiais

76/164

Aprendizagem em Redes Neurais Artificiais

Regras de aprendizagem em RNARegras de aprendizagem em RNAse o padrão final não corresponder ao que se

deseja associar como resposta ao de entrada, é preciso fazer ajustes nos pesos e ativar novamente o padrão de entrada

por causa de sua semelhança com o aprendizado humano, esse processo de ajustes sucessivos das RNA é chamado de aprendizagem

Page 77: Redes Neurais Artificiais

77/164

Aprendizagem em Redes Neurais Artificiais

Regra de HebbRegra de HebbDesenvolvida por Donald Hebb em 1949Princípio:

• a força da conexão entre dois neurônios é aumentada se os neurônios estão simultaneamente excitados

• μ = taxa de aprendizado• yi e xj = ativações das unidades yi e xj

∆wij = µ.yi.xj

Page 78: Redes Neurais Artificiais

78/164

Aprendizagem em Redes Neurais Artificiais

Lei de aprendizagem de Hebb“Se um neurônio A é repetidamente estimulado por um outro neurônio B, ao mesmo tempo em que ele está ativo, ele ficará mais sensível ao estímulo de B, e a conexão sináptica de B para A será mais forte. Deste modo, B achará mais fácil estimular A para produzir uma saída.”

O conhecimento fica retido nos neurônios

Para reter conhecimento, toda RNA passa por um processo de aprendizagem

Page 79: Redes Neurais Artificiais

79/164

Aprendizagem em Redes Neurais Artificiais

Regra Delta Regra Delta (Widrow-Hoff) A regra Delta é uma variação da regra de Hebb

Foi desenvolvida por Bernard Widrow e Ted Hoff (1982), conhecida também como least mean square (LMS), por minimizar o erro médio quadrático

Page 80: Redes Neurais Artificiais

80/164

Gradiente Descendente e a Regra Delta

Uso do gradiente descendente para reduzir o erro

Uso do gradiente descendente para buscar o vetor de pesos que melhor se ajuste ao conjunto de treinamento

independentemente do conjunto de treinamento ser linearmente separável

Page 81: Redes Neurais Artificiais

81/164

Função de Custo

Especifique uma medida de erro (função de custo) para o treinamento

E(w) = 1/2 ∑d∈D (td - od)2 , em que

D é o conjunto de treinamentotd é a saída desejada para o exemplo dod é a saída para o exemplo d

Page 82: Redes Neurais Artificiais

82/164

Minimização do custo

A função E é uma medida objetiva do erro preditivo para uma escolha especifíca de vetor de pesos

Objetivo: encontrar um vetor w que minimize E

Solução: usar técnicas de gradiente descendente

Page 83: Redes Neurais Artificiais

83/164

Minimização do custo

1. Escolha valores iniciais arbitrários para os pesos2. Calcule o gradiente da função de custo com

respeito a cada peso3. Mude os pesos tal que haja um deslocamento

pequeno na direção de –G-G => Maior taxa de diminuição do erro

5. Repita passos 2 e 3 até que erro se aproxime de zero

Como este algoritmo funciona?

Page 84: Redes Neurais Artificiais

84/164

Algoritmo de Widrow e Hoff

Inicializar η e o vetor de pesos w Repetir Inicializar ∆wi com zero Para cada par do conjunto de treinamento (x, t)

calcule a saída opara cada peso wi

• calcule ∆ wi ← ∆ wi + η (t - o)xi Para cada peso wi

wi ← wi + ∆ wi Até que uma condição de término seja satisfeita

Page 85: Redes Neurais Artificiais

85/164

Perceptrons

Desenvolvido por Rosenblat (1958)

Utiliza modelo de McCulloch-Pitts

Todas as entradas conectadas diretamente nas saídasRede neural camada simplesPerceptron

Page 86: Redes Neurais Artificiais

86/164

Perceptrons

Estrutura mais simples de RNAs

Page 87: Redes Neurais Artificiais

87/164

Perceptrons

Rede mais simples que pode ser utilizada para classificação de padrões linearmente separáveis

Há muitas funções booleanas que o limiar (threshold) perceptron não pode representar

Page 88: Redes Neurais Artificiais

88/164

Portas de limiar (threshold)

Linearmente separáveis – I1 AND I2

(0,1)

(0,0)

(1,1)

(1,0)

Page 89: Redes Neurais Artificiais

89/164

Portas de limiar (threshold)

Linearmente separáveis – I1 OR I2

(0,1)

(0,0)

(1,1)

(1,0)

Page 90: Redes Neurais Artificiais

90/164

Portas de limiar (threshold)

Linearmente separáveis – I1 XOR I2

(0,1)

(0,0)

(1,1)

(1,0)

???

Page 91: Redes Neurais Artificiais

91/164

Perceptrons

““Há um algoritmo de aprendizado simples que Há um algoritmo de aprendizado simples que ajustará (encontrará) um limiar para qualquer ajustará (encontrará) um limiar para qualquer conjunto de treinamento linearmente separávelconjunto de treinamento linearmente separável””

A idéia deste algoritmo, e da maioria dos algoritmos de aprendizado de redes neurais, é ajustar os pesos da rede para minimizar a medida de erro em um conjunto de treinamento

Page 92: Redes Neurais Artificiais

92/164

Perceptrons

O aprendizado é formulado como uma busca otimizada em um espaço de busca

O algoritmo de aprendizagem do perceptron utiliza o algoritmo de correções de erros como base

Page 93: Redes Neurais Artificiais

93/164

Perceptrons

Treinamento Treinamento Supervisionado Correção de erro:

∀ µ = taxa de aprendizagem• xi = valor de entrada

• e = (dj – yi) = erro (valor calculado – valor desejado)

Teorema da convergência:“Se é possível classificar um conjunto de entradas, uma rede Perceptron fará a classificação”

ΔW ij =μ∗e∗x i

Page 94: Redes Neurais Artificiais

94/164

Perceptrons Treinamento: Treinamento: Algoritmo

Iniciar todas as conexões com wi = 0 (ou aleatórios)Repita

Para cada padrão de treinamento (X, d)faça

Calcular a saída ySe (d ≠ y)então atualizar pesos

até o erro ser aceitávelwi t+1 =wi +η∗e∗x i

Page 95: Redes Neurais Artificiais

95/164

Algoritmo de aprendizado do Perceptron

Teorema da convergência (Minsky e Papert, 1969)

O algoritmo converge dentro de um número finito de passos para um vetor de pesos que classifica corretamente todo o conjunto de treinamento

• dado que o conjunto de treinamento é linearmente separável

Page 96: Redes Neurais Artificiais

96/164

Perceptrons TreinamentoTreinamento

Algoritmo:

Page 97: Redes Neurais Artificiais

97/164

Perceptrons

Algoritmo de teste:

Para cada padrão de 1 a pfaça

Apresentar Xp à entrada da redeCalcular a saída ySe y ≥ θentão Xp ∈ Classe 1senão Xp ∈ Classe 2

Page 98: Redes Neurais Artificiais

98/164

Perceptrons

Apesar de causar grande euforia na comunidade científica, não teve vida longa sofreu duras críticas de Minsky e Papert sobre sua

capacidade computacional causando grande desinteresse na área na década de

70 e início dos anos 80

Esta visão pessimista sobre a capacidade do perceptron e das RNAs mudo devido às descrições de Hopfield em 1982 e do algoritmo back-propagation (retropropagação) a área ganhou novo impulso

Page 99: Redes Neurais Artificiais

99/164

Perceptrons Função linearmente separável com 11 entradas

booleanas

Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Linha 6 Linha 7 Linha 8 Linha 9 Linha 10

Linha 11

Linha 12

Linha 13

Linha 14

Linha 15

Linha 16

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0,65

0,7

0,75

0,8

0,85

0,9

0,95

1

Coluna B

Coluna C

Tamanho do conjunto de treinamento (0 - 100)

Prop

orçã

o co

rreta

no

conj.

de t

este

Page 100: Redes Neurais Artificiais

100/164

Perceptrons Exemplo do restaurante, não é linearmente

separável

Linha 1

Linha 2

Linha 3

Linha 4

Linha 5

Linha 6

Linha 7

Linha 8

Linha 9

Linha 10

Linha 11

Linha 12

Linha 13

Linha 14

Linha 15

Linha 16

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0,65

0,7

0,75

0,8

0,85

0,9

0,95

Coluna A

Coluna B

Tamanho do conjunto de treinamento (0 - 100)

Prop

orçã

o co

rret

a do

con

junt

o de

test

e

Page 101: Redes Neurais Artificiais

101/164

Aprendizagem em RNAs Algoritmo de retropropagação

Desenvolvido por Paul Werbos (1974) e redescoberto independentemente por Parker (1982) e Rumelhart (1986)

Aplicado para RNA cíclica (feedforward) com uma ou mais camadas intermediárias

Utiliza um método do gradiente descendente por correção de erro: o algoritmo de codificação executa um mapeamento entrada-saída através da minimização de uma função de custo qualquer

Page 102: Redes Neurais Artificiais

102/164

Aprendizagem em RNAs Algoritmo de retropropagação

A função de custo é minimizada realizando-se iterativamente ajustes nos pesos sinápticos de acordo com o erro quadrático acumulado para todos os padrões do conjunto de treinamento

Outras funções de custo podem ser utilizadas, mas independentemente disto, o procedimento de ajuste de pesos é realizado através do cálculo da mudança da função de custo com respeito à mudança em cada peso (método do delta)

Page 103: Redes Neurais Artificiais

103/164

Aprendizagem em RNAs Algoritmo de retropropagação

O processo de redução gradativa de erro que acompanha a minimização se denomina convergência

A medida que a rede aprende, o valor do erro converge para um valor estável, normalmente irredutível

O processo de aprendizagem prossegue até que algum critério seja estabelecido, como por exemplo, uma diferença sucessiva mínima entre erros calculados para cada iteração

Page 104: Redes Neurais Artificiais

104/164

Aprendizagem em RNAs Algoritmo de retropropagação

Regra Delta generalizadaRegra Delta generalizadaCálculo do erro na saída

• LMS

• RMS

E=12∑i

d i− y i 2

E= ∑i

d i− yi 2

Page 105: Redes Neurais Artificiais

105/164

Perceptrons com múltiplas camadas

Redes neurais acíclicas multicamadas redes com unidades intermediárias ou escondidas

Page 106: Redes Neurais Artificiais

106/164

Perceptrons com múltiplas camadas

Apresentam um poder computacional muito maior do que aquele apresentado pelas redes sem camadas intermediárias

Tratam com dados que não são linearmente separáveis

Teoricamente, redes com mais de uma camada intermediária podem implementar qualquer função, seja ela linearmente separável ou não

Page 107: Redes Neurais Artificiais

107/164

Perceptrons com múltiplas camadas

A vantagem de adicionar camadas escondidas é que elas aumentam o espaço de hipóteses que a rede pode representar

exemplificando• cada unidade escondida é vista como um perceptron

que representa uma função limiar no espaço de entradas

• então, uma unidade de saída é vista como uma combinação de várias funções

Page 108: Redes Neurais Artificiais

108/164

Perceptrons com múltiplas camadas

Problema: Problema: Perceptronredes com uma camada resolvem apenas

problemas linearmente separáveis

1, 1 → 00, 1 → 11, 0 → 10, 0 → 0

Page 109: Redes Neurais Artificiais

109/164

Perceptrons com múltiplas camadas

Solução: Utilizar mais de uma camadaCamada 1:

• uma rede Perceptron para cada grupo de entradas linearmente separáveis

Page 110: Redes Neurais Artificiais

110/164

Perceptrons com múltiplas camadas

Solução: Utilizar mais de uma camadaCamada 2:

• uma rede combinando as saídas das redes da 1ª camada, produzindo a classificação final

Page 111: Redes Neurais Artificiais

111/164

Perceptrons com múltiplas camadas

Problema nem sempre se conhece a saída desejada dos nós da

camada intermediária Suponha que queremos construir uma rede com

camada escondida para o problema do restaurante 10 atributos no exemplo, então 10 entradas na rede Quantas unidades escondidas?

• foi usada 4 o problema de escolher o número correto de unidades

escondidas ainda não é bem entendido

Page 112: Redes Neurais Artificiais

112/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagação • Número de neurônios da camada intermediária

NH = Número de neurônios da camada intermediáriaNS = Número de neurônios da camada de saídaNE = Número de neurônios da camada de entrada

• Outros:

NH=NS+ NENH= 110=4

NH=NS⋅NENH= 1⋅10=10

Page 113: Redes Neurais Artificiais

113/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagaçãoantes de se iniciar o processo de aprendizado

por retropropagação, é necessário que se tenha:• o conjunto de padrões de treinamento, entrada e

saída desejada

• um valor para a taxa de aprendizado

• um critério que finalize o algoritmo (por nº de ciclos - ou épocas - ou por erro)

Page 114: Redes Neurais Artificiais

114/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagaçãoantes de se iniciar o processo de aprendizado

por retropropagação, é necessário que se tenha:• uma metodologia para atualizar os pesos (∆w)

• a função de transferência não-linear

• valores de pesos iniciais

Page 115: Redes Neurais Artificiais

115/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagaçãobasicamente a rede aprende um conjunto pré-

definido de pares de exemplos de entrada/saída em ciclos de propagação/adaptação

depois que um padrão de entrada foi aplicado como um estímulo aos elementos da primeira camada da rede, ele é propagado por cada uma das outras camadas até que a saída seja gerada

Page 116: Redes Neurais Artificiais

116/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagação este padrão de saída é então comparado com a

saída desejada e um sinal de erro é calculado para cada elemento de saída

o sinal de erro é então retro-propagado da camada de saída para cada elemento da camada intermediária anterior que contribui diretamente para a formação da saída

entretanto, cada elemento da camada intermediária recebe apenas uma porção do sinal de erro total, proporcional apenas à contribuição relativa de cada elemento na formação da saída original

Page 117: Redes Neurais Artificiais

117/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagação este processo se repete, camada por camada,

até que cada elemento da rede receba um sinal de erro que descreva sua contribuição relativa para o erro total

baseado no sinal de erro recebido, os pesos das conexões são, então, atualizados para cada elemento de modo a fazer a rede convergir para um estado que permita a codificação de todos os padrões do conjunto de treinamento

Page 118: Redes Neurais Artificiais

118/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagação

N ← N+1Pare – Rede treinada

Pare – Número máximo de épocas

Utilização do Método do Gradiente Descendente

Inicialização do treinamento (N = 1)

Inicialização dos pesos aleatoriamente

Apresentação dos vetores de entrada e Cálculo das saídas

Cálculo do erro das saídas

E < Ed

N > NMax

Recálculo dos pesos da camada de saída

Recálculo dos pesos da camada intermediária

Atualização dos pesos

S

SN

N

Page 119: Redes Neurais Artificiais

119/164

Perceptrons com múltiplas camadas

Algoritmo de aprendizado: retropropagação Critérios de parada

• finalizar o treinamento após n ciclos• finalizar o treinamento após o erro quadrático médio

ficar abaixo de uma constante α• finalizar o treinamento quando a porcentagem de

classificações corretas estiver acima de uma constante α (mais indicado para saídas binárias)

• combinação dos métodos acima

Page 120: Redes Neurais Artificiais

120/164

Rede de Hopfield

Rede cíclica ou recorrentealimenta a sua saída nas suas próprias entradas

As unidades assumem um estado binárioativo ou inativoestas unidades estão conectadas entre si por

arestas simétricas com pesosarestas com pesos positivos indicam que as

duas unidades tendem a ativar uma a outraarestas com pesos negativos indica que uma

unidade ativa pode desativar outra unidade

Page 121: Redes Neurais Artificiais

121/164

Rede de Hopfield

Page 122: Redes Neurais Artificiais

122/164

Rede de Hopfield

Dado um padrão que procuramos, podemos encontrar um que se aproxime, sem precisar ser exatoO que é um elefante?

• um mamífero grande e cinza

O aprendizado é não supervisionado e baseado no conceito de energia da rede

Page 123: Redes Neurais Artificiais

123/164

Rede de HopfieldAlgoritmo

Uma unidade aleatória é escolhida

Se qualquer um dos vizinhos estiver ativo, a unidade computará a soma dos pesos das conexões com os neurônios vizinhos ativosse a soma for positiva, a unidade ficará ativase a soma for negativa, a unidade ficará inativa

Uma outra unidade aleatória é escolhida e o processo se repeteaté que toda rede atinja um estado estável

• relaxamento paralelo

Page 124: Redes Neurais Artificiais

124/164

Rede de Hopfield

unidade inativa

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

unidade ativa

Conexões simétrica eponderadas

Page 125: Redes Neurais Artificiais

125/164

Rede de Hopfield

unidade escolhida

aleatoriamente

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

+4 -1= +3 ?

Page 126: Redes Neurais Artificiais

126/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

escolhida +2 -3 = -1

?

Page 127: Redes Neurais Artificiais

127/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

?

escolhida

+3 -2 = +1

Page 128: Redes Neurais Artificiais

128/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

escolhida

+1 -2 = -1

?

Page 129: Redes Neurais Artificiais

129/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

escolhida +3 -0 = +3

?

Page 130: Redes Neurais Artificiais

130/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

escolhida

+6 -4 = +2

?

Page 131: Redes Neurais Artificiais

131/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

escolhida

+3 -1 = +2

?

Page 132: Redes Neurais Artificiais

132/164

Rede de Hopfield

-1

+1 -1

+2

-1

+1 +3

+1 -2

-1

+3

Page 133: Redes Neurais Artificiais

133/164

Rede de HopfieldCaracteristicas interessantes

Controle distribuído e assíncrono cada elemento de processamento toma

decisões baseadas apenas em sua própria situação local

Memória accessível pelo conteúdovários padrões podem ser armazenados

em uma mesma rede

Page 134: Redes Neurais Artificiais

134/164

Rede de HopfieldCaracteristicas interessantes

Tolerâncias a falhasse algum dos elementos de processamento

se comportarem mal ou falharem totalmente, a rede ainda funcionará bem

Fator de aproximaçãopor exemplo:

• “peixe, grande, cinza e come placton”???• Baleia

• Baleia não é peixe e sim mamífero

Page 135: Redes Neurais Artificiais

135/164

Desenvolvimento de aplicações

1. 2. Coleta de dados e separação em conjuntos esta tarefa requer uma análise cuidadosa sobre

o problema para minimizar ambigüidades e erros nos dados

os dados coletados devem ser significativos e cobrir amplamente o domínio do problema• não devem cobrir apenas as operações normais ou

rotineiras, mas também as exceções e as condições nos limites do domínio do problema

Page 136: Redes Neurais Artificiais

136/164

Desenvolvimento de aplicações

1. 2. Coleta de dados e separação em conjuntos os dados coletados são separados em duas

categorias: • dados de treinamento• dados de teste

Page 137: Redes Neurais Artificiais

137/164

Desenvolvimento de aplicações

3. Configuração da rede: pode ser dividido em três etapas: 3.1 Seleção do paradigma neural apropriado à aplicação

• acíclica ou recorrente (cíclica)

3.2 Determinação da topologia da rede a ser utilizada• número de camadas, número de unidades em cada camada, etc.

3.3 Determinação de parâmetros do algoritmo de treinamento e funções de ativação• este passo tem um grande impacto na performance do sistema

resultante

Page 138: Redes Neurais Artificiais

138/164

Desenvolvimento de aplicações

4. Treinamento seguindo o algoritmo de treinamento escolhido,

serão ajustados os pesos das conexõesé importante considerar, nesta fase, alguns

aspectos • a inicialização da rede• o modo de treinamento • o tempo de treinamento

o treinamento deve ser interrompido quando• a rede apresentar uma boa capacidade de

generalização• quando a taxa de erro for suficientemente pequena

Page 139: Redes Neurais Artificiais

139/164

Desenvolvimento de aplicações

5. Teste durante esta fase o conjunto de teste é utilizado

para determinar a performance da rede com dados que não foram previamente utilizados

a performance da rede, medida nesta fase, é uma boa indicação de sua performance real

6. Implantação

Page 140: Redes Neurais Artificiais

140/164

Aplicações

Sistemas de auxílio ao Diagnóstico: Médico, Falhas de Sistemas etc.

Previsão de Séries Temporais: Cotações da Bolsa de Valores, Dados Econômicos, Consumo de Energia Elétrica, Metereologia etc.

Processamento de Linguagem Natural - PLN (Textos e Web)

Page 141: Redes Neurais Artificiais

141/164

Aplicações

Data Mining & KDD (Knowledge Data Discovery)

Robótica Inteligente

Sistemas de Controle e Automação

Reconhecimento e Síntese de Voz

Processamento de Sinais e Imagens: Radar, Sensores, Imagens de satélite etc.

Page 142: Redes Neurais Artificiais

142/164

Aplicações

Prognósticos de mercados financeiros Reconhecimento ótico de caracteres (OCR) Controle de processos industriais Análise de jogadores e times (NBA) Reconhecimento da fala Piloto automático Reprodução da fala SE

Page 143: Redes Neurais Artificiais

143/164

Educação

Em software educacionais:identificar deficiênciasauxiliandoavaliar desempenhosprevendo problemasaprendendo

Page 144: Redes Neurais Artificiais

144/164

Considerações finais Vantagens das RNAs

Aplicações de Machine Learning e Sistemas Adaptativos

Aplicadas em tarefas onde temos bases de exemplos disponíveis sobre um determinado problema, realizando a aquisição automática de conhecimentos

Associação de padrões de entradas e saída Classificação de padrões de forma

supervisionada ou não

Page 145: Redes Neurais Artificiais

145/164

Considerações finais Vantagens das RNAs

Aproximação de funções desconhecidas através de amostras destas funções

Trabalhar com dados aproximados, incompletos e inexatos

Paralelismo, generalização, robustez “Tarefas complexas realizadas por seres

humanos”

Page 146: Redes Neurais Artificiais

146/164

Considerações finais Limitações das RNAs

Composição e construção de conhecimentos estruturados

Dificuldade de explicitação dos conhecimentos adquiridos

Dificuldade para definir a estrutura da rede, seus parâmetros e a base de dados

Falta de garantia de uma convergência do algoritmo para uma solução ótima

Page 147: Redes Neurais Artificiais

147/164

Considerações finais

Apesar da neurocomputação ter nascido praticamente junto com a computação programada (décadas de 40 à década de 50), era inviável que se desenvolvesse

E o seu futuro???comparável à invenção do avião

Page 148: Redes Neurais Artificiais

148/164

Perceptrons

EXERCÍCIO

TreinamentoTreinamento

• Ensinar uma rede Perceptron a classificar os seguintes padrões:

• Utilizar a rede treinada para classificar os padrões

-1 -1 -1 +1 +1 +1

+1 -1 -1+1 -1 +1-1 +1 -1

Page 149: Redes Neurais Artificiais

149/164

PerceptronsEXERCÍCIO

Codificar as entradas

Supor η = 0.2, θ = 0,

w0 = 0.4, w1 = -0.8, w0 = 0.3

= 1

= -1

= 111

= -1-1-1

w0

w1

w2

d∑j=1

N

x j w j

∑i−1

n

x i w i≥θ

S≥θ=1S<θ=−1

Equação do ajuste:wnovo = w + F

Fator de correção:F = η *x*E

onde η = taxa de aprendizagemx é a entradaE é o erro

Equação do erro:E = Sd - So

onde Sd é a saída desejadaSo é a saída obtida

EntradaSaída desejada

Page 150: Redes Neurais Artificiais

150/164

PerceptronsEXERCÍCIO

Treinar a rede• para o padrão ⇔ -1-1-1 (d = -1)

Passo 1: definir a saída da rede Supor η = 0.2, θ = 0, w0 = 0.4, w1 = -0.8, w0 = 0.3

• S =• y = +1 (uma vez que 0,1 ≥ 0)

• como (d ≠ y), atualizar pesos

∑i−1

n

x i w i≥θ

(-1)(0.4) + (-1)(-0,8) + (-1)(0.3) = 0.1

Page 151: Redes Neurais Artificiais

151/164

PerceptronsEXERCÍCIO

Treinar a rede• para o padrão ⇔ -1-1-1 (d = -1)

Passo 2: atualizar pesos Supor η = 0.2, θ = 0, w0 = 0.4, w1 = -0.8, w0 = 0.3

• w0 =

• w1 =

• w2 =

wi t+1 =wi +η∗e∗x i

0.4 + 0,2(-1)(-1 – (+1)) = 0.8-0.8 + 0,2(-1)(-1 – (+1)) = -0.4

0.3 + 0,2(-1)(-1 – (+1)) = 0.7

Page 152: Redes Neurais Artificiais

152/164

PerceptronsEXERCÍCIO

Treinar a rede• para o padrão ⇔ -1-1-1 (d = -1)

Passo 1: definir a saída da rede Supor η = 0.2, θ = 0, w0 = 0.8, w1 = -0.4, w0 = 0.7

• S =• y = +1 (uma vez que +1 ≥ 0)• como (d = y), não necessita atualizar pesos

∑i−1

n

x i w i≥θ

(-1)(0.8) + (-1)(-0,4) + (-1)(0.7) = -1

Page 153: Redes Neurais Artificiais

153/164

Perceptrons

EXERCÍCIO

treinar a rede• para o padrão ⇔ 111 (d = 1)

Passo 1: definir a saída da rede

S = (1)(0.8) + (1)(-0,4) + (1)(0.7) = 1.1y = +1 (uma vez que 1,1 ≥ 0)como (d = y), não precisa atualizar pesos

Agora fazer os testes

Page 154: Redes Neurais Artificiais

154/164

Validação: Validação: testar a redePara o padrão ⇔ -11-1

Para o padrão ⇔ 1-11

Para o padrão ⇔ 1-11

Perceptrons

EXERCÍCIO

Page 155: Redes Neurais Artificiais

155/164

Validação: Validação: testar a redePara o padrão ⇔ -11-1 s = (-1)(0.8) + (1)(-0,4) + (-1)(0.7) = -1.9 (classe 1)

Para o padrão ⇔ 1-11 s = (1)(0.8) + (-1)(-0,4) + (1)(0.7) = 1.9(classe 2)

Para o padrão ⇔ 1-11 s = (1)(0.8) + (-1)(-0,4) + (-1)(0.7) = 0,5 (classe 2)

Perceptrons

EXERCÍCIO

Page 156: Redes Neurais Artificiais

Perceptrons

EXERCÍCIO

TreinamentoTreinamento

Ensinar uma rede Perceptron a classificar os seguintes padrões:

Utilizar a rede treinada para classificar os padrões

-1 -1 -1 +1 +1 +1

+1 -1 -1+1 -1 +1-1 +1 -1

Page 157: Redes Neurais Artificiais

157/164

Perceptrons

EXERCÍCIOCodificar as entradas

Supor η = 0.2, θ = 0,

w0 = 0.4, w1 = -0.8, w2 = 0.3

= 1

= -1

= 111

= -1-1-1

w0

w1

w2

d∑j=1

N

x j w j

∑i−1

n

x i w i≥θ

S≥θ=1S<θ=−1

Equação do ajuste:wnovo = w + F

Fator de correção:F = η *x*E

onde η = taxa de aprendizagemx é a entradaE é o erro

Equação do erro:E = Sd - So

onde Sd é a saída desejadaSo é a saída obtida

EntradaSaída desejada

Page 158: Redes Neurais Artificiais

158/164

Perceptrons

EXERCÍCIO

Treinar a rede para o padrão ⇔ -1-1-1 (d = -1)

Passo 1: definir a saída da rede Supor η = 0.2, θ = 0, w0 = 0.4, w1 = -0.8, w2 = 0.3

S = y = +1 (uma vez que 0,1 ≥ 0) como (d ≠ y), atualizar pesos

∑i−1

n

x i w i≥θ

(-1)(0.4) + (-1)(-0,8) + (-1)(0.3) = 0.1

Page 159: Redes Neurais Artificiais

159/164

Perceptrons

EXERCÍCIO Treinar a rede

para o padrão ⇔ -1-1-1 (d = -1)

Passo 2: atualizar pesos Supor η = 0.2, θ = 0, w0 = 0.4, w1 = -0.8, w2 = 0.3

w0 = w1 = w2 =

wi t+1 =wi +η∗e∗x i

0.4 + 0,2(-1)(-1 – (+1)) = 0.8-0.8 + 0,2(-1)(-1 – (+1)) = -0.4

0.3 + 0,2(-1)(-1 – (+1)) = 0.7

Page 160: Redes Neurais Artificiais

160/164

Perceptrons

EXERCÍCIO

Treinar a rede para o padrão ⇔ -1-1-1 (d = -1)

Passo 1: definir a saída da rede Supor η = 0.2, θ = 0, w0 = 0.8, w1 = -0.4, w2 = 0.7

S = y = +1 (uma vez que +1 ≥ 0) como (d = y), não necessita atualizar pesos

∑i−1

n

x i w i≥θ

(-1)(0.8) + (-1)(-0,4) + (-1)(0.7) = -1

Page 161: Redes Neurais Artificiais

161/164

Perceptrons

EXERCÍCIO

treinar a rede para o padrão ⇔ 111 (d = 1)

Passo 1: definir a saída da rede

S = (1)(0.8) + (1)(-0,4) + (1)(0.7) = 1.1y = +1 (uma vez que 1,1 ≥ 0)como (d = y), não precisa atualizar pesos

Agora fazer os testes

Page 162: Redes Neurais Artificiais

162/164

Validação: Validação: testar a redePara o padrão ⇔ -11-1

Para o padrão ⇔ 1-11

Para o padrão ⇔ 1-11

Perceptrons

EXERCÍCIO

Page 163: Redes Neurais Artificiais

163/164

Validação: Validação: testar a rede Para o padrão ⇔ -11-1 (classe 1)

s = (-1)(0.8) + (1)(-0,4) + (-1)(0.7) = -1.9

Para o padrão ⇔ 1-11 (classe 2)

s = (1)(0.8) + (-1)(-0,4) + (1)(0.7) = 1.9

Para o padrão ⇔ 1-11 (classe 2)

s = (1)(0.8) + (-1)(-0,4) + (-1)(0.7) = 0,5

Perceptrons

EXERCÍCIO

Page 164: Redes Neurais Artificiais

164/164

Referências

Russel, S, & Norvig, P. (1995). Artificial Intelligence: a Modern Approach Prentice-Hall. Cap.20.

Pearl, J. (1988) Probabilistic Reasoning in Inteligent Systems