algoritmos de aprendizado - ufsc

38
1 Algoritmos de Aprendizado Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Back Propagation Hopfield Competitive Learning Radial Basis Function Back Propagation Back Propagation Redes de apenas uma camada representam funções linearmente separáveis Redes de múltiplas camadas solucionam essa restrição O desenvolvimento do algoritmo Back Back Propagation Propagation foi um dos motivos para o ressurgimento ressurgimento da área de Redes Redes Neurais Neurais

Upload: others

Post on 15-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos de Aprendizado - UFSC

1

Algoritmos de AprendizadoAlgoritmos de Aprendizado•Regra de Hebb•Perceptron•Delta Rule (Least Mean Square)•Back Propagation•Hopfield•Competitive Learning•Radial Basis Function

Back PropagationBack Propagation

• Redes de apenas uma camada só representam funções linearmente separáveis

• Redes de múltiplas camadassolucionam essa restrição

• O desenvolvimento do algoritmo Back Back PropagationPropagation foi um dos motivos para o ressurgimentoressurgimento da área de Redes Redes NeuraisNeurais

Page 2: Algoritmos de Aprendizado - UFSC

2

Back PropagationBack Propagation

• O grande desafiodesafio foi achar um algoritmo de aprendizado para a atualização dos atualização dos pesospesos das camadas intermediárias.

• Idéia Central:– Os erroserros dos elementos processadores da

camada de saídacamada de saída (conhecidos pelo treinamento treinamento supervisionadosupervisionado) são retroretro--propagadospropagados para as camadas intermediáriascamadas intermediárias

Back PropagationBack Propagation

Padrão de

Entrada:vetor X

x1

x2

xi

sj

netj

w1j

w2j

wij

Bias = θθθθj+1

Modelo básico do Neurônio Artificial:

Page 3: Algoritmos de Aprendizado - UFSC

3

Back PropagationBack Propagation

•• Características Básicas:Características Básicas:– Regra de Propagação � netj = ΣΣΣΣ xi.wij + θθθθj– Função de Ativação � Função NNããoo--LinearLinear,

diferencidiferenciáávelvel em todos os pontos.– Topologia � MMúúltiplasltiplas camadas.– Algoritmo de Aprendizado � Supervisionado

Back PropagationBack Propagation

Topologia:Topologia:

PE1

Camadas Escondidas Camada Camada de Saídade SaídaEntradaEntrada

PEm

PEkPEjPEi

PE1

PE1PE1

Page 4: Algoritmos de Aprendizado - UFSC

4

Processo de AprendizadoProcesso de Aprendizado

• Processo de minimizaçãominimização do erro quadrático pelo método do Gradiente Gradiente DescendenteDescendente � ∆∆∆∆wij = -ηηηη δδδδE

δδδδwij• Cada peso peso sinsináápticoptico ii do elemento

processador jj é atualizado proporcionalmente ao negativo da negativo da derivada parcial do erroderivada parcial do erro deste processador com relação ao peso.

Processo de AprendizadoProcesso de Aprendizado

�Onde o erro quadrático do processador jé definido como:

• Ej = 1 (tj - sj)2

2• tj = valor desejado de saída para o processador j

da camada de saída

• sj = estado de ativação do processador j da camada de saída

Page 5: Algoritmos de Aprendizado - UFSC

5

Processo de AprendizadoProcesso de Aprendizado

�Na verdade, deve-se minimizarminimizar o erro de todos os processadorestodos os processadores da camada de saída, para todos os padrõestodos os padrões

Usa-se o EESSESSE � SSumum ofof SSquared quared EErrorsrrors

Processo de AprendizadoProcesso de Aprendizado

EESSESSE � SSumum ofof SSquared quared EErrorsrrors• ESSE = 1 Σp Σj (tpj - spj)2

2• tpj = valor desejado de saída do padrão p para o

processador j da camada de saída• spj = estado de ativação do processador j da camada

de saída quando apresentado o padrão p

Page 6: Algoritmos de Aprendizado - UFSC

6

Processo de AprendizadoProcesso de Aprendizado

EESSESSE � SSumum ofof SSquared quared EErrorsrrors

Vantagem:Vantagem: os erros para diferentes padrões, para diferentes saídas são INDEPENDENTESINDEPENDENTES

Cálculo de Cálculo de ∆∆∆∆∆∆∆∆wwijij

∆∆∆∆wij = -ηηηη δδδδEp = - ηηηη δδδδEp δδδδnetjδδδδwij δδδδnetj δδδδwij

netj = ΣΣΣΣ si.wij + θθθθj

∆∆∆∆wij = ηηηη . eejj . ssii

ej = - δδδδEpδδδδnetj

Page 7: Algoritmos de Aprendizado - UFSC

7

Cálculo de Cálculo de eejj

δδδδEp= δδδδEp . δδδδsjδδδδnetj δδδδsj δδδδnetj

sj = F(netj)

ej = - δδδδEpδδδδnetj

Depende da camada à qual o processador jj pertence:

FF’’((netnetjj))Se j ∈∈∈∈ Camada de Saída ���� ☺☺☺☺

Se j ∉∉∉∉ Camada de Saída ���� ����

Cálculo de Cálculo de eej j j j ∈∈∈∈∈∈∈∈ Camada de SaCamada de Saíídada

δδδδEp= δδδδEp . δδδδsjδδδδnetj δδδδsj δδδδnetj

sj = F(netj)

ej = - δδδδEpδδδδnetj

FF’’((netnetjj))

EEpp==ΣΣΣΣΣΣΣΣjj 1 (t1 (tjj -- ssjj))2 2

22

[[ 2 . 2 . 1 (1 (ttjj -- ssjj).().(--1)]1)]2 2

ej == -- [ [ -- ((ttjj -- ssjj) ] ) ] . . FF’’((netnetjj)) == (tj - sj) F’(netj)

Page 8: Algoritmos de Aprendizado - UFSC

8

Cálculo de Cálculo de eej j j j ∈∈∈∈∈∈∈∈ Camada EscondidaCamada Escondida

δδδδEp= δδδδEp . δδδδsjδδδδnetj δδδδsj δδδδnetj

sj = F(netj)

ej = - δδδδEpδδδδnetj

FF’’((netnetjj))

EEpp = f(= f(sj) = ?) = ?

• Pelo aprendizado supervisionadoaprendizado supervisionado, só se conhece o erro na camada de saerro na camada de saíídada ((eekk));

• Erro na saída (ek) é função do potencial potencial internointerno do processador ((netnetkk););

• O netk depende dos estados de ativaestados de ativaçãçãoo dos processadores da camada anterior ((ssjj) ) e dos pesos das conexões ((wwjkjk););

• Portanto, ssjj de uma camada escondida afeta, em maior ou menor grauem maior ou menor grau, o erro de todos os processadores da camada subsequente.

Cálculo de Cálculo de eej j j j ∈∈∈∈∈∈∈∈ Camada EscondidaCamada Escondida

Page 9: Algoritmos de Aprendizado - UFSC

9

F(net)

Processador j j da camada escondida

PE1

PE2

PEk

wj1

wj2

wjk

e1

Cálculo de Cálculo de eej j j j ∈∈∈∈∈∈∈∈ Camada EscondidaCamada Escondida

sj

sj

sj

e2

ek

Cálculo de Cálculo de eej j j j ∈∈∈∈∈∈∈∈ Camada EscondidaCamada Escondida

δδδδEp= δδδδEp . δδδδsjδδδδnetj δδδδsj δδδδnetj

sj = F(netj)

ej = - δδδδEpδδδδnetj

FF’’((netnetjj))

δδδδ EEpp = = δδδδ [ 1 ΣΣΣΣk (tk - sk)2 ]δδδδsj δδδδsj 2

= 2. 1 [ ΣΣΣΣk (tk - sk) ] .(-1). δδδδsk2 δδδδsj= - [ ΣΣΣΣk (tk - sk) ] . FF’’((netnetkk) . ) . δδδδδδδδnetnetkk

δδδδδδδδssjj

ej = = -- {{-- ΣΣΣΣk ek. . wwjkjk } . } . FF’’((netnetjj) ) ej = = FF’’((netnetjj) . ) . ΣΣΣΣk ek. . wwjkjk

Page 10: Algoritmos de Aprendizado - UFSC

10

Processo de AprendizadoProcesso de Aprendizado

• Em resumo, após o cálculo da derivada, tem-se:

– ∆∆∆∆wij = ηηηη.si.ej

Onde:si � � � � valor de entrada recebido pela conexão iiej ���� valor calculado do erro do processador jj

Cálculo do Erro (Cálculo do Erro (eejj))

��Processador j pertence à Processador j pertence à Camada de SaídaCamada de Saída::

ej = (tj - sj). δδδδ F(net)δδδδ net

F(net)wijssii

saída: ssjj

Processador j j da camada de saída

Valor desejado de saída: ttjj

Page 11: Algoritmos de Aprendizado - UFSC

11

Cálculo do Erro (Cálculo do Erro (eejj))

��Processador j pertence à Processador j pertence à Camada EscondidaCamada Escondida::ej = (ΣΣΣΣ ek.wjk).δδδδ F(net)

δδδδ net

F(net)wijssii

Processador j j da camada escondida

PE1

PE2

PEk

wj1

wj2

wjk

e1

e2

ek

ProcessoProcesso de de AprendizadoAprendizado

O algoritmo Back Propagation tem portanto duas fases, para cada padrão apresentado:

–– FeedFeed--ForwardForward ���� as entradasentradas se propagam pela rede, da camada de entrada até a camada de saída.

–– FeedFeed--BackwardBackward ���� os erroserros se propagam na diredireçãção contro contráária ao fluxoria ao fluxo de dadosde dados, indo da camada de saída até a primeira camada escondida.

Page 12: Algoritmos de Aprendizado - UFSC

12

Processo de AprendizadoProcesso de AprendizadoFase 1: Feed-Forward

PE1

2 Camadas Escondidas Camada Camada de Saídade SaídaEntradaEntrada

PEm

PEkPEi

PE1

PE1

Valor de entrada

Fluxo de DadosFluxo de Dados

Processo de AprendizadoProcesso de Aprendizado

PE1

Camada Camada de Saídade SaídaEntradaEntrada

PEm

PEkPEi

PE1

PE1

Valor de entrada

Fase 1: Feed-Forward

2 Camadas Escondidas

Fluxo de DadosFluxo de Dados

Page 13: Algoritmos de Aprendizado - UFSC

13

Processo de AprendizadoProcesso de Aprendizado

PE1

Camada Camada de Saídade SaídaEntradaEntrada

PEm

PEkPEi

PE1

PE1

Valor de entrada

Fase 1: Feed-Forward

2 Camadas Escondidas

Fluxo de DadosFluxo de Dados

Processo de AprendizadoProcesso de Aprendizado

PE1

Camada Camada de Saídade SaídaEntradaEntrada

PEm

PEkPEi

PE1

PE1

Valor de entrada

Fase 1: Feed-Forward

2 Camadas Escondidas

Fluxo de DadosFluxo de Dados

Page 14: Algoritmos de Aprendizado - UFSC

14

Processo de AprendizadoProcesso de Aprendizado

PE1

PEm

PEkPEi

PE1

PE1

Valoralvo

Fase 2: Feed-BackwardCálculo do erro da camada de saída

ssmm

ss22

ss11

ttmm

tt22

tt11

em = (tm - sm). F’(net)eemm = (= (ttmm -- ssmm). F). F’’(net)(net)

Fluxo de ErrosFluxo de Erros

Processo de AprendizadoProcesso de Aprendizado

PE1

PEm

PEkPEi

PE1

PE1

Fase 2: Feed-BackwardAtualização dos pesos da camada de saída

ssmm

ss22

ss11

ttmm

tt22

tt11

em

e1 e1

e1

e1

em

emem

ww1212

wwkmkm

ww1111

ww1m1m

∆∆∆∆wkm = ηηηη.sk.em∆∆∆∆wkm = ηηηη.sk.em

Fluxo de ErrosFluxo de Erros

Page 15: Algoritmos de Aprendizado - UFSC

15

Processo de AprendizadoProcesso de Aprendizado

PE1

PEm

PEkPEi

PE1

PE1

Fase 2: Feed-BackwardCálculo do erro da 2°°°° camada escondida

ssmm

ss22

ss11

ttmm

tt22

tt11

em

e1 e1

e1

e1

em

emem

ww1212

wwkmkm

ww1111

ww1m1m

ek = (ΣΣΣΣ em.wkm).F’(net)eekk = = ((ΣΣΣΣΣΣΣΣ eemm..wwkmkm).).F’(net)F’(net)

Fluxo de ErrosFluxo de Erros

Processo de AprendizadoProcesso de Aprendizado

PE1

PEm

PEkPEi

PE1

PE1

Fase 2: Feed-BackwardAtualização dos pesos da 2°°°° camada escondida

∆∆∆∆wik = ηηηη.si.ek∆∆∆∆∆∆∆∆wwikik = = ηηηηηηηη .s.sii..eekk

e1

ekekekek

e1e1

e1

wwikik

ww1313ww1k1k

ww1212

ww1111

Fluxo de ErrosFluxo de Erros

Page 16: Algoritmos de Aprendizado - UFSC

16

Processo de AprendizadoProcesso de Aprendizado

PE1

PEm

PEkPEi

PE1

PE1

Fase 2: Feed-BackwardCálculo do erro da 1°°°° camada escondida

ei = (ΣΣΣΣ ek.wik).F’(net)eeii = = ((ΣΣΣΣΣΣΣΣ eekk..wwikik).).F’(net)F’(net)

e1

ekekekek

e1e1

e1

wwikik

ww1313ww1k1k

ww1212

ww1111

Fluxo de ErrosFluxo de Erros

Processo de AprendizadoProcesso de Aprendizado

PE1

PEm

PEkPEi

PE1

PE1

Fase 2: Feed-BackwardAtualização dos pesos da 1°°°° camada escondida

∆∆∆∆wik = ηηηη.si.ek∆∆∆∆∆∆∆∆wwikik = = ηηηηηηηη .s.sii..eekk

ei

eiei

ei

e1e1 e1

e1

Fluxo de ErrosFluxo de Erros

ww3i3iwwnini

ww2i2iww1i1i

Page 17: Algoritmos de Aprendizado - UFSC

17

Processo de AprendizadoProcesso de Aprendizado

�Este procedimento de aprendizado é repetidorepetido diversas vezesdiversas vezes, até que, para todos os processadores da camada de todos os processadores da camada de saídasaída e para todos os padrões de todos os padrões de treinamentotreinamento,, o erro erro seja menor do que o especificado.

Algoritmo de AprendizadoAlgoritmo de AprendizadoInicializaçãoInicialização::

pesos iniciados com valores aleatórios e pequenos ((||||||||ww|≤|≤|≤|≤|≤|≤|≤|≤0.1)0.1)Treinamento:Treinamento:�������� Loop até que o erroerro de cada processador de saída seja ≤≤≤≤≤≤≤≤ tolertolerâânciancia,

para todos os padrões do conjunto de treinamento.� Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor de vetor de sasaíída da YYii desejadodesejado.� Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.� Calcula-se o erroerro para cada processador da camada de saída. Se erro erro ≤≤≤≤≤≤≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo �.� Atualiza os pesosAtualiza os pesos de cada processador, começando pela camada de saída, até a primeira camada escondida.� Volta ao passo �

Page 18: Algoritmos de Aprendizado - UFSC

18

Avaliação do AlgoritmoAvaliação do Algoritmo• Foi demonstrado (Cybenko 1989) que o

Back PropagationBack Propagation é um Aproximador Aproximador UniversalUniversal, isto é, pode representar qualquer função.

• É o algoritmoalgoritmo de Redes Neurais mais mais utilizadoutilizado em aplicações práticas de previsãoprevisão, classificaçãoclassificação e reconhecimento de padrõesreconhecimento de padrões em geral.

Avaliação do AlgoritmoAvaliação do Algoritmo

• Apesar do grande sucesso do Back Propagation, existem alguns problemas:

– definição do tamanho da redetamanho da rede;

– problema de paralisiaparalisia da Rede Neural;

– problema de ficar preso em um mínimo localmínimo local.

Page 19: Algoritmos de Aprendizado - UFSC

19

Tamanho da Rede NeuralTamanho da Rede Neural

• Define o número de camadas número de camadas escondidasescondidas e o número de número de processadoresprocessadores em cada uma dessas camadas.

• Compromisso entre ConvergênciaConvergência e GeneralizaçãoGeneralização.

ConvergênciaConvergência

• É a capacidade da Rede Neural de aprender todos os padrõesaprender todos os padrões do conjunto de treinamento.

• Se a rede neural for pequenapequena, nnããoo serácapaz de armazenararmazenar todos os padrões necessários.

Page 20: Algoritmos de Aprendizado - UFSC

20

GeneralizaçãoGeneralização

• Se a rede for muito grande muito grande (muitos (muitos parâmetros = pesos)parâmetros = pesos), não responderá não responderá corretamentecorretamente aos padrões nunca vistos.

x

f(x)

x1 x2 x3 x4 x5

generalizações Boa interpolação

Rede com muitos parâmetros

xi � pontos do conjunto de treinamentoxnovo � novo ponto para generalização

xnovo

GeneralizaçãoGeneralização•• Influenciada por três fatores:Influenciada por três fatores:

– tamanho e eficiência do conjunto de treinamento;– arquitetura da rede (número de processadores);– complexidade do problema.

Duas formas de atacar o problema:�arquitetura fixa e deve-se achar o tamanho do conjunto

de treinamento�tamanho do conjunto de treinamento é fixo e deve-se

achar a melhor arquitetura da Rede Neural

⇐⇐⇐⇐ Não se tem controle⇐⇐⇐⇐ Não se tem controle

Page 21: Algoritmos de Aprendizado - UFSC

21

GeneralizaçãoGeneralização•• Métricas:Métricas:

�� BaumBaum--Haussler Haussler ��������

aproximando:

N ≥≥≥≥ 32W ln 32M____ ____εεεε εεεε

N ≥≥≥≥ 32W ln 32M____ ____εεεε εεεε

número de padrõesnúmero de número de padrõespadrões número de

sinapsesnúmero de número de sinapsessinapses

Erro permitido no testeErro permitido Erro permitido no testeno teste

número de PEs na camada escondidanúmero de número de PEsPEs na na camada escondidacamada escondida

N ≥≥≥≥ W____ εεεε

N ≥≥≥≥ W____ εεεε

GeneralizaçãoGeneralização

•• Métricas:Métricas:

�� BaumBaum--Haussler Haussler �������� Nhidden ≤≤≤≤ Ntrain εεεεtrain__________Nin + Noutput

Nhidden ≤≤≤≤ Ntrain εεεεtrain__________Nin + Noutput

número de PEs na camada de saídanúmero de número de PEsPEs na na camada de saídacamada de saída

número de entradasnúmero de número de entradasentradas

Erro permitido no treinamentoErro permitido Erro permitido no treinamentono treinamento

número de PEs na camada escondidanúmero de número de PEsPEs na na camada escondidacamada escondida

número de padrõesx

número de entradasnúmero de padrõesnúmero de padrões

xxnúmero de entradasnúmero de entradas

Page 22: Algoritmos de Aprendizado - UFSC

22

GeneralizaçãoGeneralização•• Métricas:Métricas:

�� HechtHecht--Nielsen Nielsen ��������

Nhidden ≤≤≤≤ 2Nin + 1Nhidden ≤≤≤≤ 2Nin + 1

número de PEs na camada escondidanúmero de número de PEsPEs na na camada escondidacamada escondida

número de entradasnúmero de número de entradasentradas

Usou Kolmogorov Theorem:qualquer função de n variáveispode ser representada por 2n+1 funções de uma variável

Usou Kolmogorov Theorem:qualquer função de n n variáveisvariáveispode ser representada por 2n+1 funções2n+1 funções de uma variável

GeneralizaçãoGeneralização•• Métricas:Métricas:

�� Upadhyaya Upadhyaya & & Eryurek Eryurek ��������

W ≤≤≤≤ Nin . log2 PW ≤≤≤≤ Nin . log2 P

número de pesosnúmero de pesosnúmero de pesos

número de entradasnúmero de número de entradasentradas

O número de parâmetrosnecessários para codificar P padrões binários é log2 P

O número de parâmetrosparâmetrosnecessários para codificar P padrões P padrões bináriosbinários é loglog22 PP

número de padrõesnúmero de número de padrõespadrões

Page 23: Algoritmos de Aprendizado - UFSC

23

Problema de ParalisiaProblema de ParalisiaCom o treinamento, os pesospesos podem

alcançar valores muito grandesgrandes (wij �)

A soma ponderadasoma ponderada de cada processador torna-se também muito

grandegrande (netj = Σ xi.wij + θj �)

F’(F’(netnetjj) ~ 0) ~ 0

∆∆∆∆∆∆∆∆wwijij ~ 0 ~ 0 �������� A Rede Neural não consegue aprendernão consegue aprender

F(netj)

netj

Regiões de derivada Regiões de derivada aproximadamente zeroaproximadamente zero

Problema de ParalisiaProblema de Paralisia

•• Como evitar paralisia da Rede?Como evitar paralisia da Rede?– Deve-se escolher valores de pesospesos e bias bias

uniformemente distribuídos dentro de um intervalo pequenointervalo pequeno;

– Os neurôniosneurônios devem, inicialmente, operar na sua região linearregião linear;

– O número de processadoresnúmero de processadores na(s) camada(s) escondida(s) deve ser pequenopequeno.

Page 24: Algoritmos de Aprendizado - UFSC

24

Problema do Mínimo LocalProblema do Mínimo LocalDe acordo com o método do gradiente

Descendente, tem-se: ∆∆∆∆∆∆∆∆wwijij = = ηηηηηηηη.s.sii..eejj

Taxa de aprendizadoTaxa de aprendizadoTaxa de aprendizado

Problema do Mínimo LocalProblema do Mínimo LocalDe acordo com o método do gradiente

Descendente, tem-se: ∆∆∆∆∆∆∆∆wwijij = = ηηηηηηηη.s.sii..eejj

A taxa de aprendizado não deve ser nem nem muito pequenamuito pequena ���� treinamento lentotreinamento lento, nem muito grande muito grande ���� oscilaoscilaçõções es

Taxa de aprendizadoTaxa de aprendizadoTaxa de aprendizado

Page 25: Algoritmos de Aprendizado - UFSC

25

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

wwL1L1

Posição Inicial 2

Mínimo Mínimo GlobalGlobal

Mínimo Mínimo LocalLocal

Posição Inicial 1

wwG1G1

Erro Erro mínimomínimo

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

wwL1L1Mínimo Mínimo LocalLocal

Posição Inicial 1

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 1:Partindo da posição inicial 1:Partindo da posição inicial 1:

Page 26: Algoritmos de Aprendizado - UFSC

26

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

wwL2L2

Posição 2

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 1:Partindo da posição inicial 1:Partindo da posição inicial 1:

PesoswwL1L1

∆∆∆∆w

Posição Inicial 1

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

wwLjLj

Posição j

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 1:Partindo da posição inicial 1:Partindo da posição inicial 1:

Page 27: Algoritmos de Aprendizado - UFSC

27

Com Com ηηηηηηηη pequenopequeno, n, nãão o éé posspossíível vel calcular um calcular um ∆∆∆∆∆∆∆∆ww que faque façça a Rede a a Rede

Neural sair do Neural sair do MMíínimo Localnimo Local..

Problema do Mínimo LocalProblema do Mínimo Local

A Rede Neural A Rede Neural não não consegue consegue aprenderaprender com a precisão com a precisão

especificada (especificada (Erro MínimoErro Mínimo)!)!

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 2:Partindo da posição inicial 2:Partindo da posição inicial 2:

Posição Inicial 2

Mínimo Mínimo GlobalGlobal

wwG1G1

Page 28: Algoritmos de Aprendizado - UFSC

28

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 2:Partindo da posição inicial 2:Partindo da posição inicial 2:

Posição Inicial 2

wwG1G1 wwG2G2

Posição 2

∆∆∆∆w

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 2:Partindo da posição inicial 2:Partindo da posição inicial 2:

wwG2G2

Posição 2

∆∆∆∆w

Posição 3

wwG3G3

Page 29: Algoritmos de Aprendizado - UFSC

29

Problema do Mínimo LocalProblema do Mínimo Local

Pesos

Erro (w)

Pelo método do Gradiente Descendente

Erro tende a diminuir com a atualização dos pesos

Erro Erro mínimomínimo

Partindo da posição inicial 2:Partindo da posição inicial 2:Partindo da posição inicial 2:

wwGkGk

Posição k

Posição 3

wwG3G3

Problema do Mínimo LocalProblema do Mínimo Local

•• Conclusões:Conclusões:– Quando ηηηηηηηη é pequenopequeno e dependendo da

inicialização dos pesos (feita de forma aleatória), a Rede Neural pode ficar presa em um Mínimo LocalMínimo Local.

•• Solução:Solução:– Utilizar taxa de aprendizadotaxa de aprendizado (ηηηηηηηη ))

adaptativaadaptativa.

Page 30: Algoritmos de Aprendizado - UFSC

30

Problema do Mínimo LocalProblema do Mínimo Local

•• Conclusões:Conclusões:– Quando ηηηηηηηη é grandegrande, a Rede Neural pode

nunca conseguir chegar ao Mínimo Global pois os valores de ∆∆∆∆w são grandes. ���� OscilaOscilaçõçõeses.

•• Solução:Solução:– Utilização do termo de Momento Momento (αααααααα ).

Termo de Momento (Termo de Momento (αααααααα ))

Uma forma de diminuirdiminuir a possibilidade de oscilaçõesoscilações com valores de ηηηηηηηη maioresmaiores

é incluir o Termo de MomentoTermo de Momento na atualização dos pesos sinápticos

Termo proporcional ao valor Termo proporcional ao valor anterior de atualização do pesoanterior de atualização do peso

∆∆∆∆wij (t+1) = ηηηη.si.ej + αααα . ∆∆∆∆wij(t)∆∆∆∆∆∆∆∆wwijij (t+1)(t+1) = = ηηηηηηηη .s.sii..eej j + + αααααααα . . ∆∆∆∆∆∆∆∆wwijij(t)(t)

Page 31: Algoritmos de Aprendizado - UFSC

31

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

Ponto Inicial - A’A’

Corte na Corte na SuperfícieSuperfíciede Errode Erro

Situação 1:Situação 1:Situação 1:

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

∆∆∆∆w(t)

Ponto Inicial - A’A’

A’’A’’

Page 32: Algoritmos de Aprendizado - UFSC

32

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

∆∆∆∆w(t)

Ponto Inicial - A’A’

A’’A’’-η∇η∇η∇η∇ E(t+1) + αααα ∆∆∆∆w(t)

A’’’A’’’

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

∆∆∆∆w(t)

Ponto Inicial - A’A’

A’ e A’’ estão namesma direção���� αααααααα acelera oacelera oaprendizadoaprendizado

A’’A’’-η∇η∇η∇η∇ E(t+1) + αααα ∆∆∆∆w(t)

A’’’A’’’

Page 33: Algoritmos de Aprendizado - UFSC

33

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

Ponto Inicial - B’B’

Situação 2:Situação 2:Situação 2:

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

∆∆∆∆w(t)

Ponto Inicial - B’B’

B’’B’’

Page 34: Algoritmos de Aprendizado - UFSC

34

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

α∆α∆α∆α∆w(t)

Ponto Inicial - B’B’

B’’B’’ -η∇η∇η∇η∇ E(t+1)B’’’B’’’

Termo de Momento (Termo de Momento (αααααααα ))

MínimoGlobal

w1

w2

α∆α∆α∆α∆w(t)

Ponto Inicial - B’B’

B’’B’’

B’ e B’’ estão em direções opostas

���� αααααααα evita evita oscilaoscilaçõçõeses

-η∇η∇η∇η∇ E(t+1)B’’’B’’’

Page 35: Algoritmos de Aprendizado - UFSC

35

Outros Fatores de Outros Fatores de Influência no AprendizadoInfluência no Aprendizado

• Aprendizado Incremental x AcumulativoIncremental x Acumulativo• Inclinação da Função de AtivaçãoFunção de Ativação

AprendizadoAprendizadoIncremental x AcumulativoIncremental x Acumulativo

•• Aprendizado IncrementalAprendizado Incremental– Atualiza os pesos a cada apresentação

de um novo padrão � Implementa o método do Gradiente Descendente mas tende a aprender melhor o último padrão apresentado � sequsequêênciancia aleataleatóóriaria

•• Aprendizado Aprendizado AculumativoAculumativo– Somente ajusta os pesos após a

apresentação de TODOSTODOS os padrões

Page 36: Algoritmos de Aprendizado - UFSC

36

Inclinação da Inclinação da Função de AtivaçãoFunção de Ativação

f(net) = 2 - 11 + exp(-λλλλnet)

f(net) = 2 f(net) = 2 -- 111 + 1 + expexp((--λλλλλλλλnet)net)

BIPOLARBIPOLARBIPOLAR UNIPOLARUNIPOLARUNIPOLAR

f(net) = 1 1 + exp(-λλλλnet)

f(net) = 1 f(net) = 1 1 + 1 + expexp((--λλλλλλλλnet)net)

f ‘(net) = 2 λλλλ exp(- λλλλnet)[1 + exp(-λλλλnet)]2

f ‘(net) = 2 f ‘(net) = 2 λλλλλλλλ expexp((-- λλλλλλλλnet)net)[1 + [1 + expexp((--λλλλλλλλnet)]net)]22

BIPOLARBIPOLARBIPOLAR

ICADEMOICADEMO

•• Formato de Entrada:Formato de Entrada:

Page 37: Algoritmos de Aprendizado - UFSC

37

ICADEMOICADEMO

•• Formato de Saída:Formato de Saída:

Vetor de 10 elementos bináriosbinários

dígito 1dígito 2

dígito 0

ICADEMOICADEMO

•• Topologia:Topologia:

111

000

000

000

Page 38: Algoritmos de Aprendizado - UFSC

38

Aplicação PráticaAplicação Prática

Reconhecimento de DígitosReconhecimento de DígitosICADEMOICADEMO