0%
Funciones de activación

Funciones de activación

Sin no linealidad, una red profunda se reduce a una sola capa: demostración, saturación de la sigmoide, ReLU, GELU y la trampa del softmax.

10-15 min

Funciones de activación

Quite las funciones de activación de una red de cincuenta capas. No obtendrá una red de cincuenta capas menos potente: obtendrá, exacta y demostrablemente, una regresión lineal. Cincuenta millones de parámetros que calculan lo que calcularía una sola matriz. Es el resultado más importante de esta lección, y cabe en dos líneas de álgebra.

Estas funciones, que se escriben de un plumazo (un nn.ReLU() colocado entre dos nn.Linear), son por tanto lo que hace que exista la profundidad. Y la elección no es cosmética. La historia del aprendizaje profundo entre 1990 y 2010 es en gran parte la historia de un fracaso atribuido erróneamente a la profundidad, cuando en realidad provenía de la función de activación utilizada: la sigmoide aplasta los gradientes, y una red de diez capas sigmoides no puede, estructuralmente, entrenarse. El paso a ReLU, hacia 2011, hizo más por la viabilidad de las redes profundas que cualquier truco de optimización.

Esta lección también trata el error más frecuente de todo PyTorch: añadir un Softmax a la salida de un modelo que se entrena con CrossEntropyLoss. El código funciona, la pérdida baja, los resultados son mediocres y nadie ve por qué. Cuantificaremos con precisión lo que cuesta este error.

¡Enlace copiado!