Capítulo 16. O processo de formação
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Agora já sabes como criar arquitecturas de ponta para visão computacional, processamento de linguagem natural, análise tabular e filtragem colaborativa, e sabes como treiná-las rapidamente. Então, acabámos, certo? Ainda não. Ainda temos que explorar um pouco mais o processo de treinamento.
Explicámos no Capítulo 4 a base da descida gradiente estocástica: passar um mini-lote ao modelo, compará-lo com o nossoalvo com a função de perda, depois calcular os gradientes desta função de perda em relação a cada peso antes de atualizar os pesos com a fórmula:
new_weight=weight-lr*weight.grad
Implementamos isso do zero em um loop de treinamento, e vimos que o PyTorch fornece uma classe nn.SGD simples que faz esse cálculo para cada parâmetro para nós. Neste capítulo, vamos construir alguns optimizadores mais rápidos, usando uma base flexível. Mas não é só isso que podemos querer mudar no processo de treinamento. Para qualquer ajuste do loop de treinamento, precisaremos de uma maneira de adicionar algum código à base do SGD. A biblioteca fastai tem um sistema de callbacks para fazer isso, e nós vamos ensinar-te tudo sobre ele.
Vamos começar com o SGD padrão para obter uma base de referência; em seguida, apresentaremos os optimizadores mais utilizados.
Estabelecer uma linha de base
Primeiro, vamos criar uma linha de base utilizando ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access