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.