Hiperparâmetros

Se os parâmetros são o que a rede aprende (os pesos e vieses), os hiperparâmetros são as configurações que você define antes do treinamento começar. Eles são como as “alavancas” e “botões” que você ajusta para controlar como o aprendizado vai acontecer.

Pense em um carro:
Parâmetros: São a posição do volante, aceleração e freio que o motorista (algoritmo) ajusta enquanto dirige.
Hiperparâmetros: São características do carro que você escolhe antes da viagem: tipo de pneu, calibragem do pneu, tipo de combustível. Isso influencia como o carro vai se comportar na pista.

 

Categorias de Hiperparâmetros

Vamos dividir os hiperparâmetros em três categorias principais para facilitar o entendimento.

1. Hiperparâmetros de Arquitetura (O “Shape” da Rede)

São os que definem a estrutura da rede.

Hiperparâmetro O que é? Onde se aplica? Impacto
Número de Camadas Ocultas Quantas camadas intermediárias a rede terá. Feedforward e RNNs. + Camadas = + Capacidade de aprender padrões complexos, mas também + risco de overfitting e + custo computacional.
Número de Neurônios por Camada A “largura” de cada camada. Feedforward e RNNs. Similar ao acima. Muitos neurônios podem “decorar” os dados em vez de aprender.
Tipo de Camada Que tipo de operação a camada faz. Arquiteturas específicas. Ex: Em RNNs, você escolhe entre uma célula LSTM, GRU ou RNN Simples. Cada uma tem comportamento diferente de memória.

2. Hiperparâmetros de Treinamento (O “Como” Aprender)

São os que controlam o algoritmo de aprendizado.

Hiperparâmetro O que é? Analogia Impacto
Taxa de Aprendizado (Learning Rate – LR) O tamanho do “passo” que a rede dá em direção ao erro menor. O tamanho do passo de um explorador no escuro. Crítico!
Alta: Aprende rápido, mas pode “pular” por cima da solução ótima e nunca acertar.
Baixa: Aprende devagar, mas com mais precisão. Pode ficar presa em soluções ruins.
Batch Size Quantos exemplos a rede “olha” de uma vez antes de calcular o erro e ajustar os pesos. Estudar resolvendo 1 questão por vez (batch=1) vs. fazer um simulado com 100 questões (batch=100) e depois ver os erros. Pequeno: Treina rápido por atualização, mas é “nervoso” (instável).
Grande: Estimativa do erro mais precisa, mas exige mais memória e pode generalizar pior.
Épocas (Epochs) Quantas vezes o algoritmo vai ver o conjunto completo de dados. Quantas vezes o aluno leu o livro inteiro. Poucas: Underfitting (não aprendeu o suficiente).
Muitas: Overfitting (decora as respostas em vez de aprender).
Otimizador (Optimizer) O algoritmo específico que faz o ajuste dos pesos. O estilo de estudo: “repetição”, “mapa mental”, “ensinar outros”. Ex: SGD (simples), Adam (mais esperto, adaptativo), RMSprop. Adam é geralmente um bom padrão para começar.

3. Hiperparâmetros de Regularização (O “Antióverfitting”)

São os que previnem que a rede decore os dados de treino e não generalize para dados novos.

Hiperparâmetro O que é? Como funciona?
Dropout Rate Durante o treino, “desliga” aleatoriamente uma porcentagem dos neurônios a cada iteração. Força a rede a não depender de um neurônio específico, distribuindo o conhecimento. É como treinar um time onde, a cada jogada, alguns jogadores são sorteados para ficar de fora.
Regularização L1/L2 (Weight Decay) Adiciona uma “multa” no cálculo do erro para pesos muito grandes. Impede que a rede dê importância exagerada a uma única característica. Mantém os pesos “enxutos”.
Early Stopping Parar o treinamento antes do fim das épocas. Você monitora o erro nos dados de validação. Quando o erro de validação começar a subir (mesmo o de treino descendo), você para. É o momento em que a rede começou a decorar.

 

Hiperparâmetros Específicos para Redes Recorrentes (RNNs)

As RNNs adicionam alguns hiperparâmetros extras devido à sua natureza sequencial.

Hiperparâmetro O que é? Impacto
Número de Passos de Tempo (Time Steps) O tamanho da sequência que a rede vai “olhar para trás”. Ex: Para prever a palavra “filme” em “O filme é bom”, quantas palavras anteriores ela precisa ver?
Gradiente de Recorte (Gradient Clipping) Um “corta-vento” para o gradiente. Em RNNs, o gradiente pode explodir (valores enormes). O clipping define um valor máximo. Se o gradiente passar disso, ele é “cortado” para aquele limite. Essencial para RNNs.
Estado Inicial (Initial State) Como a “memória” da rede começa. Normalmente começa com zeros, mas em alguns casos (ex: séries temporais), o estado final de um batch pode ser passado para o próximo.

 

O Grande Desafio: Como Escolher os Hiperparâmetros?

Não existe uma fórmula mágica. É um processo empírico (tentativa e erro). As técnicas principais são:

1. Grid Search: Você define uma lista de valores para testar (ex: LR = [0.1, 0.01, 0.001]) e testa todas as combinações. É exaustivo e caro.
2. Random Search: Em vez de testar todos, você testa combinações aleatórias. Surpreendentemente, é mais eficiente que o Grid Search, pois cobre melhor o espaço de busca.
3. Bayesian Optimization (AutoML): Algoritmos inteligentes que “aprendem” quais hiperparâmetros tendem a dar bons resultados e focam a busca nessas regiões. (Ex: Bibliotecas como Optuna, Hyperopt).

Resumo para Levar pra Vida

Parâmetros: A rede aprende (pesos e vieses).
Hiperparâmetros: Você escolhe (taxa de aprendizado, número de camadas, dropout).

Dica de Ouro para Iniciantes:
Não tente acertar tudo de primeira. Comece com valores padrão (ex: Adam como otimizador, LR=0.001, ReLU, 2 camadas ocultas). Treine, veja o resultado e mude um hiperparâmetro por vez para entender o efeito de cada um.

Deixe um comentário