AprendizagemAutomáticaMestrado  em Engenharia Informática
SumárioAprendizagem Supervisionada18-10-2010Aprendizagem Automática / Machine Learning2
RegressãoDado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para aproximar (e generalizar) esse comportamento. Exemplo simples: ClassificaçãoDado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para diferenciar duas classes (e generalizar o comportamento). Exemplo simples:     Entrada  - Resposta         0,1                  1     1,0                  1     0,0                  0     1,1                   ?
ReformulaçãoSe assumirmos que a função é linearSerá que a partir de um conjunto de pontos (x, f(x)) conseguimos saber w1 e w2? (i.e., qual a “regra” usada para gerar os pontos)Encontrar os pesos para minimizar o erro:
Aproximação / RegressãoA derivada de uma função indica que :
Se soubermos                                       (o gradiente do erro, i.e. derivada do erro em relação a cada uma das variáveis) saberemos qual a direcção para alterar w1 e w2 de modo a diminuir o erro (a oposta à derivada).Aproximação
AproximaçãoPor exemplo, se soubermos que:Se                       ,  e fizermos:O erro diminui (se o passo (α) for suf. pequeno)Demonstração
ClassificaçãoQueremos uma função com parâmetros  wij, que dê os seguintes resultados:Que tipo de função é mais adequado?
Algo como:Mas a derivada  é sempre zero ou infinita (?)ClassificaçãoPerceptrão [McCullogh & Pitts 43]Regra Delta (delta-rule)
É necessária uma aproximação contínua:Funções para classificaçãob - Termo de polarização (bias). Funciona como uma fasquia regulável.ou …
Função não linear simples: capacidade de representação limitadaConjunto de unidades encadeadas (com uma ou mais camadas-escondidas)  podem aproximar qualquer função com uma precisão arbitrária (desde que … )Redes Neuronais ArtificiaisArtificial Neural Networks[Rumelhart, Hinton, Williams 86] entradaspesospesossaídas
Capacidade de divisão do espaçoFunções para classificação
Codificação / CompressãoRedes Neuronais ArtificiaisArtificial Neural Networks
Projecção num espaço de maiores dimensões de modo a tornar as classes separáveis (na prática, combinando de modos diferentes as features de entrada de modo a criar características que definem bem as classes)Redes Neuronais ArtificiaisArtificial Neural Networks
Os métodos analíticos de classificação / regressão têm  desvantagens quando os dados têm ruído e/ou muitos exemplos. São também sensíveis em relação a aproximações numéricas.As ANN são:Robustas em relação ao ruído e aproximaçõesBaseadas num modelo (muito simplificado) do funcionamento dos neuróniosPodem ser treinadas incrementalmenteCondensam a informação de grandes conjuntos de dados num conjunto comparativamente pequeno de pesosRedes Neuronais Artificiais
Apresentar cada exemplo (xi,di)Calcular a resposta da rede para xi: f(xi)Propagar para trás o erro (construindo a derivada do erro em relação a cada peso)Ao fim de cada época: actualizar os pesosRetropropagaçãoBackpropagation
Vantagens das funções de activação apresentadas:As derivadas num ponto calculam-se à custa do valor nesse ponto (possibilidade de implementação paralela)Retropropagação
Cálculo da derivada é simples com base no valor da avaliaçãoMenos cálculos (do que outras funções semelhantes):Menos erros de aproximaçãoMais rápidoRedes Neuronais Artificiais
OverfittingBoa generalização (mesmo com erros)Overfitting / Sobre-aprendizagem
Generalização e “overfitting”Como saber quando parar o treino:Validação cruzadaCross-validationtesteParagemtreino
Validação => três conjuntos de dados:
Treino, Teste, Validação
Conjuntos pequenos (k-foldvalidation/leaven-off)Dividir dados em k subconjuntosEm cada uma de k experiências usar um dos conjuntos para validaçãoCalcular nº médio de iterações (n) para minimizar erro de validaçãoTreinar com todos os dados n épocasValidação
Termo de momento (momentum)Duas vezes na mesma direcção, acelera, Em direcções contrárias, trava (ou não é usado).Valor típico: 0.8Aceleração de Backprop
A mesma taxa de aprendizagem para todos os pesos faz com que se mova com a mesma “velocidade” em todas as direcçõesSolução: taxas de aprendizagem diferentes para cada pesoAceleração de Backprop
ALR (AdaptiveLearning Rates):Aceleração de Backprop
Técnica dos passos-adaptativosAdaptiveLearning RatesF. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.Aceleração de ANN
Dicas de implementação:Deve ser fácil mudar a função (e a sua derivada), a tanh() é, normalmente, melhorDeve ser possível ter 2 ou 3 camadasDeve ser fácil mudar a taxa de aprendizagemExperimentar primeiro com um caso muito simplesUse sempre uma taxa de aprendizagem baixa para começar (1E-7)Vá aumentando a taxa até verificar que de uma época para a seguinte há alteração da média do erroDiminua a taxa de aprendizagem ao longo do treinoUse valores desejados abaixo do limite da função (e.g. -0.9 e 0.9, para a tanh)Redes Neuronais Artificiais27AA/ML, Luís Nunes, DCTI/ISCTE
[Rumelhart, Hinton, Williams 86] D.E.Rumelhart, G.E.Hinton and R.J.Williams, "Learning internal representa-tions by error propagation", In David E. Rumelhart and James A. McClelland, volume 1. The MIT Press, 1986.[Rumelhart, Widrow, Lehr] David E. Rumelhart, Bernard Widrow, Michael A. Lehr, The basic ideas in neural networks,  Communications of the ACM archive, Volume 37 ,  Issue 3  (March 1994) table of contents, pp 87 – 92, 1994, ISSN:0001-0782 , Publisher ACM Press   New York, NY, USA F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.OutrasReferências:[McCullough & Pitts 43] W. S. McCullough, W. Pitts, LogicalCalculusoftheideasimmanentinnervousactivity, Contemp. Math, 113, pp. 189-219[Minsky & Papert 69] Minsky M L and Papert S A 1969 Perceptrons (Cambridge, MA: MIT Press) Referências-base28AA/ML, Luís Nunes, DCTI/ISCTE
SumárioAprendizagem Supervisionada18-10-2010Aprendizagem Automática / Machine Learning29
Avaliação e erro
Derivadas parciais
Derivadas parciais
Derivadas parciais
Derivadas parciais

Aprendizagem Supervisionada II

  • 1.
    AprendizagemAutomáticaMestrado emEngenharia Informática
  • 2.
  • 3.
    RegressãoDado um conjuntode exemplos, será que é possível treinar uma “unidade simples de computação” para aproximar (e generalizar) esse comportamento. Exemplo simples: ClassificaçãoDado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para diferenciar duas classes (e generalizar o comportamento). Exemplo simples: Entrada - Resposta 0,1 1 1,0 1 0,0 0 1,1 ?
  • 4.
    ReformulaçãoSe assumirmos quea função é linearSerá que a partir de um conjunto de pontos (x, f(x)) conseguimos saber w1 e w2? (i.e., qual a “regra” usada para gerar os pontos)Encontrar os pesos para minimizar o erro:
  • 5.
    Aproximação / RegressãoAderivada de uma função indica que :
  • 6.
    Se soubermos (o gradiente do erro, i.e. derivada do erro em relação a cada uma das variáveis) saberemos qual a direcção para alterar w1 e w2 de modo a diminuir o erro (a oposta à derivada).Aproximação
  • 7.
    AproximaçãoPor exemplo, sesoubermos que:Se , e fizermos:O erro diminui (se o passo (α) for suf. pequeno)Demonstração
  • 8.
    ClassificaçãoQueremos uma funçãocom parâmetros wij, que dê os seguintes resultados:Que tipo de função é mais adequado?
  • 9.
    Algo como:Mas aderivada é sempre zero ou infinita (?)ClassificaçãoPerceptrão [McCullogh & Pitts 43]Regra Delta (delta-rule)
  • 10.
    É necessária umaaproximação contínua:Funções para classificaçãob - Termo de polarização (bias). Funciona como uma fasquia regulável.ou …
  • 11.
    Função não linearsimples: capacidade de representação limitadaConjunto de unidades encadeadas (com uma ou mais camadas-escondidas) podem aproximar qualquer função com uma precisão arbitrária (desde que … )Redes Neuronais ArtificiaisArtificial Neural Networks[Rumelhart, Hinton, Williams 86] entradaspesospesossaídas
  • 12.
    Capacidade de divisãodo espaçoFunções para classificação
  • 13.
    Codificação / CompressãoRedesNeuronais ArtificiaisArtificial Neural Networks
  • 14.
    Projecção num espaçode maiores dimensões de modo a tornar as classes separáveis (na prática, combinando de modos diferentes as features de entrada de modo a criar características que definem bem as classes)Redes Neuronais ArtificiaisArtificial Neural Networks
  • 15.
    Os métodos analíticosde classificação / regressão têm desvantagens quando os dados têm ruído e/ou muitos exemplos. São também sensíveis em relação a aproximações numéricas.As ANN são:Robustas em relação ao ruído e aproximaçõesBaseadas num modelo (muito simplificado) do funcionamento dos neuróniosPodem ser treinadas incrementalmenteCondensam a informação de grandes conjuntos de dados num conjunto comparativamente pequeno de pesosRedes Neuronais Artificiais
  • 16.
    Apresentar cada exemplo(xi,di)Calcular a resposta da rede para xi: f(xi)Propagar para trás o erro (construindo a derivada do erro em relação a cada peso)Ao fim de cada época: actualizar os pesosRetropropagaçãoBackpropagation
  • 17.
    Vantagens das funçõesde activação apresentadas:As derivadas num ponto calculam-se à custa do valor nesse ponto (possibilidade de implementação paralela)Retropropagação
  • 18.
    Cálculo da derivadaé simples com base no valor da avaliaçãoMenos cálculos (do que outras funções semelhantes):Menos erros de aproximaçãoMais rápidoRedes Neuronais Artificiais
  • 19.
    OverfittingBoa generalização (mesmocom erros)Overfitting / Sobre-aprendizagem
  • 20.
    Generalização e “overfitting”Comosaber quando parar o treino:Validação cruzadaCross-validationtesteParagemtreino
  • 21.
    Validação => trêsconjuntos de dados:
  • 22.
  • 23.
    Conjuntos pequenos (k-foldvalidation/leaven-off)Dividirdados em k subconjuntosEm cada uma de k experiências usar um dos conjuntos para validaçãoCalcular nº médio de iterações (n) para minimizar erro de validaçãoTreinar com todos os dados n épocasValidação
  • 24.
    Termo de momento(momentum)Duas vezes na mesma direcção, acelera, Em direcções contrárias, trava (ou não é usado).Valor típico: 0.8Aceleração de Backprop
  • 25.
    A mesma taxade aprendizagem para todos os pesos faz com que se mova com a mesma “velocidade” em todas as direcçõesSolução: taxas de aprendizagem diferentes para cada pesoAceleração de Backprop
  • 26.
  • 27.
    Técnica dos passos-adaptativosAdaptiveLearningRatesF. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.Aceleração de ANN
  • 28.
    Dicas de implementação:Deveser fácil mudar a função (e a sua derivada), a tanh() é, normalmente, melhorDeve ser possível ter 2 ou 3 camadasDeve ser fácil mudar a taxa de aprendizagemExperimentar primeiro com um caso muito simplesUse sempre uma taxa de aprendizagem baixa para começar (1E-7)Vá aumentando a taxa até verificar que de uma época para a seguinte há alteração da média do erroDiminua a taxa de aprendizagem ao longo do treinoUse valores desejados abaixo do limite da função (e.g. -0.9 e 0.9, para a tanh)Redes Neuronais Artificiais27AA/ML, Luís Nunes, DCTI/ISCTE
  • 29.
    [Rumelhart, Hinton, Williams86] D.E.Rumelhart, G.E.Hinton and R.J.Williams, "Learning internal representa-tions by error propagation", In David E. Rumelhart and James A. McClelland, volume 1. The MIT Press, 1986.[Rumelhart, Widrow, Lehr] David E. Rumelhart, Bernard Widrow, Michael A. Lehr, The basic ideas in neural networks, Communications of the ACM archive, Volume 37 ,  Issue 3  (March 1994) table of contents, pp 87 – 92, 1994, ISSN:0001-0782 , Publisher ACM Press   New York, NY, USA F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.OutrasReferências:[McCullough & Pitts 43] W. S. McCullough, W. Pitts, LogicalCalculusoftheideasimmanentinnervousactivity, Contemp. Math, 113, pp. 189-219[Minsky & Papert 69] Minsky M L and Papert S A 1969 Perceptrons (Cambridge, MA: MIT Press) Referências-base28AA/ML, Luís Nunes, DCTI/ISCTE
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.