Específicos · Ciência de Dados
Redes neurais: perceptron, ativações, backpropagation, otimizadores, dropout
Três perguntas decidem quase todo item: o que a unidade calcula, em que sentido o sinal corre e o que o treinamento altera — os pesos, nunca a arquitetura.
Alta11 itens no tópico
A ideia que organiza o assunto
Uma rede neural artificial é um grafo de unidades burras. Cada neurônio faz sempre a mesma coisa: recebe números, multiplica cada um pelo peso da conexão que o trouxe, soma tudo com um viés e passa o resultado por uma função de ativação, que produz a saída. Nada além disso acontece dentro de um neurônio. Toda a capacidade da rede vem de quantas dessas unidades existem, de como estão ligadas e de quais valores os pesos assumiram.
Daí saem as três perguntas que resolvem quase todos os itens do tópico, e vale a pena decorá-las nesta ordem.
Primeira: o que a unidade calcula? Entrada, peso, soma ponderada mais viés, função de ativação, saída. São cinco elementos com cinco papéis distintos, e a banca vive descrevendo um com o nome de outro — a ativação que “armazena pesos” é o exemplar clássico. O peso guarda a importância relativa da conexão; a soma agrega; a ativação transforma a soma em saída e, sendo não linear, é o que impede a rede inteira de colapsar em uma única conta linear.
Segunda: em que sentido o sinal corre? Alimentada adiante (feedforward) significa um só sentido, da entrada para a saída, sem laço que devolva sinal para trás. Recorrente significa haver esse laço. É um eixo independente de todos os outros: quantas camadas a rede tem e se ela é completamente conectada não dizem nada sobre o sentido do sinal. Metade dos itens errados deste tópico mora aqui.
Terceira: o que o treinamento altera? Pesos e vieses — só. Número de camadas, número de neurônios por camada, escolha da função de ativação e taxa de aprendizado são decisões de projeto, tomadas antes e não tocadas pela retropropagação. Item que faz o algoritmo de treinamento mexer na arquitetura trocou os dois lados da linha.
Por que se usa (e o que custa)
Ganha-se um aproximador universal: com uma camada oculta e neurônios suficientes, uma rede alimentada adiante aproxima qualquer função contínua, sem que ninguém precise escrever a regra. Ganha-se também adaptabilidade — os pesos se reajustam quando o padrão dos dados de entrada muda — e tolerância a ruído, porque a decisão está distribuída por milhares de conexões e não depende de nenhuma.
Paga-se em três moedas. Computação: o número de pesos entre duas camadas totalmente conectadas é o produto do número de neurônios delas, de modo que ampliar a rede faz parâmetros, memória e tempo de treinamento crescerem de forma acentuada — foi esse custo que empurrou o treinamento para as GPUs. Dados: mais parâmetros exigem mais exemplos, sob pena de sobreajuste. Opacidade: o conhecimento fica espalhado em uma matriz de números sem leitura direta, o que torna a rede difícil de auditar e de justificar.
Como funciona
O neurônio. As entradas chegam por conexões, cada uma com seu peso. O neurônio calcula a soma ponderada, acrescenta o viés e aplica a função de ativação. O viés desloca o limiar de disparo e é aprendido como qualquer peso.
As funções de ativação. A razão de existirem é uma só e a banca cobra exatamente ela: a composição de transformações lineares é outra transformação linear, logo uma pilha de camadas sem não linearidade teria o poder de representação de uma única camada, e a profundidade não acrescentaria nada. As mais cobradas: degrau (perceptron original, saída binária), sigmoide (comprime em 0–1, satura nas pontas e causa desvanecimento do gradiente), tangente hiperbólica (mesma forma, centrada em zero, −1 a 1), ReLU (zero para negativos, identidade para positivos; barata e sem saturar do lado positivo, é a padrão das redes profundas) e softmax, que não é ativação de camada interna: normaliza as saídas da última camada em uma distribuição de probabilidade entre classes.
As camadas, e como se contam. A camada de entrada é a primeira e não computa nada: seus nós apenas apresentam o vetor de entrada. Por isso a primeira camada oculta é a segunda camada da rede. As camadas ocultas são chamadas assim porque não são vistas nem da entrada nem da saída. A camada de saída entrega o resultado, com tantos neurônios quantas forem as classes ou as saídas desejadas.
As arquiteturas, pelo sentido do sinal. A rede alimentada adiante de camada única liga entrada a saída sem camada oculta — é o perceptron, e ele só resolve problemas linearmente separáveis, razão de não dar conta do ou-exclusivo. A rede alimentada adiante de múltiplas camadas, o perceptron de múltiplas camadas (MLP), acrescenta uma ou mais camadas ocultas, e é essa presença que a distingue da de camada única — não das demais arquiteturas, porque redes recorrentes também têm camadas ocultas. A rede recorrente tem pelo menos um laço de realimentação, o que lhe dá memória do que já passou e a torna adequada a sequências. Completamente conectada é outra coisa ainda: diz que cada neurônio se liga a todos os da camada seguinte, e não diz nada sobre o sentido.
O treinamento, em duas passagens. Na passagem para a frente, o vetor de entrada percorre a rede até a saída, e o resultado é comparado ao valor esperado por uma função de erro ou perda. Na passagem para trás, a retropropagação distribui esse erro da camada de saída para as camadas intermediárias, aplicando a regra da cadeia para descobrir quanto cada peso contribuiu para ele. De posse desse gradiente, o otimizador — descida do gradiente e suas variantes — corrige cada peso no sentido que reduz o erro. Repete-se por épocas até o erro estabilizar.
Duas observações que a banca explora. A retropropagação é fase de treinamento, não conexão de realimentação: uma rede alimentada adiante treinada por retropropagação continua alimentada adiante. E o erro anda para trás justamente porque o sinal andou para a frente — inverter os dois sentidos é a distorção mais barata disponível.
O que decide os itens
Os cinco elementos do neurônio — quem faz o quê. É a tabela que resolve mais itens do tópico:
| elemento | faz | não faz |
|---|---|---|
| entrada | apresenta o valor do atributo | não é ajustada pelo treinamento |
| peso sináptico | guarda a importância relativa da conexão | não transforma nem agrega |
| soma ponderada + viés | agrega as entradas em um valor | não introduz não linearidade |
| função de ativação | transforma a soma na saída do neurônio | não armazena pesos |
| saída | alimenta a camada seguinte | não guarda estado, salvo em rede recorrente |
Alimentada adiante × recorrente × completamente conectada — três eixos que a banca mistura de propósito:
| termo | afirma | não afirma |
|---|---|---|
| feedforward (MLP) | sinal em sentido único, sem laço | nada sobre quantas camadas |
| recorrente | existe laço de realimentação | nada sobre conectividade |
| completamente conectada | cada neurônio liga-se a todos os da camada seguinte | não exclui realimentação |
| camada oculta | há camada que não é entrada nem saída | não distingue feedforward de recorrente |
Contagem de camadas — decidiu item inteiro:
| camada de entrada | primeira camada; não é camada oculta e não computa |
| primeira camada oculta | segunda camada da rede |
| camada de saída | última; nº de neurônios = nº de classes ou de saídas |
Escolhido pelo projetista × aprendido pelo algoritmo:
| hiperparâmetro (antes) | parâmetro (durante) |
|---|---|
| número de camadas e de neurônios | pesos sinápticos |
| função de ativação | vieses |
| taxa de aprendizado, épocas, tamanho do lote | — |
Funções de ativação — onde cada uma vive:
| função | faixa | observação de prova |
|---|---|---|
| degrau | 0 ou 1 | perceptron original; não derivável, não serve a retropropagação |
| sigmoide (logística) | 0 a 1 | satura; desvanecimento do gradiente |
| tangente hiperbólica | −1 a 1 | centrada em zero; satura igual |
| ReLU | 0 ou o próprio valor | padrão em redes profundas; barata |
| softmax | soma 1 | camada de saída, classificação multiclasse |
Números que caem
| camada de entrada | camada 1 (a primeira oculta é a camada 2) |
| camadas ocultas do perceptron simples | 0 — daí não resolver o ou-exclusivo |
| camadas ocultas mínimas do MLP | 1 |
| teorema da aproximação universal | 1 camada oculta basta, com neurônios suficientes |
| pesos entre duas camadas totalmente conectadas | n × m (mais m vieses) |
| sentidos do ciclo de treinamento | 2: sinal para a frente, erro para trás |
Como a CEBRASPE derruba você aqui
Medido sobre os 11 itens do tópico, dos quais 6 são errados. A base é pequena, e por isso o que segue descreve os movimentos observados, sem prometer frequência.
Mexer no sentido do sinal — 2 dos 6 itens errados, e nas duas direções. Num deles, a realimentação é atribuída a quem não a tem: “utilizando encaminhamentos de feedbacks corretivos para aprimorar sua análise preditiva”, dito de redes alimentadas adiante, que por definição correm em sentido único. No outro, a realimentação é proibida onde é possível: “não é possível que as saídas das camadas posteriores alimentem a entrada de camadas anteriores”, dito de redes completamente conectadas — conectividade e sentido são eixos independentes, e redes recorrentes completamente conectadas existem. A defesa é a mesma nos dois casos: separe quantas ligações de para que lado, e não aceite que a retropropagação sirva de prova de realimentação, porque ela é fase de treinamento e não conexão da arquitetura.
Copiar o manual e deslocar uma palavra — 2 dos 6. Este tópico é o que mais reproduz frases de livro-texto quase ao pé da letra, com uma única peça fora do lugar. “Uma rede neural feedforward se distingue das demais” pela presença de camadas ocultas: a frase original distingue a rede alimentada adiante de múltiplas camadas da de camada única, e não a classe inteira das demais arquiteturas — a rede recorrente também tem camada oculta. E o aposto mudado de lugar em “na camada de entrada da rede neural, isto é, na primeira camada oculta”: no texto de origem, o isto é qualifica a segunda camada, não a de entrada. Quando a frase soar decorada, releia a qual termo está colado o isto é, o ou seja ou o a saber, e teste a palavra que nomeia a classe com um contraexemplo de fora dela.
Inventar a causa ou negar o custo — 2 dos 6. “Foi o fator determinante pela grande evolução da capacidade de visão computacional”, dito da softmax na camada de saída, que é apenas normalização e já existia muito antes do salto da área. E “tem um aumento insignificante”, dito do esforço computacional ao se ampliar muito a dimensão da rede, quando o número de pesos cresce com o produto dos tamanhos das camadas. Duas perguntas desarmam as duas: o componente apontado como causa já existia antes do efeito? E a promessa de custo ignora que cada parâmetro a mais é uma multiplicação a mais por exemplo e por época?
Um contraponto que a medição registra. Todos os cinco itens certos do tópico são descrições diretas de mecanismo — o que a unidade tem, para que serve a ativação não linear, que o MLP é alimentado adiante, que os pesos se adaptam, que a retropropagação leva o erro da saída às camadas intermediárias. Neste tópico, o item que apenas descreve o mecanismo tende a ser certo; o que acrescenta uma consequência, uma impossibilidade ou uma causa histórica é onde mora o erro.
Erros clássicos
Achar que a camada de entrada é a primeira camada oculta. Ela não computa: só apresenta o vetor. A primeira oculta é a segunda camada, e é ela que recebe os sinais de entrada.
Achar que a retropropagação torna a rede recorrente. O erro andar para trás é o algoritmo de treinamento. Realimentação é conexão permanente da arquitetura, que devolve saída para a entrada durante a própria inferência.
Confundir completamente conectada com alimentada adiante. Uma diz com quantos cada neurônio se liga; a outra diz para que lado o sinal corre. Nenhuma implica a outra.
Dar à função de ativação um papel que não é dela. Ela não guarda peso, não soma entradas e não propaga erro. Ela transforma a soma ponderada em saída, e a razão de ser não linear é impedir que a rede inteira vire uma só camada.
Supor que ampliar a rede sai barato. Parâmetros crescem com o produto dos tamanhos das camadas; custo de memória, de treinamento e de dados vai junto.
Esperar que o treinamento escolha a arquitetura. Número de camadas e de neurônios são hiperparâmetros fixados antes. O que a retropropagação altera são pesos e vieses.
Tratar o perceptron de camada única como capaz de tudo. Sem camada oculta, a fronteira de decisão é um hiperplano, e problemas não linearmente separáveis — o ou-exclusivo é o exemplo canônico — ficam fora do alcance.
LidoPraticado