Fundamentos
Perceptrons multicamada e não linearidade
Empilhar mapas afins com ativações não lineares constrói features que um único hiperplano não expressa — e esse bloco exato é a feed-forward network do Qwen3.8-27B, encontrada uma vez por camada em todas as 64 camadas.
Atualizada em
01 · Conceito
Conceito
A lição 2.1 terminou num muro: XOR. Quatro pontos, duas classes, e nenhuma reta que os separe. O dispositivo não podia ser ajustado até virar solução porque não conseguia expressar uma. Então a pergunta prática que esta lição responde é estreita e concreta — qual é a menor mudança no perceptron que torna o XOR representável, e essa mudança escala para algo maior?
A mudança é empilhar. Alimente a entrada em várias unidades tipo perceptron ao mesmo tempo, passe o score de cada unidade por uma função não linear, e deixe uma segunda camada de unidades ler essas saídas em vez da entrada bruta. Para uma matriz de batch cujas linhas são exemplos e colunas são features, uma rede de uma camada oculta computa
onde atua elemento a elemento. Isso é um perceptron multicamada, ou MLP.
Tudo depende de estar realmente ali. Apague-a e a álgebra colapsa: se rearranja em com e . Dez camadas, cem camadas, qualquer número — ainda um único mapa afim, ainda um hiperplano, ainda exatamente tão impotente no XOR quanto o perceptron isolado era. Profundidade sem não linearidade não é uma versão mais fraca de profundidade; é uma forma mais cara de escrever a mesma função.
Veja o conserto funcionar no próprio XOR, à mão, sem treinamento nenhum. Use duas unidades ocultas com ReLU, que mantém valores positivos e zera os negativos: e . Avalie os quatro cantos, um por vez. Em : e . Em e em : e . Em : e . Agora deixe a unidade de saída computar . Os cantos dão , depois e , depois . Positivo exatamente nos dois cantos “diferentes”, negativo exatamente nos dois cantos “iguais”: XOR, resolvido.
Olhe o que aconteceu geometricamente. Nas novas coordenadas os quatro pontos ficam em , , e . Os dois cantos de entradas diferentes, positivos no XOR, colapsam no mesmo ponto oculto , enquanto os dois cantos de entradas iguais, negativos no XOR, ficam em e . Uma única fronteira reta agora separa o ponto positivo compartilhado dos dois pontos negativos. A unidade de saída ainda é um perceptron, inalterada em relação à lição 2.1. A camada oculta mudou aquilo para o que ela está olhando.
Essa é a ideia duradoura: camadas ocultas aprendem uma representação, e a classificação acontece no espaço aprendido em vez do espaço bruto. Engenharia manual de features vira construção aprendida de features.
Largura é quantas unidades uma camada tem; profundidade é quantas transformações sucessivas existem. Largura compra mais features num estágio; profundidade permite que estágios posteriores reaproveitem features anteriores de forma composicional, o que pode representar algumas funções de modo muito mais compacto que uma única camada enorme. Nenhuma das duas garante nada sozinha.
Agora a razão pela qual isso importa para um curso sobre modelos de linguagem. Toda camada de um Transformer contém um MLP, convencionalmente chamado de feed-forward network, e ele não é um componente menor. No Qwen3.8-27B o hidden state carrega 5120 números por token; o bloco feed-forward expande isso para uma largura intermediária de 17.408, aplica uma ativação com gate que a lição 2.3 disseca, e projeta de volta para 5120 (Qwen3.8-27B Model Card, 2026). Uma matriz de shape 5120 por 17.408 dá cerca de 89,1 milhões de multiply-adds para um único token. O bloco com gate completo — projeções gate, up e down juntas — soma aproximadamente 267 milhões de parâmetros por camada, e o modelo tem 64 camadas, então só os blocos feed-forward respondem por algo da ordem de 17 bilhões dos 27 bilhões de parâmetros do modelo.
Existe aqui uma divisão de trabalho real que vale fixar cedo. O bloco feed-forward nunca olha para outros tokens. Ele recebe um vetor de 5120 dimensões, o transforma, e devolve um vetor do mesmo tamanho. Tudo o que ele sabe sobre o resto da frase chegou via attention antes de ele rodar.
Treinar um MLP segue o mesmo loop em toda parte: definir uma loss (lição 2.4), computar gradientes através de cada operação (lição 2.5), atualizar parâmetros (lição 2.7). Para classificação, a camada final emite logits, não decisões, e cross-entropy fornece um objetivo diferenciável; converter logits em uma ação é uma questão separada de política que pertence à implantação, não ao treinamento.
Depure um MLP pedindo a ele que memorize um batch minúsculo que deveria ajustar trivialmente. Confira todo shape de tensor, confirme que a loss cai para perto de zero, e inspecione se alguma ativação ou gradiente é inteiramente zero ou não finito. Esse teste não prova nada sobre generalização, mas falhar nele revela um bug de ligação, de objetivo ou de otimização antes que uma execução longa o enterre. Depois compare contra uma baseline linear simples: se a profundidade extra não acrescenta valor fora da amostra, ela não estava ganhando seus parâmetros.
02 · Analogia
Analogia
Um ateliê de vitrais recorta uma imagem complexa em etapas. Os primeiros artesãos fazem cortes retos que isolam regiões simples. Filtros coloridos então mudam quais regiões permanecem ativas. Artesãos posteriores recombinam essas peças em curvas e formas fechadas. Se cada etapa só fizesse cortes lineares sem filtro entre elas, todos os cortes poderiam ser substituídos por um único molde equivalente. A não linearidade é o que impede o ateliê de colapsar numa única operação.
03 · Explique de volta
Explique de volta
Explique como um MLP transforma um vetor oculto, por que ativações não lineares são necessárias, e identifique o MLP dentro de uma camada do Qwen3.8-27B, incluindo suas larguras.
Comparar com uma resposta-modelo
Um MLP aplica transformações afins separadas por não linearidades elemento a elemento, por exemplo H=φ(XW1+b1) e depois Y=HW2+b2. Sem a não linearidade, W2W1 e os biases combinados formam um único mapa afim, então a profundidade não acrescenta classe representacional e a pilha inteira é um perceptron. A feed-forward network do Qwen3.8-27B é exatamente essa estrutura: ela expande o hidden state de 5120 dimensões de cada token para uma largura intermediária de 17.408, aplica uma ativação com gate, e projeta de volta para 5120. Um bloco desses está em cada uma das 64 camadas, e juntos os blocos feed-forward guardam cerca de 17B dos parâmetros do modelo — a maior parte do modelo.
04 · Teste seu entendimento
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
◎ · Marcador de evidência
Fontes
- Kurt Hornik, Maxwell Stinchcombe e Halbert White (1989). Multilayer Feedforward Networks are Universal Approximators.
- Qwen Team (2026). Qwen3.8-27B Model Card.