Asumiré que está utilizando el optimizador de descenso de gradiente.
Una razón para usar el descenso de gradiente de mini lote en lugar del descenso de gradiente de lote es que el mini lote tiene los efectos de regularización en el modelo. Estos efectos de regularización provienen del hecho de que cuando usa mini-lote en lugar del ejemplo de entrenamiento completo, tendrá un ruido adicional en su estimación de gradiente. Este ruido proviene de la diferencia entre el gradiente estimado del descenso del gradiente de mini lotes y el descenso del gradiente de lotes. Esta estimación ruidosa podría ayudar a su modelo a evitar el sesgo debido a la memorización del conjunto de entrenamiento y una mejor generalización.
Ahora, si elige un tamaño de lote grande, el ruido se volverá más pequeño ya que los gradientes estimados en el descenso de gradiente de mini lote se acercarán a los gradientes estimados en el descenso de gradiente de lote. Esto dará como resultado una precisión de entrenamiento ligeramente mejor, pero perderá el efecto de regularización y obtendrá una generalización peor, de ahí la menor validación o precisión de la prueba.
- Hay muchas críticas positivas para Pytorch. Actualmente uso Keras y TensorFlow. ¿Recomienda hacer un cambio o apegarse a Tensorflow y dominarlo?
- ¿Cómo se deriva la fórmula lagrangiana para resolver la máquina de vectores de soporte?
- ¿Es necesario ajustar manualmente la tasa de aprendizaje cuando uso el método de descenso de gradiente estocástico de Adam en la práctica?
- ¿Cuáles son los propósitos de ganchos y andamios en TensorFlow?
- ¿Pueden las redes neuronales profundas resolver problemas NP-Hard?