Funções de Custo

programador
1.1.2.4.4 – Arquiteturas CNN Profundas (Deep CNNs)
1.1.2.4.4.8 – Tecnicas de Treinamento
1.1.2.4.4.8.1 – Backpropagation
1.1.2.4.4.8.2 – Funcoes de Custo (Cross-Entropy, MSE)
1.1.2.4.4.8.3 – Otimizadores (SGD, Adam, RMSprop)
1.1.2.4.4.8.4 – Regularizacao (Dropout, Data Augmentation)
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

A função de custo mede o quão ruim é a predição da rede neural. Ela quantifica a diferença entre a saída prevista e o valor real. O objetivo do treinamento é minimizar esta função. Primeiramente, a escolha da função de custo impacta diretamente a convergência. Diferentes problemas exigem diferentes funções de custo. Por exemplo, classificação usa entropia cruzada, enquanto regressão usa erro quadrático médio. A função de custo guia o algoritmo de backpropagation. Consequentemente, ela determina como os pesos da rede são atualizados. Portanto, entender as funções de custo é essencial para o sucesso do treinamento.

erro quadrático médio (mse) para regressão

O erro quadrático médio (MSE) é a função de custo padrão para problemas de regressão. Ele calcula a média dos quadrados das diferenças entre predição e valor real. Primeiramente, a fórmula é MSE = (1/n) * Σ(yi – ŷi)². O quadrado penaliza erros grandes muito mais que erros pequenos. Por exemplo, um erro de 10 contribui com 100 para o custo. Um erro de 1, por outro lado, contribui com apenas 1. Esta propriedade torna o MSE sensível a outliers. Além disso, o MSE é diferenciável e convexo para modelos lineares. O gradiente do MSE é proporcional ao erro residual (yi – ŷi). Portanto, o MSE é ideal quando erros grandes são especialmente indesejáveis. Exemplos incluem previsão de preços de casas ou estoques.

entropia cruzada (cross-entropy) para classificação

A entropia cruzada é a função de custo padrão para problemas de classificação. Ela mede a dissimilaridade entre duas distribuições de probabilidade. Primeiramente, a fórmula para duas classes é: CE = -[y log(ŷ) + (1-y) log(1-ŷ)]. Para múltiplas classes, a fórmula se generaliza: CE = -Σ y_i log(ŷ_i). A entropia cruzada penaliza predições confiantes e erradas severamente. Por exemplo, se a rede tem 99% de confiança na classe errada, o custo explode. Esta propriedade acelera o aprendizado em comparação com o MSE. Além disso, a entropia cruzada funciona bem com a ativação softmax na última camada. O gradiente resultante é simples: (ŷ_i – y_i). Portanto, a entropia cruzada é a escolha padrão para classificação de imagens, texto e áudio.

quando utilizar cada função de custo

A escolha entre MSE e entropia cruzada depende do tipo de problema. Utilize MSE para problemas de regressão contínua. Por exemplo, prever a temperatura, idade ou preço de um produto. Outro caso é quando a saída é um único valor real. Utilize entropia cruzada para problemas de classificação discreta. Por exemplo, classificar imagens em gatos ou cachorros. Outra aplicação é classificação multiclasse, como dígitos de 0 a 9. A entropia cruzada também é usada em modelos de linguagem. Evite usar MSE para classificação com ativação sigmoid/softmax. O MSE causa gradientes vanishing e convergência lenta nestes casos. Em suma, regressão → MSE, classificação → entropia cruzada. Esta heurística simples funciona bem na maioria das aplicações práticas.

Técnicas de Treinamento

programador
1.1.2.4.4 – Arquiteturas CNN Profundas (Deep CNNs)
1.1.2.4.4.8 – Tecnicas de Treinamento
1.1.2.4.4.8.1 – Backpropagation
1.1.2.4.4.8.2 – Funcoes de Custo (Cross-Entropy, MSE)
1.1.2.4.4.8.3 – Otimizadores (SGD, Adam, RMSprop)
1.1.2.4.4.8.4 – Regularizacao (Dropout, Data Augmentation)
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O treinamento de redes neurais profundas exige mais que apenas backpropagation. Diversas técnicas foram desenvolvidas para melhorar convergência e generalização. Primeiramente, o gradiente descendente estocástico (SGD) é o otimizador fundamental. Ele atualiza os pesos usando um pequeno lote (batch) de amostras. Variantes como Adam e RMSprop aceleram a convergência significativamente. Além disso, a taxa de aprendizado (learning rate) é um hiperparâmetro crítico. Taxas muito altas causam divergência, enquanto taxas muito baixas tornam o treinamento lento. Por exemplo, schedulers reduzem a taxa de aprendizado durante o treinamento. Consequentemente, estas técnicas são essenciais para treinar redes profundas com sucesso.

regularização: dropout e data augmentation

A regularização combate o overfitting, onde a rede decora os dados de treino. O Dropout é uma técnica simples e poderosa de regularização. Durante o treinamento, ele “desliga” aleatoriamente uma fração dos neurônios. Por exemplo, um dropout de 0.5 desativa metade dos neurônios em cada iteração. Isto força a rede a aprender representações redundantes e robustas. Consequentemente, o dropout melhora significativamente a generalização para dados novos. Outra técnica essencial é a data augmentation (aumento de dados). Ela cria variações artificiais das imagens de treinamento. Por exemplo, rotações, translações, zoom e inversões horizontais. O aumento de dados é especialmente crucial quando o conjunto de treinamento é pequeno.

normalização em lote (batch normalization)

A normalização em lote (Batch Normalization) revolucionou o treinamento de redes profundas. Primeiramente, ela normaliza as ativações de cada camada para média zero e variância unitária. Este processo estabiliza a distribuição dos gradientes durante o treinamento. Além disso, a batch normalization reduz a dependência da inicialização dos pesos. Ela permite o uso de taxas de aprendizado mais altas, acelerando a convergência. Outra vantagem é um efeito regularizador suave, similar ao dropout. Por exemplo, redes com batch normalization frequentemente não precisam de dropout. A normalização é aplicada após a camada linear/convolutional e antes da ativação. Parâmetros aprendíveis (escala e deslocamento) restauram a capacidade expressiva da rede. Portanto, batch normalization é padrão em praticamente todas as arquiteturas modernas.

funções de custo e inicialização de pesos

A escolha da função de custo adequada é fundamental para o sucesso do treinamento. Para classificação, a entropia cruzada (cross-entropy) é a função padrão. Diferentemente do erro quadrático médio (MSE), ela acelera a convergência da camada softmax. Para regressão, o erro quadrático médio continua sendo a escolha comum. Além disso, a inicialização dos pesos impacta significativamente o treinamento. Pesos muito pequenos ou grandes causam gradientes vanishing ou exploding. A inicialização de He (ou Kaiming) é ideal para redes com ativações ReLU. Para ativações sigmoid/tanh, a inicialização de Xavier (Glorot) funciona melhor. Portanto, estas técnicas de inicialização permitem que o gradiente flua adequadamente através das camadas.