A necessidade de otimização

Introdução a Deep Learning em Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Uma rede neural básica

ch2_1_v3.002.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.003.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.004.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.005.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.006.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.007.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.008.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.009.png

Introdução a Deep Learning em Python

Uma rede neural básica

ch2_1_v3.010.png

Introdução a Deep Learning em Python

Previsões com múltiplos pontos

  • Fazer previsões precisas fica mais difícil com mais pontos
  • Para qualquer conjunto de pesos, há muitos valores de erro
  • ... correspondentes aos muitos pontos previstos
Introdução a Deep Learning em Python

Função de perda

  • Agrega os erros de muitos pontos em um único número
  • Mede o desempenho preditivo do modelo
Introdução a Deep Learning em Python

Perda por erro quadrático

ch2_1_v3.019.png

Introdução a Deep Learning em Python

Perda por erro quadrático

ch2_1_v3.020.png

Introdução a Deep Learning em Python

Perda por erro quadrático

ch2_1_v3.021.png

Introdução a Deep Learning em Python

Função de perda

ch2_1_v3.023.png

Introdução a Deep Learning em Python

Função de perda

ch2_1_v3.024.png

Introdução a Deep Learning em Python

Função de perda

ch2_1_v3.025.png

Introdução a Deep Learning em Python

Função de perda

  • Perda menor indica modelo melhor
  • Objetivo: achar os pesos que minimizam a perda
  • Gradiente descendente
Introdução a Deep Learning em Python

Gradiente descendente

  • Imagine um campo totalmente escuro
  • Quer achar o ponto mais baixo
  • Sinta o chão para ver a inclinação
  • Dê um passo pequeno ladeira abaixo
  • Repita até estar em subida em todas as direções
Introdução a Deep Learning em Python

Etapas do gradiente descendente

  • Comece em um ponto aleatório
  • Até ficar em área plana:
    • Encontre a inclinação
    • Dê um passo ladeira abaixo
Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.042.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.044.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.045.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.046.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.047.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.048.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.049.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.050.png

Introdução a Deep Learning em Python

Otimização com um único peso

ch2_1_v3.051.png

Introdução a Deep Learning em Python

Vamos praticar!

Introdução a Deep Learning em Python

Preparing Video For Download...