y=ln⁡(1+ex)y = \ln(1+e^x)

Gráfica de la función softplus y=ln⁡(1+ex)y = \ln(1 + e^x)

y=ln⁡(1+ex)y = \ln(1 + e^x) se llama función softplus. Como ex>0e^x > 0 hace que 1+ex>11 + e^x > 1, el logaritmo es siempre positivo, así que el dominio es el conjunto de todos los números reales y el rango es y>0y > 0. El interior 1+ex1 + e^x crece de forma monótona y ln⁡\ln es creciente, de modo que la función entera crece de forma monótona.

Dos asíntotas

El comportamiento por la izquierda y por la derecha no podría ser más distinto.

LadoAproximaciónAsíntota
x→−∞x \to -\inftyln⁡(1+0)=0\ln(1 + 0) = 0y=0y = 0, el eje xx
x→+∞x \to +\inftyln⁡(ex)=x\ln(e^x) = xy=xy = x

Plana hacia 00 por la izquierda y tendiendo a la recta de pendiente 11 por la derecha, es una forma doblada con suavidad.

La derivada es la sigmoide

La derivada es exactamente la función logística, o sigmoide.

y′=ex1+ex=11+e−xy' = \frac{e^x}{1 + e^x} = \frac{1}{1 + e^{-x}}

Su valor está entre 00 y 11, y tiende a 00 cuando x→−∞x \to -\infty y a 11 cuando x→+∞x \to +\infty. La segunda derivada es positiva, así que la gráfica es convexa en todo su recorrido.

Valores

xxyySeparación respecto de xx
−1-10.3130.3131.3131.313
000.6930.6930.6930.693
111.3131.3130.3130.313
555.0075.0070.0070.007

Para xx grande la salida es casi igual a xx. La separación vale exactamente ln⁡(1+e−x)\ln(1 + e^{-x}), y los valores aparecen en orden intercambiado en las dos columnas porque y−xy - x es igual al valor en −x-x.

Relación con la ReLU

La ReLU max⁡(0,x)\max(0, x), habitual en aprendizaje automático, tiene un pico en el origen donde no es derivable; la softplus es una aproximación suave que redondea ese pico, quedando redondeada cerca del origen y casi coincidiendo con la ReLU a lo lejos. Se usa como función de activación en redes neuronales y para parametrizar magnitudes que han de mantenerse positivas, como una varianza o un recuento de población. Que su derivada sea la sigmoide, o lo que es lo mismo, que la softplus sea la primitiva de la sigmoide, simplifica además el cálculo de gradientes.

Un truco para el cálculo numérico

Calcular ln⁡(1+ex)\ln(1 + e^x) directamente desborda cuando xx es grande, porque exe^x lo hace. Las implementaciones suelen reescribirlo en la forma siguiente para ganar estabilidad numérica.

max⁡(0,x)+ln⁡ ⁣(1+e−∣x∣)\max(0, x) + \ln\!\left( 1 + e^{-|x|} \right)

El exponente no es nunca positivo, así que nada desborda.