Redes Multicamadas como Transformações Lineares Compostas

Published on 2026-09-07·v1.0

Objetivos de Aprendizagem

  • Escrever a computação do forward de uma camada densa (totalmente conectada) como um produto matriz-vetor mais um bias, exatamente de acordo com a visão de matrizes como transformações lineares já vista neste currículo.
  • Explicar com precisão por que empilhar camadas densas sem uma ativação não linear entre elas colapsa em uma única camada linear equivalente, e por que isso faz da função de ativação, e não do número de camadas, a verdadeira fonte do poder expressivo de uma rede.
  • Rastrear um forward pass completo, camada por camada, em uma rede pequena com números concretos.
  • Enunciar o escopo desta disciplina e seu ponto de partida exato em relação a ai-theory/machine-learning.

Contexto e Motivação

ai-theory/machine-learning terminou, de propósito, em from-perceptrons-to-neural-networks: empilhar unidades parecidas com perceptrons em camadas, com uma função de ativação suave no lugar do limiar rígido, quebra a fronteira linear única que limitava todo classificador daquela disciplina. Aquele conceito parou exatamente ali, apontando backpropagation, arquiteturas profundas e treino em larga escala como o escopo inteiro e separado desta disciplina. Este conceito é a continuação direta: ele dá à rede em camadas uma descrição precisa, baseada em matrizes, antes de qualquer coisa ser treinada.

Isso importa de imediato por dois motivos. Primeiro, foundations/mathematics-for-computing já provou que uma matriz não passa de uma transformação linear e que compor transformações lineares significa multiplicar suas matrizes; a matriz de pesos de uma camada densa é uma instância real exatamente desse objeto, e não uma ideia matemática nova. Segundo, enquadrar o forward pass como uma sequência de operações matriciais é o que o torna rápido: o hardware moderno de deep learning (GPUs, vistas mais adiante no bloco de CNNs desta disciplina junto com computer/computer-architecture) é construído para executar com eficiência exatamente esse tipo de multiplicação de matrizes grande e regular.

Teoria Central

Uma camada densa como produto matriz-vetor

Uma camada densa com vetor de entrada x (tamanho n), matriz de pesos W (formato m × n) e vetor de bias b (tamanho m) calcula um vetor de pré-ativação:

text
z = Wx + b

Cada uma das m entradas de saída de z é uma soma ponderada (produto escalar) de todas as n entradas, mais o bias da própria unidade de saída; exatamente a "combinação linear das entradas" já familiar da regressão linear e do perceptron, só que calculada para m unidades de saída ao mesmo tempo usando notação matricial. W aqui é precisamente a matriz que matrices-as-linear-transformations (foundations/mathematics-for-computing) já caracterizou: ela mapeia um vetor de um espaço (dimensão n) em um vetor de outro (dimensão m).

Por que camadas lineares sozinhas não se compõem em nada novo

Suponha que duas camadas densas fossem empilhadas sem não linearidade entre elas: z₁ = W₁x + b₁, depois z₂ = W₂z₁ + b₂. Substituindo:

text
z₂ = W₂(W₁x + b₁) + b₂ = (W₂W₁)x + (W₂b₁ + b₂) = W'x + b'

em que W' = W₂W₁ e b' = W₂b₁ + b₂: uma única nova matriz de pesos e um único bias, exatamente o fato da composição de mapas lineares de matrix-operations aplicado diretamente. Não importa quantas camadas puramente lineares sejam empilhadas, a composição inteira é algebricamente idêntica a uma única camada linear. Essa é a versão precisa e demonstrável da afirmação informal já feita em from-perceptrons-to-neural-networks: a não linearidade entre camadas, e não a profundidade por si só, é a fonte inteira do poder expressivo adicional de uma rede multicamadas.

A função de ativação quebra o colapso

Inserir uma função de ativação não linear φ (sigmoid, tanh ou, muito mais comum na prática moderna, ReLU, φ(z) = max(0, z)) depois de cada passo linear muda completamente o quadro:

text
h₁ = φ(W₁x + b₁) h₂ = φ(W₂h₁ + b₂)

Como φ é aplicada elemento a elemento e não é uma função linear, em geral não existe matriz W' para a qual W'x + b' = φ(W₂φ(W₁x + b₁) + b₂). Esse é o conteúdo matemático por trás de toda a ideia de uma "camada oculta": a saída não linear de cada camada vira a entrada da camada seguinte, e a rede inteira, por mais camadas que tenha, é uma única função composta e genuinamente não linear de x.

Exemplos Resolvidos

Exemplo 1: um forward pass de duas camadas rastreado à mão

Considere uma rede com entrada x = (1, 2), uma camada oculta de 2 unidades ReLU com matriz de pesos W₁ = [[1, -1], [0.5, 0.5]] e bias zero, e uma camada de saída com vetor de pesos w₂ = (1, 1) e bias zero:

text
Pré-ativação oculta: z₁ = W₁x = (1(1) + (-1)(2), 0.5(1) + 0.5(2)) = (-1, 1.5) Ativação oculta: h₁ = ReLU(z₁) = (max(0,-1), max(0,1.5)) = (0, 1.5) Saída: ŷ = w₂ · h₁ = 1(0) + 1(1.5) = 1.5

Cada passo é um produto matriz-vetor seguido de uma não linearidade elemento a elemento; o forward pass inteiro de qualquer rede feedforward, qualquer que seja a profundidade, é esse padrão repetido camada após camada.

Exemplo 2: o colapso tornado concreto

Pegue os mesmos W₁ e w₂ acima, mas remova a ReLU. Compondo algebricamente: w₂ᵀW₁ = 1(1) + 1(0.5), 1(-1) + 1(0.5) = (1.5, -0.5). Conferindo com x = (1, 2): (1.5)(1) + (-0.5)(2) = 1.5 - 1 = 0.5. Diretamente: w₂ · (W₁x) = w₂ · (-1, 1.5) = -1 + 1.5 = 0.5. Os dois caminhos dão a mesma resposta, 0.5, confirmando que, sem a ReLU, a rede de duas camadas é exatamente equivalente a uma única camada linear com vetor de pesos (1.5, -0.5), para toda entrada possível, e não só para esta.

Equívocos Comuns e Armadilhas

  • "Uma rede com mais camadas é automaticamente mais expressiva." Só é verdade quando uma ativação não linear separa as camadas; o Exemplo 2 mostra um caso concreto em que duas camadas puramente lineares se reduzem, exatamente, a uma. Profundidade sem não linearidade não compra nada.
  • "A matriz de pesos W é só uma tabela de números, sem relação com a álgebra linear já vista." W é precisamente o objeto que matrices-as-linear-transformations descreveu: uma matriz que mapeia um espaço vetorial em outro. Nada no modo como uma camada densa calcula sua saída é uma primitiva matemática nova.
  • "Este conceito já cobre redes neurais, então o ponto de parada de machine-learning era redundante." from-perceptrons-to-neural-networks cobriu só a afirmação mínima de representação (a não linearidade quebra o teto linear, demonstrado com o XOR). Este conceito reapresenta essa afirmação com notação matricial precisa como a porta de entrada deliberada para esta disciplina; o treino de redes multicamadas em escala (do backpropagation em diante) começa já no próximo conceito.

Resumo

Uma camada densa calcula z = Wx + b, exatamente o mecanismo de transformação linear e composição já provado na disciplina de álgebra linear deste currículo; empilhar essas camadas sem uma não linearidade entre elas colapsa algebricamente em uma única camada linear equivalente, algo demonstrável diretamente pela multiplicação de matrizes. Inserir uma função de ativação não linear depois de cada passo linear é o que impede esse colapso e dá a uma rede multicamadas seu poder expressivo real; o mecanismo exato que from-perceptrons-to-neural-networks apenas indicou, agora tornado preciso como a porta de entrada para a cobertura desta disciplina sobre como treinar e escalar essas redes.

Documentation Links