1. A matemática que você precisa (Parte I)

Em uma frase

Treinar uma rede neural é ajustar uma tabela enorme de números para que um único número, o erro, fique pequeno; a Parte I do livro ensina só a matemática necessária para entender cada palavra dessa frase.

Por que isso importa

Imagine que você quer um programa que olhe a foto de uma nota fiscal e diga o valor total. Escrever as regras à mão (“procure o maior número perto da palavra TOTAL”) quebra na primeira nota torta, borrada ou com layout diferente. Deep learning resolve isso de outro jeito: em vez de escrever regras, você mostra milhares de exemplos (foto + valor certo) e deixa um algoritmo ajustar sozinho os números internos de uma função até ela acertar. Essa função é a rede neural; os números internos são os parâmetros (também chamados de pesos).

O problema é que, para entender como esse ajuste acontece, por que às vezes ele falha e o que fazer quando falha, você precisa de quatro ferramentas matemáticas. Sem elas, os capítulos sobre redes (6 a 8) viram uma sequência de receitas decoradas. O capítulo 1 do livro é uma introdução histórica e conceitual; os capítulos 2 a 5 formam a Parte I, “Matemática aplicada e fundamentos de machine learning”. Esta página é o mapa dessa parte, para você saber o que vem, por que vem e quanto de cada coisa precisa de verdade.

O que você precisa saber antes

Nada além de matemática do ensino médio: o que é uma função (), o que é um gráfico, e a ideia de que a inclinação de uma curva diz se ela está subindo ou descendo. Se “derivada” soa distante, tudo bem: vamos reconstruir a intuição quando for preciso. Os termos de machine learning que aparecerem estão no glossário.

As ideias centrais

O que o capítulo 1 diz sobre deep learning

O capítulo 1 responde “o que é isso e de onde veio”. A ideia mais útil dele é a de representação: a forma como os dados são descritos para o algoritmo. Um algoritmo simples, como uma regressão logística (um modelo que dá uma probabilidade a partir de uma soma ponderada das entradas), funciona bem se alguém já entregou boas features, isto é, variáveis de entrada bem escolhidas. Deep learning é o caso em que o próprio modelo aprende as representações, em camadas: a primeira camada de uma rede de visão aprende a detectar bordas, a seguinte combina bordas em cantos e contornos, a próxima combina contornos em partes de objetos. “Profundo” (deep) é só isso: muitas camadas empilhadas, cada uma construindo conceitos a partir da anterior.

O capítulo também conta a história em três ondas (cibernética nos anos 1940–60, conexionismo nos anos 1980–90, deep learning a partir de 2006) e argumenta que o salto recente veio de três coisas: mais dados, computadores mais rápidos (GPUs) e modelos maiores. Essa explicação continua valendo, e ficou ainda mais verdadeira depois de 2016.

As quatro peças da Parte I

Pense num único passo de treino de uma rede. Cada peça da Parte I explica um pedaço dele:

flowchart LR
    A["Dados de entrada (vetores)"] -->|"Cap. 2: álgebra linear"| B["Rede calcula uma saída"]
    B -->|"Cap. 3: probabilidade"| C["Saída vira probabilidade e erro (loss)"]
    C -->|"Cap. 4: cálculo numérico"| D["Gradiente diz como mudar cada peso"]
    D -->|"Cap. 5: fundamentos de ML"| E["Avaliar em dados novos e evitar decorar"]
    E -.->|"repete milhares de vezes"| A
  1. Álgebra linear (cap. 2): os dados e os pesos são guardados como vetores e matrizes, e o cálculo de uma camada é uma multiplicação de matriz. É a “linguagem” em que a rede é escrita.
  2. Probabilidade e teoria da informação (cap. 3): a saída da rede costuma ser uma distribuição de probabilidade (“70% gato, 30% cachorro”), e a forma mais comum de medir o erro, a cross-entropy, vem da teoria da informação.
  3. Computação numérica (cap. 4): o computador não faz conta com números reais de verdade, e sim com aproximações de tamanho fixo. Isso cria armadilhas (números que estouram ou viram zero). O capítulo também apresenta a descida do gradiente, o algoritmo que ajusta os pesos.
  4. Fundamentos de machine learning (cap. 5): o que significa “aprender”, por que ir bem nos dados de treino não basta, como dividir os dados em treino, validação e teste, e de onde vêm as funções de erro que usamos.

Quanto de cada peça você precisa de verdade

O livro é mais completo do que o necessário para a maioria dos leitores, e diz isso: ele avisa que leitores com base sólida podem pular capítulos. Uma estimativa honesta, para quem quer entender e usar redes neurais (não pesquisar matemática nova):

CapítuloO que é indispensávelO que pode esperar
2. Álgebra linearvetores, matrizes, multiplicação, norma, a ideia de transformaçãoautodecomposição, SVD, determinante, a derivação completa do PCA
3. Probabilidadedistribuições, probabilidade condicional, esperança, regra de Bayes, entropia e cross-entropyteoria da medida, modelos probabilísticos estruturados
4. Computação numéricaoverflow/underflow, gradiente, por que o tamanho do passo importaHessiana em detalhe, método de Newton, condições KKT
5. Fundamentos de MLcapacidade, overfitting, validação, máxima verossimilhança, SGDestimadores bayesianos, a lista de algoritmos clássicos

A coluna da direita não é “inútil”; é material que fica mais fácil depois que você viu uma rede funcionando.

O fio condutor: tudo vira minimizar um número

Se você guardar uma só ideia da Parte I, guarde esta. Quase todo problema de deep learning é reformulado como otimização: existe uma função que recebe os pesos e devolve um número, a loss (função de perda), que mede o quão errado o modelo está. Treinar é procurar pesos que tornem esse número pequeno.

Um exemplo concreto: um modelo que prevê o preço de um apartamento a partir da área. Ele tem dois pesos, e , e prevê (lê-se “y chapéu”: a previsão). Para cada apartamento com preço real , o erro é a diferença ; elevamos ao quadrado para que erros para cima e para baixo contem igual, e tiramos a média sobre todos os apartamentos. Esse número é a loss. Agora o treino vira uma pergunta geométrica: no “terreno” formado por todos os valores possíveis de e , onde fica o ponto mais baixo? A álgebra linear organiza as contas, a probabilidade justifica por que escolher essa loss, o cálculo numérico diz como descer o terreno, e os fundamentos de ML dizem se o ponto mais baixo encontrado serve para apartamentos que o modelo nunca viu.

Uma rede neural é o mesmo esquema com milhões de pesos em vez de dois e um terreno muito mais acidentado.

Onde isso aparece no mundo real

  • Bibliotecas como PyTorch e TensorFlow são, na essência, calculadoras de álgebra linear que também sabem calcular gradientes automaticamente. Quando você escreve model(x), ela multiplica matrizes (cap. 2); quando escreve loss.backward(), ela calcula o gradiente (cap. 4 e 6). Entender a Parte I faz a API parar de parecer mágica.
  • Mensagens de erro e bugs comuns vêm direto daqui: NaN na loss quase sempre é um problema numérico do cap. 4 (um número que estourou); erro de “shape mismatch” é álgebra linear do cap. 2 (multiplicar matrizes de tamanhos incompatíveis).
  • Decisões de produto, como “esse modelo de fraude tem 99% de acurácia no treino, podemos lançar?”, dependem do cap. 5: sem avaliação em dados separados, o número não diz nada. O livro Designing Machine Learning Systems parte daqui para a operação em produção.

Erros comuns de quem está aprendendo

  • Achar que precisa dominar toda a matemática antes de começar. Não precisa. O mais eficiente é ler a Parte I até entender as ideias da coluna “indispensável” acima, seguir para o cap. 6 e voltar quando uma conta específica travar.
  • Pular a Parte I inteira porque “o framework faz tudo”. O framework faz as contas, mas não diagnostica por que a loss não cai, por que o modelo decorou o treino ou por que apareceu NaN. Esse diagnóstico é exatamente a Parte I.
  • Confundir “profundo” com “inteligente” ou “complexo”. Profundo é uma descrição de arquitetura (muitas camadas), não uma promessa de qualidade. Uma rede profunda mal treinada perde para uma regressão linear bem feita.
  • Ler a notação como se fosse um idioma secreto. Toda fórmula do livro pode ser lida em voz alta como uma frase. Se você não consegue fazer isso com uma fórmula, pare e traduza antes de seguir.

Verifique se entendeu

  1. Em uma frase, qual é a diferença entre um modelo que recebe features prontas e um modelo de deep learning? (Veja “O que o capítulo 1 diz sobre deep learning”.)
  2. Num passo de treino, qual capítulo da Parte I explica cada etapa: calcular a saída, medir o erro, ajustar os pesos, avaliar? (Veja “As quatro peças da Parte I”.)
  3. No exemplo do preço do apartamento, o que é o “terreno” que o treino tenta descer, e o que está nos eixos dele? (Veja “O fio condutor”.)
  4. Por que ir bem nos dados de treino não é suficiente para dizer que o modelo funciona? (Veja “As quatro peças da Parte I”, item 4.)

Para ir além


Próximo: 2. Álgebra linear · Voltar ao livro: Guia de leitura