Você está na página 1de 54

Redes Neurais Artificiais

Paradigma conexionista

Anderson Priebe Ferrugem


Universidade Federal de Pelotas
Centro de Desenvolvimento Tecnolgico
Curso: Cincia da Computao

Roteiro
Objetivos
Inspirao biolgica;
Histria das RNA;
Aplicaes das RNAs;
Funcionamento.

Objetivos
Introduzir os principais conceitos de
RNAs:
Caractersticas bsicas;
Funcionamento
Arquiteturas

Exemplificar o uso de RNAs em


Reconhecimento de Padres e Controle.

Inspirao biolgica
Organizao
estrutural do sistema
nervoso central.

Inspirao biolgica
Neurnio biolgico
Unidade celular do
sistema nervoso
Possui variados tipos,
de acordo com seu uso;

Inspirao biolgica
Neurnio biolgico
Possui variados tipos,
de acordo com seu uso;

Inspirao biolgica
Neurnio biolgico
Podem estar em 2 estados:
Ativo ou excitado: envia sinais para outros neurnios por
meio do axnio e sinapses.
Inativo ou inibido: no envia sinais.

Sinapses podem ser de 2 tipos:


Excitatrias (excitam o neurnio receptor).
Inibitrias (inibem o neurnio receptor).

Inspirao biolgica
Neurnio biolgico
Quando o efeito
cumulativo das vrias
sinapses que chegam a
um neurnio excedem
um valor limite, o
neurnio dispara (fica
ativo por um perodo) e
envia um sinal para
outros neurnios.;

Redes Neurais Artificiais


um sistema de processamento de
informaes desenvolvido a partir de
modelos matemticos simplificados dos
neurnios biolgicos (Reali).

Redes Neurais Artificiais


Sistemas paralelos distribudos compostos por
unidades de processamento simples (nodos)
que computam determinadas funes
matemticas (normalmente no lineares).
A unidades so dispostas em uma ou mais
camadas e interligadas por um grande nmero
de conexes, geralmente unidirecionais.
Na maioria dos modelos estas conexes esto
associadas a pesos, os quais armazenam o
conhecimento representado no modelo e
servem para ponderar a entrada recebida por
cada neurnio da rede.

Histria das Redes Neurais Artificiais


Nascimento e morte 40-60

1943
Neurnio booleano - Warren McCulloch &
Walter Pitts;

1949
Aprendizagem atravs da variao 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.

Histria 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 mtodo do gradiente - Widrow
e Hoff;

1969
Minsky e Papert chamam a ateno para tarefas que o
perceptron no consegue executar.
S resolve problemas linearmente separveis;
Banimento das RNAs para o submundo

Histria das Redes Neurais Artificiais


Era da trevas - submundo 70
1972
Redes auto-organizveis - Kohonen;

1974
Werbos lana bases para o algoritmo
backpropagation.

1976
Teoria de Ressonncia Adaptativa - Grossberg
& Carpenter.

Histria das Redes Neurais Artificiais


80
Renascena
1982
Propriedades associativas das redes neurais artificiais John Hopfield, retomada das pesquisas na rea;

1986
Algoritmo backpropagation (Rumelhart, Hinton e
Williams);

1987
Redes de Hopfield ( Hopfield & Tank );

1988
Redes Neocognitron ( Fukushima );
RBF (Broomhead e Lowe).

Histria das Redes Neurais Artificiais


Idade moderna aplicao real 90..
Aplicaes no mundo real
Teoria computacional da aprendizagem:
support vector machines (Vapnik)
aprendizado PAC (Anthony e Biggs).

Aplicaes
Reconhecimento de padres
Agrupamento/categorizao
Aproximao de funes

Aplicaes
Predio/prognstico
Otimizao

Aplicaes
Recuperao por contedo
Controle

RNA
Aprendizado:
RNA pode modificar seu comportamento em respostas
a seu domnio, de forma a produzir sadas consistentes.

Generalizao:
Uma vez treinada, a resposta de uma RNA pode ser,
num certo grau, insensvel a pequenas variaes
(rudos, distores) nas suas entradas.

Abstrao:
Algumas RNAs podem extrair um ideal a partir de
exemplos imperfeitos na sua entrada.

RNA
O projeto de uma RNA envolve a determinao
dos seguintes parmetros:
Neurnios e funo de ativao.
Conexes e disposio dos neurnios: topologia
(arquitetura da rede).
Pesos sinpticos: valores ou (no caso de pesos
aprendidos) o algoritmo de treinamento a ser utilizado
e seus parmetros particulares.
Recall: procedimento a ser utilizado como a rede
calcula a sada para uma dada entrada?ideal a partir
de exemplos imperfeitos na sua entrada.

O neurnio artificial

O neurnio artificial
Funo de Ativao
g:
Funo aplicada sobre
o nvel de ativao (in)
para produzir o sinal de
sada.

Nvel de Ativao
(in):
Soma ponderada do
vetor de entradas.

O neurnio artificial
Funes de ativao

Aprendizado
Aprendizado:
Consiste em escolher valores para os pesos
de entradas (w0, ..., wn).

Aprendizado
Algoritmo de Treinamento: Hebb
Hebb(1961) props um modelo para o aprendizado no
qual o peso incrementado se os neurnios de entrada
(ai-ini) e sada (aj -outj ) forem ativados - caminhos
freqentemente usados na rede so reforados!
Os pesos so aumentados de acordo com o produto
dos nveis de excitao dos neurnios fonte e destino.
: taxa de aprendizagem, com ]0,1]

Wij(t+1)= Wij(t)+ . ini outj

McCulloch-Pitts
Modelo do neurnio de McCulloch Pitts

McCulloch-Pitts
Entradas binrias (0 ou 1).
Os pesos Wi, positivo se a conexo
(sinapse) excitatria e negativa se a sinapse
inibitria.
Equao de disparo:
Equao de ativao:

McCulloch-Pitts
Portas lgicas.

Exemplo - Memria Associativa


Memria associativa:
Associar o conceito A
ao conceito B (dado A,
lembra-se de B).
Pares de associao

Conceitos

Entrada

Sada

Borges

Literatura

Bach

Musica

Picasso

Pintura

Exemplo - Memria Associativa


Conceitos

Codificao
Entradas:
Borges =
Bach
=
Picasso =

[A1 A2 A3
[1,-1, 1,
[1, 1, 1,
[1, 1,-1,

Sadas:
literatura=
msica =
pintura =

A4 A5]
-1, 1]
-1,-1]
-1, 1]

[F1 F2 F3 F4]
[1,-1, 1,-1]
[1, 1,-1,-1]
[1,-1,-1, 1]

Entrada

Sada

Borges
[1,-1, 1, -1, 1]

Literatura
[1,-1, 1,-1]

Bach
[1, 1, 1, -1,-1]

Msica
[1, 1,-1,-1]

Picasso
[1, 1,-1, -1, 1]

Pintura
[1,-1,-1, 1]

Exemplo - Memria Associativa


Projeto
Neurnio McCulloch-Pitts:
ativado = 1, inibido = -1
Funo de ativao (degrau):
Se net > 0: sada = 1,
Se net < 0: sada = -1, se
net = 0: sada inalterada
Arquitetura:
5 neurnios de entrada
4 de sada (codificao da
informao)

Algoritmo de treinamento:
Hebb

Exemplo - Memria Associativa


Aprendizado
Regra de Aprendizado de
Hebb, com IN, OUT{-1,1},
=1:
1. Matriz W de pesos wij inicialmente
zerada.
2. Se Fj e Ai estiverem excitados,
soma 1 em wij.
3. Se Fj e Ai estiverem inibidos,
soma 1 em wij.
4. Se Fj estiver inibido e Ai
excitado, subtrai 1 de wij.
5. Se Fj estiver excitado e Ai
inibido, subtrai 1 de wij.

Pares de treinamento so
apresentados um a um, uma nica
vez.

Exemplo - Memria Associativa


Aprendizado
Matriz W inicial

Passo 1
Apresentar os pares

Borges = [1, -1, 1,


literatura = [1, -1,
A1=1,F1= 1 w11= 0+1
A1=1,F2=-1 w12= 0-1
A1=1,F3= 1 w13= 0+1
A1=1,F4=-1 w14= 0-1
Etc ...

-1, 1]
1, -1]
= 1
= -1
= 1
= -1

Exemplo - Memria Associativa


Aprendizado
Matriz W inicial

Matriz W aps Passo 1


1 -1 1 -1
-1 1 -1 1 |
1 -1 1 -1 |
-1 1 -1 1 |
1 -1 1 -1

Exemplo - Memria Associativa


Aprendizado
Matriz W aps 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,
Msica= [1,
A1=1,F1= 1
A1=1,F2= 1
A1=1,F3=-1
A1=1,F4=-1
Etc ...

1, 1, -1,-1]
1,-1, -1]
w11= 1+1 = 2
w12=-1+1 = 0
w13= 1-1 = 0
w14=-1-1 = -2

Exemplo - Memria Associativa


Aprendizado
Matriz W aps 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,
Pintura= [1,
A1=1,F1= 1
A1=1,F2=-1
A1=1,F3=-1
A1=1,F4= 1
Etc ...

1,-1, -1, 1]
-1,-1, 1]
w11= 2+1 = 3
w12= 0-1 = -1
w13= 0-1 = -1
w14=-2+1 = -1

Exemplo - Memria Associativa


Aprendizado
Matriz W aps treinamento

Exemplo - Memria Associativa


Memria Associativa
Algoritmo de Treinamento:
Hebb

O que acontece se treinar


com pares ruidosos?
O que acontece se alterar a
ordem de apresentao dos
pares?
O que acontece se treinar
mais de uma vez com um
par?

Exemplo - Memria Associativa


Recall
Operao

Exemplo - Memria Associativa


Recall

Exerccio - 01
Projete um neurnio tipo
McCulloch-Pitts que calcula a
funo lgica implicao
y = x1 x2, descrita na
Tabela 1.

Exerccio - 02
Considere as seguintes
associaes desejadas (tabela
ao lado) para uma RN do tipo
memria associativa.
Determine a matriz de pesos
W para esta memria, aps
apresentao de cada um dos
3 pares (entrada, sada) 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 (Rosenblatt, 1959)
Similar ao neurnio de McCullochPitts.
Valores de entrada e nveis de
ativao: -1ou +1
Pesos com valores reais
Funo de ativao (t = limiar)
+1 se Swkxk t;
-1 se Swkxk < t caso contrrio.

Uma camada de entrada e uma


camada de sada.
Aprendizado Supervisionado

Perceptron
Perceptron (Rosenblatt, 1959)
Minimiza o erro mdio sobre o conjunto de
treinamento.
Se existe um conjunto de pesos que fornea a
sada 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 um limiar T.
y = 1 se e somente se
y= -1 se somente se

w x
w x
k

Regra Delta
c = taxa de aprendizagem, d = valor de sada
desejado. Sinal = valor de sada obtido.

wi c(d sinal ( wi xi ) xi

Perceptron (Exemplo).
Conjunto de dados
para classificao:
X1

X2

Sada

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

Sada

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 iniciais aleatrios: [0,75 0,5 -0,6]

No ajustar os pesos (correto)

X1

X2

Sada

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

Sada

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

Sada

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 funo de
limiar por outros tipos
de funo de ativao

Multi Layer Perceptron. (MLP)


Conjuntos de
Perceptrons arranjados
em diversas camadas.
Pelo menos uma camada
escondida.
Uma camada
intermediria suficiente
para aproximar qualquer
funo contnua.
Duas camadas
intermedirias so
suficientes para
aproximar qualquer
funo matemtica.