Page1 DAS-5341: Sistemas Especialistas Prof. Eduardo Camponogara.
1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO...
-
Upload
adelino-lencastre-antas -
Category
Documents
-
view
220 -
download
5
Transcript of 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO...
![Page 1: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/1.jpg)
1
Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais
Artificiais
DAS-6651 - MSPOEduardo Camponogara
![Page 2: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/2.jpg)
2
0. Agenda
Introdução a Redes Neurais (RNs) Representação Treinamento de RNs Aplicações Dificuldades/Limitações Perceptron Referências
![Page 3: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/3.jpg)
3
1. Introdução a Redes Neurais
Redes Neurais (RNs) constituem métodos “robustos” de aproximação de funções de valores vetoriais, reais ou discretos.
– No sentido de que tolera erros nos pares de treinamento
Uma rede neural é um aproximador universal (ou melhor, interpolador universal).
Entrada Saída
![Page 4: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/4.jpg)
4
1. Introdução a Redes Neurais
Entrada Saída
O algoritmo de treinamento (de propagação reversa, back-propagation) nada mais é do que uma implementação especializada do algoritmo de descenso.
![Page 5: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/5.jpg)
5
1. Motivação Biológica
Como o próprio nome sugere, redes neurais são inspiradas em sistemas biológicos de aprendizagem que tipicamente consistem de redes complexas de unidades elementares.
![Page 6: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/6.jpg)
6
1. Motivação Biológica
Alguns números interessantes.
– O cérebro humano possui aproximadamente 1011 neurônios, cada um conectado a cerca de 104 neurônios. (100 bilhões de neurônios.)
– O tempo de resposta de um neurônio é aproximadamente 10-3 s, muito mais lento do que um computador (10-10 s, tempo de resposta de uma porta ló gica)
– O tempo de reconhecimento de uma figura é de cerca de 10-1s.
![Page 7: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/7.jpg)
7
1. Especulações
Dado o tempo relativamente lento de resposta do neurônio, em comparação com a velocidade de processamento de informação, podemos concluir que:
– O sistema de aprendizagem biológico é extremamente paralelo e distribuído, todavia não possui um número muito grande de camadas.
![Page 8: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/8.jpg)
8
1. Especulações
Existem incompatibilidades entre redes neurais artificiais e as unidades do sistema biológico de aprendizagem. (A saída de uma unidade artificial é um valor constante, enquanto que as unidades biológicas emitem uma série complexa de sinais.)
![Page 9: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/9.jpg)
9
1. Rede Neural: Elementos Básicos
x1
x2
xn
y1
y2
ym
wn
w1
w1 nS=wixi i =1
f(S)
Pesos das sinapses
Entrada Saída
![Page 10: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/10.jpg)
10
2. Representação de Redes Neurais
x1
x2
xn
y1
y2
ym
Camada de Entrada
Camada de Saída
Camadas Intermediárias
![Page 11: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/11.jpg)
11
3. O Problema de Treinamento
Dados:– Uma rede neural (a sua topologia), ou seja,
um grafo G = (V, E).– Exemplos de treinamento, ou seja, uma lista de pares de
entradas e saídas desejadasD = {(x1,y1), ..., (xK,yK)}
Problema:– Encontrar os pesos das sinapses tal que o erro de estimação
das saídas seja o menor possível (Least Squares Problem).
![Page 12: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/12.jpg)
12
3. O Problema de Treinamento
Representação:Seja f(w,x) a função representada pela rede neural com pesos dados pelo vetor w. Dado x, a rede responde com um valor
y = f(w,x).
Problema: K
Minimize ||f(w,xk) yk||2 w k = 1
![Page 13: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/13.jpg)
13
4. Representação no ALVINN
Imagem de Entrada
Rede Neural
Esquerda DireitaReto Comandos
![Page 14: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/14.jpg)
14
4. Detalhes do ALVINN
O ALVINN utilizou com sucesso o modelo de redes neurais para dirigir um veículo, a uma velocidade de até 100 Km/h, por cerca de 120 Km, em uma freeway.
Mais recentemente, este mesmo sistema dirigiu um veículo na maior parte do tempo, de Pittsburgh (Pennsylvania) até Berkeley (California).
![Page 15: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/15.jpg)
15
5. Problemas Apropriados para RNs
RNs são recomendadas para problemas de aproximação complexos (tipicamente sistemas não-lineares)
– Dados com ruídos, tais como dados provenientes de câmeras e microfones.
![Page 16: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/16.jpg)
16
5. Problemas Apropriados para RNs
As RNs em combinação com o algoritmo de propagação reversa (back-propagation) são adequadas para problemas com as seguintes características:
1) Instâncias que são representadas por pares contendo muitos atributos (múltiplas entradas e múltiplas saídas).
2) O atributo de saída tenha um valor discreto, real ou um vetor de valores. (No ALVINN a saída é um vetor com cerca de 30 saídas, cada uma representando a probabilidade de um comando).
![Page 17: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/17.jpg)
17
5. Problemas Apropriados para RNs
As RNs em combinação com o algoritmo de propagação reversa (back-propagation) são adequadas para problemas com as seguintes características:
3) O treinamento pode ser feito off-line.
4) A avaliação da função deve ser muito rápida, para uso em aplicações de tempo-real.
5) A habilidade de se entender o significado da aproximação não é necessária.
6) Os exemplos de treinamento podem conter erros.
![Page 18: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/18.jpg)
18
6. Perceptron
x0 = 1
x1
xn
y1 = o(x) = sign(wTx)
y2= sign(wTx)
ym = sign(wTx)
wn
w0
Threshold
o(x0,...,xn) =+1 if w0 + w1x1 + ... + wnxn > 0
1 caso contrário
![Page 19: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/19.jpg)
19
6. Treinamento de um Perceptron
Dados um conjunto de exemplos,(x1,t1), ..., (xM,tM)
encontre w tal que o erro de predição seja minimizado. M
(P) Minimize ||sign(wTxm) - tm||2
w m = 1
Quais são os possíveis obstáculos na resolução de (P)?
![Page 20: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/20.jpg)
20
6. Dificuldades de Treinamento
++
+
+
+
+
+
+
Conjunto linearmente separável
Conjunto que não podeser separado linearmente
(P) não é diferenciável
![Page 21: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/21.jpg)
21
6. Capacidade Representacional
O perceptron define um subespaço multidimensional, classificando como positivo os exemplos que estão de um lado e como negativo os demais.
O perceptron pode ser usado para representar as funções lógicas “AND” , “OR”, “NOR” e “NAND”.
IMPORTANTE: Qualquer função booleana pode ser representada por uma rede de perceptrons, que executam as operações acima. (Representação de função booleana na forma normal disjuntiva, i.e., disjunção de cláusulas).
![Page 22: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/22.jpg)
22
6. Treinamento de um Perceptron
O procedimento de treinamento de um perceptron é o elemento básico para desenvolver o procedimento de treinamento de uma rede.
x0 = 1
x1
xn
y = o(x)wn
w0
Threshold
o(x) = sign(wTx)
![Page 23: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/23.jpg)
23
6. Algoritmo de Treinamento
w = [w0, ..., wn] é inicializado randomicamente (tipicamente -0.5 < wi < 0.5).
um número correspondendo à taxa de aprendizagem (normalmente, = 0.01).
m 1 // Temos M exemplos de treinamentoRepita
Para i = 0, ..., nwi = [ tm o(xm)]xm
i
wi = wi + wi
FimParam mod(m, M) +1
FimRepita
![Page 24: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/24.jpg)
24
6. Algoritmo de Treinamento
w = [w0, ..., wn] é inicializado randomicamente (tipicamente -0.5 < wi < 0.5).
um número correspondendo à taxa de aprendizagem (normalmente, = 0.01).
m 1 // Temos M exemplos de treinamentoRepita
Para i = 0, ..., nwi = [ tm o(xm)]xm
i
wi = wi + wi
FimParam mod(m, M) +1
FimRepitaO algoritmo converge se o problema é linearmente separável
![Page 25: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/25.jpg)
25
6. Regra Delta e o Algortimo de Descenso
Lembre-se que o algoritmo de treinamento de perceptrons encontra um vetor de pesos, w, quando os exemplos são linearmente separáveis, mas pode falhar em caso contrário.
A regra delta supera esta dificuldade; o algoritmo converge para a melhor aproximação linear da relação entre entrada e saída.
o(x) = sign(wTx)
o(x) = wTx
![Page 26: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/26.jpg)
26
6. Treinamento de uma Unidade
x0 = 1
x1
xn
y = o(x)
wn
w0
o(x) = wTx
wTx
![Page 27: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/27.jpg)
27
6. O Problema de Treinamento
Dado um conjunto fixo de exemplos (x1, t1), ..., (xM, tM)
Encontre w Rn tal que o erro de predição seja minimizado.
M
(P) Minimize E(w) = ½ [o(xm) - tm ]2
w m = 1
M
(P) Minimize E(w) = ½ [wTxm - tm ]2
w m = 1
E(w) é o erro de predição.
![Page 28: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/28.jpg)
28
6. Derivando o Gradiente de E(w)
E
--- = --- { ½ [wTxm tm ]2 }
w1 w1 m=1
= [wTxm tm
] ---- [wTxm tm ]
m=1 w1
= [wTxm tm ][xm
1 ]
m=1
![Page 29: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/29.jpg)
29
6. O Algoritmo de Descenso
Na iteração k, tem-se a solução candidata wk e deseja-se encontrar outra solução, wk+1, com menor erro de predição.
(P) Minimize f() = E[wk E(wk)] Sujeito à:
0
![Page 30: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/30.jpg)
30
6. Redes com Múltiplas Camadas
Redes com múltiplas camadas podem representar funções não-lineares de elevada complexidade.
head
had
hud
heedhid
who’dhood
heard
hem
F1 (Hz)
F2 (Hz)
F2F1
head hid who’d hood
![Page 31: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/31.jpg)
31
6. Redes com Múltiplas Camadas
A capacidade representacional de uma rede com múltiplas camadas de unidades lineares é superior ao de apenas uma unidade linear?
![Page 32: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/32.jpg)
32
6. Redes com Múltiplas Camadas
Uma rede com múltiplas camadas contendo unidades lineares é, também, uma função linear.
![Page 33: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/33.jpg)
33
6. Uma Unidade Diferenciável
(y)
½
1
y
(y) = 1 /(1 + ey)
![Page 34: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/34.jpg)
34
6. Unidade Sigmoide
x0 = 1
x1
xn
y1
y2
ym
wn
w0
Sigmoide
y = o(x) =
= (net) =
= 1/(1+enet)
Propriedade daSigmoide
net
nnet =wixi i =0
d(z)--- = (z)[1 (z)] dz
![Page 35: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/35.jpg)
35
6. Algoritmo de Propagação Reversa
Dados um grafo representando a rede de múltiplas camadas, e uma lista com exemplos de treinamento(x1, t1), ..., (xM, tM).
O algoritmo de propagação reversa utiliza o algoritmo de descenso com o objetivo de minimizar o erro entre as saídas da rede e os valores desejados. M
(P) Minimize E(w) = [ tmk o(xm)k ]2
w m = 1 k Saída
![Page 36: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara.](https://reader035.fdocument.pub/reader035/viewer/2022062819/570638541a28abb8238fa9bb/html5/thumbnails/36.jpg)
36
7. Referências
T. M. Mitchell, Machine Learning, McGraw-Hill, 1997.