Relación de learning rate y batch size

Contenido del Bootcamp Dirigido por: | Última modificación: 30 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

De entre todos los hiperparámetros, el learning rate y el batch size son dos parámetros directamente relacionados con el algoritmo del gradient descent. De manera que un buen data scientist debe comprender la relación de learning rate y batch size, los hiperparámetros que influyen en el entrenamiento de una red neuronal y cómo afectan.

Por esta razón, en el desarrollo de este post, te explicaremos cómo funciona la relación de learning rate y batch size para que comprendas su importancia dentro de las funciones del Deep Learning para el manejo del Big Data.

Relación de learning rate y batch size

La relación de learning rate y batch size es muy importante, puesto que debes tener en cuenta que las formas en las que el learning rate se relaciona con el batch size.

Relación de learning rate y batch size

De manera que, si nos aproximamos a k=1, debemos bajar el learning rate para que las actualizaciones de los pesos tengan menos importancia, ya que cada vez se aproxima más al Stochastic Gradient Descent, es decir, a cálculos del gradiente con muestras aleatorias.

Así que veamos qué pasa si disminuimos el learning rate y cómo influye en la relación de learning rate y batch size:

# con batch_size = 32 y learning rate = 0.1
learning_rate = 0.1
lr_decay = 1e-3
n_epochs = 10
batch_size = 32
train_network_decay(learning_rate, lr_decay, batch_size, n_epochs)

[0] cost: 0.42164708537779183 lr: 0.0999
[1] cost: 0.3180797323280985 lr: 0.0998001
[2] cost: 0.2993746457320047 lr: 0.0997002999
[3] cost: 0.2902060885316276 lr: 0.0996005996001
[4] cost: 0.2839294792314487 lr: 0.0995009990004999
[5] cost: 0.27907656427858796 lr: 0.0994014980014994
[6] cost: 0.2776565871063766 lr: 0.0993020965034979
[7] cost: 0.27628493391419734 lr: 0.09920279440699441
[8] cost: 0.26912494371314494 lr: 0.09910359161258742
[9] cost: 0.2701870565746105 lr: 0.09900448802097483
¡Entrenamiento finalizado!
Accuracy: 0.9217

Estos resultados arrojarían la siguiente gráfica:

Relación de learning rate y batch size

En esta gráfica, si te fijas en la curva de pérdidas, puedes intuir que todavía es demasiado grande, puesto que la función no es monótona decreciente, es decir, no disminuye en cada época. Así que sería mejor usar un learning rate aún menor.

Para ejemplificar la relación de learning rate y batch size, vamos a ajustar el learning rate, como puedes ver en las siguientes líneas de código:

# con batch_size = 32 y learning_rate=0.01
learning_rate = 0.01
lr_decay = 1e-3
n_epochs = 10
batch_size = 32
train_network_decay(learning_rate, lr_decay, batch_size, n_epochs)

[0] cost: 0.7905179016266056 lr: 0.00999
[1] cost: 0.4630600413929879 lr: 0.009980010000000001
[2] cost: 0.4125728102984193 lr: 0.00997002999
[3] cost: 0.38501321430273616 lr: 0.00996005996001
[4] cost: 0.3648823295764379 lr: 0.00995009990004999
[5] cost: 0.3530901722714086 lr: 0.00994014980014994
[6] cost: 0.34497313654186845 lr: 0.00993020965034979
[7] cost: 0.33648234748469114 lr: 0.009920279440699441
[8] cost: 0.33186262632623675 lr: 0.009910359161258741
[9] cost: 0.3231285819144128 lr: 0.009900448802097483
¡Entrenamiento finalizado!
Accuracy: 0.9166

Ahora, la esquematización de los datos sería la siguiente:

Relación de learning rate y batch size

Por último, podrás notar cómo el accuracy es menor con el learning rate más bajo. El motivo de que esto suceda es que necesitamos más épocas, ya que los pesos se actualizan de forma más lenta.

En este post, te hemos expuesto la relación de learning rate y batch size, de manera que ahora conoces la importancia de este relación para el desarrollo del Deep Learning para el manejo de los macrodatos. Ahora, sabemos que querrás continuar aprendiendo sobre el Big Data, por lo que en KeepCoding te traemos la opción perfecta.

Para facilitarte el proceso de aprendizaje, te ofrecemos el Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning, una formación intensiva con la que te especializarás en el proceso de ingesta, clasificación, resguardo, procesamiento y presentación de los macrodatos gracias al uso de diferentes herramientas, sistemas y lenguajes. Al finalizar este bootcamp íntegro, lo que te llevará menos de nueve meses, serás capaz de reconocer las ventajas e inconvenientes de los distintos programas estudiados. ¡No dudes en echarle un vistazo al temario e inscríbete ahora!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado