Regularização em Deep Learning: tudo o que você precisa saber

Publicados: 2020-11-16

Um dos maiores problemas que os cientistas de dados ou engenheiros de aprendizado de máquina enfrentam é a complexidade envolvida na criação de algoritmos que funcionam bem em dados de treinamento, bem como em novas entradas. Muitas técnicas são usadas no aprendizado de máquina para minimizar ou eliminar completamente o erro de teste. Isso é feito, em algumas ocasiões, sem se importar muito com o aumento do erro de treinamento. Todas essas técnicas juntas são comumente chamadas de regularização.

Em termos mais simples, a regularização é uma mudança feita em um algoritmo de aprendizado para minimizar seu erro de generalização sem focar muito na redução de seu erro de treinamento. Existem várias técnicas de regularização disponíveis, cada uma trabalhando em um aspecto diferente de um algoritmo de aprendizado ou rede neural, e cada uma levando a um resultado diferente.

Existem técnicas de regularização que colocam restrições adicionais em um modelo de aprendizado, como restrições nos valores dos parâmetros. Existem aqueles que colocam restrições nos valores dos parâmetros. Se a técnica de regularização for escolhida com cuidado, pode levar a um melhor desempenho no modelo de dados de teste.

Índice

Por que precisamos de regularização de redes neurais?

As redes neurais profundas são modelos de aprendizado complexos que são expostos a overfitting, devido à sua natureza flexível de memorizar padrões de conjuntos de treinamento individuais, em vez de adotar uma abordagem generalizada para dados irreconhecíveis. É por isso que a regularização da rede neural é tão importante. Ele ajuda você a manter o modelo de aprendizado fácil de entender para permitir que a rede neural generalize dados que não consegue reconhecer.

Vamos entender isso com um exemplo. Suponha que temos um conjunto de dados que inclui valores de entrada e saída. Suponhamos também que existe uma verdadeira relação entre esses valores. Agora, um dos objetivos do aprendizado profundo é estabelecer uma relação aproximada entre os valores de entrada e saída. Assim, para cada conjunto de dados, existem dois modelos que podem nos ajudar a definir essa relação – modelo simples e modelo complexo.

No modelo simples, existe uma linha reta que inclui apenas dois parâmetros que definem a relação em questão. Uma representação gráfica deste modelo apresentará uma linha reta que passa de perto pelo centro do conjunto de dados em questão, garantindo que haja muito pouca distância entre a linha e os pontos abaixo e acima dela.

Leia também: Ideias de projetos de aprendizado de máquina

Por outro lado, o modelo complexo possui vários parâmetros, dependendo do conjunto de dados. Ele segue a equação polinomial, que permite passar por todos os pontos de dados de treinamento. Com o aumento gradual da complexidade, o erro de treinamento atingirá o valor zero e o modelo memorizará os padrões individuais do conjunto de dados. Ao contrário de modelos simples que não são muito diferentes uns dos outros, mesmo quando treinados em conjuntos de dados diferentes, o mesmo não pode ser dito sobre modelos complexos.

O que são viés e variância?

Em termos simples, o viés é uma medida da distância que existe entre a linha populacional verdadeira e a média dos modelos treinados em diferentes conjuntos de dados. O viés tem um papel muito importante para decidir se teremos ou não um bom intervalo de previsão. Ele faz isso calculando o quão perto a função média chegou da relação verdadeira.

Leia também: Salário de engenheiro de aprendizado de máquina na Índia

A variância quantifica a variação estimada para uma função média. A variação determina quanto desvio um modelo que está sendo modelado em um conjunto de dados específico mostra quando é treinado em diferentes conjuntos de dados em toda a jornada de previsão. Independentemente de um algoritmo ter alto viés ou alta variância, podemos fazer várias modificações para que ele tenha um desempenho melhor.

Como podemos lidar com o alto viés?

  1. Treiná-lo por longos períodos de tempo
  2. Use uma rede maior com unidades ou camadas ocultas
  3. Experimente uma melhor arquitetura de rede neural ou algoritmos de otimização avançados

Como podemos lidar com alta variância (overfitting)?

  1. Regularização
  2. Adição de dados
  3. Encontre a melhor arquitetura de rede neural

Com os algoritmos de aprendizado profundo existentes, podemos continuar treinando redes neurais maiores para minimizar o viés sem ter qualquer influência na variação. Da mesma forma, podemos continuar a adicionar dados para minimizar a variação sem ter nenhum impacto no valor do viés. Além disso, se estivermos lidando com alto viés e alta variância, podemos reduzir esses valores usando a técnica correta de regularização de aprendizado profundo.

Conforme discutido, um aumento na complexidade do modelo resulta em um aumento no valor da variância e uma diminuição no valor do viés. Com a técnica de regularização correta, você pode trabalhar para reduzir o erro de teste e treinamento e, assim, permitir uma compensação ideal entre variância e viés.

Técnicas de Regularização

Aqui estão três das técnicas de regularização mais comuns:

1. Aumento do conjunto de dados

Qual é a maneira mais fácil de generalizar? A resposta é bastante simples, mas sua implementação não é. Você só precisa treinar esse modelo em um conjunto de dados maior. No entanto, isso não é viável na maioria das situações, pois lidamos principalmente com dados limitados. A melhor solução possível que pode ser executada para vários problemas de aprendizado de máquina é criar dados sintéticos ou falsos para adicionar ao seu conjunto de dados existente. Portanto, se você estiver lidando com dados de imagem, as maneiras mais fáceis de criar dados sintéticos incluem dimensionamento, tradução de pixels da imagem e rotação.

2. Parada antecipada

Um cenário de treinamento muito comum que leva ao overfitting é quando um modelo é treinado em um conjunto de dados relativamente maior. Nessa situação, o treinamento do modelo por um período maior de tempo não resultaria em sua maior capacidade de generalização; em vez disso, levaria ao overfitting.

Após um certo ponto no processo de treinamento e após uma redução significativa no erro de treinamento, chega um momento em que o erro de validação começa a aumentar. Isso significa que o overfitting começou. Usando a técnica de Early Stopping, interrompemos o treinamento dos modelos e mantemos os parâmetros como estão assim que observamos um aumento no erro de validação.

3. L1 e L2

L1 e L2 fazem a técnica de regularização de Penalidade de Peso que é bastante utilizada para treinar modelos. Ele trabalha com uma suposição que torna os modelos com pesos maiores mais complexos do que aqueles com pesos menores. O papel das penalidades em tudo isso é garantir que os pesos sejam zero ou muito pequenos. A única exceção é quando grandes gradientes estão presentes para neutralizar. A penalidade de peso também é chamada de Decaimento de Peso, que significa o decaimento dos pesos para uma unidade menor ou zero.

Norma L1: Permite que alguns pesos sejam grandes e leva alguns a zero. Ele penaliza o valor real de um peso.

Norma L2: Direciona todos os pesos para valores menores. Ele penaliza o valor quadrado de um peso.

Conclusão

Neste post, você aprendeu sobre regularização de redes neurais em deep learning e suas técnicas. Certamente esperamos que isso tenha esclarecido a maioria de suas dúvidas em torno do tópico.

Se você estiver interessado em saber mais sobre aprendizado profundo e inteligência artificial, confira nosso programa PG Diploma in Machine Learning and AI, projetado para profissionais que trabalham e fornece mais de 30 estudos de caso e atribuições, mais de 25 sessões de orientação do setor, mais de 5 mãos práticas -em projetos capstone, mais de 450 horas de treinamento rigoroso e assistência para colocação de emprego com as principais empresas.

Qual é a vantagem da L1 sobre a regularização L2?

Como a regularização L1 reduz os coeficientes beta ou os torna menores para quase zero, é essencial para encerrar recursos sem importância. A regularização L2, por outro lado, diminui os pesos uniformemente e só é aplicada quando a multicolinearidade está presente nos próprios dados. A regularização L1 pode, portanto, ser usada para seleção de recursos, dando-lhe uma vantagem sobre a regularização L2.

Quais são os benefícios e desafios do aumento de dados?

Os benefícios incluem melhorar a precisão dos modelos de previsão pela adição de mais dados de treinamento, evitando que os dados se tornem escassos para modelos melhores e aumentando a capacidade dos modelos de generalizar uma saída. Também reduz o custo de coletar dados e rotulá-los. Os desafios incluem o desenvolvimento de novas pesquisas para criar dados sintéticos com aplicativos avançados para domínios de aumento de dados. Além disso, se os conjuntos de dados reais contiverem vieses, os dados aumentados também conterão os vieses.

Como lidamos com alto viés e alta variância?

Lidar com alto viés significa treinar conjuntos de dados por períodos mais longos. Para isso, uma rede maior deve ser usada com camadas ocultas. Além disso, melhores redes neurais devem ser aplicadas. Para lidar com alta variação, a regularização deve ser iniciada, dados adicionais devem ser adicionados e, da mesma forma, uma melhor arquitetura de rede neural deve ser estruturada.