SIENA, NIPS-CERN, UFJF

Limiar

Redes neurais, do neurônio ao fractal


Aula 4: derivadas parciais e o Jacobiano

13/11/2026. C∴ Chrysthofer A. A. Afonso

Uma grade de linhas azuis que se curvam e se apertam perto das bordas de um quadrado

Uma grade regular do plano, levada pela camada com a tanh do exemplo da aula: as retas viram curvas, que se apertam nas bordas, onde a tanh se achata.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

1 · Revisão

O que ficou das aulas 2 e 3, de memória

1

O que uma camada calcula, escrita como matriz?

2

Por que duas camadas lineares valem uma?

3

O que é a derivada parcial?

4

Para onde aponta o gradiente?

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

1 · Revisão

O fio do curso, da aula 1 à 10

1

O neurônio e o perceptron

um neurônio desenha uma reta, e nenhuma reta separa o XOR

25/09, presencial

2

Derivada e gradiente

o passo contra a derivada; a taxa grande demais faz o treino divergir

02/10, presencial

3

Matrizes e camadas

duas camadas separam o XOR, com pesos escolhidos à mão

13/11, on-line

4

O Jacobiano

a regra da cadeia com vetores, uma camada de cada vez

13/11, on-line

5

Retropropagação

a regra da cadeia, de trás para a frente, acha os pesos do XOR

13/11, on-line

6

O MNIST em NumPy

um MLP em 70 mil dígitos escritos à mão, com treino, validação e teste

27/11, on-line

7

PyTorch

a biblioteca faz a retropropagação; o erro final contra a taxa

27/11, on-line

8

Os dados do CERN

um MLP estima a massa dos dois múons, conferida pela fórmula

04/12, on-line

9

O fractal e o projeto

a fronteira entre a taxa que converge e a que diverge

04/12, on-line

10

A apresentação

a apresentação do projeto e a revisão do curso inteiro

11/12, on-line

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

1 · Revisão

Da aula 2: derivada parcial e gradiente

Curvas de nível da perda da rede desta aula em função das duas entradas, com setas cinza do gradiente, cada uma em ângulo reto com as curvas, e uma seta laranja no ponto (1; 0,25)

A perda da rede desta aula e o gradiente.

Derivada parcial: as outras variáveis paradas

Gradiente: para onde a função mais cresce

Até aqui, a função devolvia um número só, a perda. Uma camada devolve um vetor.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

E quando a saída é um vetor?

Uma camada de duas entradas e duas saídas tem quatro derivadas parciais: cada saída depende das duas entradas.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

Uma linha por saída, uma coluna por entrada

a linha i é da saída i; a coluna j, da entrada j

Perto do ponto, um passo pequeno na entrada muda a saída de J vezes o passo: J é a melhor aproximação linear da função.

Jacobiano, no curso: a matriz m × n das derivadas parciais de uma função que recebe n números e devolve m. Com m = 1, é o gradiente, deitado.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

Numa camada linear, o Jacobiano é W

Na aula 2, a reta

A derivada em relação a x é w, em qualquer ponto. Uma função linear tem a mesma inclinação em todo lugar.

Camada linear, no curso: a camada sem ativação, só a soma ponderada mais o viés.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

A tangente hiperbólica e a inclinação dela

À esquerda, a tanh em forma de S, de −1 a 1, passando por 0 em z = 0; à direita, a inclinação 1 − tanh², que vale 1 em z = 0 e some longe do zero, com um ponto laranja em z = 0,75 e inclinação 0,5966

tanh, a tangente hiperbólica

Caixa-preta: entra z, sai a inclinação. A conta pede a derivada da exponencial e não se abre agora; o código a confere pela derivada numérica.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

O Jacobiano de uma camada com tanh

A linha k de J é a linha k de W vezes um número só, a inclinação da tanh no neurônio k. Muda de ponto para ponto.

Um exemplo

com o vetor b = (0; −1) e o ponto x = (1; 0,25); a derivada numérica dá o mesmo J, com diferença de 7,0 · 10−11

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

O Jacobiano coluna a coluna

À esquerda, o ponto (1; 0,25) e dois pontos azuis a uma distância delta, só na direção de x1; à direita, as imagens deles e a seta da coluna 1 de J, que se firma em (0,5966; 0,5) quando delta vai de 0,5 a 0,001. Depois o mesmo com x2, em laranja, e a seta cresce até (−0,5966; 2); no fim, a matriz J

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

O passo encolhe, e a coluna chega à conta

A coluna j, pela diferença central

o vetor e de índice j: um passo só na entrada j

No código, Δ = 10−6, e a diferença para a conta à mão é 7 · 10−11.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

2 · O Jacobiano

Perto do ponto, a camada age como J

À esquerda, o plano das entradas com uma grade e um quadradinho laranja em volta do ponto (1; 0,25); à direita, a grade curva que a camada desenha e a imagem do quadradinho, ao lado do paralelogramo tracejado que a matriz J faz; a câmera chega perto, e as duas figuras quase coincidem

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

3 · A regra da cadeia com vetores

O Jacobiano da composição é o produto

∘, bola: g ∘ f é f e depois g

Por quê

No exemplo, duas camadas

o Jacobiano numérico das duas camadas dá o mesmo, com diferença de 1,0 · 10−10

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

3 · A regra da cadeia com vetores

Até a perda, o gradiente é uma linha

o gradiente de L em relação ao vetor x: o produto dá 1 × 2, uma linha

A saída e a perda

com o vetor v = (1; −1), c = 0 e t = 0

Os números

pela cadeia e pela derivada numérica, com diferença de 1,4 · 10−10

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

3 · A regra da cadeia com vetores

De trás para a frente custa menos

Multiplicações contra a largura da rede, nos dois eixos em escala logarítmica: de trás para a frente, uma reta azul mais baixa; da frente para trás, uma reta laranja tracejada mais inclinada, que se afasta da azul quando a largura cresce

De trás para a frente

linha vezes matriz

Da frente para trás

matriz vezes matriz

3 camadas de m = 1.000: 3 milhões de multiplicações contra 2 bilhões.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

3 · A regra da cadeia com vetores

As duas ordens, conta a conta

O produto g J3 J2 J1 com 4 neurônios por camada, em quadradinhos. Em cima, de trás para a frente, a linha engole uma matriz de cada vez: 16 multiplicações por passo, 48 ao todo. Embaixo, da frente para trás, as matrizes se multiplicam primeiro: 64 por passo, 144 ao todo

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

3 · A regra da cadeia com vetores

A retropropagação é esse produto, de trás para a frente

Uma linha vezes uma matriz, camada por camada, começando pela perda: a conta da aula 5.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

4 · De onde vem

Da regra da cadeia ao gradiente barato

1676

A regra da cadeia aparece numa memória de Leibniz, ao que parece pela primeira vez.

1841

Jacobi publica “De determinantibus functionalibus”, sobre o determinante da matriz das derivadas parciais, que hoje leva o nome dele.

1970

Seppo Linnainmaa descreve, na dissertação de mestrado, o modo reverso da diferenciação automática: a conta de trás para a frente.

1983

Baur e Strassen mostram que o gradiente custa um múltiplo pequeno do custo da própria função.

Retrato de Carl Gustav Jacob Jacobi, de terno escuro e gravata, com os braços cruzados

Jacobi em 1843, retrato de August Kaselowsky. Wikimedia Commons, domínio público.

Fontes: Wikipedia, verbetes “Chain rule”, “Jacobian matrix and determinant” e “Automatic differentiation”; Andreas Griewank, 2012, “Who invented the reverse mode of differentiation?”.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

5 · O código

O Jacobiano em NumPy, passo a passo

1

A camada com a tangente hiperbólica, com os pesos e o ponto do exemplo

2

O Jacobiano à mão: cada linha de W vezes a inclinação da tanh

3

O Jacobiano numérico: uma coluna por entrada, mexendo só ela

4

As duas matrizes comparadas, e o produto J2 J1 contra o numérico das duas camadas

5

As multiplicações contadas nas duas ordens

O NumPy que resolve

np.tanh(W @ x + b)

(1 - h**2)[:, None] * W

np.column_stack(colunas)

linha @ J

[:, None] faz do vetor uma coluna, e cada linha de W vai vezes o seu número

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

5 · O código

O que a entrega pede

À mão

Numérico

Uma função que calcula o Jacobiano numérico de uma camada e o compara com o calculado à mão. Cada um escolhe a própria camada e o próprio ponto.

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES

6 · Fechamento

Para estudar e entregar

Estudo

  • 3Blue1Brown, redes neurais, capítulo 3
  • 3Blue1Brown, redes neurais, capítulo 4
  • Nielsen, capítulo 2, “How the backpropagation algorithm works”

Entrega

  • o Jacobiano numérico de uma camada, comparado com o calculado à mão
  • uma pergunta sobre o estudo

A seguir

  • aula 5: a retropropagação acha os pesos do XOR
  • aula 6: o MNIST em NumPy, com treino, validação e teste

Limiar, aula 4: derivadas parciais e o Jacobiano

Brasão da UFJFLogo do NIPS-CERNLogo do CERN
Logo da FAPEMIGLogo do CNPqLogo da CAPES