Escolar Documentos
Profissional Documentos
Cultura Documentos
1° Semestre de 2015
Cleber Zanchettin
UFPE - Universidade Federal de Pernambuco
CIn - Centro de Informática
1
O problema do aprendizado
2
Componentes do aprendizado
Aprovar crédito?
Learning From Data, Prof. Yaser Abu-Mostafa
3
Componentes do aprendizado
4
Componentes do aprendizado
5
Componentes da solução
6
Learning From Data, Prof. Yaser Abu-Mostafa
7
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:
8
Exemplo x2
Linha: 2 x1 + 3 x2 = 6
Acima: 2 x1 + 3 x2 > 6 q=6
Abaixo: 2 x1 + 3 x2 < 6
9
Exemplo
X1 Class
0 +1 Class +1
Class -1
1 +1
2 -1 0 1 2 3 4
3 -1
10
Exemplo
X1 Class
0 +1 Class +1
Class -1
1 -1
2 -1 0 1 2 3 4
3 +1
11
Exemplo: Reconhecimento de moedas
12
Learning From Data, Prof. Yaser Abu-Mostafa
13
Learning From Data, Prof. Yaser Abu-Mostafa
14
Learning From Data, Prof. Yaser Abu-Mostafa
15
* Bias data?
Learning From Data, Prof. Yaser Abu-Mostafa
16
Introdução às Redes Neurais Artificiais
1° Semestre de 2015
Cleber Zanchettin
UFPE - Universidade Federal de Pernambuco
CIn - Centro de Informática
17
O que é uma Rede Neural ?
18
O que é uma Rede Neural ?
19
Inspiração Biológica
Sinais eletroquímicos
Limiar de disparo
Terminal Branches
Dendrites
of Axon
Axon
20
Inspiração Biológica
21
Inspiração Biológica
22
Inspiração Biológica
23
Inspiração Biológica
24
O Perceptron
Terminal Branches
Dendrites
of Axon
x1
w1
x2
w2
x3 w3
S
Axon
wn
xn
25
Motivações
No processo de aprendizado através de exemplos, as
redes neurais artificiais exibem uma outra característica
muito interessante: 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 solução semelhante.
De forma análoga, os seres humanos tendem a aplicar os
conhecimentos anteriores para lidar com novos
problemas.
26
Motivações
27
Potenciais áreas de aplicação
Classificação de padrões
Clustering/categorização
Aproximação de funções
Previsão
Otimização
Memória endereçável pelo conteúdo
Controle
etc...
28
Processo de aprendizagem
29
Processo de aprendizagem
30
Aprendizado de Máquina
Processos de Aprendizado
Algoritmos de Aprendizado
Paradigmas de Aprendizado
31
Paradigmas de Aprendizagem
http://www.dee.ufc.br/~arthurp
32
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 S
-
Sinal de erro
33
Exemplo: Reconhecimento de moedas
34
Não-supervisionado
Neste caso nao 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
35
36
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 crítico
deles.
No aprendizado supervisionado, a medida de reforço/
desempenho é baseada no conjunto de penalidade
respostas desejadas usando um critério de erro
conhecido, enquanto que no aprendizado por
reforço a única informação fornecida à rede é se RNA
uma determinada saída está correta ou não. resposta
37
38
Aprendizagem por correção de erro
Vetor de
Uma ou mais
entrada x(n) Neurônio de yk(n) dk(n)
camadas de
saída S
neurônios
k - +
escondidos
ek(n)
39
Aprendizagem por correção de erro
Vetor de
Uma ou mais
entrada x(n) Neurônio de yk(n) dk(n)
camadas de
saída S
neurônios
k - +
escondidos
ek(n)
http://www.dee.ufc.br/~arthurp
40
Aprendizagem baseada em memória
As experiências são armazenadas em uma grande memória de exemplos
de entrada-saída classificados corretamente:
{(xi,di)} i = 1...n,
onde xi representa um vetor de entrada e di representa a resposta
desejada correspondente.
41
Aprendizagem Hebiana
Dwij (t ) y i (t ) x j (t )
que significa que a mudança do peso sináptico Dwij(t) é
proporcional ao valor do neurônio pós-sináptico yi(t) e ao valor
do neurônio pré-sinático xj(t) multiplicado pelo fator de
aprendizado .
42
Redes Multi-Layer Perceptron - BP
1° Semestre de 2015
Cleber Zanchettin
UFPE - Universidade Federal de Pernambuco
CIn - Centro de Informática
44
Motivação
Perceptron de duas entradas e um bias
w0=b f(u)
x0=+1 w0
u y
x1 w1 S
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
45
O papel do bias
46
O papel do bias
Exemplo
– Suponha uma rede neural cuja função de ativação é a step
bipolar, isto é, f(u) = 1, se u ≥ θ e f(u) = -1, caso contrário.
47
O papel do bias
48
Voltando ao Perceptron
Perceptron de duas entradas e um bias
w0=b f(u)
x0=+1 w0
u y
x1 w1 S
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
49
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:
50
Problema do XOR (ou-exclusivo)
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
51
Problema do XOR (ou-exclusivo)
Nenhuma combinação linear ou linha reta pode ser traçada tal que as
entradas (0, 0) e (1, 1) fiquem numa categoria e (0, 1) e (1, 0) numa outra
categoria, conforme demonstração:
Algebricamente tem-se:
w1 .1 w2 .1 q
o que significa que (1,1) estaria no mesmo lado da linha L1, o que é
indesejável.
52
Perceptrons Multicamadas
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.
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
53
Separação linear para XOR de duas camadas
1
x1 x1 OR x2
y D
AND Linha L2
NOT
x2 x1 AND x2
A Linha L1
( 0,0 ) (1,0) x1
0
B 1
0
54
Redes Multi-Layer Perceptron
55
Redes Multi-Layer Perceptron
Este algoritmo consiste basicamente dos passos:
Sinal (forward)
Erro (backward)
56
Características da rede
x1
y1 propagação
do sinal
x2
y0
xm
camada camada
de primeira segunda de propagação
do erro
entrada camada camada saída
escondida escondida
57
Treinamento de redes MLP
– Estáticos
• Não alteram estrutura da rede
• Backpropagation, Função de Base Radial
– Construtivos
• Alteram estrutura da rede
• Upstar, Cascade Correlation
58
Treinamento de redes MLP
Treinamento estático
– MLPs com formatos e tamanhos diferentes podem
utilizar mesma regra de aprendizado
• Topologias diferentes podem resolver o mesmo problema
59
Backpropagation
60
Backpropagation
61
Treinamento
A generalização da regra delta de Widrow &Hoff é usada para
ajustar os pesos e bias da rede de forma a minimizar o erro entre a
saída da rede e a saída desejada.
(t ) (t )
w (t 1) w (t )
m
ij
m
ij , bi (t 1) bi (t )
m m
wij
m
bim
62
Treinamento
E (erro de treinamento)
dE
>0
dE <0 dw
dw
w0 w0 w
Dw > 0 Dw < 0
63
Cálculo da saída
64
Algoritmo MLP-BP
65
Backpropagation - Resumindo
w é de um nodo de saída:
x
= ( d – y ) f ’(net)
w
Saída desejada
f
y
net
= S wi xi
Dw = x
66
Backpropagation - Resumindo
Dw j i j (t ) xi (t )
(d j y j ) f ' (net j ), se for nodo de saída
onde j (t )
( l wl j ) f ' (net j ), caso contrário
l
Dw1 = 1 x1
67
Exemplos de função de ativação
68
Exemplos de função de ativação
69
Exemplos de função de ativação
Vantagens:
(1) Derivadas fáceis de calcular.
(2) Não-linearidade fraca (trecho central é quase linear)
(3) Interpretação da saída como taxa média de disparo
(mean firing rate), em vez de simplesmente indicar se o
neurônio está ou não ativado (ON-OFF).
Desvantagens:
(1) Elevado custo computacional para implementação em
sistemas embarcados devido à presença da função EXP.
70
Ilustração gráfica
.
F1
.
F2
.
F3
(W 2)T (W 3)T
2 3 (y - s)
1 2 3
Retro-propagação das sensibilidades
71
Classes dos algoritmos de treinamento
72
73
Radial-Basis Function Networks
Motivação Biologica:
RBF’s representam receptores locais:
74
Arquitetura
Camanda de x1
entrada: nodos que w1
1
conectam a rede ao x2
ambiente. y
wm1
m1
xm
75
Aproximação de funções 1-D
76
Aproximação de funções 2-D
77
Comparação com as Redes MLP
78
Support Vector Machines - SVM
Considere um conjunto de n pontos xi (i=1,…,n) pertencentes
a duas classes {+1, -1} linearmente separáveis
yi = +1
yi = -1
79
Um classificador pode ser construído a partir de um
hiperplano de separação x.w + b = 0
x.w + b = 0
Se xi.w + b > 0
Então yi = +1
Se xi.w + b < 0
Então yi = -1
yi = +1
Ou yi = sign(xi.w + b)
yi = -1
80
Existem infinitos hiperplanos que separam dois conjuntos de
pontos linearmente separáveis. Assim, qual o melhor?
h2 h1
yi = +1 h3
yi = -1
81
Hiperplano ótimo é equidistante às classes e maximiza a
margem de separação (2d)
xw+b = 0
82
Comparação
83
Pontos mais próximos do hiperplano ótimo são chamados
de vetores suporte
xw+b = 0
84
xw + b = +1
xw+b = 0
d
xw + b = - 1
85
SVM Não-Linear
Φ( ) Φ( )
Φ( ) Φ( )
Φ( )
Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( )
Φ( )
86
SVM Não-Linear
x2
x2
x1 x1
87
Exemplo
X1 Class
0 +1 Class +1
Class -1
1 -1
2 -1 0 1 2 3 4
3 +1
88
Exemplo
X1 Class
0 +1 Class +1
Class -1
1 -1
2 -1 0 1 2 3 4
3 +1
89
Exemplo
0 0 +1 10
8
1 1 -1
6
2 4 -1
4
3 9 +1 2
0
0 1 2 3 4
Φ(X1) = (X1, X12)
Esta função torna o problema bidimensional e os dados
linearmente separáveis
90
Exemplo
X1 X12 Class
w ⋅ x + b = +1 0 0 +1
w1x1 + w2x2 + b = +1
1 1 -1
0w1 + 0w2 + b = +1 b=1
3w1 + 9w2 + b = +1 2 4 -1
w ⋅ x + b = -1 3 9 +1
w1x1 + w2x2 + b = -1 substituindo b e após w1
1w1 + 1w2 + b = -1 w1 = -2 - w2
2w1 + 4w2 + b = -1 -4 -2w2 + 4w2 + 1 = -1
w⋅x+b=0 w2 =1 e w1 = -3
w1x1 + w2x2 + b = 0 -3x1 + x2 + 1 = 0
91
Exemplo
H: -3x1 + x2 + 1 = 0 Class +1
Class -1
Dados de Teste (1.5), (-1), (4)
-1 0 1 2 3 4
(1.5) mapear para (1.5, 2.25)
-3 . 1.5 + 2.25 + 1 = - 1.15 [-1] Class +1
Class -1
10
(-1) mapear para (-1,1)
8
-3 . -1 + 1 + 1 = 5 [+1]
6
4
(4) mapear para (4,16)
2
-3 . 4 + 16 + 1 = 5 [+1]
0
0 1 2 3 4
92
Problema
93
Demo
MLP
Applet: http://lcn.epfl.ch/tutorial/english/mlp/html/index.html
http://freeisms.com/MLPAppletItself.html
RBF
Applet: http://lcn.epfl.ch/tutorial/english/rbf/html/index.html
http://www.cvlibs.net/projects/gausspro.html
SVM
Applet: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
http://www.cs.jhu.edu/~jason/tutorials/SVMApplet/
Vários classificadores
Applet: http://www.cs.technion.ac.il/~rani/LocBoost/
94
Toy problems
95
Aplicação prática
96
Problema Abordado
97
Problema Abordado
98
Pré-processamento
( x xmin )
xnorm
( xmax xmin )
99
Pré-processamento
100
Pré-processamento
101
Particionamento dos Dados
102
Particionamento dos Dados
– Pode ser que as classes com mais padrões sejam “muito mais
aprendidas” do que as outras.
103
Particionamento dos Dados
Exemplo:
1 234 345 456 567 678 789 1 0.12 0.23 0.34 0.45 0.56 0.67 0 1
Classe A Classe A
100 Normaliza e 100
1 987 876 765 654 543 432 acrescenta 1 0.87 0.76 0.65 0.54 0.43 0.32 1 0
saídas
Classe B Classe B
100 100
104
Particionamento dos Dados
105
Particionamento dos Dados
106
Definição da Topologia MLP
– Aspectos de treinamento:
• Nº de nodos de saída:
– Em problemas de classificação, é a quantidade de classes.
» Regra de classificação winner-takes-all: o nodo de saída
que gerar a maior saída define a classe do padrão.
– Em problemas de aproximação, é a quantidade de variáveis de
saída.
107
Definição da Topologia MLP
Conjunto de
treinamento
108
Definição da Topologia MLP
f1
w1
x1 w5 f3
w3
As funções fi são do tipo
y sigmóide logística.
w2
w6
x2 w4
f2
109
Definição da Topologia MLP
110
Medidas de Erro
– Ex.:
Saídas da rede Saídas desejadas
Padrão 1 ... N 1 ... N
Nodo 1 0.98 ... 0.12 1.00 ... 0.00
Nodo 2 0.02 ... 0.96 0.00 ... 1.00
111
Medidas de Erro
112
Treinamento com Backpropagation
113
Parada por Erro Mínimo de Treinamento
SSE
Parada
Conjunto de
treinamento
Erro mínimo de
treinamento
Iteração
Iteração
114
Parada por Erro Mínimo de
Validação
115
Parâmetros de Treinamento
116
Análise de Resultados
– Serão usadas:
• 3 quantidades de neurônios escondidos,
• 3 taxas de aprendizado,
• 3 quantidades máximas de iterações permitidas.
– Temos um total de 27 configurações a serem testadas.
– Para cada configuração, será realizado um treinamento.
– A melhor configuração a ser escolhida é a de menor erro de validação.
Melhor configuração
117
Análise de Resultados
118
Análise de Resultados
– Matriz de custo
Classe verdadeira
Classe prevista 1 2 3
1 0 2 5
2 1 0 2
3 3 1 0
– Gráficos de desempenho
119
Aspectos do treinamento de redes MLP
120
Atualização local ou por lote.
121
Atualização dos pesos
Momentum
Dwij(t + 1) = xiyj(1 - yj)j + ( wij(t ) - wij(t - 1))
– Aumenta velocidade de aprendizado evitando perigo de
instabilidade
– Pode acelerar treinamento em regiões muito planas da
superfície de erro
– Suprime oscilação de pesos em vales e ravinas
– Normalmente, α é ajustada entre 0,5 e 0,9
122
Momento
Caminho seguido
utilizando momento Solução original de
convergência (lenta)
123
Critérios de parada
124
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 q* o vetor de pesos que denota um ponto mínimo, local ou global.
Uma condição para que q* seja um mínimo é que o gradiente (q ) ,
da função custo, seja zero em q q*.
125
Critérios de parada (cont.)
MSE
Mínimo
local Mínimo
Global
126
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.
127
Arquitetura da rede
A quantidade de neurônios na camada de entrada é dada pelo problema
a ser abordado.
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á sujeita ao sobre-treinamento (overfitting).
128
Arquitetura da rede
129
Unidades intermediárias
130
Unidades intermediárias
131
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.
132
Inicialização dos vetores de pesos e bias
133
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.
134
Inicialização aleatória dos pesos
135
Bibiografia básica
136
Fontes
137