Redes Neurais Artificiais Paradigma conexionista
Anderson Priebe Ferrugem Ferrugem Universidade Federal de Pelotas Centro de Desenvolvimento Tecnológico Curso: Ciência da Computação
Roteiro Objetivos Inspiração
biológica; História das RNA; Aplicações das RNA’s; Funcionamento.
Roteiro Objetivos Inspiração
biológica; História das RNA; Aplicações das RNA’s; Funcionamento.
Objetivos Introduzir
os principais conceitos de
RNA’s: Características
básicas;
Funcionamento Arquiteturas
Exemplificar o uso de RNAs em Reconhecimento Reconhecimento de Padrões e Controle.
Inspiração biológica Organização
estrutural do sistema nervoso central. central.
Inspiração biológica Neurônio Unidade
biológico
celular do sistema nervoso Possui variados tipos, de acordo com seu uso;
Inspiração biológica Neurônio Possui
biológico
variados tipos, de acordo com seu uso;
Inspiração biológica Neurônio Podem
biológico
estar em 2 estados:
Ativo
ou excitado: envia sinais para outros neurônios por meio do axônio e sinapses. Inativo ou inibido: não envia sinais.
Sinapses podem ser de 2 tipos: Excitatórias
(excitam o neurônio receptor). Inibitórias (inibem o neurônio receptor).
Inspiração biológica Neurônio Quando
biológico
o efeito cumulativo das várias sinapses que chegam a um neurônio excedem um valor limite, o neurônio dispara (fica ativo por um período) e envia um sinal para outros neurônios.;
Redes Neurais Artificiais É
um sistema de processamento de informações desenvolvido a partir de modelos matemáticos simplificados dos neurônios biológicos (Reali).
Redes Neurais Artificiais Sistemas
paralelos distribuídos compostos por unidades de processamento simples (nodos) que computam determinadas funções matemáticas (normalmente não lineares). A unidades são dispostas em uma ou mais camadas e interligadas por um grande número de conexões, geralmente unidirecionais. Na maioria dos modelos estas conexões estão associadas a pesos, os quais armazenam o conhecimento representado no modelo e servem para ponderar a entrada recebida por cada neurônio da rede.
História das Redes Neurais Artificiais Nascimento e morte 40-60 1943
Neurônio booleano - Warren McCulloch & Walter Pitts;
1949 Aprendizagem
através da variação dos pesos de entrada (Regra de Hebb) - Donald Hebb;
1951 Primeiro
neurocomputador com capacidade de aprendizado (ajustava automaticamente os pesos entre as sinapses) – Marvin Minsky.
História das Redes Neurais Artificiais Nascimento e morte 40-60 1958 Criado
o “perceptron”, uma rede neural usada no reconhecimento de caracteres – Frank Rosenblatt.
1960 regra
delta baseada no método do gradiente - Widrow e Hoff;
1969 Minsky
e Papert chamam a atenção para tarefas que o perceptron não consegue executar. Só resolve problemas linearmente separáveis; Banimento das RNAs para o submundo
História das Redes Neurais Artificiais Era da trevas - submundo 70 1972 Redes
auto-organizáveis - Kohonen;
1974 Werbos
lança bases para o algoritmo backpropagation.
1976 Teoria
de Ressonância Adaptativa - Grossberg & Carpenter .
História das Redes Neurais Artificiais 80 Renascença 1982 Propriedades
associativas das redes neurais artificiais John Hopfield, retomada das pesquisas na área;
1986 Algoritmo
Williams);
backpropagation (Rumelhart, Hinton e
1987 Redes
de Hopfield ( Hopfield & Tank );
1988 Redes
Neocognitron ( Fukushima ); RBF (Broomhead e Lowe).
História das Redes Neurais Artificiais Idade moderna – aplicação real 90.. Aplicações
no mundo real Teoria computacional da aprendizagem: support
vector machines (Vapnik)
aprendizado
PAC (Anthony e Biggs).
Aplicações
Reconhecimento de padrões Agrupamento/categorização Aproximação de funções
Aplicações
Predição/prognóstico Otimização
Aplicações
Recuperação por conteúdo Controle
RNA Aprendizado : RNA
pode modificar seu comportamento em respostas a seu domínio, de forma a produzir saídas consistentes.
Generalização : Uma vez treinada, a resposta de uma RNA pode ser, num certo grau, insensível a pequenas variações (ruídos, distorções) nas suas entradas. Abstração : Algumas RNAs podem extrair “um ideal” a partir de exemplos imperfeitos na sua entrada.
RNA O
projeto de uma RNA envolve a determinação dos seguintes parâmetros: Neurônios e função de ativação. Conexões e disposição dos neurônios: topologia (arquitetura da rede). Pesos sinápticos: valores ou (no caso de pesos aprendidos) o algoritmo de treinamento a ser utilizado e seus parâmetros particulares. Recall : procedimento a ser utilizado – como a rede calcula a saída para uma dada entrada?ideal” a partir de exemplos imperfeitos na sua entrada.
O neurônio artificial
O neurônio artificial Função
de Ativação
g: Função
aplicada sobre o nível de ativação (in) para produzir o sinal de saída.
Nível
de Ativação
(in ): Soma
ponderada do vetor de entradas.
O neurônio artificial Funções de ativação
Aprendizado Aprendizado:
Consiste em escolher valores para os pesos de entradas (w0, ..., wn).
Aprendizado Algoritmo
de Treinamento: Hebb
Hebb(1961)
propôs um modelo para o aprendizado no qual o peso é incrementado se os neurônios de entrada (ai-ini) e saída (a j -out j ) forem ativados - caminhos freqüentemente usados na rede são reforçados! Os pesos são aumentados de acordo com o produto dos níveis de excitação dos neurônios fonte e destino. α: taxa de aprendizagem, com α ]0,1]
W ij(t+1)= Wij(t)+ α. ini out j
McCulloch-Pitts Modelo
do neurônio de McCulloch Pitts
McCulloch-Pitts Entradas
binárias (0 ou 1). Os pesos Wi, é positivo se a conexão (sinapse) é excitatória e negativa se a sinapse é inibitória. Equação de disparo:
Equação de ativação:
McCulloch-Pitts Portas
lógicas.
Exemplo - Memória Associativa Memória
associativa:
Associar
o conceito A ao conceito B (dado A, “lembra-se” de B). Pares de associação
Conceitos
Entrada
Saída
Borges
Literatura
Bach
Musica
Picasso
Pintura
Exemplo - Memória Associativa Codificação Entradas: [A1 A2 A3 A4 A5] Borges =
[1,-1, 1, -1, 1]
Bach
[1, 1, 1, -1,-1]
=
Picasso = [1, 1,-1, -1, 1] Saídas:
[F1 F2 F3 F4]
literatura= [1,-1, 1,-1] música = pintura =
Conceitos
Entrada
Saída
Borges [1,-1, 1, -1, 1]
Literatura [1,-1, 1,-1]
Bach [1, 1, 1, -1,-1]
Música [1, 1,-1,-1]
Picasso [1, 1,-1, -1, 1]
Pintura [1,-1,-1, 1]
[1, 1,-1,-1] [1,-1,-1, 1]
Exemplo - Memória Associativa Projeto
Neurônio McCulloch-Pitts: ativado = 1, inibido = -1 Função de ativação (degrau): Se net > 0: saída = 1, Se net < 0: saída = -1, se net = 0: saída inalterada Arquitetura: 5 neurônios de entrada 4 de saída (codificação da informação)
Algoritmo de treinamento:
Hebb
Exemplo - Memória Associativa Aprendizado
Regra de Aprendizado de Hebb, com IN, OUT{-1,1}, α=1: 1. Matriz W de pesos wij inicialmente zerada. 2. Se F j e Ai estiverem excitados, soma 1 em wij. 3. Se F j e Ai estiverem inibidos, soma 1 em wij. 4. Se F j estiver inibido e Ai excitado, subtrai 1 de wij. 5. Se F j estiver excitado e Ai inibido, subtrai 1 de wij.
Pares de treinamento são apresentados um a um, uma única vez.
Exemplo - Memória Associativa Aprendizado
Matriz W inicial
Passo 1 Apresentar os pares Borges = [1, -1, 1, literatura = [1, -1, A1=1,F1= 1 w 11= 0+1 A1=1,F2=-1 w 12= 0-1 A1=1,F3= 1 w 13= 0+1 A1=1,F4=-1 w 14= 0-1 Etc ...
-1, 1] 1, -1] = 1 = -1 = 1 = -1
Exemplo - Memória Associativa Aprendizado
Matriz W inicial
Matriz W após Passo 1
È 1 -1 1 -1 ˘ Í-1 1 -1 1 | Í 1 -1 1 -1 | Í-1 1 -1 1 | Î 1 -1 1 -1 ˚
Exemplo - Memória Associativa Aprendizado
Matriz W após Passo 1
È 1 -1 1 -1 ˘ Í-1 1 -1 1 | Í 1 -1 1 -1 | Í-1 1 -1 1 | Î 1 -1 1 -1 ˚ Passo 2 Apresentar os pares Bach = [1, 1, 1, -1,-1] Música= [1, 1,-1, -1] A1=1,F1= 1 w 2 11= 1+1 = A1=1,F2= 1 w 0 12=-1+1 = A1=1,F3=-1 w 0 13= 1-1 = A1=1,F4=-1 w 14=-1-1 = -2 Etc ...
Exemplo - Memória Associativa Aprendizado
Matriz W após Passo 2
È 2 0 0 -2 ˘ Í 0 2 -2 0 | Í 2 0 0 -2 | Í-2 0 0 2 | Î 0 -2 2 0 ˚ Passo 3 Apresentar os pares Picasso =[1, 1,-1, -1, 1] Pintura= [1, -1,-1, 1] A1=1,F1= 1 w 3 11= 2+1 = A1=1,F2=-1 w 12= 0-1 = -1 A1=1,F3=-1 w 13= 0-1 = -1 A1=1,F4= 1 w 14=-2+1 = -1 Etc ...
Exemplo - Memória Associativa Aprendizado
Matriz W após treinamento
Exemplo - Memória Associativa
Memória Associativa
Algoritmo
de Treinamento:
Hebb
O que acontece se treinar com pares “ruidosos”? O que acontece se alterar a ordem de apresentação dos pares? O que acontece se treinar mais de uma vez com um par?
Exemplo - Memória Associativa Recall Operação
Exemplo - Memória Associativa Recall
Exercício - 01
Projete um neurônio tipo McCulloch-Pitts que calcula a função lógica implicação y = x1 Æ x2, descrita na Tabela 1.
Exercício - 02
Considere as seguintes associações desejadas (tabela ao lado) para uma RN do tipo memória associativa. Determine a matriz de pesos W para esta memória, após apresentação de cada um dos 3 pares (entrada, saída) da tabela acima. Considere que inicialmente a matriz de pesos está zerada, e que é utilizado o aprendizado de Hebb com taxa de aprendizagem a = 1,0.
Perceptron
Perceptron Perceptron Similar
(Rosenblatt, 1959)
ao neurônio de McCulloch-
Pitts. Valores de entrada e níveis de ativação: -1ou +1 Pesos com valores reais Função de ativação (t = limiar )
se Sw kx k ≥ t; -1 se Sw kx k < t caso contrário .
+1
Uma
camada de entrada e uma camada de saída. Aprendizado Supervisionado
Perceptron Perceptron Minimiza
(Rosenblatt, 1959)
o erro médio sobre o conjunto de treinamento. Se existe um conjunto de pesos que forneça a saída correta para todos os membros do conjunto de treinamento, o procedimento de aprendizagem do perceptron irá aprendê-lo (Minsky e Papert, 1969).
Perceptron (aprendizado supervisionado)
Perceptron (Exemplo). Considerando y
um limiar T.
= 1 se e somente se
w x k
y=
-1 se somente se
Regra
k
w x k
k
T T
Delta
c
= taxa de aprendizagem, d = valor de saída desejado. Sinal = valor de saída obtido.
wi c( d sinal ( wi xi ) xi
Perceptron (Exemplo). Conjunto
de dados para classificação: X1
X2
Saída
1,0
1,0
+1
9,4
6,4
-1
2,5
2,1
+1
8,0
7,7
-1
0,5
2,2
+1
7,9
8,4
-1
7,0
7,0
-1
2,8
0,8
+1
1,2
3,0
+1
7,8
6,1
-1
Perceptron (Exemplo).
X1
X2
bias
W1
W2
W3
f (net)
X1
X2
Saída
1,0
1,0
+1
9,4
6,4
-1
2,5
2,1
+1
8,0
7,7
-1
0,5
2,2
+1
7,9
8,4
-1
7,0
7,0
-1
2,8
0,8
+1
1,2
3,0
+1
7,8
6,1
-1
Perceptron (Exemplo). wi c( d sinal ( wi xi ) xi Considerando
um bias com valor constante de 1.
Pesos
Não
iniciais aleatórios: [0,75 0,5 -0,6]
ajustar os pesos (correto)
X1
X2
Saída
1,0
1,0
+1
9,4
6,4
-1
2,5
2,1
+1
8,0
7,7
-1
0,5
2,2
+1
7,9
8,4
-1
7,0
7,0
-1
2,8
0,8
+1
1,2
3,0
+1
7,8
6,1
-1
Perceptron (Exemplo). wi c( d sinal ( wi xi ) xi Pesos
: [0,75 0,5 -0,6] Segunda linha de dados: Ajustar
os pesos (valor incorreto)
X1
X2
Saída
1,0
1,0
+1
9,4
6,4
-1
2,5
2,1
+1
8,0
7,7
-1
0,5
2,2
+1
7,9
8,4
-1
7,0
7,0
-1
2,8
0,8
+1
1,2
3,0
+1
7,8
6,1
-1
Perceptron (Exemplo). wi c( d sinal ( wi xi ) xi Pesos
: [-3,01 -2,06 -1,00] Terceira linha de dados: Ajustar
os pesos (valor incorreto)
X1
X2
Saída
1,0
1,0
+1
9,4
6,4
-1
2,5
2,1
+1
8,0
7,7
-1
0,5
2,2
+1
7,9
8,4
-1
7,0
7,0
-1
2,8
0,8
+1
1,2
3,0
+1
7,8
6,1
-1
Regra Delta generalizada Substituir
a função de limiar por outros tipos de função de ativação