Regressão linear: hiperparâmetros

Hiperparâmetros são variáveis que controlam diferentes aspectos do treinamento. Três hiperparâmetros comuns são:

Por outro lado, parâmetros são os variáveis, como os pesos e o viés, que fazem parte do próprio modelo. Em em outras palavras, hiperparâmetros são valores que você controla; parâmetros são valores que o modelo calcula durante o treinamento.

Taxa de aprendizado

A taxa de aprendizado é uma número de ponto flutuante definido e que influencia a rapidez com que converge. Se a taxa de aprendizado for muito baixa, o modelo poderá levar muito tempo convergir. No entanto, se a taxa de aprendizado for muito alta, o modelo nunca mas converge, mas também salta ao redor dos pesos e do viés que minimizam a e perda de talentos. A meta é escolher uma taxa de aprendizado que não seja muito alta nem muito baixa para que o modelo converja rapidamente.

A taxa de aprendizado determina a magnitude das mudanças feitas nos pesos e o viés durante cada etapa do processo do gradiente descendente. O modelo multiplica o gradiente pela taxa de aprendizado para determinar os parâmetros do modelo (peso e valores de viés) para a próxima iteração. No terceiro passo do gradiente descendentes, a "pequena quantidade", para mover-se na direção de inclinação negativa se refere à taxa de aprendizado.

A diferença entre os parâmetros do modelo antigo e o novo é proporcional à inclinação da função de perda. Por exemplo, se a inclinação for grande, o modelo dá um passo grande. Se for pequeno, ele vai dar um passo pequeno. Para Por exemplo, se a magnitude do gradiente for 2,5 e a taxa de aprendizado for 0,01, o modelo mudará o parâmetro em 0,025.

A taxa de aprendizado ideal ajuda o modelo a convergir dentro de um número razoável de iterações. Na figura 21, a curva de perda mostra que o modelo melhorando durante as primeiras 20 iterações antes de começar a convergir:

Figura 21. Curva de perda que mostra uma inclinação acentuada antes de se achatar.

Figura 21. Gráfico de perdas mostrando um modelo treinado com uma taxa de aprendizado que converge rapidamente.

Por outro lado, uma taxa de aprendizado muito pequena pode levar muitas iterações para convergem. Na figura 22, a curva de perda mostra o modelo fazendo pequenas melhorias após cada iteração:

Figura 22. Curva de perda que mostra uma inclinação de quase 45 graus.

Figura 22. Gráfico de perdas mostrando um modelo treinado com uma taxa de aprendizado pequena.

Uma taxa de aprendizado muito grande nunca converge, porque cada iteração faz com que a perda oscile ou aumente continuamente. Na Figura 23, a perda curva mostra a perda do modelo diminuindo e depois aumentando a perda após cada iteração, e, na figura 24, a perda aumenta em iterações posteriores:

Figura 23. Curva de perda que mostra uma linha irregular para cima e para baixo.

Figura 23. Gráfico de perdas mostrando um modelo treinado com uma taxa de aprendizado muito grande, em que a curva de perda flutua intensamente, subindo e descendo conforme as iterações aumentam.

Figura 24. Curva de perda que mostra a perda aumentando em iterações posteriores

Figura 24. Gráfico de perdas mostrando um modelo treinado com uma taxa de aprendizado muito grande, em que a curva de perda aumenta drasticamente em iterações posteriores.

Exercício: testar seu conhecimento

Qual é a taxa de aprendizado ideal?
A taxa de aprendizado ideal depende do problema.
Cada modelo e conjunto de dados terá a própria taxa de aprendizado ideal.
0,01
1,0

Tamanho do lote

Tamanho do lote é um hiperparâmetro que refere-se ao número de exemplos que o modelo processa antes de atualizar os pesos e vieses. Talvez você ache que o modelo deve calcular a perda para todas exemplo no conjunto de dados antes de atualizar os pesos e o viés. No entanto, quando um contém centenas de milhares ou até milhões de exemplos, usando o lote completo não é prático.

Duas técnicas comuns para conseguir o gradiente certo, em média, sem precisar ver todos os exemplos no conjunto de dados antes de atualizar os pesos e o viés são gradiente descendente estocástico e gradiente estocástico de minilote descendente:

  • Stochastic gradient descent (SGD): usa apenas o gradiente descendente estocástico. um único exemplo (um tamanho de lote de 1) por iteração. Dados suficientes iterações, o SGD funciona, mas tem muito ruído. "Ruído" se refere a variações durante treinamento que faz com que a perda aumente em vez de diminuir durante um iteração anterior. O termo "estocástico" indica que o exemplo que compreende cada lote é escolhido aleatoriamente.

    Observe na imagem abaixo como a perda oscila um pouco conforme o modelo atualiza os pesos e o viés usando GDE, o que pode resultar em ruído na perda gráfico:

    Figura 25. Curva de perda íngreme que achata, mas com muitas flutuações pequenas.

    Figura 25. Modelo treinado com gradiente descendente estocástico (SGD) mostrando na curva de perda.

    Observe que o uso do gradiente descendente estocástico pode produzir ruído em todo o curva de perda completa, não apenas quase convergência.

  • Gradiente descendente estocástico de minilote (GDE em minilote): minilote o gradiente descendente estocástico é um meio-termo entre o lote completo e o GDE. Para $ N $ número de pontos de dados, o tamanho do lote pode ser qualquer número maior que 1 e inferior a $ N $. O modelo escolhe os exemplos incluídos em cada lote de maneira aleatória, calcula a média dos gradientes e atualiza os pesos e o viés uma vez por iteração.

    Determinar o número de exemplos para cada lote depende do conjunto de dados e os recursos de computação disponíveis. Em geral, tamanhos de lote pequenos se comportam como SGD e tamanhos de lote maiores se comportam como gradiente descendente em lote completo.

    Figura 26. Curva de perda íngreme que começa a se achatar, com flutuações muito menores perto da convergência.

    Figura 26. Modelo treinado com GDE com minilote.

Ao treinar um modelo, talvez você pense que o ruído não é característica que deve ser eliminada. No entanto, uma certa quantidade de ruído ser algo bom. Nos próximos módulos, você vai aprender como o ruído pode ajudar um modelo generalize melhor e encontre o pesos e vieses ideais em um modelo rede.

Períodos

Durante o treinamento, um período significa que o o modelo processou todos os exemplos no conjunto de treinamento uma vez. Por exemplo, considerando um conjunto de treinamento com 1.000 exemplos e um tamanho de minilote de 100 exemplos, vai levar as iterações do modelo para completar um período.

O treinamento normalmente requer muitos períodos. Ou seja, o sistema precisa processar vários exemplos no conjunto de treinamento.

O número de períodos é um hiperparâmetro que você define antes de o modelo começar treinamento. Em muitos casos, você precisará testar quantos períodos são necessários para a convergência do modelo. Em geral, mais períodos produz um modelo melhor, mas o treinamento também leva mais tempo.

Figura 27. Um lote completo é o conjunto de dados inteiro, um minilote é um subconjunto do conjunto de dados e um período é uma passagem completa por dez minilotes.

Figura 27. Lote completo versus minilote.

A tabela a seguir descreve como o tamanho do lote e os períodos se relacionam com o número de vezes que um modelo atualiza seus parâmetros.

Tipo de lote Quando ocorrem atualizações de peso e viés
Lote completo Depois que o modelo analisa todos os exemplos no conjunto de dados. Por exemplo: se um conjunto de dados tiver mil exemplos e o modelo for treinado por 20 períodos, o modelo atualiza os pesos e o viés 20 vezes, uma vez por período.
Gradiente descendente estocástico Depois que o modelo analisa um único exemplo do conjunto de dados. Por exemplo, se um conjunto de dados contém 1.000 exemplos e treina para 20 períodos, o modelo atualiza os pesos e o viés 20.000 vezes.
Gradiente descendente estocástico em minilote Depois que o modelo analisa os exemplos em cada lote. Por exemplo: se um conjunto de dados tiver 1.000 exemplos, e o tamanho do lote for 100, e o modelo treina por 20 períodos, atualiza os pesos e viés 200 vezes.

Exercício: testar seu conhecimento

1. Qual é o melhor tamanho de lote ao usar o GDE com minilote?
Depende
O tamanho ideal do lote depende do conjunto de dados e da recursos de computação
10 exemplos por lote
100 exemplos por lote
2. Qual das seguintes afirmações é verdadeira?
Lotes maiores são inadequados para dados com muitos outliers.
Essa afirmação é falsa. Ao calcular a média de mais gradientes juntos, maiores os tamanhos dos lotes podem ajudar a reduzir os efeitos negativos de ter outliers nos dados.
Dobrar a taxa de aprendizado pode atrasar o treinamento.
Essa afirmação é verdadeira. Dobrar a taxa de aprendizado pode resultar em um taxa de aprendizado muito alta e, portanto, fazer com que os pesos para “pular” aumentando o tempo necessário para convergir. Como sempre, os melhores hiperparâmetros dependem do conjunto de dados e os recursos de computação disponíveis.