Aula 10: Gradiente Descendente Estocástico (SGD) e Mini-Batching

Otimização e Álgebra Linear para Machine Learning

Marcos M. Raimundo — Instituto de Computação, UNICAMP

2026-10-22

Revisão e Introdução

Da Aula 9: O Que Já Temos

  • O Legado da Diferenciação Automática: O Teorema de Baur-Strassen garante que computar o gradiente \(\nabla f_i(\mathbf{w})\) de um exemplo custa no máximo \(5 C_{\text{eval}}\).
  • O Objetivo de Soma Finita: Em Machine Learning supervisionado, minimizamos a perda média sobre \(N\) exemplos: \[F(\mathbf{w}) = \frac{1}{N}\sum_{i=1}^N f_i(\mathbf{w})\]
  • A Operação do Batch Gradient Descent (BGD): \[\mathbf{w}_{k+1} = \mathbf{w}_k - \frac{\alpha}{N}\sum_{i=1}^N \nabla f_i(\mathbf{w}_k)\]
  • A Limitação Oculta: Para dar um único passo de atualização, o BGD precisa passar por todos os \(N\) exemplos do dataset!

O Paradoxo da Escala

Considere o tempo para dar um único passo de descida em diferentes escalas (assumindo hardware que processa \(10^6\) gradientes/s):

Dataset Tamanho \(N\) Tempo por Passo no BGD Atualizações em 1 Hora
California Housing \(16.640\) \(\approx 16\text{ ms}\) \(216.000\)
ImageNet \(1{,}28 \times 10^6\) \(\approx 1{,}3\text{ s}\) \(2.800\)
Criteo Click Log \(4 \times 10^9\) \(\approx 67\text{ min}\) Menos de 1
Llama 3 (Tokens) \(15 \times 10^{12}\) \(\approx 173\text{ dias}\) 0 (Inviável)

A Conclusão Inescapável

Em Big Data, o gargalo não é a precisão com que conhecemos o gradiente, mas a frequência com que atualizamos os parâmetros!

Ideia Central: Da Certeza Lenta à Agilidade Ruidosa

Certeza Lenta (BGD):

  • Avalia todos os \(N\) exemplos antes de atualizar.
  • Direção analítica perfeita, sem ruído.
  • Custo por passo: \(\mathcal{O}(Nd)\).
  • Em datasets colossais, fica paralisado calculando.

Agilidade Ruidosa (SGD):

  • Avalia um lote aleatório \(B \ll N\).
  • Direção ruidosa, mas correta em esperança.
  • Custo por passo: \(\mathcal{O}(Bd)\) — independente de \(N\)!
  • Dá milhares de passos úteis no mesmo tempo.

O Paradigma Estocástico

Não precisamos de certeza absoluta para aprender. Uma estimativa barata e ruidosa, repetida milhares de vezes por segundo, converge ordens de grandeza mais rápido do que um cálculo exato demorado.

Roteiro: 4 Perguntas Centrais

  1. Fundamentação: Por que uma amostra aleatória nos conduz confiavelmente ao mínimo global de uma soma finita de \(N\) termos?
  2. Patologia do Ruído: Por que o ruído estocástico \(\Sigma(\mathbf{w})\) não se anula no minimizador ótimo \(\mathbf{w}^\star\)?
  3. Mini-Batching e Hardware: Como o lote \(B\) concilia a redução teórica de variância (\(\sigma^2/B\)) com a saturação física de GPUs (BLAS-3)?
  4. Convergência e Generalização: Como as condições de Robbins-Monro asseguram convergência e por que o ruído expulsa o modelo de vales estreitos rumo a mínimos planos?

Pausa 1 — O Gargalo do Lote e a Filosofia Estocástica

Pergunta Aberta

Considere um problema de aprendizado com \(N = 2 \times 10^7\) exemplos e dimensão \(d = 100\). Suponha que seu hardware processa \(10^6\) gradientes por segundo. Se o BGD requer 500 iterações para convergir e o SGD puro atinge a mesma qualidade preditiva após processar 2 épocas completas, qual é o tempo total de computação de cada método? O que esse resultado revela sobre a métrica de “número de iterações” versus “número de épocas”?

Batch vs. Estocástico

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ O custo computacional de uma única iteração do SGD puro (\(B = 1\)) independe do número total de amostras \(N\) no conjunto de treinamento.
  • □ Uma época de treinamento no BGD e no SGD puro requer exatamente a mesma quantidade de avaliações de gradientes individuais de amostras (\(N\) avaliações).
  • □ Como o SGD puro avalia apenas uma amostra por vez, sua trajetória garante descida estritamente monotônica do custo global \(F(\mathbf{w}_{k+1}) \le F(\mathbf{w}_k)\) a cada passo.
  • □ Se duas amostras de treino forem exatamente idênticas, seus gradientes individuais calculados no mesmo ponto \(\mathbf{w}\) serão rigorosamente iguais.

Pausa 1 — Resposta

Batch vs. Estocástico — Resposta

  • ✔ Verdadeiro: O SGD puro sorteia um único índice \(i_k\); calcular \(\nabla f_{i_k}(\mathbf{w})\) tem custo \(\mathcal{O}(d)\), sem qualquer dependência de \(N\).
  • ✔ Verdadeiro: Uma época corresponde por definição a processar o equivalente a \(N\) amostras: 1 passo de tamanho \(N\) no BGD ou \(N\) passos de tamanho 1 no SGD.
  • ✗ Falso: Amostras individuais podem apontar em direções conflitantes com a média global; a descida monotônica é propriedade exclusiva do BGD sob passo adequado.
  • ✔ Verdadeiro: Se \((\mathbf{x}_a, y_a) = (\mathbf{x}_b, y_b)\), a função de perda local é a mesma e suas derivadas no mesmo ponto \(\mathbf{w}\) coincidem exatamente.

Voltando à pergunta: O BGD leva \(500 \times (2\cdot 10^7 / 10^6) = 10.000\text{ s} \approx 2\text{h } 46\text{min}\). O SGD consome 2 épocas (\(4\cdot 10^7\) gradientes), levando apenas \(40\text{ s}\) — uma aceleração de 250 vezes! A contagem de iterações é enganosa: 500 passos de BGD fizeram 500 atualizações; 2 épocas de SGD fizeram 40 milhões de atualizações consecutivas.

Intuição — O Alpinista no Nevoeiro e a Dinâmica de Langevin

Intuição: Duas Metáforas para Dois Algoritmos

BGD (Visão Telescópica):

  • Mede o terreno completo a cada iteração.
  • Trajetória perfeitamente suave e determinística.
  • Custo por passo: colossal (\(\mathcal{O}(Nd)\)).
  • Fica imobilizado calculando a média exata.

SGD (Bússola no Nevoeiro):

  • Olha apenas para o terreno imediato de 1 amostra.
  • Trajetória oscilatória, caótica e estocástica.
  • Custo por passo: instantâneo (\(\mathcal{O}(d)\)).
  • Move-se continuamente em direção à bacia.

\[ \mathbf{w}_{k+1} = \mathbf{w}_k - \alpha_k \underbrace{\nabla F(\mathbf{w}_k)}_{\text{Força Direcional Determinística}} - \alpha_k \underbrace{\boldsymbol{\xi}_k}_{\text{Flutuação Térmica Browniana}} \]

Amostragem na Matriz de Dados: Os 3 Paradigmas

  • Batch GD (\(B = N\)): Lê a matriz inteira \(X \in \mathbb{R}^{N \times d}\). 1 passo determinístico por época.
  • Mini-Batch (\(1 < B < N\)): Lê fatias em blocos. Explora paralelismo BLAS-3 em GPU.
  • SGD Puro (\(B = 1\)): Linha isolada \(i_k\). Máxima agilidade (\(N\) passos por época), mas subutiliza hardware.

Bloco 1: O Gargalo do Lote Completo e o SGD Puro

Recordando: Vetores Aleatórios e Covariância

  • Vetor Esperança: \[\mathbb{E}[\mathbf{X}] = \big[ \mathbb{E}[X_1], \dots, \mathbb{E}[X_d] \big]^T \in \mathbb{R}^d\]
  • Matriz de Covariância: \[\operatorname{Cov}(\mathbf{X}) = \mathbb{E}\big[(\mathbf{X} - \boldsymbol{\mu})(\mathbf{X} - \boldsymbol{\mu})^T\big] \succeq 0\]
  • Variância Total Escalar: \[\operatorname{Var}(\mathbf{X}) = \mathbb{E}[\|\mathbf{X} - \boldsymbol{\mu}\|^2] = \operatorname{tr}(\operatorname{Cov}(\mathbf{X}))\]

Conexão com o Gradiente

Trataremos o gradiente de uma amostra aleatória \(\nabla f_{i_k}(\mathbf{w})\) como um vetor aleatório em \(\mathbb{R}^d\), cuja média deve ser o gradiente verdadeiro e cuja covariância governa a intensidade do ruído.

O Problema de Otimização em Somas Finitas

  • A Perda Média Empírica: \[F(\mathbf{w}) = \frac{1}{N}\sum_{i=1}^N f_i(\mathbf{w})\]
  • O Gradiente Médio Determinístico: \[\nabla F(\mathbf{w}) = \frac{1}{N}\sum_{i=1}^N \nabla f_i(\mathbf{w})\]
  • O Passo do BGD: \[\mathbf{w}_{k+1} = \mathbf{w}_k - \frac{\alpha}{N}\sum_{i=1}^N \nabla f_i(\mathbf{w}_k)\]
  • Complexidade Total sob Convexidade Forte: (escala linearmente com \(N\); impraticável para \(N \ge 10^6\)) \[\text{Custo BGD} = \mathcal{O}\left(d \cdot N \log(1/\epsilon)\right)\]

O Algoritmo SGD Puro (\(B = 1\))

Regra de Atualização do SGD Puro

A cada iteração \(k\), sorteie \(i_k \sim \text{Uniforme}\{1, \dots, N\}\) e atualize: \[\mathbf{w}_{k+1} = \mathbf{w}_k - \alpha_k \nabla f_{i_k}(\mathbf{w}_k)\]

O Significado de 1 Época (\(N\) gradientes avaliados):

  • BGD: Avalia \(N\) amostras \(\implies\) 1 único passo de atualização.
  • SGD: Avalia \(N\) amostras \(\implies\) \(N\) atualizações sucessivas!

Na primeira época, o SGD ajusta os parâmetros \(N\) vezes, entrando rapidamente na bacia ótima muito antes de o BGD concluir suas primeiras iterações.

Dinâmica Comparada no California Housing

Trajetórias no espaço de parâmetros \((w_{\text{MedInc}}, w_{\text{HouseAge}})\) e evolução da perda por época:

Pausa 2 — O Dilema do Lote Completo

Pergunta Aberta

Se o SGD puro (\(B = 1\)) executa \(N\) atualizações por época e atinge a bacia ótima muito mais rápido do que o BGD, por que não descartamos o BGD em definitivo na totalidade dos problemas práticos de otimização? Em quais cenários matemáticos ou de engenharia o BGD ainda é preferível ao SGD?

Custo e Dinâmica do SGD

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ Em uma função quadrática estritamente convexa, a trajetória do BGD com taxa de aprendizado adequada nunca aumenta o valor da função de perda entre duas iterações sucessivas.
  • □ Como o SGD puro avalia apenas uma amostra por iteração, a memória de trabalho necessária para armazenar as ativações do grafo é estritamente proporcional a \(\mathcal{O}(1)\) na dimensão da amostra.
  • □ Para qualquer problema de otimização, o SGD puro converge mais rápido do que o BGD tanto na fase inicial de exploração quanto na fase final de aproximação de alta precisão (\(\epsilon = 10^{-12}\)).
  • □ A variabilidade da trajetória do SGD decorre exclusivamente de erros numéricos de arredondamento de ponto flutuante na biblioteca de diferenciação automática.

Pausa 2 — Resposta

Custo e Dinâmica do SGD — Resposta

  • ✔ Verdadeiro: Sob passo \(\alpha < 2/L\), o Lema da Descida garante que o BGD decresce monotonicamente: \(F(\mathbf{w}_{k+1}) < F(\mathbf{w}_k)\).
  • ✔ Verdadeiro: Com \(B = 1\), processa-se um único vetor \(\mathbf{x}_i \in \mathbb{R}^d\), minimizando o footprint de ativações em memória.
  • ✗ Falso: Na fase de altíssima precisão (\(\epsilon \to 0\)), o ruído do SGD exige passos cada vez menores, tornando a taxa sublinear \(\mathcal{O}(1/k)\), enquanto o BGD mantém convergência linear geométrica \(\mathcal{O}(\rho^k)\).
  • ✗ Falso: A variabilidade decorre da discrepância estatística entre o gradiente da amostra sorteada \(\nabla f_{i_k}\) e o gradiente global \(\nabla F\).

Voltando à pergunta: O BGD é preferível quando \(N\) cabe confortavelmente na memória e exigimos altíssima precisão analítica (\(\epsilon < 10^{-8}\)), em otimização de segunda ordem (métodos de Newton e quasi-Newton BFGS), ou quando a função de perda não possui estrutura de soma finita de dados i.i.d.

Bloco 2: Propriedades Estatísticas do Gradiente Estocástico

O Gradiente Estocástico é Não-Enviesado

  • Sorteio uniforme: \(\mathbb{P}(i_k = i) = \frac{1}{N}\).
  • Estimador estocástico: \(\mathbf{g}_k(\mathbf{w}) = \nabla f_{i_k}(\mathbf{w})\).

Demonstração do Não-Enviesamento: \[\mathbb{E}[\mathbf{g}_k(\mathbf{w}) \mid \mathbf{w}] = \sum_{i=1}^N \mathbb{P}(i_k = i) \nabla f_i(\mathbf{w}) = \frac{1}{N}\sum_{i=1}^N \nabla f_i(\mathbf{w}) = \nabla F(\mathbf{w})\]

Significado Estatístico

O gradiente estocástico não tem desvio angular sistemático: em média, aponta com perfeita exatidão na direção do gradiente verdadeiro \(\nabla F(\mathbf{w})\).

Decomposição Canônica: Sinal vs. Ruído

\[\mathbf{g}_k(\mathbf{w}_k) = \underbrace{\nabla F(\mathbf{w}_k)}_{\text{Sinal Verdadeiro}} + \underbrace{\boldsymbol{\xi}_k}_{\text{Ruído de Amostragem}}\]

com média condicional nula: \(\mathbb{E}[\boldsymbol{\xi}_k \mid \mathbf{w}_k] = \mathbf{0}\).

Matriz de Covariância do Ruído \(\Sigma(\mathbf{w})\): \[\Sigma(\mathbf{w}) = \mathbb{E}[\boldsymbol{\xi}_k \boldsymbol{\xi}_k^T] = \frac{1}{N}\sum_{i=1}^N \nabla f_i(\mathbf{w})\nabla f_i(\mathbf{w})^T - \nabla F(\mathbf{w})\nabla F(\mathbf{w})^T\]

Variância Escalar Total: \[\sigma^2(\mathbf{w}) = \mathbb{E}[\|\boldsymbol{\xi}_k\|^2] = \operatorname{tr}(\Sigma(\mathbf{w})) = \frac{1}{N}\sum_{i=1}^N \|\nabla f_i(\mathbf{w}) - \nabla F(\mathbf{w})\|^2\]

A Patologia no Mínimo: Por Que o Ruído Não Desliga?

Batch GD no Ótimo \(\mathbf{w}^\star\):

  • \(\nabla F(\mathbf{w}^\star) = \mathbf{0}\).
  • Passo de atualização: \[\mathbf{w}_{k+1} = \mathbf{w}^\star - \alpha \mathbf{0} = \mathbf{w}^\star\]
  • Ponto fixo exato: O BGD para e descansa no mínimo com qualquer \(\alpha < 2/L\).

SGD no Ótimo \(\mathbf{w}^\star\):

  • Média se anula: \(\nabla F(\mathbf{w}^\star) = \mathbf{0}\).
  • Mas as amostras não se anulam: \[\nabla f_i(\mathbf{w}^\star) \neq \mathbf{0}\]
  • Covariância no ótimo é positiva: \[\Sigma(\mathbf{w}^\star) \succ 0\]
  • O ruído nunca é desligado!

Consequência Inevitável

Com taxa de aprendizado constante \(\alpha\), o SGD nunca atinge um ponto fixo. Ele flutua permanentemente ao redor de \(\mathbf{w}^\star\).

Geometria Vetorial do Passo Estocástico

  • Sinal Determinístico (\(-\alpha \nabla F\)): Tração macroscópica em direção ao mínimo ótimo \(\mathbf{w}^\star\).
  • Ruído Browniano (\(-\alpha \boldsymbol{\xi}_k\)): Flutuação com dispersão governada pela elipse de covariância \(\Sigma(\mathbf{w}_k)\).
  • Passo SGD (\(-\alpha \mathbf{g}_k\)): Avanço estocástico oscilatório; estatisticamente não-enviesado (\(\mathbb{E}[\mathbf{g}_k] = \nabla F\)).

Pausa 3 — Estatística do Ruído Estocástico

Propriedades do Ruído

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ A propriedade de não-enviesamento (\(\mathbb{E}[\mathbf{g}_k] = \nabla F(\mathbf{w})\)) é válida exclusivamente para funções de perda estritamente convexas.
  • □ Se um modelo atinge perda zero em todo o conjunto de treino (\(f_i(\mathbf{w}^\star) = 0, \forall i\)), a variância do gradiente estocástico anula-se no minimizador: \(\sigma^2(\mathbf{w}^\star) = 0\).
  • □ No ponto de mínimo global de uma função estritamente convexa com dados ruidosos, o vetor de ruído estocástico \(\boldsymbol{\xi}_k\) é necessariamente nulo para qualquer amostra sorteada.
  • □ Se multiplicarmos todas as funções de perda individuais por uma constante escalar \(c > 0\), a matriz de covariância do ruído \(\Sigma(\mathbf{w})\) é multiplicada por \(c^2\).

Pausa 3 — Resposta

Propriedades do Ruído — Resposta

  • ✗ Falso: O não-enviesamento decorre apenas da linearidade da esperança e da amostragem uniforme; independe de convexidade.
  • ✔ Verdadeiro: Sob interpolação perfeita de perda suave não-negativa, cada amostra atinge seu mínimo individual em \(\mathbf{w}^\star\), logo \(\nabla f_i(\mathbf{w}^\star) = \mathbf{0}\) para todo \(i\).
  • ✗ Falso: Conforme provado na aberta, \(f_1'(3) = 1\) e \(f_2'(3) = -1\); as amostras puxam em direções opostas, logo \(\boldsymbol{\xi}_k \neq \mathbf{0}\).
  • ✔ Verdadeiro: \(\operatorname{Cov}(c \boldsymbol{\xi}) = \mathbb{E}[(c\boldsymbol{\xi})(c\boldsymbol{\xi})^T] = c^2 \mathbb{E}[\boldsymbol{\xi}\boldsymbol{\xi}^T] = c^2 \Sigma\).

Voltando à pergunta: \(F(w) = \frac{1}{2}w^2 - 3w + 5 \implies w^\star = 3\). No ótimo: \(f_1'(3) = 1\) e \(f_2'(3) = -1\). O gradiente médio é \(\frac{1}{2}(1 - 1) = 0\), mas a variância é \(\sigma^2(w^\star) = \frac{1}{2}(1^2 + (-1)^2) = 1 > 0\)! Se \((x_2, y_2) = (1, 2)\), teríamos \(w^\star = 2\), com \(f_1'(2) = 0\) e \(f_2'(2) = 0\), zerando a variância no ótimo.

Bloco 3: Mini-Batching e a Física do Hardware

O Estimador por Mini-Batch

  • Sorteamos um subconjunto \(\mathcal{B} \subset \{1, \dots, N\}\) de tamanho \(B\): \[\mathbf{g}_{\mathcal{B}}(\mathbf{w}) = \frac{1}{B}\sum_{i \in \mathcal{B}} \nabla f_i(\mathbf{w})\]
  • Regra de atualização: \(\mathbf{w}_{k+1} = \mathbf{w}_k - \alpha_k \mathbf{g}_{\mathcal{B}}(\mathbf{w}_k)\).

Redução da Variância (Com Reposição): \[\operatorname{Var}(\mathbf{g}_{\mathcal{B}}(\mathbf{w})) = \frac{\sigma^2(\mathbf{w})}{B}\]

Amostragem Sem Reposição (Particionamento em Épocas): \[\operatorname{Var}(\mathbf{g}_{\mathcal{B}}(\mathbf{w})) = \underbrace{\left(\frac{N - B}{N - 1}\right)}_{\text{Fator de População Finita}} \frac{\sigma^2(\mathbf{w})}{B}\]

  • Se \(B = 1 \implies \operatorname{Var} = \sigma^2\) (SGD puro).
  • Se \(B = N \implies \operatorname{Var} = 0\) (recupera o BGD!).

Dedução: O Fator de População Finita

Se \(\mathbf{u}_i = \nabla f_i - \nabla F\), então \(\sum_{i=1}^N \mathbf{u}_i = \mathbf{0}\).

1. Produtos Cruzados Negativos: \[0 = \left\|\sum_{i=1}^N \mathbf{u}_i\right\|^2 = \sum_{i=1}^N \|\mathbf{u}_i\|^2 + \sum_{i \neq j}\langle \mathbf{u}_i, \mathbf{u}_j \rangle \implies \mathbb{E}_{i \neq j}[\langle \mathbf{u}_i, \mathbf{u}_j \rangle] = -\frac{\sigma^2}{N-1}\]

2. Variância da Média Amostral sem Reposição: \[\operatorname{Var}(\mathbf{g}_{\mathcal{B}}) = \frac{1}{B^2} \left[ B \sigma^2 + B(B-1)\left(-\frac{\sigma^2}{N-1}\right) \right] = \frac{\sigma^2}{B} \left(1 - \frac{B-1}{N-1}\right) = \left(\frac{N-B}{N-1}\right) \frac{\sigma^2}{B}\]

Intuição da Anti-Correlação

Em amostragem sem reposição, sortear um exemplo com desvio positivo aumenta a probabilidade de os próximos exemplos terem desvios negativos, cancelando parte do ruído!

A Física do Hardware: BLAS-1 vs. BLAS-3

Caso \(B = 1\) (SGD Puro):

  • Operações vetor-vetor (BLAS-1).
  • Dominado por latência de kernel e barramento de memória (memory-bound).
  • \(90\%\) a \(95\%\) da GPU fica ociosa.
  • Throughput baixíssimo em amostras/s.

Caso \(B \in [32, 256]\) (Mini-Batch):

  • Multiplicações matriz-matriz (BLAS-3).
  • Caches L1/L2 e Tensor Cores saturados com paralelismo SIMD.
  • Executar \(B = 64\) leva quase o mesmo tempo de relógio que \(B = 1\)!
  • Throughput máximo por segundo.

O Ponto Doce (Sweet Spot)

O mini-batch (\(B \in [32, 256]\)) extrai \(100\%\) do paralelismo físico da GPU sem sacrificar a frequência de atualizações de pesos.

Hierarquia de Memória e Throughput de GPU

  • Latência de Transferência: \(B = 1\) satura o barramento PCIe/VRAM sem ocupar os núcleos de cálculo.
  • Reuso em Caches L1/L2: Mini-batching (\(B \in [32, 256]\)) mantém os tensores na memória ultrarrápida.
  • Saturação de FLOPS: Operações matriciais BLAS-3 operam no limite de vazão dos Tensor Cores.

Validação: A Variância Decai Exatamente como \(1/B\)

Validação empírica no California Housing comparada à curva teórica \(\sigma^2/B\):

Pausa 4 — Mini-Batching e Eficiência de Hardware

Variância e Hardware

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ Se aumentarmos o tamanho do mini-batch de \(B = 16\) para \(B = 64\), a variância do estimador do gradiente sob amostragem com reposição é reduzida exatamente por um fator de 4.
  • □ Na amostragem sem reposição, quando o tamanho do mini-batch se iguala ao número total de amostras (\(B = N\)), a variância do gradiente anula-se identicamente devido ao fator \((N-B)/(N-1)\).
  • □ O SGD puro (\(B = 1\)) sempre treina mais rápido na prática em uma GPU moderna do que o Mini-batch com \(B = 64\), pois requer menos operações aritméticas por iteração.
  • □ Se um problema possuir ruído intrínseco nulo (\(\nabla f_i(\mathbf{w}) = \nabla F(\mathbf{w})\) para todo \(i\)), então o SGD puro com \(B = 1\) comporta-se de maneira identicamente equivalente ao BGD com lote completo.

Pausa 4 — Resposta

Variância e Hardware — Resposta

  • ✔ Verdadeiro: \(\operatorname{Var} = \sigma^2/B\); passando de \(16\) para \(64\), a variância é dividida por \(64/16 = 4\).
  • ✔ Verdadeiro: Com \(B = N\), o fator de população finita torna-se \((N-N)/(N-1) = 0\), eliminando toda a variância amostral.
  • ✗ Falso: Em GPUs, \(B = 1\) sofre de latência de lançamento de kernel e subutilização massiva de hardware (memory-bound), tendo throughput drasticamente inferior.
  • ✔ Verdadeiro: Sem discrepância amostral, o gradiente de qualquer exemplo isolado coincide com o gradiente global, tornando os passos do SGD idênticos aos do BGD.

Voltando à pergunta: Para \(B=1\), throughput \(= 1 / 0{,}0005\text{ s} = 2.000\text{ amostras/s}\). Para \(B=64\), throughput \(= 64 / 0{,}0008\text{ s} = 80.000\text{ amostras/s}\) (\(40\times\) maior!). Para \(B=512\), throughput \(= 512 / 0{,}004\text{ s} = 128.000\text{ amostras/s}\) (\(1{,}6\times\) maior). Com \(B=1\), a GPU ficava ociosa; com \(B=64\), os núcleos foram ocupados; com \(B=512\), o hardware já estava saturado.

Bloco 4: Teoria de Convergência e Taxas de Aprendizado

O Paradoxo do Passo Constante: A Bola de Ruído

\[\mathbf{w}_{k+1} = \mathbf{w}_k - \alpha (\nabla F(\mathbf{w}_k) + \boldsymbol{\xi}_k)\]

Tomando a esperança do erro quadrático em relação a \(\mathbf{w}^\star\): \[\mathbb{E}[\|\mathbf{w}_{k+1} - \mathbf{w}^\star\|^2] \le (1 - 2\alpha \mu)\mathbb{E}[\|\mathbf{w}_k - \mathbf{w}^\star\|^2] + \alpha^2 \sigma^2\]

No Limite Assintótico (\(k \to \infty\)): \[\lim_{k \to \infty} \mathbb{E}[\|\mathbf{w}_k - \mathbf{w}^\star\|^2] \le \frac{\alpha \sigma^2}{2\mu}\]

A Bola de Ruído (Noise Ball)

  • Sob taxa de aprendizado constante \(\alpha\), o erro estaciona num patamar mínimo.
  • O raio da bola de flutuação é proporcional a \(\sqrt{\alpha \sigma^2 / \mu}\).
  • Para aproximar-se arbitrariamente do mínimo ótimo, a taxa \(\alpha\) precisa decair!

As Condições de Robbins-Monro (1951)

Para garantir convergência com probabilidade 1 (\(\mathbf{w}_k \xrightarrow{\text{q.c.}} \mathbf{w}^\star\)), a sequência \(\{\alpha_k\}\) deve satisfazer:

1. Capacidade de Exploração Infinita: \[\sum_{k=1}^\infty \alpha_k = \infty\] Garante que a distância percorrível é ilimitada; o algoritmo nunca congela prematuramente no caminho.

2. Supressão do Ruído Estocástico: \[\sum_{k=1}^\infty \alpha_k^2 < \infty\] Garante que a variância acumulada pelo ruído é estritamente finita, drenando a agitação browniana.

Exemplo canônico: \(\alpha_k = \frac{\alpha_0}{k}\) satisfaz ambas as condições (\(\sum \frac{1}{k} = \infty\) e \(\sum \frac{1}{k^2} = \frac{\pi^2}{6} < \infty\)).

Cronogramas Práticos de Decaimento

Step Decay: \[\alpha_e = \alpha_0 \gamma^{\lfloor e/E \rfloor}\] - Degraus clássicos (ex: divide por 3 a cada \(2.500\) passos). - Encolhe a bola de ruído bruscamente em cada patamar.

Polinomial: \[\alpha_k = \frac{\alpha_0}{(1 + \gamma k)^p}\] - Decaimento suave e contínuo (em geral \(p = 0{,}5\)). - Muito comum em otimizadores adaptativos.

Cosine Annealing: \[\alpha_t \propto 1 + \cos\left(\frac{t}{T}\pi\right)\] - Curva sinusoidal suave até \(\alpha_{\min}\). - Padrão em Visão Computacional e LLMs.

Dinâmica de Decaimento: Colapsando a Bola de Ruído

Evolução do erro \(\|\mathbf{w}_k - \mathbf{w}^\star\|^2\) sob diferentes cronogramas de aprendizado:

A Bênção Oculta: Mínimos Planos vs. Mínimos Estreitos

Mínimos Estreitos (Sharp):

  • Alta curvatura local (Hessiana com autovalores gigantes).
  • O ruído térmico \(\boldsymbol{\xi}_k\) ejeta os parâmetros do poço.
  • Sensível a desvios: péssima generalização no teste!

Mínimos Planos (Flat):

  • Baixa curvatura local (Hessiana com autovalores moderados).
  • O SGD acomoda-se estavelmente na bacia larga.
  • Robusto a desvios: excelente generalização no teste!

O Ruído como Regularizador Implícito

O ruído do SGD atua como um processo de recozimento estocástico (simulated annealing), empurrando os parâmetros para regiões amplas que generalizam muito melhor!

Geometria da Paisagem: Mínimos Planos vs. Estreitos

  • Mínimo Estreito (Sharp): Curvatura extrema. O ruído \(\boldsymbol{\xi}_k\) ejeta os parâmetros; alta sensibilidade a desvios no teste.
  • Mínimo Plano (Flat): Bacia larga e suave. O modelo tolera variações entre treino e teste mantendo perda baixa.
  • Efeito Annealing: O ruído do SGD atua como regularizador implícito, selecionando soluções de alta generalização.

Pausa 5 — Robbins-Monro e Dinâmica Estocástica

Pergunta Aberta

Analise o comportamento do SGD em uma paisagem de perda fortemente anisotrópica (como um desfiladeiro elíptico alongado com \(\kappa = \lambda_{\max}/\lambda_{\min} \gg 1\), típico do California Housing antes do escalonamento). Se a Hessiana possui autovalores muito discrepantes, o que ocorre com a trajetória do SGD? Como as flutuações estocásticas do ruído interagem com o mau condicionamento do terreno?

Convergência e Paisagem

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ A sequência de passos \(\alpha_k = 1/\sqrt{k}\) satisfaz a condição de exploração infinita (\(\sum \alpha_k = \infty\)), mas viola a condição de supressão do ruído de Robbins-Monro (\(\sum \alpha_k^2 < \infty\)).
  • □ A sequência de passos \(\alpha_k = 1/k^2\) garante variância acumulada finita, mas pode falhar em atingir o mínimo caso a inicialização \(\mathbf{w}_0\) esteja muito afastada da solução.
  • □ Sob taxa constante \(\alpha\) em quadráticas fortemente convexas, o diâmetro da bola de ruído estacionária é inversamente proporcional ao parâmetro de forte convexidade \(\mu\).
  • □ Em torno de um ponto de sela com \(\nabla F(\mathbf{w}) = \mathbf{0}\) e autovalores mistos na Hessiana, a perturbação estocástica do ruído facilita a quebra de simetria e o escape pelo vale descendente.

Pausa 5 — Resposta

Convergência e Paisagem — Resposta

  • ✔ Verdadeiro: \(\sum k^{-1/2} = \infty\), mas a soma dos quadrados é a série harmônica \(\sum 1/k = \infty\), violando a segunda condição de Robbins-Monro.
  • ✔ Verdadeiro: Como \(\sum 1/k^2 = \pi^2/6 < \infty\), a distância total percorrível é limitada; se \(\mathbf{w}^\star\) estiver além desse alcance, o algoritmo congela prematuramente.
  • ✔ Verdadeiro: Pela fórmula da bola de ruído, \(\lim \mathbb{E}[\|\mathbf{w}_k - \mathbf{w}^\star\|^2] \le \frac{\alpha \sigma^2}{2\mu}\); maior curvatura \(\mu\) confina o ruído.
  • ✔ Verdadeiro: No ponto de sela \(\nabla F = \mathbf{0}\), o BGD fica paralisado; o ruído do SGD fornece a perturbação transversal que quebra a simetria e precipita o avanço.

Voltando à pergunta: Em vales mal-condicionados (\(\kappa \gg 1\)), o gradiente aponta quase transversalmente às curvas de nível. O SGD sofre duplamente: o passo precisa ser minúsculo na direção íngreme para evitar explosão, mas o ruído estocástico induz ziguezagues frenéticos na direção suave, tornando o avanço lento e motivando métodos com inércia física (Momento da Aula 11).

Fechamento

Retomando as 4 Perguntas

  1. Fundamentação: O gradiente estocástico é não-enviesado (\(\mathbb{E}[\mathbf{g}_k] = \nabla F(\mathbf{w})\)). O centro de massa aponta na direção correta.
  2. Patologia do Ruído: No minimizador \(\mathbf{w}^\star\), \(\Sigma(\mathbf{w}^\star) \succ 0\). Sob passo fixo \(\alpha\), o SGD flutua em uma bola de ruído de raio \(\mathcal{O}(\alpha \sigma^2 / \mu)\).
  3. Mini-Batching e Hardware: O lote \(B\) reduz a variância por \(\sigma^2/B\) e satura núcleos e caches de GPUs via operações BLAS-3 (\(B \in [32, 256]\)).
  4. Convergência e Generalização: As condições de Robbins-Monro (\(\sum \alpha_k = \infty, \sum \alpha_k^2 < \infty\)) garantem convergência exata, e o ruído atua como regularizador que seleciona mínimos planos.

Síntese Comparativa: BGD vs. SGD vs. Mini-Batch

Característica BGD SGD Puro (\(B = 1\)) Mini-Batch (\(B = 32\))
Custo por Iteração \(\mathcal{O}(Nd)\) \(\mathcal{O}(d)\) \(\mathcal{O}(Bd)\)
Atualizações por Época 1 \(N\) \(N/B\)
Variância do Gradiente \(0\) \(\sigma^2\) \(\sigma^2 / B\)
Aproveitamento de GPU Latência de Lote Péssimo Ótimo (BLAS-3)
Com \(\alpha\) Constante Para em \(\mathbf{w}^\star\) Bola de Ruído Bola Reduzida
Escape de Selas Ruim Excelente Excelente
Generalização no Teste Padrão Mínimos Planos Mínimos Planos

Ponte para a Aula 11: Curvatura e Precondicionamento

O Que Vimos Hoje (Aula 10):

  • O SGD e o Mini-Batching resolvem o gargalo de Big Data.
  • O ruído atua beneficamente na generalização.
  • Mas o passo \(\alpha\) é idêntico para todos os parâmetros!

O Próximo Passo (Aula 11):

  • Qual o passo ótimo se conhecermos a curvatura local?
  • O modelo quadrático de Taylor e o Método de Newton (\(H^{-1}\nabla f\)).
  • O colapso \(\mathcal{O}(d^3)\) e o precondicionamento diagonal: AdaGrad e RMSProp.

Exercícios Soluções