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
Evolucionária
Evolução biológica
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
processados
1011 à 1014
105 à 106
Eficiência energética
10-16 J/op./seg.
10-6 J/op./seg
Ligações entre elementos
processados
10.000
<10
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
um neurônio que executa
conexões
uma função lógica.
excitatórias
 Os nós produzem somente
x2
resultados binários e as
conexões transmitem
xn
exclusivamente zeros e
uns.
 As redes são compostas
de conexões sem peso, de
y1
tipos excitatórios e
inibitórios.
 Cada unidade é
conexões
caracterizada por um certo
inibitórias
limiar (threshold) q.
x1

ym
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
área de
associação
respostas
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
wk0=bk (bias)
entrada fixa
x0=+1
wk0
x1
wk1
sinais
de
entrada
x2
wk2
função
de ativação

uk
yk
f(uk)
saída
junção
aditiva
xm
wkm
pesos
sinápticos
Função
degrau
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 (u k )  tanh(puk )  puk
e  e  puk
(a)
f
 p(1  u k2 )  0
u k
(b)
Tangente hiperbólica (a) e sua derivada (b).
41
Função de ativação logística (sigmóide)
e puk
1
f (u k )  puk

e  1 1  e  puk
f
 puk (1  u k )  0
u k
(a)
(b)
Sigmóide (a) e sua derivada (b).
42
Função de ativação semi-linear
se
puk  1
 1

f (uk )   puk se 0  puk  1
 0
se
puk  0

p constantee 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
Pontos
2x1+3x2 posição
(x1 , x2 )
(0.0, 2.0)
6
linha
(1.0, 1.0)
5
abaixo
(1.0, 2.0)
8
acima
(2.0, 0.0)
4
abaixo
(2.0, 0.66) 6
linha
(2.0, 1.0)
7
acima
x2
2.0
(0.0,2.0)
(1.0,2.0)
linha
2 x1 + 3 x2 = 6
1.5
1.0
(1.0,1.0)
(2.0,1.0)
(2.0,0.66)
0.5
(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
Abaixo:
2 x1 + 3 x2 < 6
q=6
46
w0=b
x0=+1
w0
f(u)
u
x1
w1
x2
w2
y

 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
Funções linearmente separáveis (a) e (b)
48
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
w2 = 0.6
x2
u =  xi wi
w0 = -0.3
Função de
transferência
(ativação)
u
Saída y =(u)
pesos
x0
=1
entradas
x1 x2
0
0
0
1
1
0
u
-0.3
0.3
0.2
y
0
1
1
1
0.8
1
1
a saída é 1 para os padrões 01,
10 e 11, enquanto desejamos que
a saída seja 1 somente para o
padrão 11.
51
Seqüência de passos na aplicação do algoritmo
Inicio
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 
Entrada 1 0
u = 0.1
y = 1 incorreta
Correção dos pesos de 0.1 para baixo 
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 
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.5 w2 = 0.6 w0 = -0.3
w1 = 0.5 w2 = 0.5 w0 = -0.4
w1 = 0.4 w2 = 0.5 w0 = -0.5
w1 = 0.4 w2 = 0.4 w0 = -0.6
w1 = 0.4 w2 = 0.4 w0 = -0.6
52
Resultado do aprendizado
x1
x2
w1
= 0.4
w2 = 0.4
w0 = -0.6
u =  xi wi
Função de
transferência
(ativação)
u
Saída y =(u)
pesos
x0
=1
entradas
53
x2
1.5
1.0 0,1
1,1
0.5
0,0
0.0
1,0
0.5
1.0
x1
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.
x
2
(1,0)
(1,1)
(0,0)
(1,0)
Função xor:
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   e   (d i  yi )
i 1
2
i
2
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óssináptico I, da entrada J, e a é a taxa de aprendizagem.
65
Como wIJ influencia apenas o neurônio I,
E


wIJ wIJ

2
(
d

y
)

(
d

y
)

i
i
I
I
wIJ
i 1
n
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  aei x i
T
b  b  aei
onde:
W  oxm , xi  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
escondida
camada
de saída
77
Rede feedforward de uma única camada
o
 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
processamento
78
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)
(0,0)
(1,0)
Função xor:
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)
( 1,1)
C
1
D
Linha L2
Linha L1
A
(1,0)
( 0,0 )
x1
0
0
x1
B
1
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
ambiente
Sistema de
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,
103
por exemplo: [0,1].
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:
wji t  1  wji t   a   j t  xi t 
Para camada de saída:
 j (t )  f [u j (t )].e j (t )
'
j
Para camada oculta:
q
 j (t )  f [u j (t )]   k (t ).wki 
'
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
Mi 
mi 
.M
F (uMi ) (yi - ri)
.m
F
// retro-propagação das sensibilidades
(umi ) (Wm+1)Tm+1
, m = M-1, …, 2,1
i
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 )
end // for
MSE  1/N. sum(Ti)
t  t+1
end // while
end // procedure
// cálculo do erro para o padrão i
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
entrada
Camada de
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
entrada
Camada de
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
entrada
Camada de
saída
113
A camada de saída calcula
Fase forward
os valores de saída da rede.
Camadas intermediárias
Camada de
entrada
Camada de
saída
114
Fase backward
Camadas intermediárias
Camada de
entrada
Camada de
saída
115
Fase backward
A camada de saída
calcula o erro da rede: j
Camadas intermediárias
Camada de
entrada
Camada de
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
entrada
Camada de
saída
Erro (j)
117
Fase backward
Envia o erro para a
última camada oculta
Camadas intermediárias
Camada de
entrada
Camada de
saída
Erro (j)
118
A camada oculta calcula o seu erro
Fase backward
j = f’(uj).  kwlk
Camadas intermediárias
Camada de
entrada
Camada de
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
entrada
Camada de
saída
Erro (j)
120
A camada oculta calcula o seu erro
Fase backward
j = f’(uj). kwlk
Camadas intermediárias
Camada de
entrada
Erro (j)
Camada de
saída
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
entrada
Erro (j)
Camada de
saída
122
Cada unidade atualiza seus pesos
Fase backward
wij(novo) = wij(velho) + Dwjk
Camadas intermediárias
Camada de
entrada
Camada de
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
entrada
Camada de
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
Séries temporais
valor
alvo
janela
Entradas
da rede =
n valores
passados
Ex: 5 valores
passados
Saída
Desejada =
valor da série
k passos à
frente
tempo
Definição da
janela de entrada
Definição da
janela de saída
Ex: valor um
passo à frente
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
Saída da rede:
Valor previsto
um passo à frente
Ajuste dos pesos
a partir do erro
Erro=alvo previsto
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
janela
previsto
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
24 horas antes
Valor previsto
da carga
Codificação
Binária da hora
Da previsão
159
Gráficos Comparativos
Março/93
168 horas a frente
01/08/93
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
Naturais
Incrementais
Chuva
Média de
Thiessen
Chuva
Prevista
Vt
...
Vt-6
ChTt
...
ChTt-6
.
.
.
Vazão Prevista
V t+1
ChETA
t
...
ChETAt-10
Postos
Fluviométricos
P1
...
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
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%
COMMITTEE
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
Impressão Digital
Camada de
Entrada
Camada
Oculta
Camada de
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
Download

Introdução as Redes Neurais Artificiais (2006)