A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DAS MSPO Eduardo Camponogara

Apresentações semelhantes


Apresentação em tema: "DAS MSPO Eduardo Camponogara"— Transcrição da apresentação:

1 DAS-6651 - MSPO Eduardo Camponogara
Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS MSPO Eduardo Camponogara

2 0. Agenda Introdução a Redes Neurais (RNs) Representação
Treinamento de RNs Aplicações Dificuldades/Limitações Perceptron Referências

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

4 1. Introdução a Redes Neurais
O algoritmo de treinamento (de propagação reversa, back-propagation) nada mais é do que uma implementação especializada do algoritmo de descenso. Entrada Saída

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.

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.

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.

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.)

9 1. Rede Neural: Elementos Básicos
Entrada Saída y1 x1 Pesos das sinapses w1 x2 w1 y2 n S=å wixi i =1 f(S) wn xn ym

10 2. Representação de Redes Neurais
Camada de Entrada Camada de Saída x1 x2 xn y1 y2 ym Camadas Intermediárias

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 desejadas D = {(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).

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

13 4. Representação no ALVINN
Esquerda Reto Direita Comandos Rede Neural Imagem de Entrada

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).

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.

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).

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.

18 6. Perceptron x0 = 1 Threshold y1 = o(x) = sign(wTx) å w0 x1
y2= sign(wTx) wn ym = sign(wTx) xn +1 if w0 + w1x wnxn > 0 -1 caso contrário o(x0,...,xn) =

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)?

20 6. Dificuldades de Treinamento
(P) não é diferenciável + + - - + - + + + + + - - - - - Conjunto linearmente separável Conjunto que não pode ser separado linearmente

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).

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 å w0 x1 y = o(x) wn Threshold xn o(x) = sign(wTx)

23 6. Algoritmo de Treinamento
w = [w0, ..., wn] é inicializado randomicamente (tipicamente < wi < 0.5). a ¬ um número correspondendo à taxa de aprendizagem (normalmente, a = 0.01). m ¬ 1 // Temos M exemplos de treinamento Repita Para i = 0, ..., n Dwi = a[ tm - o(xm)]xmi wi = wi + Dwi FimPara m ¬ mod(m, M) +1 FimRepita

24 6. Algoritmo de Treinamento
w = [w0, ..., wn] é inicializado randomicamente (tipicamente < wi < 0.5). a ¬ um número correspondendo à taxa de aprendizagem (normalmente, a = 0.01). m ¬ 1 // Temos M exemplos de treinamento Repita Para i = 0, ..., n Dwi = a[ tm - o(xm)]xmi wi = wi + Dwi FimPara m ¬ mod(m, M) +1 FimRepita O algoritmo converge se o problema é linearmente separável

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

26 6. Treinamento de uma Unidade
x0 = 1 x1 xn y = o(x) wn w0 å o(x) = wTx wTx

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 (P) Minimize E(w) = ½ å [wTxm - tm ]2 E(w) é o erro de predição.

28 6. Derivando o Gradiente de E(w)
¶E ¶ M = { ½ å [wTxm - tm ]2 } ¶w ¶w m=1 M ¶ = å [wTxm - tm ] [wTxm - tm ] m= ¶w1 M = å [wTxm - tm ][xm1 ] m=1

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(a) = E[wk - a ÑE(wk)] a Sujeito à: a ³ 0

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 heed hid who’d hood heard hem F1 (Hz) F2 (Hz) F2 F1

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?

32 6. Redes com Múltiplas Camadas
Uma rede com múltiplas camadas contendo unidades lineares é, também, uma função linear.

33 6. Uma Unidade Diferenciável
s(y) 1 s(y) = 1 /(1 + e-y) y

34 6. Unidade Sigmoide y1 n net =å wixi i =0 x0 = 1 w0 x1 y2 net
y = o(x) = = s(net) = = 1/(1+e-net) å wn xn ym Sigmoide Propriedade da Sigmoide ds(z) = s(z)[1 - s(z)] dz

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

36 7. Referências T. M. Mitchell, Machine Learning, McGraw-Hill, 1997.


Carregar ppt "DAS MSPO Eduardo Camponogara"

Apresentações semelhantes


Anúncios Google