Ao alterar o batch_size para 100, 20 e 5, observei que o tamanho do lote impacta diretamente o tempo de cada época e o comportamento da convergência. Com batch_size = 100, cada época foi mais rápida, levando em média 7.68 segundos, mas a loss ficou abaixo de 1.6 apenas na época 2. Com batch_size = 20, o tempo médio por época foi de 14.45 segundos e a loss ficou abaixo de 1.6 já na época 1. Com batch_size = 5, a loss também ficou abaixo de 1.6 na época 1 e chegou ao menor valor final, 1.4870, porém o tempo por época aumentou bastante, chegando a 44.63 segundos. Assim, percebi que batches menores podem favorecer atualizações mais frequentes e reduzir a loss, mas aumentam o custo computacional. Neste experimento, o batch_size = 20 pareceu oferecer o melhor equilíbrio entre tempo de treinamento e convergência.
| Batch size | Tempo médio por época | Época em que a loss ficou abaixo de 1.6 | Loss final |
|---|---|---|---|
| 100 | 7.68s | época 2 | 1.5086 |
| 20 | 14.45s | época 1 | 1.4910 |
| 5 | 44.63s | época 1 | 1.4870 |
Segue o link do código:https://github.com/Moquiuti/Rede-Neural-Deep-Learning-com-PyTorch/blob/main/Carregamento_de_Dados.ipynb