Sunteți pe pagina 1din 61

Sistemas de Informao Inteligentes

joaogabrielm@gmail.com

Redes Neurais Artificiais


!
!

Pertencem
Seu

ao paradigma conexionista

modelo inspirado no crebro humano:

Possuem

vrias unidades de processamento,


chamadas de neurnios

diversas conexes entre os neurnios,


chamadas de sinapses

Redes Neurais Artificiais


!
!

Redes

de uma camada resolvem apenas problemas


linearmente separveis

Soluo: utilizar mais de uma camada

Camada 1: uma rede Perceptron para cada grupo


de entradas linearmente separveis

Camada 2: uma rede combina as sadas das


redes da primeira camada, produzindo a
classificao final

Redes Neurais Artificiais

Redes Neurais Artificiais


!
!

Redes multi-camada podem representar funes


arbitrrias, mas o aprendizado dessas redes era
considerado um problema de difcil soluo
Uma

rede multi-camada tpica consiste das


camadas de entrada, interna e sada, cada uma
totalmente conectada prxima, com a ativao
indo pra frente

Exemplo de Rede Neural


Artificial

Redes Neurais Artificiais


!
!

Os pesos determinam a funo calculada. Dado um


nmero arbitrrio de unidades internas, qualquer
funo booleana pode ser calculada com uma nica
camada interna.

Redes Neurais Artificiais


!
!

Funo de ativao para redes multicamadas

No deve ser linear

Deve informar os erros para as camadas


inferiores da rede

Redes Neurais Artificiais


!
!

Treinamento das redes


MLP

!
!

Grande variedade de Algoritmos

Geralmente supervisionados

Estticos

No alteram estrutura da rede

Backpropagation, Funo de Base Radial

Treinamento das redes


MLP

!
!

Construtivos

Alteram estrutura da rede

Upstar, Cascade Correlation

Treinamento das redes


MLP

!
!

Treinamento esttico

MLPs com formatos e tamanhos diferentes


podem utilizar mesma regra de aprendizado

Topologias diferentes podem resolver o mesmo


problema

Regra mais utilizada: backpropagation

Backpropagation
!
!

Rede treinada com pares entrada-sada

Cada entrada de treinamento est associada a uma


sada desejada

Treinamento em duas fases, cada uma percorrendo


a rede em um sentido

Fase forward

Fase backward

Backpropagation

Rede MLP
camada de
entrada

conexes

camadas
intermedirias

camada
de
sada

Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada
S
a

d
a

Erro

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

RNA - Aprendizado
camada de
entrada
P
a
d
r

camadas
intermedirias

camada
de
sada

S
a

d
a
!

D
e
s
e
j
a
d
a

Fase Foward
!
!

Entrada apresentada primeira camada da rede

Aps os neurnios da camada i calcularem seus


sinais de sada, os neurnios da camada i + 1
calculam seus sinais de sada

Sadas produzidas pelos neurnios da ltima


camada so comparadas s sadas desejadas

Erro para cada neurnio da camada de sada


calculado

Fase Backward
!

A partir da ltima camada

O n ajusta seu peso de modo a reduzir o seu


erro

Ns das camadas anteriores tem seu erro


definidos por:

Erros dos ns da camada seguinte conectados


a ele ponderados pelos pesos das conexes
entre eles

Backpropagation
!

Treina redes MLP produzindo representaes


internas necessrias para ns intermedirios

Supor que cada combinao de pesos e limiares


corresponda a um ponto em uma superfcie de
soluo

Soluo = pontos mais baixos da superfcie

Backpropagation
!

Procura minimizar erro ajustando pesos e


thresholds (limiares) para que eles correspondam
aos pontos mais baixos da superfcie

mtodo do gradiente descendente

Backpropagation
!

Processamento

Forward (teste)

Backward (treinamento)

Estados de ativao

1 (+1) = ativo

0 (-1) = inativo

Backpropagation
!

Funo de ativao

No linear

Diferencivel , contnua e, geralmente, no


decrescente

Backpropagation

Backpropagation

Backpropagation

Fase Foward

Fase Backward

Fase Backward

Consideraes sobre o
Backpropagation

No tem a convergncia garantida pode convergir


para um timo local ou oscilar indefinidamente.

Na prtica, converge para um erro baixo para redes


grandes com dados reais.

Muitas pocas (milhares) podem ser necessrias,


significando horas ou dias de treinamento para
redes grandes

Consideraes sobre o
Backpropagation

Para evitar problemas de mnimo local,


executamos vrias vezes com diferentes
pesos aleatrios (reincios aleatrios)

Pegamos resultado com menor erro de


treinamento

Poder de representao
das MLPs

Funes booleanas: Qualquer funo booleana pode ser


representada por uma rede de duas camadas com nmero
suficiente de unidades.

Funes contnuas: Qualquer funo contnua (limitada)


pode ser aproximada arbitrariamente por uma rede de
duas camadas.

Funes sigmoide funcionam como um conjunto de


funes base.

Funes arbitrrias: Qualquer funo pode ser aproximada


arbitrariamente por uma rede de trs camadas.

Exemplo do uso de uma


MLP (Funo XOR)

Possvel soluo
0.5

-2

1.5
1

Soluo aps treinamento


-6.3

-4.2

-9.4

-4.2

-2.2
-6.4

-6.4

Utilizando uma rede


diferente
0.5
1

Rede sem conexes


entrada-sada

-1

0.5

1.5

1
1

Problemas
Rede estvel que
no funciona

0.8
-4.5

Mnimo local

5.3

-1.8

0.1

-2.0

8.8
4.3

9.2

Ocorre em 1% das
vezes para problemas
do tipo ou-exclusivo

MLPs como classificadores


!
!

Funo implementada por cada neurnio formada pela


combinao das funes implementadas por neurnios
da camada anterior

Camada 1: linhas retas no espao de deciso

Camada 2: regies convexas

Nmero de lados = nmero de unidades na camada


1

Camada 3: Combinaes de figuras convexas,


produzindo formatos abstratos

MLPs como classificadores


!
!

Funo implementada por cada neurnio formada pela


combinao das funes implementadas por neurnios
da camada anterior

Camada 1: linhas retas no espao de deciso

Camada 2: regies convexas

Nmero de lados = nmero de unidades na camada


1

Camada 3: Combinaes de figuras convexas,


produzindo formatos abstratos

MLPs como classificadores

Aberta

Aberta

Fechada

Fechada

Fechada

Fechada

MLPs como classificadores

Unidades intermedirias
!

O Nmero de neurnios nas camadas


intermedirias em geral no conhecido

Nmero de pesos vezes dez menor que o


nmero de exemplos

Apenas reduz overfitting

Se o nmero de exemplos for muito maior que


o nmero de pesos, overfitting improvvel,
mas pode ocorrer underfitting

Unidades intermedirias
!

Nmero de neurnios nas camadas intermedirias


depende de:

Nmero de exemplos de treinamento

Quantidade de rudo

Complexidade da funo a ser aprendida

Unidades intermedirias
!

Nmero de neurnios nas camadas intermedirias

Existem problemas com uma entrada e uma


sada que precisam de milhares de unidades e
vice-versa

Pode crescer exponencialmente com o nmero


de entradas

Soluo neural eficiente: aquela onde o nmero


de unidades cresce apenas polinomialmente com
o nmero de entradas

Generalizao

Classificao correta de padres no utilizados no


treinamento ou com rudo

Ocorre atravs da deteco de caractersticas


relevantes do padro de entrada

Padres desconhecidos so atribudos a classes


cujos padres apresentam caractersticas
semelhantes

Tolerncia a falhas

Generalizao

Recuperao depois
de rudo (rpido)

Soluo original de
convergncia (lenta)

Generalizao

Backpropagation muito lento em superfcies


complexas

Mnimos locais: soluo estvel que no


fornece sada correta

Taxa de aprendizado decrescente

Adicionar ns intermedirios

Adicionar rudo

Problemas no aprendizado
!

Overfitting: Depois de um certo ponto do


treinamento, a rede piora ao invs de melhorar.
Para evitar:

Memorizar padres de treinamento, incluindo


suas peculiaridades (piora generalizao)

Alternativas

Encerrar treinamento cedo

Reduzir pesos

Atualizao dos pesos


Ciclo

Apresentao de todos os exemplos de


treinamento durante o aprendizado em ordem
aleatria

Abordagens para atualizao dos pesos

Por padro (online)

Por ciclo (batch)

Atualizao dos pesos


Por padro

Pesos atualizados aps apresentao de cada


padro

Altas taxas de aprendizado podem causar uma


rede instvel

Mais rpida, principalmente se o conjunto de


treinamento for grande e redundante

Requer menos memria

Atualizao dos pesos


Por ciclo

Pesos atualizados depois que todos os padres de


treinamento forem apresentados

Geralmente mais estvel

Pode ser lento se o conjunto de treinamento for


grande e redundante

Estimativa mais precisa do vetor gradiente

Mtodo depende da aplicao

Referncias
!
!

Sistemas

Inteligentes: Fundamentos e Aplicaes.


Solange Rezende. Capitulo 6

Slides

de aula do Professor Leandro Fernandes

Slides

de aula da professora Tereza Ludemir

Inteligncia

Artificial uma Abordagem Moderna.


Stuart Russel
e Peter Norvig. Terceira edio.
Capitulo 18.

S-ar putea să vă placă și