You are on page 1of 178

REDES NEURAIS

ARTIFICIAIS

Prof. Wilian Soares Lacerda


Depto. Ciência da Computação
UFLA

Lavras, novembro de 2006


Sumário
 Introdução
 Inspiração biológica
 Histórico
 Neurônio artificial
 Treinamento do neurônio
 Redes de neurônios
 Treinamento da rede
 Aplicações
 Extração de regras
2
Introdução

3
Inteligência Computacional

A Inteligência Computacional busca,


através de técnicas inspiradas na
Natureza, o desenvolvimento de
sistemas inteligentes que imitem
aspectos do comportamento humano,
tais como: aprendizado, percepção,
raciocínio, evolução e adaptação.

4
5
Redes Neurais Artificiais (RNA)
Definições:

1. Técnica inspirada no funcionamento


do cérebro, onde neurônios artificiais,
conectados em rede, são capazes de
aprender e de generalizar.

2. Técnica de aproximação de funções


por regressão não linear.
6
Capacidade de Generalização
Isso significa que se a rede aprende a lidar
com um certo problema, e lhe é apresentado
um similar, mas não exatamente o mesmo,
ela tende a reconhecer esse novo problema,
oferecendo a mesma solução.

7
Aproximador de funções
 A característica mais significante de redes
neurais está em sua habilidade de
aproximar qualquer função contínua ou não
contínua com um grau de correção
desejado. Esta habilidade das redes neurais
as tem tornado útil para modelar sistemas
não lineares.

8
Mapeamento Entrada-Saída
para Aproximação de Funções

 Objetivo da Aprendizagem: descobrir a função


f() dado um número finito (desejável
pequeno) de pares entrada-saída (x,d).

9
Teorema da Projeção Linear
Objetivo da aproximação de funções: em uma área compacta
S do espaço de entrada descrever uma função f(x), pela
combinação de funções i(x) mais simples:
N
fˆ x, w    wi i x 
i 1

onde wi são elementos reais do vetor w=[w1,…,wN] tais que

f x   fˆ x, w   
e  pode ser arbitrariamente pequeno.
A função fˆ x, w  é chamada de aproximante e as funções
{i(x)} são chamadas de funções elementares.

10
Redes Neurais Artificiais (RNA)
Devido à sua estrutura, as Redes Neurais
Artificiais são bastante efetivas no
aprendizado de padrões a partir de dados:

não-lineares,
incompletos,
com ruído e até
compostos de exemplos contraditórios.

11
Inspiração biológica

12
Técnica x Natureza

Técnica Computacional Inspiração na Natureza

Redes Neurais Artificiais Neurônios biológicos


Computação
Evolução biológica
Evolucionária

Lógica Fuzzy Processamento lingüístico

Sistemas Especialistas Processo de Inferência

13
14
Os principais componentes dos neurônios são:

 Os dentritos, que tem por função, receber os


estímulos transmitidos pelos outros neurônios;
 O corpo de neurônio, também chamado de soma,
que é responsável por coletar e combinar
informações vindas de outros neurônios;
 E finalmente o axônio, que é constituído de uma
fibra tubular que pode alcançar até alguns metros,
e é responsável por transmitir os estímulos para
outras células.
 Em média, cada neurônio forma
entre mil e dez mil sinapses.

 O cérebro humano possui cerca de


1011 neurônios, e o número de
sinapses é de mais de 1014,
possibilitando a formação de redes
muito complexas.

17
Cérebro humano

18
Quadro comparativo entre
cérebro e o 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
1011 à 1014 105 à 106
processados

Eficiência energética 10-16 J/op./seg. 10-6 J/op./seg

Ligações entre elementos


10.000 <10
processados
19
Histórico

20
Histórico (1943)
O neurofisiologista McCulloch e matemático
Walter Pitts (1943), cujo trabalho fazia uma
analogia entre células vivas e o processo
eletrônico, simulando o comportamento do
neurônio natural, onde o neurônio possuía
apenas uma saída, que era uma função do
valor de suas diversas entradas.

21
O neurônio de McCulloch e Pitts
 Consiste basicamente de x1
um neurônio que executa
uma função lógica. conexões
excitatórias
 Os nós produzem somente x2
resultados binários e as
conexões transmitem 
exclusivamente zeros e xn
uns.
 As redes são compostas
de conexões sem peso, de
y1
tipos excitatórios e
inibitórios.
ym
 Cada unidade é
caracterizada por um certo conexões
limiar (threshold) q. inibitórias
22
Histórico (1949)
O psicólogo Donald Hebb, demostrou que a
capacidade da aprendizagem em redes neurais
biológicas vem da alteração da eficiência sináptica,
isto é, a conexão somente é reforçada se tanto as
células pré-sinápticas quanto as pós-sinápticas
estiverem excitadas;

Hebb foi o primeiro a propor uma lei de


aprendizagem específica para as sinápses dos
neurônios.
23
Histórico (1951)
 Construção do primeiro neuro computador,
denominado Snark, por Mavin Minsky. O
Snark operava ajustando seus pesos
automaticamente.

24
Histórico (1956)
 Surgimento dos dois paradigmas da
Inteligência Artificial:
– Simbólica: tenta simular o comportamento
inteligente humano desconsiderando os
mecanismos responsáveis por tal.
– Conexionista: acredita que construindo-se um
sistema que simule a estrutura do cérebro, este
sistema apresentará inteligência, ou seja, será
capaz de aprender, assimilar, errar e aprender
com seus erros.

25
Histórico (1958)
Rosemblatt (1958) mostrou em seu livro
(Principles of Neurodynamics) o modelo
dos "Perceptrons".

Nele, os neurônios (Perceptrons) eram


organizados em camada de entrada e
saída, onde os pesos das conexões
eram adaptados a fim de se atingir a
eficiência sináptica usada no
reconhecimento de caracteres.
26
Perceptron Clássico – Rosenblatt (1958)
área de
projeção respostas
área de
associação

retina

conexões
locais conexões
aleatórias

27
associação

retina   resposta

   

 

28
Histórico (1960)
Em 1960 surgiu a rede ADALINE
(ADAptative LInear NEtwork) e o MADALINE
(Many ADALINE), proposto por Widrow e
Hoff.

O ADALINE/MADALINE utilizou saídas


analógicas em uma arquitetura de três
camadas.

29
Histórico (1969)
• Foi constatado por Minsky & Papert que um
neurônio do tipo Perceptron só é capaz de
resolver problemas com dados de classes
linearmente separáveis.

30
Histórico (1960-1970)

Muitos historiadores desconsideram a


existência de pesquisa nessa área nos
anos 60 e 70.

31
Histórico (1982)

Retomada das pesquisas com a


publicação dos trabalhos do físico e
biólogo Hopfield relatando a utilização de
redes simétricas para otimização, através
de um algoritmo de aprendizagem que
estabilizava uma rede binária simétrica
com realimentação.

32
Histórico (1986)
 Rumelhart, Hinton e Williams introduziram
o poderoso método de treinamento
denominado “Backpropagation”.

 Rumelhart e McClelland escreveram o


livro “Processamento Paralelo Distribuído:
Explorações na Microestrutura do
Conhecimento”.

33
Histórico (1988)
 Broomhead e Lowe descreveram um
procedimento para o projeto de uma rede
neural (feedforward) usando funções de
base radial (Rede de Base Radial – RBF).

34
Neurônio artificial

35
Componentes do neurônio artificial

– As sinapses (entradas), com seus pesos


associados

– A junção somadora; e

– A função de ativação.

36
entrada fixa wk0=bk (bias)
x0=+1 wk0

x1 wk1
função
de ativação
sinais uk yk
x2 wk2
de  f(uk)
entrada
saída
junção
aditiva
xm wkm Função
degrau

pesos
sinápticos 37
Princípio de funcionamento
A operação de um neurônio artificial se resume em:
 Sinais são apresentados à entrada (x1 à xm);
 Cada sinal é multiplicado por um peso que indica sua
influência na saída da unidade (wk);
 É feita a soma ponderada dos sinais que produz um nível
de atividade (uk);
 A função de ativação f(uk) tem a função de limitar a saída e
introduzir não-linearidade ao modelo.
 O bias bk tem o papel de aumentar ou diminuir a influência
do valor das entradas.
 É possível considerar o bias como uma entrada de valor
constante 1, multiplicado por um peso igual a bk.
Expressão matemática do neurônio
artificial
 Matematicamente a saída pode ser expressa por:

 m 
yk  f (uk )  f   wkj x j  bk 
 j 1 
ou considerando o bias como entrada de valor x0=1 e
peso wk0=bk,

 m 
y k  f (u k )  f   wkj x j 
 j 0 
39
Funções de ativação

40
Função de ativação tangente hiperbólica
e puk  e  puk f
f (u k )  tanh( pu k )  puk  p(1  u k2 )  0
e  e  puk u k

(a) (b)
Tangente hiperbólica (a) e sua derivada (b). 41
Função de ativação logística (sigmóide)
e puk 1 f
f (u k )  puk   pu k (1  u k )  0
e  1 1  e  puk u k

(a) (b)
Sigmóide (a) e sua derivada (b). 42
Função de ativação semi-linear
 1 se puk  1

f (uk )   puk se 0  puk  1
 0 puk  0
 se
p constante e positivo

(a) (b)
Função de ativação semi-linear (a) e sua derivada (b). 43
Resposta do neurônio (saída)
Considerando um neurônio artificial com duas
entradas (x1, x2) e função de ativação sigmóide:

44
Separação Linear
Sabe-se que se formarmos uma combinação linear de duas
variáveis, e igualá-la a um número, então os pontos no espaço
bidimensional podem ser divididos em três categorias:
a) pontos pertencentes à linha com coordenadas tais que
w1. x1 + w2 . x2 = q
b) pontos em um lado da linha tem coordenadas tais que
w1 . x1 + w2 . x2 < q
c) pontos no outro lado da linha tem coordenadas tais que
w1 . x1 + w2 . x2 > q .

Nota: bias b = - q, pois:

y  f (w1 x1  w2 x2  w0 ), onde w0  b
45
Exemplo x2

Pontos 2x1+3x2 posição 2.0 (0.0,2.0) (1.0,2.0)


(x1 , x2 )
(0.0, 2.0) 6 linha 1.5 linha
2 x1 + 3 x2 = 6
(1.0, 1.0) 5 abaixo
(1.0,1.0) (2.0,1.0)
(1.0, 2.0) 8 acima 1.0
(2.0, 0.0) 4 abaixo (2.0,0.66)
(2.0, 0.66) 6 linha 0.5
(2.0, 1.0) 7 acima (2.0,0.0)
0.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 x1

Posição dos pontos em função da linha 2 x1 + 3 x2 = 6 de delimitação.


Linha: 2 x1 + 3 x2 = 6
Acima: 2 x1 + 3 x2 > 6 q=6
Abaixo: 2 x1 + 3 x2 < 6
46
w0=b
x0=+1 w0

f(u)
u y
x1 w1 

x2 w2

 f (u )  1 se u  0
y  f ( w1 x1  w2 x2  w0 ), sendo 
 f (u )  0 se u  0

Com os parâmetros w0, w1 e w2, a função f(u) separa o espaço


de entradas em duas regiões, usando uma linha reta dada por:
w1x1 + w2x2 + w0 = 0
47
Perceptron de limiar
 O perceptron de limiar é chamado separador
linear
– Porque traça um plano entre os pontos de entrada
onde a saída é zero ou um

48
Funções linearmente separáveis (a) e (b)
Treinamento do neurônio

49
Exemplo: um neurônio para a função AND
de 2 entradas

Iniciamos o neurônio com os pesos 0.5 e 0.6


para as duas entradas, e -0.3 para o limiar (w0).
Isso é equivalente à equação:

u = 0.5 x1 + 0.6 x2 - 0.3 x0

onde x0 é a entrada estável sempre igual a 1.

Assim, a saída y deve disparar quando u >= 0).

50
x1
w1
= 0.5

Função de Saída y =(u)


w2 = 0.6 transferência
x2 u =  xi wi
(ativação)
w0 = -0.3 u

pesos
x0
=1
entradas

x1 x2 u y
a saída é 1 para os padrões 01,
0 0 -0.3 0
10 e 11, enquanto desejamos que
0 1 0.3 1
1 0 0.2 1 a saída seja 1 somente para o
padrão 11.
1 1 0.8 1
51
Seqüência de passos na aplicação do algoritmo
Inicio w1 = 0.5 w2 = 0.6 w0 = -0.3
Entrada 0 0 u = - 0.3 y = 0 correta
Entrada 0 1 u = 0.3 y = 1 incorreta
Correção dos pesos de 0.1 para baixo  w1 = 0.5 w2 = 0.5 w0 = -0.4
Entrada 1 0 u = 0.1 y = 1 incorreta
Correção dos pesos de 0.1 para baixo  w1 = 0.4 w2 = 0.5 w0 = -0.5
Entrada 1 1 u = 0.4 y = 1 correta
Entrada 0 0 u = - 0.5 y = 0 correta
Entrada 0 1 u= 0 y = 1 incorreta
Correção dos pesos de 0.1 para baixo  w1 = 0.4 w2 = 0.4 w0 = -0.6
Entrada 1 0 u = - 0.2 y = 0 correta
Entrada 1 1 u = 0.2 y = 1 correta
Entrada 0 0 u = -0.6 y = 0 correta
Entrada 0 1 u = - 0.2 y = 0 correta
Entrada 1 0 u = - 0.2 y = 0 correta
Entrada 1 1 u = 0.2 y = 1 correta
Fim w1 = 0.4 w2 = 0.4 w0 = -0.6
52
Resultado do aprendizado

x1
w1
= 0.4

Função de Saída y =(u)


w2 = 0.4 transferência
x2 u =  xi wi
(ativação)
w0 = -0.6 u

pesos
x0
=1
entradas

53
x2

1.5

1.0 0,1 1,1

0.5

0,0 1,0 x1
0.0 0.5 1.0 1.5

A reta 0.4 x1 + 0.4 x2 - 0.6 = 0 separa os pontos 00, 01 e


10, do ponto 11.
54
Exemplo: um neurônio para a função XOR

55
No caso do XOR, não existe uma única reta que divide os
pontos (0,0) e (1,1) para um lado, e (0,1) e (1,0) do outro
lado. x2

(1,0) (1,1)

Função xor:
(0,0) (1,0)
x1

y=0 y=1

Conclui-se que um neurônio do tipo Perceptron não


implementa uma função ou-exclusivo (constatado por Minsky
& Papert, em 1969). 56
Algoritmo de treinamento do Perceptron

Para classificação padrões de entrada como


pertencentes ou não a uma dada classe,
considere o conjunto de treinamento formado
por N amostras {x1,d1}, {x2,d2}, ..., {xN,dN},
onde xj é o vetor de entradas e dj a saída desejada
(classe), que em notação vetorial tem-se {X,d},
onde:

X mxN
d 1 xN

57
58
Aprendizagem de Perceptrons
 O algoritmo

– Executa os exemplos de treinamento através da rede;

– Ajusta os pesos depois de cada exemplo para reduzir o


erro;

– Cada ciclo através dos exemplos é chamado de época;

– As épocas são repetidas até que se alcance algum


critério de parada.
 Em geral, quando as mudanças nos pesos forem pequenas.

59
Se os padrões de entrada forem
linearmente separáveis, o algoritmo de
treinamento possui convergência
garantida, i.é, tem capacidade para
encontrar um conjunto de pesos que
classifica corretamente os dados.

60
Perceptrons de limiar
 Algoritmo de aprendizagem simples:

– Adaptará o perceptron de limiar a qualquer conjunto de


treinamento linearmente separável
– Idéia: ajustar os pesos da rede para minimizar alguma
medida de erro no conjunto de treinamento
– Aprendizagem = busca de otimização no espaço de
pesos
– Medida clássica de erros = soma dos erros quadráticos

61
Procedure [w] = perceptron (max_it, E, a, X,d)
inicializar w // para simplicidade, com zeros
inicializar b // para simplicidade, com zero
t1
while t < max_it & E > 0 do
for i from 1 to N do // para cada padrão de entrada
yi  f(w xi + b) // determinar a saída
ei  di – yi // determinar o erro
w  w + a ei xi // atualizar o vetor peso
b  b + a ei // atualizar o bias
end for
E  sum (ei) //quantidade de erros
t t+1
end while
end procedure
62
Adaline
• Na mesma época em que Rosenblatt propôs o
Perceptron, Widrow e Hoff propuseram o algoritmo
dos mínimos quadrados (regra delta) para a rede
Adaline (Adaptive Linear Element), similar ao
Perceptron, porém com função de ativação linear
ao invés de função degrau.

• O objetivo do algoritmo de treinamento é minimizar


o erro quadrático médio (MSE) entre a saída de
rede e a saída desejada.

63
• A soma dos erros quadráticos para um determinado
padrão é dada por:
n n
E   ei2   (d i  yi ) 2
i 1 i 1

•O gradiente de E, também denominado de índice de


desempenho ou função custo, fornece a direção de
crescimento mais rápido de E.

• Portanto, a direção oposta ao gradiente de E é a direção


de• maior decrescimento.
64
Adaline (cont.)

O erro pode ser reduzido ajustando-se os pesos da


rede de acordo com:

E
wIJ  wIJ  a
wIJ

onde wIJ é o peso específico para o neurônio pós-


sináptico I, da entrada J, e a é a taxa de aprendizagem.

65
Como wIJ influencia apenas o neurônio I,

E  n


wIJ wIJ

i 1
( d i  yi
2
) 
wIJ
( d I  y I ) 2

Como

y I  f (w I .x)  f ( wIj x j )   wIj x j


j j

E y I
 2(d I  y I )  2(d I  y I ) x J
wIJ wIJ
66
Regra delta
Portanto a regra delta para o Adaline resume-se em:

wIJ  wIJ  a (d I  y I ) x J
bI  bI  a ( d I  y I )
Em notação vetorial tem-se:

W  W  ae i x i
T

b  b  ae i
onde :
W  oxm , x i   mx1 , i  1,..., N ,
ei  ox1 , e b  ox1 67
68
Aprendizagem com Momento

 Aprendizagem com momento usa uma


memória (incremento anterior) para aumentar
a velocidade e estabilizar a convergência
 Equação de correção dos pesos:

wij n  1  wij n   a ei n x j n     wij n   wij n  1 


onde  é a constante de momento
 Normalmente,  é ajustada entre 0,5 e 0,9

69
Exemplo de Momento

70
 Momentum

71
Redes de neurônios

72
Arquitetura das RNAs
 Uma rede neural artificial é composta por várias
unidades de processamento (neurônios), cujo
funcionamento é bastante simples.
 Essas unidades, geralmente são conectadas por
canais de comunicação que estão associados a
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 Rede Neural
Artificial vem das interações entre as unidades de
processamento da rede.

73
Características Gerais das RNAs
 São modelos adaptativos treináveis
 Podem representar domínios complexos (não
lineares)
 São capazes de generalização diante de
informação incompleta
 Robustos
 São capazes de fazer armazenamento
associativo de informações
 Processam informações Espaço/temporais
 Possuem grande paralelismo, o que lhe
conferem rapidez de processamento
74
Tipos de Redes Neurais Artificiais

Existem basicamente 3 tipos básicos de arquitetura


de RNAs:

– Feedforward de uma única camada

– Feedforward de múltiplas camadas e

– Redes recorrentes.

75
 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 Ocultas: 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.
camada
de entrada
camada
camada de saída
escondida
77
Rede feedforward de uma única camada

 Os neurônios da camada
de entrada correspondem
aos neurônios sensoriais
que possibilitam a entrada
de sinais na rede (não
fazem processamento).

 Os neurônios da camada
de saída fazem
processamento.

neurônio sensorial

neurônio de
78
processamento
Rede feedforward de Múltiplas Camadas
(Multilayer Perceptron - MLP)
 Essas redes tem uma ou mais camadas intermediárias
ou escondidas.

79
Redes recorrentes

Essas redes possuem pelo menos uma interconexão


realimentando a saída de neurônios para outros neurônios
da rede (conexão cíclica).

Exemplo: Rede de Hopfield 80


 A rede neural de Hopfield apresenta
comportamento dinâmico e fluxo de dados
multidirecional devido à integração total dos
neurônios, desaparecendo assim a idéia de
camadas bem distintas.

81
Rede de Kohonen

82
Topologias das redes neurais

83
Rede de Elman &
Rede de Jordan

84
Redes de Base Radial (RBF)

85
Exemplo: Problema do XOR

x2

(1,0) (1,1)
Função xor:

(0,0) (1,0)
x1

y=0 y=1

86
A função XOR está além da capacidade de um Perceptron simples.
Contudo, um Perceptron simples pode implementar funções lógicas
elementares: AND, OR e NOT.

Assim, se uma função pode ser expressa como uma combinação


dessas funções lógicas elementares, então essa função pode ser
implementada usando mais neurônios (RNA).

Por exemplo, XOR pode ser expressa por:


(x1 or x2 ) and (not (x1 and x2 ))

x1 x1 OR x2
y
AND

NOT
x2 x1 AND x2

87
x2
(0,1) C ( 1,1)

D
Linha L2

A Linha L1

( 0,0 ) (1,0) x1
0
B 1
0

x1 x1 OR x2
y
AND

NOT
x2 x1 AND x2

88
A parte acima da linha L1 corresponde à função OR, e a
parte abaixo da linha L2 corresponde à função NOT
AND.

A área entre as duas linhas corresponde à função XOR,


o que corresponde à área ABCD, que contem os pontos
(0,1) e (1,0).

89
Superfícies de separação

90
Treinamento da rede

91
Treinamento
 A propriedade mais importante das redes neurais é a
habilidade de aprender de seu ambiente e com isso
melhorar seu desempenho. Isso é feito através de um
processo iterativo de ajustes aplicado a seus pesos, o
treinamento. O aprendizado ocorre quando a rede
neural atinge uma solução generalizada para uma
classe de problemas.
 Denomina-se algoritmo de aprendizado a um conjunto
de regras bem definidas para a solução de um
problema de aprendizado. Existem muitos tipos de
algoritmos de aprendizado específicos para
determinados modelos de redes neurais. Estes
algoritmos diferem entre si principalmente pelo modo
como os pesos são modificados.

92
Modelos de Aprendizagem

Os principais modelos (paradigmas) de aprendizagem são:

1) supervisionado;

2) não-supervisionado; e

3) com reforço.

93
Supervisionado
 Também conhecida com aprendizagem com professor, consiste em que o
professor tenha o conhecimento do ambiente, e fornece o conjunto de
exemplos de entrada-resposta desejada.
 Com esse conjunto, o treinamento é feito usando a regra de aprendizagem
por correção de erro.
Vetor de estado
do ambiente
ambiente professor
Resposta
desejada

Resposta
real +
Sistema
de aprendizagem 
-

Sinal de erro
94
Não supervisionado
 Neste caso não há um professor para supervisionar o processo de
aprendizagem. Isso significa que não há exemplos rotulados da função a
ser aprendida pela rede.

 Nesse modelo, também conhecido como auto-organizado, são dadas


condições para realizar uma medida da representação que a rede deve
aprender, e os parâmetros livres da rede são otimizados em relação a essa
medida.

 Para a realização da aprendizagem não-supervisionada pode-se utilizar a


regra de aprendizagem competitiva.

Vetor de estado
do ambiente
Sistema de
ambiente
aprendizagem

95
Aprendizagem por reforço
 Pode ser visto como caso particular de aprendizagem supervisionada.

 A principal diferença entre o aprendizado supervisionado e o aprendizado por


reforço é a medida de desempenho usada em cada um deles.

 No aprendizado supervisionado, a medida de desempenho é baseada no conjunto


de respostas desejadas usando um critério de erro conhecido, enquanto que no
aprendizado por reforço a única informação fornecida à rede é se uma determinada
saída está correta ou não.

 A idéia básica tem origem em estudos experimentais sobre aprendizado dos


animais. Quanto maior a satisfação obtida com uma certa experiência em um
animal, maiores as chances dele aprender.

crítico

reforço/
penalidade

RNA
resposta
96
Definição da Arquitetura da rede

A quantidade de neurônios na camada de entrada


e saída é dada pelo problema a ser abordado.

No entanto, a quantidade de neurônios nas


camadas de processamento são características
do projeto.

97
Aumentando-se o número de neurônios na camada
escondida aumenta-se a capacidade de mapeamento
não-linear da rede.

No entanto, quando esse número for muito grande, o


modelo pode se sobre-ajustar aos dados, na presença de
ruído nas amostras de treinamento. Diz-se que a rede
está sujeito ao sobre-treinamento (overfitting).

98
99
100
Por outro lado, uma rede com poucos neurônios na
camada escondida pode não ser capaz de realizar o
mapeamento desejado, o que é denominado de
underfitting.

O underfitting também pode ser causado quando o


treinamento é interrompido de forma prematura.

101
102
Normalização dos dados de entrada
Uma característica das funções sigmoidais é a saturação, ou
seja, para valores grandes de argumento, a função opera
numa região de saturação.

É importante portanto trabalhar com valores de entrada que


estejam contidos num intervalo que não atinjam a saturação,
por exemplo: [0,1]. 103
Inicialização dos vetores de pesos e bias

A eficiência do aprendizado em redes multicamadas


depende da:

- especificação de arquitetura da rede,


- função de ativação,
- regra de aprendizagem e
- valores iniciais dos vetores de pesos e bias.

Considerando-se que os três primeiros itens já foram


definidos, verifica-se agora a inicialização dos vetores
de pesos e bias.

104
Inicialização aleatória dos pesos
A atualização de um peso entre duas unidades depende da derivada da função de
ativação da unidade posterior e função de ativação da unidade anterior.

Por esta razão, é importante evitar escolhas de pesos iniciais que tornem as funções de
ativação ou suas derivadas iguais a zero.

Os valores para os pesos iniciais não devem ser


muito grandes, tal que as derivadas das funções
de ativação tenham valores muito pequenos
(região de saturação). Por outro lado, se os
pesos iniciais são muito pequenos, a soma
pode cair perto de zero, onde o aprendizado é
muito lento.

Um procedimento comum é inicializar os pesos e bias a valores randômicos entre -


0.5 e 0.5, ou entre -1 e 1. Os valores podem ser positivos ou negativos porque os
pesos finais após o treinamento também podem ser positivos ou negativos

105
Treinamento da MLP

 Algoritmo de aprendizagem – backpropagation

– Regra de aprendizagem baseada na correção do


erro pelo método do Gradiente

– O algoritmo de aprendizagem é composto de


duas fases:
– Cálculo do erro (forward)
– Correção dos pesos sinápticos (backward)

106
Algoritmo de Retropropagação
(Backpropagation)
• Erro no j-ésimo neurônio da camada de saída no instante t.

e j t   d j t   y j t 
t = iteração, t-ésimo padrão de treinamento apresentado à rede.

• Ajuste dos pesos:


w ji t  1  w ji t   a   j t   xi t 

Para camada de saída: Para camada oculta:

 j (t )  f [u j (t )].e j (t )
q
 j (t )  f [u j (t )]    k (t ).wki 
'
j '
j
k 1

107
Durante o treinamento com o algoritmo
backpropagation, a rede opera em uma sequência de
dois passos:
• Primeiro, um padrão é apresentado à camada de
entrada da rede. A atividade resultante flui através
da rede, camada por camada, até que a resposta
seja produzida pela camada de saída.
• Segundo passo, a saída obtida é comparada à
saída desejada para esse padrão particular. Se
esta não estiver correta, o erro é calculado. O erro
é propagado a partir da camada de saída até a
camada de entrada, e os pesos das conexões das
unidades das camadas internas vão sendo
modificados conforme o erro é retropropagado.
108
Algoritmo de backpropagation
Procedure [W] = backprop (max_it, min_err, a, X, R)
for m from 1 to M do
inicializa Wm e bm // valores pequenos escolhidos aleatoriamente
end // for
t1
while t < max_it & MSE > min_err do
for i from 1 to N do // para cada padrão de treinamento
y0  xi // propagação progressiva do sinal

ym+1  fm+1 (Wm+1ymi + bm+1), m = 0, 1, …, M-1


i .M
Mi  F (uMi ) (yi - ri) // retro-propagação das sensibilidades
.m
mi  F (umi ) (Wm+1)Tm+1
i , m = M-1, …, 2,1
Wm  Wm - ami (yim-1)T, m = 1, …, M // atualização dos pesos

bm  bm - ami , m = 1, …, M
Ti  ei T ei = (ri - yi )T (ri - yi ) // cálculo do erro para o padrão i

end // for
MSE  1/N. sum(Ti)
t  t+1
end // while
end // procedure 109
Algoritmo Backpropagation
 Treinamento é feito em duas fases:

Fase forward

Fase backward 110


Entrada é apresentada à primeira
Fase forward camada da rede e propagado em
direção às saídas.
Camadas intermediárias
Camada de Camada de
entrada saída

111
Os neurônios da camada i calculam
Fase forward seus sinais de saída e propagam
à camada i + 1
Camadas intermediárias
Camada de Camada de
entrada saída

112
A última camada oculta calcula
Fase forward seus sinais de saída e os envia
à camada de saída
Camadas intermediárias
Camada de Camada de
entrada saída

113
A camada de saída calcula
Fase forward os valores de saída da rede.

Camadas intermediárias
Camada de Camada de
entrada saída

114
Fase backward
Camadas intermediárias
Camada de Camada de
entrada saída

115
A camada de saída
Fase backward calcula o erro da rede: j

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j)
116
Calcula o termo de correção dos pesos

Fase backward (a atualização será feita depois)


Dwji = ajxi
Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j) 117


Envia o erro para a
Fase backward última camada oculta

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j)
118
A camada oculta calcula o seu erro
Fase backward j = f’(uj).  kwlk

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j) Erro (k) 119


Calcula o termo de correção dos pesos

Fase backward (a atualização será feita depois)


Dwij = ajxi
Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j) 120


A camada oculta calcula o seu erro
Fase backward j = f’(uj). kwlk

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j) Erro (k) 121


Calcula o termo de correção dos pesos

Fase backward (a atualização será feita depois)


Dwij = ajxi
Camadas intermediárias
Camada de Camada de
entrada saída

Erro (j) 122


Cada unidade atualiza seus pesos

Fase backward wij(novo) = wij(velho) + Dwjk

Camadas intermediárias
Camada de Camada de
entrada saída

123
Repete-se o processo enquanto

Backpropagation enquanto a rede não aprender


o padrão de entrada
Camadas intermediárias
Camada de Camada de
entrada saída

124
 Desvantagens do algoritmo de aprendizagem
backpropagation:
– Normalmente o tempo de processamento é
elevado
– A arquitetura da rede deve ser fixada a priori

125
Aspectos do treinamento de redes MLP
O aprendizado é resultado de apresentação repetitiva de
todas as amostras do conjunto de treinamento.

Cada apresentação de todo o conjunto de treinamento é


denominada época.

O processo de aprendizagem é repetido época após


época, até que um critério de parada seja satisfeito.

É recomendável que a ordem de apresentação das


amostras seja aleatória de uma época para outra. Isso
tende a fazer com que o ajuste de pesos tenha um
caráter estocástico ao longo do treinamento.

126
Atualização local ou por lote

Atualização dos pesos pode ser de duas maneiras básicas: local e


por lote.
Local: a atualização é feita imediatamente após a apresentação de
cada amostra de treinamento.
- é também chamado de método de atualização on-line ou padrão a
padrão.
- requer um menor armazenamento para cada conexão, e apresenta
menos possibilidade de convergência para um mínimo local.

Lote: a atualização dos pesos só é feita após a apresentação de todas


as amostras de treinamento que constituem uma época.
- é também conhecido como método de atualização off-line ou batch.
- o ajuste relativo a cada apresentação de uma amostra é acumulado.
- fornece uma melhor estimativa do vetor gradiente.

127
Critérios de parada

O processo de minimização do MSE (função custo) não


apresenta convergência garantida e não possui um critério
de parada bem definido.

Um critério de parada não muito recomendável, que não


leva em conta o estado do processo iterativo é o da pré-
definição do número total de iterações.

Apresenta-se a seguir um critério de parada que leva em


conta o processo iterativo.

128
Critérios de parada (cont.)
Consideremos um critério que leva em conta informações a respeito do
estado iterativo. Considera-se nesse caso a possibilidade de existência
de mínimos locais.
Seja * o vetor de pesos que denota um ponto mínimo, local ou global.

Uma condição para que * seja um mínimo é que o gradiente ( ),


da função custo, seja zero em *.

Como critério tem-se as seguintes alternativas de parada:


1 - quando a norma euclidiana da estimativa do vetor gradiente ( )
atinge um valor suficientemente pequeno.

2 - quando a variação do erro quadrático médio (MSE) de uma época para outra
atingir um valor suficientemente pequeno.

3 - quando o erro quadrático médio atingir um valor suficientemente pequeno


ou seja, med ( )   onde  é um valor suficientemente pequeno.

129
Critérios de parada (cont.)
 Nota-se que se o critério é de valor mínimo de MSE então não se
garante que o algoritmo irá atingir esse valor.

 Por outro lado, se o critério é o mínimo valor do vetor gradiente


deve-se considerar que o algoritmo termina no mínimo local mais
próximo.

MSE

Mínimo
local Mínimo
Global

130
Critérios de parada (cont.)

Outro critério de parada, que pode ser usado em conjunto


com um dos critérios anteriores é a avaliação da
capacidade de generalização da rede após cada época
de treinamento.

O processo de treinamento é interrompido antes que a


capacidade de generalização da rede fique restrita.

131
132
 Overfitting
– Depois de um certo ponto do treinamento, a rede piora
ao invés de melhorar
– Memoriza padrões de treinamento, incluindo todas as
suas peculiaridades (ruído)
 Solução:
– Encerrar treinamento cedo
– Adoção das técnicas de pruning (eliminação de pesos e
nodos irrelevantes)

133
Dilema Bias-Variância

 Com poucos parâmetros o desempenho no conjunto


de treinamento (e de teste) é ruim, pois as superfícies
de separação não são adequadamente colocadas.
 Com muitos parâmetros, há um ajuste exato
(memorização) ao conjunto de treinamento, mas o
resultado no conjunto de teste não é aceitável
 A diferença entre o desempenho sobre os conjuntos
de treinamento e teste é uma medida da variância do
modelo
 O objetivo da aprendizagem não deve ser o erro igual
a zero no conjunto de treinamento

134
 Esquecimento catastrófico
– Ao aprender novas informações, a rede
esquece as informações previamente
aprendidas

135
Aplicações

136
 As aplicações de redes neurais artificiais
podem ser divididas em:

– Reconhecimento de padrões e Classificação;


– Agrupamento ou categorização (clustering);
– Aproximação de funções e modelagem;
– Previsão;
– Otimização;
– Controle.

137
Classificação de padrões

A tarefa de classificação de padrões é atribuir a um


padrão de entrada (como forma de onda vocal, ou
símbolo manuscrito) representado por um vetor de
fatores, a uma das classes pré-especificadas.

138
Clustering/agrupamento
 Em clustering ou agrupamento, também conhecido
como classificação de padrões não-supervisionada, não
existem dados para treinamento com classes
conhecidas.

 Um algoritmo de clustering explora a similaridade entre


os padrões e coloca os padrões similares num grupo.

139
Aproximação de função

 Supondo que um conjunto de n padrões de treinamento


(pares entrada-saída), (x1, y1), (x2,y2), ..., (xn,yn), tenham
sido gerados de uma função desconhecida f(x) (sujeito a
ruído).

 A tarefa da aproximação de função é achar uma


estimativa, digamos f’(x) da função desconhecida.

140
Previsão(forecasting)

 Dado um conjunto de n amostras (y(t1), y(t2), ..., y(tn)) em


uma sequência de tempo t1, t2, ...,tn, a tarefa é de prever
a amostra y(tn+1) num futuro tn+1.

141
Otimização

 Uma grande variedade de problemas em matemática,


estatística, engenharia, ciência, medicina e economia
podem ser classificadas como problemas de otimização.

 A meta de um algoritmo de otimização é achar uma


solução que consiste numa “função objetiva” gerada por
um conjunto de restrições que seja maximizada ou
minimizada.

142
Controle
 Considerando um sistema dinâmico definido por um
(u(t), y(t)), onde u(t) é a entrada do sistema de controle e
y(t) é a saída, no tempo t.

 No controle adaptativo referenciado por padrão, a meta


é gerar uma entrada u(t) tal que o sistema siga uma
trajetória desejada determinada por um padrão de
referência.

143
Aplicações
 reconhecimento ótico de caracteres (OCR)
 análise de pesquisa de mercado
 controle de processos industriais
 aplicações climáticas
 identificação de fraude de cartão de crédito
 diagnóstico médico
 análise e processamento de sinais;
 robótica;

144
Aplicações
 classificação de dados;
 reconhecimento de padrões em linhas de montagem ;
 filtros contra ruídos eletrônicos;
 análise de imagens;
 análise de voz;
 avaliação de crédito;
 análise de aroma e odor (nariz eletrônico);

145
Previsão

Definição da janela de entrada


Definição do horizonte de previsão
Definição de outras variáveis explicativas

146
147
Previsão de Séries Temporais

valor Séries temporais


alvo

janela

Saída tempo
Entradas Desejada = Definição da
da rede = valor da série janela de entrada
n valores k passos à
passados frente Definição da
janela de saída
Ex: valor um
passo à frente
Ex: 5 valores
passados 148
Exemplo: previsão utilizando apenas a série histórica
como entrada.

Séries temporais
alvo

janela

Entradas
da rede
Ajuste dos pesos
a partir do erro
Erro= alvo - previsto

Saída da rede:
Valor previsto
um passo à frente
149
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais
alvo

janela

Entradas
da rede
Ajuste dos pesos
a partir do erro
Erro= alvo - previsto

Saída da rede:
Valor previsto
um passo à frente
150
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais
alvo

janela

Entradas
da rede

Ajuste dos pesos


a partir do erro
Erro=alvo - previsto
Saída da rede:
Valor previsto
um passo à frente
151
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais

janela
alvo

Entradas
da rede

Ajuste dos pesos


a partir do erro
Erro=alvo -
Saída da rede: previsto
Valor previsto
um passo à frente
152
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais
alvo
janela

Entradas
da rede

Ajuste dos pesos


a partir do erro
Erro=alvo - previsto
Saída da rede:
Valor previsto
um passo à frente
153
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais previsto


janela

Saída da rede:
Valor previsto

154
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais
janela previsto

Entradas da rede:
inclui valores
previstos pela Rede

Saída da rede:
Valor previsto

155
Exemplo: previsão utilizando apenas a série histórica como entrada.

Séries temporais previsto

janela

Entradas da rede:
inclui valores
previstos pela Rede

Saída da rede:
Valor previsto

156
Aplicações de Previsão

 Previsão de Carga Elétrica


– Mensal, horária, 10 em 10 min, horário de pico

 Previsão de Vazão
– Horária e semanal

157
Previsão de Carga Horária
(CEMIG)
Previsão Horária  Topologia da Rede

 Camada de entrada: 11 neurônios.


 5 últimos valores de carga.
 Carga 24 horas atrás.
 Codificação binária do horário.

 Camada escondida: 20 neurônios.

 Camada de saída: 1 neurônio.

158
Topologia da Rede

5 valores
passados

Valor da Carga Valor previsto


24 horas antes da carga

Codificação
Binária da hora
Da previsão

159
Gráficos Comparativos
Março/93 01/08/93
168 horas a frente 24 horas a frente

____ Valores Reais


- - - - Valores Previstos 160
Previsão de Vazão com Informações
de Precipitação - ONS

 Hidroelétricas são as principais fontes de


geração de energia no Brasil

 Dois modelos de previsão de vazão natural


média:

– Previsão da vazão diária (12 dias a frente);


– Previsão da vazão semanal.

– Dados utilizado do período de 1996 a 2001 161


Definição dos Modelos para Previsão de Vazão
Diária – Itaipu

 Topologia das Redes Neurais


Vazões Vt
Naturais ...
Incrementais Vt-6 Vazão Prevista
Chuva ChTt V t+1
Média de ... .
.
Thiessen ChTt-6 .
Chuva ChETA
... t
Prevista
ChETAt-10
Postos P1
Fluviométricos ...
P3

162
Resultados Previsão de Vazão
Diária - Itaipu
Previsão de Vazão Diária - Redes Neurais MLP

Período Anual Período Seco Período Úmido


Previsão 1º Dia com 6 Neurônios; MAPE = 4,2604 163
Reconhecimento de expressão da face

NUMBER OF
COMMITTEE RECOGNITION RATE
MEMBERS
Bootstrap 9 82.69%
Bootstrap 15 80.77%
Bootstrap 25 80.77%
Bootstrap 50 84.62%
Bootstrap 75 86.54%
Bootstrap 100 90.38%
ARC-x4 9 84.62%
ARC-x4 15 84.62%
ARC-x4 25 84.62%
ARC-x4 50 88.46%
ARC-x4 75 92.31%
ARC-x4 100 90.38%
Reference: 84.62% 164
Identificação de Área

 Baía de
Guanabara
(Rio de Janeiro)

 Acidente onde
1.300 m3 de óleo
foi derramado em
18/01/2000

165
Datiloscopia
É o processo de identificação humana por
meio das impressões digitais. Identidade, em
um conceito mais amplo, é a identificação
única e imutável dos indivíduos.

166
 Pré-Processamento

A imagem não pode ser identificada pela RNA


como nós identificamos a olho nu, a RNA deve
receber um arquivo com informações em bit, ou
seja, 0’s e 1’s, por isso é necessário um pré-
processamento da imagem.

167
 Arquitetura da Rede Neural

1
1
2
2

3 3

400 50

401 51

52
402
53

403

100

800

Camada de Camada Camada de


Impressão Digital
Entrada Oculta Saída

168
Reconhecimento de caracter

169
Dados de treinamento

170
Dados de teste

171
Extração de regras

172
Extração de Regras
 É a tarefa de converter modelos de
redes neurais treinadas em
representações mais facilmente
compreensíveis

173
Técnicas de Extração de
Conhecimento de RNAs
 Decomposicional
– Extração a nível de associações
escondidas e de saída
 Pedagógica
– RNA vista como “caixa preta” e a extração
ocorre sobre arquiteturas sem restrições
 Eclética

174
Características dos Métodos
de Extração de Regras
 Compreensibilidade
– Quanto são humanamente compreensíveis
 Fidelidade
– Quanto modela a RNA da qual foi extraída
 Precisão
– Previsão precisa sobre exemplos não vistos
 Escalabilidade
– Grandes espaços de entrada, unidades e conexões
 Generalidade
– Treinamento especial e/ou restrições

175
176
Fim

 Obrigado!

 Perguntas?

177
Cópia da apresentação:

 www.dcc.ufla.br/~lacerda/download/palestras/rna/palestra_01.ppt

178

You might also like