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

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

AULA 05 Multilayer perceptron (continuação). Os algoritmos de treinamento de perceptrons multicamadas podem ser classificados nos seguintes itens: Primeira.

Apresentações semelhantes


Apresentação em tema: "AULA 05 Multilayer perceptron (continuação). Os algoritmos de treinamento de perceptrons multicamadas podem ser classificados nos seguintes itens: Primeira."— Transcrição da apresentação:

1 AULA 05 Multilayer perceptron (continuação)

2 Os algoritmos de treinamento de perceptrons multicamadas podem ser classificados nos seguintes itens: Primeira classe: algoritmos que não requerem derivação, apenas avaliação da função em diferentes pontos do espaço. São chamados métodos sem diferenciação. Segunda classe: faz uso da derivada primeira a ser minimizada. São chamados métodos de primeira ordem. A terceira classe de algoritmos são os métodos de segunda ordem, e utilizam informações sobre a derivada segunda. Uma outra classe consiste no ajuste de pesos usando método de tentativas e erros, e é denominado método empírico. CLASSES DOS ALGORITMOS DE TREINAMENTO

3 BE-Busca Exaustiva GA-Genetic Algorithms SA-Simulated Annealing BP –BackPropagation GRAD- Gradiente GC-Gradiente Conjugado QN-Quasi Newton DFP-Davidon-Fletcher-Powell BFGS-Broyden-Fletcher-Goldfarb-Shanno LM- Levenberg-Marquardt OSS- One Step Secant SCG-Scaled CG FR-Fletcher-Reeves PR-Polak-Ribiére

4 Algoritmo de primeira ordem: gradiente Dado o gradiente da soma dos quadrados dos erros por: a direção de maior decrescimento é dada por e o ajuste do peso é dado por:

5 Algoritmos de segunda ordem A série de Taylor de uma função f: R R na vizinhança do ponto x = x* é dada por: Exemplo:

6 A função custo ao redor de um ponto w* é dada por: onde grad( ) = é o gradiente de, e é a matriz Hessiana de, também denotada por H(w).

7 Vizinhança de w* (ponto de mínimo erro) Na vizinhança de w*, se aproxima de uma função quadrática. Os contornos correspondentes a um erro constante são elipses cujos eixos são alinhados com os autovetores u 1 e u 2 da matriz Hessiana, com comprimentos inversamente proporcionais à raiz quadrada dos autovalores correspondentes.

8 Uma forma quadrática é chamada positiva se para qualquer e uma matriz simétrica A é chamada positiva se é uma forma quadrática positiva. w1 w2 O traço (interseção) no plano w 1 w 2 é um ponto (origem) e os traços nos planos paralelos e acima do plano w 1 w 2 são elipses.

9 Cálculo da matriz hessiana Seja a função custo da rede dada por A primeira derivada é dada por: onde Para a obtenção da derivada segunda aplica-se a regra do produto: (uv)= uv + uv)

10 Exemplo de cálculo da matriz hessiana

11 Exemplo de cálculo da hessiana (cont.)

12 Resultado final A matriz H é simétrica portanto os valores da parte triangular superior são iguais aos valores da parte triangular inferior.

13 Podendo usar para o cálculo de : Método de Newton. OBSERVAÇÃO: na prática usa-se métodos próximos ao de Newton, para evitar o uso da matriz hessiana que necessita de uma quantidade grande de cálculos. O método de Newton usa a equação do gradiente expandido em série de Taylor Se w + w é um ponto de mínimo, o gradiente será nulo, e desprezando os termos de ordem superior, resulta em

14 Exemplo: método de Newton

15 Exemplo Newton (cont.) Seja o ponto inicial w(0)=(1,1)

16 Exemplo Newton (cont.) Em w(1) =(-1/6,-1/4 )

17 Método do gradiente conjugado (ou direção conjugada) Seja a forma quadrática onde é um vetor de parâmetros Wx1, A é uma matriz WxW, simétrica, definida positivamente, e b é um vetor Wx1 e c é um escalar. A minimização de é obtida atribuindo a o valor

18 Método do gradiente conjugado (cont.) Dada a matriz A, diz-se que um conjunto de vetores não-nulos s(0), s(1),... s(W-1) é conjugado de A (i.é, não interferem entre si no contexto da matriz A) se a seguinte condição for satisfeita: Exemplo: os dois vetores mostrados na Figura (a) são conjugados pois feita a trans- formação resulta em vetores perpendiculares (Figura (b)). (a)(b)

19 Método de gradiente conjugado (cont.) Para um dado conjunto de vetores conjugados de A, s(0), s(1)... s(W-1), o ajuste dos pesos é definido por: onde w(0) é um vetor inicial arbitrário e (n) é um escalar definido para minimizar a função f(w(n)+ (n)s(n)), e é referido como busca em linha.

20 Exemplo: gradiente conjugado Começando do ponto (0,0) ao longo do eixo w 1, isto é, na direção (1,0), procuramos a direção conjugada de (1, 0), denotada por (u,v). portanto um vetor que representa o gradiente conjugado é (1, -1).

21 Exemplo: Gradiente conjugado (cont.) na direção (1, 0) a função torna-se: e tem um mínimo em (4, 0). Iniciando desse mínimo (4, 0) ao longo da direção dada pelo conjugado (1, -1), ou seja, ao longo da reta a função pode ser escrita para w 1 que tem um mínimo em w 1 = 13/3 e w 2 = -1/3

22 Resumo do Algoritmo de Gradiente Conjugado 1.Iniciar os valores de w(0) 2.Para w(0) usar o back-propagation para computar o gradiente g(0). 3.Fazer s(0)=r(0)=-g(0) 4.No passo n, usar a busca em linha para encontrar (n) que minimiza. 5.Testar se a norma euclidiana do residual r(n) caiu num valor abaixo do especificado, ou seja numa pequena fração do valor inicial r(0). 6.Atualizar o vetor peso: 7.Para w(n+1) usar back-propagation para computar o vetor gradiente g(n+1) 8.Fazer r(n+1) = - g(n+1) 9.Usar o método de Polak-Ribiére para calcular 10.Atualizar a direção conjugada 11.Fazer n = n + 1 e ir para o passo 4.

23 Método de Levenberg-Marquardt (LM) Neste método considerando a soma dos quadrados na forma: o cálculo de um elemento da matriz Hessiana fica Calculando-se esse elemento sem o segundo termo do somatório, obtem-se o método de Levenberg-Marquardt. onde n corresponde ao n–ésimo padrão de treinamento.

24 Aplicação de LM no exemplo HessianaLM

25 Métodos disponíveis no NN toobox (MATLAB) Sigla algoritmo método GD traingdGradient Descent GDM traingdm Gradient Descent with Momentum GDA traingda Gradient Descent with Adaptive Learning Rate LM trainlm Levenberg-Marquardt BFG trainbfgBFGS Quasi-Newton RP trainrp Resilient Backpropagation SCG trainscgScaled Conjugate Gradient CGB traincgbConjugate Gradient with Powell/Beale Restarts CGF traincgfFletcher-Powell Conjugate Gradient CGP traincgpPolak-Ribiére Conjugate Gradient OSS trainossOne Step Secant GDX traingdxVariable Learning Rate Backprogagation

26 Parâmetros: epochs, show, goal, time, min_grad, max_fail, lr lr – learning rate – se lr for muito grande o algoritmo se torna instável. se o lr for muito pequeno, o algoritmo leva muito tempo para convergir O estado do treinamento é mostrado a cada iteração (show). Se show for NaN, nunca é mostrado. Os outros parâmetros determinam a parada do treinamento. O treinamento pára se o número de iterações exceder epochs, se a função custo cair abaixo do goal, se a magnitude do gradiente for menor que min_grad, ou se o tempo de treinamento é maior que o tempo (time) em segundos. O parâmetro max_fail é associado à técnica de parada antecipada, para melhorar a capacidade de generalização da rede. Como usar o NN toolbox para :

27 criar um conjunto de treinamento de entradas p e alvo t (saída desejada) criar uma rede feedforward (a função minmax é usada para determinar o intervalo das entradas a ser usado): alterar alguns parâmetros default de treinamento treinar a rede executar a simulação com os dados de entrada de treinamento Como usar o NN toolbox para:

28 MLP normalmente usa função sigmóide. Essas funções se caracterizam pelo fato da derivada para argumentos grandes ser muito pequena. Isso causa morosidade na velocidade de convergência quando os argumentos são grandes e ainda a rede estiver longe de valores ótimos. Rprop (resilient backpropagation) elimina esse efeito. Somente o sinal da derivada é usado para determinar a direção da atualização do peso. A quantidade da atualização é determinado de outra forma. O valor da atualização para pesos e bias é incrementado de um fator delt_inc sempre que a derivada for na mesma direção para duas iterações sucessivas. O valor da atualização é decrementado por um fator delt_dec sempre que a derivada muda de sinal em relação a iteração anterior. Sempre que os pesos estiverem oscilando a mudança nos pesos é reduzida. Se a derivada é zero, o valor da atualização permanece o mesmo.

29 Todos os algoritmos de gradiente conjugado iniciam a busca na direção descida íngreme (negativo do gradiente) para a primeira iteração. Uma pesquisa nessa direção é então realizada para determinar a distância ótima para mover ao longo da direção atual. Então a próxima direção é determinada tal que ela seja conjugada da direção prévia. O procedimento geral para determinar uma nova direção é combinar a nova direção de descida íngreme com a direção prévia. As várias versões de algoritmos de gradiente conjugado são diferentes na maneira em que k é computado. Para Fletcher-Reeves é usada a equação: Essa é a razão do quadrado da norma do gradiente atual em relação ao quadrado da norma do gradiente anterior. Gradiente conjugado :

30 A direção de pesquisa a cada iteração é determinada, como no anterior, por porém a constante k é computada por que é o produto interno da mudança anterior no gradiente com o gradiente corrente dividido pelo quadrado da norma do grandiente anterior. Gradiente conjugado:

31 Para todos os algoritmos de gradiente conjugado, a direção de pesquisa é periodicamente reiniciado (reset) para o negativo do gradiente. O ponto de reset padrão ocorre quando o número de iterações é igual ao número de parâmetros (pesos e bias) da rede, mas existem outros métodos que podem melhorar a eficiência do treinamento. Um método proposto por Powell, baseado numa versão anterior proposto por Beale, reinicia a direção se existe muito pouca ortogonalidade entre o gradiente atual e o gradiente prévio. Isso é testado pela seguinte inequação: Se essa condição é satisfeita, a direção de pesquisa é reiniciada para o negativo do gradiente.

32 Gradiente conjugado: Cada um dos algoritmos anteriores requerem uma pesquisa na direção a cada iteração. Essa pesquisa é computacionalmente onerosa, pois requer que sejam computadas a resposta da rede para todas as entradas de treinamento, várias vezes para cada pesquisa. O algoritmo de gradiente conjugado escalado, desenvolvido por Moller, foi projetado para evitar esse consumo de tempo. Esse algoritmo combina uma abordagem de modelo de região de confiança (model trust) usado no algoritmo de Levenberg-Marquardt, com a técnica do gradiente conjugado.

33 O método de Newton é uma alternativa para os métodos de gradiente conjugado para otimização rápida. O passo básico do método é O método quase sempre converge mais rápido que os métodos de gradiente conjugado. Infelizmente, é complexo e oneroso computar a matriz hessiana. Existe uma classe de algoritmos que é baseada no método de Newton, mas não requer o cálculo de derivadas segundas, que são chamados de métodos quasi-Newton ou secante. Eles atualizam uma matriz aproximada da hessiana a cada iteração do algoritmo. A atualização é computada como uma função do gradiente. O método quasi-Newton que tem sido mais bem sucedido em estudos publicados é o de Broyden, Fletcher, Goldfarb, e Shanno (BFGS).

34 Como o algoritmo BFGS requer mais armazenamento e computação em cada iteração que os algoritmos de gradiente conjugado, existe uma necessidade de uma aproximação secante com menor armazenamento e computação. O método de secante em um passo (one step secant) é uma tentativa intermediária entre os algoritmos de gradiente conjugado e os algoritmos quasi-Newton. Esse algoritmo não armazena a matriz hessiana completa. Ele assume que a cada iteração, a Hessiana anterior é uma matriz identidade. Existe uma vantagem adicional de que a nova direção de pesquisa seja calculada sem computar a matriz inversa.

35 Exemplos comparativos

36 SENO – aproximação de um período da função seno (1-5-1) Problema de aproximação de função. Rede 1 – 5 – 1, funções tansig para camadas escondidas e linear para camada de saída. Cada entrada na tabela representa 30 tentativas diferentes, com diferentes valores de pesos iniciais. Parada com erro quadrático = O algoritmo mais rápido é o Levenberg-Marquardt, na média 4 vezes mais rápido que o próximo. Esse é o tipo de problema que o algoritmo LM é adequado – problema de aproximação de função, onde a rede tem menos que 100 pesos e a aproximação deve ser com muita precisão.

37 SENO – aproximação de um período da função seno (1-5-1) AlgoritmoTemp médio (s) RazãoTempo mínimo(s) Tempo máximo(s) Desvio padrão(s) LM BFG RP SCG CGB CGF CGP OSS GDX

38 Mse x tempo de convergência

39 Tempo em função da meta (mse)

40 Detecção de paridade de um número de 3 bits ( ) Problema de reconhecimento de padrões – detectar paridade de um número de 3 bits. Se o número de uns é impar a saída deve ser 1, caso contrário, -1. Rede , com tansig em todas as camadas. Cada entrada na tabela representa 30 diferentes tentativas, com diferentes valores iniciais de pesos. Parada a erro quadrático = O algoritmo mais rápido é o Resilient Backpropagation (Rprop). Nota-se que o algoritmo LM não tem bom desempenho neste problema. Em geral LM não desempenha tão bem em reconhecimento de padrões como em problemas de aproximação. O LM é projetado para problemas de mínimos quadrados que são aproximadamente lineares. Como os neurônios de saída em problemas de reconhecimento de padrões são geralmente saturados, não operam na região linear.

41 Detecção de paridade de um número de 3 bits ( ) AlgoritmoTemp médio (s) RazãoTempo mínimo(s) Tempo máximo(s) Desvio padrão(s) RP SCG CGP CGB CGF OSS LM BFG GDX

42 Mse x tempo de convergência

43 Tempo em função da meta (mse)

44 Operação de um motor (entrada = velocidade e nível queima de combustível; saída= torque e emissão) (2-30-2) Problema de regressão não-linear. Os dados são obtidos de operação de um motor. As entradas são a velocidade e o consumo de combustível, enquanto que as saídas são o torque e o nível de emissão. A rede usada é de com neurônios tansig na camada escondida e linear na camada de saída. Cada entrada na tabela representa 30 tentativas (10 par RP e GDX por restrições de tempo), com diferentes pesos iniciais. Parada com erro quadrático menor que O mais rápido é o LM, embora o BFGS e os gradientes conjugados (scaled em particular) são quase tanto quanto. Embora esse problema seja de aproximação de função, o LM não é claramente superior como no caso do SENO. Neste caso, o número de pesos e bias na rede é maior (152 x 16), e as vantagens do LM decresce com o Aumento do número de parâmetros.

45 Operação de um motor (entrada = velocidade e nível queima de combustível; saída= torque e emissão) (2-30-2) AlgoritmoTemp médio (s) RazãoTempo mínimo(s) Tempo máximo(s) Desvio padrão(s) LM BFG SCG CGF CGB CGP OSS RP GDX

46 Mse x tempo de convergência

47 Tempo em função da meta (mse)

48 CÂNCER – Classificação de tumor benigno ou maligno baseada nas descrições obtidas através de dados microscópicos. ( ) Reconhecimento de padrões (ou análise de discriminantes não-lineares). Objetivo é classificar um tumor como benigno ou maligno baseado em descrições celulares obtidas de exames microscópicos. Os atributos de entrada incluem espessura da amostra, uniformidade do tamanho da célula e formato, quantidade de adesão marginal, e frequência de núcleos descobertos. Os dados foram obtidos de: University of Wisconsin Hospitals. A rede é de com neurônios tansig em todas as camadas. Cada entrada na tabela representa 30 tentativas, com pesos iniciais distintos. O critério de parada é de erro quadrático menor que Alguns treinamentos falharam na convergência, tal que somente os 75% dos treinamentos de cada algoritmo foram usados para estatística. Os algoritmos de gradiente conjugado e Rprop apresentam convergência rápida e o algoritmo LM é também razoavelmente rápido. Como no caso de PARIDADE, o algoritmo LM não desempenha tão bem em problemas de reconhecimento de padrões, como em problemas de aproximação de funções.

49 CÂNCER – Classificação de tumor benigno ou maligno baseada nas descrições obtidas através de dados microscópicos. ( ) AlgoritmoTemp médio (s) RazãoTempo mínimo(s) Tempo máximo(s) Desvio padrão(s) CGB RP SCG CGP CGF LM BFG GDX OSS

50 mse x tempo de convergência

51 Tempo em função da meta (mse)

52 COLESTEROL- predizer o nível de colesterol (LDL,HDL,VLDL) Aproximação de função (ou regressão não-linear). O objetivo da rede é predizer os níveis de colesterol baseados em medidas de 21 componentes espectrais. Os dados foram obtidos de Oklahoma State University. Rede de neurônios com ativação tansig na camada escondida e linear na camada de saída. Cada entrada na tabela representa 20 tentativas (10 para RP e GDX), onde diferentes pesos iniciais são usados. O critério de parada é de erro quadrático menor que O algoritmo de gradiente conjugado escalado tem o melhor desempenho, embora todos os outros algoritmos de gradiente conjugado desempenham bem. O algoritmo LM não desempenha em como no problema de aproximação de função. Isso porque o número de pesos e bias na rede aumentou (378 versus 152 versus 16). Quando o número de parâmetros aumenta, a computação requerida para o LM aumenta geometricamente.

53 COLESTEROL- predizer o nível de colesterol (LDL,HDL,VLDL) baseado na medida de 21 componentes espectrais. ( ) AlgoritmoTemp médio (s) RazãoTempo mínimo(s) Tempo máximo(s) Desvio padrão(s) SCG CGP CGB CGF LM OSS BFG BP GDX

54 Mse x tempo de convergência

55 Tempo em função da meta (mse)

56 DIABETES – verificar se um individuo tem diabetes baseado nos dados (idade, número gravidez, pressão sanguínea, índice de massa corpórea, glicemia, etc.) ( ) Problema de reconhecimento de padrões. Decidir se um indivíduo é diabético, baseado nos dados pessoais (idade, número de gravidez) e resultados de exames médicos ( pressão sanguínea, índice de massa corpórea, resultado do teste de tolerância a glicose, etc.). Os dados foram obtidos da University of California, Irvine, machine learning data base. A rede é de com neurônios tansig em todas as camadas. Cada entrada na tabela representa 10 tentativas, com diferentes pesos iniciais. O critério de parada é de erro quadrático menor que Os algoritmos de gradiente conjugado e Rprop todos proveem convergência rápida. O algoritmo RProp funciona bem em todos os problemas de reconhecimento de padrões. Isso é razoável, pois ele foi projetado para superar as dificuldades causadas pelo treinamento com funções sigmóides, que tem pequena inclinação quando o argumento é distante do centro. Para problemas de reconhecimento de padrões, são usadas funções sigmóides na camada de saída, e a rede opera nas extremidades das funções.

57 DIABETES – verificar se um individuo tem diabetes baseado nos dados (idade, número gravidez, pressão sanguínea, índice de massa corpórea, glicemia, etc.) ( ) AlgoritmoTemp médio (s) RazãoTempo mínimo(s) Tempo máximo(s) Desvio padrão(s) RP SCG CGB CGP OSS CGF LM BFG GDX

58 Mse x Tempo de convergência

59 Tempo em função da meta (mse)


Carregar ppt "AULA 05 Multilayer perceptron (continuação). Os algoritmos de treinamento de perceptrons multicamadas podem ser classificados nos seguintes itens: Primeira."

Apresentações semelhantes


Anúncios Google