La función de activación es un elemento esencial para diseñar una red neuronal. La elección de la función de activación le dará un control completo sobre el proceso de entrenamiento del modelo de red. Tras añadir estas funciones en las capas ocultas, el modelo aprenderá de forma eficiente. El tipo de predicciones depende de la elección de la función de activación. Por lo tanto, debe elegir cuidadosamente la función de activación para cada red de aprendizaje profundo.

Funciones de activación

Una función de activación significa la transformación de la entrada con la ayuda de una suma ponderada a la salida. Utiliza un solo nodo o más para que la red genere la predicción. También puede referirse a la función de activación como una función de transferencia. También se puede llamar función de aplastamiento cuando el rango de salida tiene limitaciones. Las funciones de activación también pueden ser no lineales y referirse a la no linealidad del diseño de la red. Independientemente de la función de activación que elijas, ésta tendrá un impacto significativo en el rendimiento y la capacidad de las diferentes partes del modelo de aprendizaje automático.
Es mejor utilizar la función de activación dentro y después de utilizar el procesamiento interno para cada nodo de la red. Sin embargo, el diseño del modelo fomenta el uso de funciones de activación idénticas en una capa. Estas son las tres capas que incluye una red:

– Capas de entrada

Las capas de entrada recogen la entrada bruta y la utilizan en el proceso de cálculo.

– Capas ocultas

Las capas ocultas recogen la entrada de la otra capa y generan la salida para la otra capa.

– Capas de salida

Las capas de salida predicen el resultado.

Cada capa oculta se basa en la misma función de activación. La capa de salida incluye varias funciones de activación. Recoge la información de las capas ocultas. Esta capa depende de la generación de diferentes tipos de predicciones que el modelo requiere.
Las redes neuronales aprenden a partir del algoritmo de retropropagación del error. Para actualizar los pesos de la capa oculta, el modelo requiere derivadas del error de predicción. Se pueden diferenciar fácilmente las funciones de activación para calcular la derivada de primer orden para un valor de entrada determinado. Las redes neuronales incluyen numerosos tipos de funciones de activación. Pero para mejorar el rendimiento de las capas oculta y de salida, sólo debe utilizar unas pocas funciones.

Ventajas de la función de activación lineal rectificada

Al desarrollar diferentes tipos de redes neuronales, la función de activación lineal rectificada se está convirtiendo en la elección por defecto de los científicos de datos. Las principales ventajas de la función de activación rectificada son

1. Simplicidad en el cálculo

No es importante implementar la función rectificadora cuando se requiere una función max(). Esto es diferente a la función de activación sigmoide y tanh, para las cuales se requiere el cálculo exponencial.

2. Esparcimiento de la representación

Otro beneficio de la función rectificadora es la capacidad de generar una salida con un valor cero verdadero. Indica que las entradas negativas producirán una salida con valor cero verdadero. De este modo, las redes neuronales pueden habilitar capas ocultas e incluir uno o más valores de cero verdadero. Esto se puede denominar representación dispersa, ya que simplifica el modelo y acelera el proceso de aprendizaje. Esto hace que la función sea deseable para el aprendizaje representacional.

3. Comportamiento lineal

La función rectificadora es similar a la función de activación lineal. Tiene el mismo rendimiento y acciones. Generalmente, se puede optimizar fácilmente el comportamiento de las redes neuronales cuando el comportamiento es cercano al lineal.

Cómo codificar la función ReluActivación

Usaremos Python para la implementación de la función rectificada lineal con el método fácil y directo. La aplicación más simple de usar esta función sería la función max(). Aquí está el ejemplo para utilizar la función correctamente:
# Función lineal rectificada
def rectificado(x):
return max(0,0,x)
De acuerdo con la expectativa, el valor positivo volverá sin cambios. Sin embargo, el valor negativo o el valor de entrada de 0,0 volverá a 0,0. Aquí puedes encontrar algunos ejemplos de entradas y salidas de la función de activación Relu:
# demostrar la función lineal rectificada

# función lineal rectificada
def rectificado(x):
returnmax(0.0,x)

# demostrar con una entrada positiva
x=1.0
print(‘rectificado(%.1f) es %.1f’%(x,rectificado(x))
x=1000.0
print(‘rectificado(%.1f) es %.1f’%(x,rectificado(x))
# demostrar con una entrada cero
x=0.0
print(‘rectificado(%.1f) es %.1f’%(x,rectificado(x))
# demostrar con una entrada negativa
x=-1.0
print(‘rectificado(%.1f) es %.1f’%(x,rectificado(x))
x=-1000.0
print(‘rectificado(%.1f) es %.1f’%(x,rectificado(x))
Al ejecutar los ejemplos anteriores, podemos identificar el retorno de los valores positivos independientemente de su tamaño. Sin embargo, los valores negativos se ajustarán al valor 0,0.
1 rectificado(1.0) es 1.0
2 rectificado(1000.0) es 1000.0
3 rectificado(0.0) es 0.0
4 rectificado(-1.0) es 0.0
5 rectificado(-1000.0) es 0.0
Después de trazar la serie de entrada y las salidas calculadas, entenderemos la relación entre las entradas y las salidas. A continuación se muestran algunos ejemplos de generación de una serie de enteros que comienzan desde -10 hasta 10. Esto ayuda al cálculo de la Reactivación para la entrada individual. A continuación, el modelo trazará los resultados.
# trazar las entradas y salidas
from matplotlib import pyplot
# función lineal rectificada
def rectificado(x):
returnmax(0.0,x)

# definir una serie de entradas
serie_in=[xforxen rango(-10,11)]
# calcular las salidas para nuestras entradas
series_out=[rectificado(x)paraxseries_in]
# trazado de línea de las entradas crudas a las salidas rectificadas
pyplot.plot(series_in,series_out)
pyplot.show()

Conclusión

La función Reluactivation ayuda a las redes neuronales a formar modelos de aprendizaje profundo. Debido a los problemas de gradiente de fuga en diferentes capas, no se puede utilizar la tangente hiperbólica y la activación sigmoide. Puede superar los problemas de gradiente mediante la función de activación Relu. Esto permite que el modelo funcione mejor y aprenda más rápido. Cuando desarrolle el Perceptrón convolucional y multicapa, la función de activación lineal rectificada de las redes neuronales será la opción por defecto.