1xofrhcukurchi Avx41y7a.png

Descubra cómo una red neuronal con una capa oculta que utiliza la activación ReLU puede representar cualquier función no lineal continua.

Las funciones de activación desempeñan un papel integral en las redes neuronales (NN), ya que introducen no linealidad y permiten que la red aprenda características y funciones más complejas que una simple regresión lineal. Una de las funciones de activación más utilizadas es la Unidad Lineal Rectificada (ReLU), que ha sido teóricamente Se ha demostrado que permite a los NN aproximarse a una amplia gama de funciones continuas, lo que los convierte en potentes aproximadores de funciones.

En esta publicación, estudiamos en particular la aproximación de funciones continuas no lineales (CNL), el objetivo principal de utilizar un NN sobre un modelo de regresión lineal simple. Más precisamente, investigamos 2 subcategorías de funciones CNL: funciones lineales continuas por piezas (CPWL) y curvas continuas (CC). Mostraremos cómo estos dos tipos de funciones se pueden representar utilizando una NN que consta de una capa oculta, siempre que haya suficientes neuronas con activación ReLU.

Con fines ilustrativos, consideramos solo entradas de características únicas, pero la idea también se aplica a entradas de características múltiples.

Figura 1: Función de unidad lineal rectificada (ReLU).

ReLU es una función lineal por partes que consta de dos partes lineales: una que corta los valores negativos donde la salida es cero y otra que proporciona un mapeo lineal continuo para valores no negativos.

Las funciones CPWL son funciones continuas con múltiples porciones lineales. La pendiente es constante en cada porción, pero cambia abruptamente en los puntos de transición al agregar nuevas funciones lineales.

Figura 2: Ejemplo de aproximación de la función CPWL utilizando NN. En cada punto de transición, se agrega/resta una nueva función ReLU de la entrada para aumentar/disminuir la pendiente.

En una NN con una capa oculta que utiliza activación ReLU y una capa de salida lineal, las activaciones se agregan para formar la función objetivo CPWL. Cada unidad de la capa oculta es responsable de una pieza lineal. En cada unidad, se agrega una nueva función ReLU que corresponde al cambio de pendiente para producir la nueva pendiente (ver Fig.2). Dado que esta función de activación es siempre positiva, los pesos de la capa de salida correspondientes a las unidades que aumentan la pendiente serán positivos y, a la inversa, los pesos correspondientes a las unidades que disminuyen la pendiente serán negativos (cf. Fig.3). La nueva función se agrega en el punto de transición pero no contribuye a la función resultante antes (y a veces después) de ese punto debido al rango de desactivación de la función de activación ReLU.

Figura 3: Aproximación de la función objetivo CPWL en la Fig.2 usando un NN que consta de una capa oculta con activación ReLU y una capa de salida lineal.

Ejemplo

Para hacerlo más concreto, consideramos un ejemplo de una función CPWL que consta de 4 segmentos lineales definidos a continuación.

Figura 4: Ejemplo de una función PWL.

Para representar esta función objetivo, usaremos un NN con 1 capa oculta de 4 unidades y una capa lineal que genera la suma ponderada de las salidas de activación de la capa anterior. Determinemos los parámetros de la red para que cada unidad en la capa oculta represente un segmento del objetivo. Por el bien de este ejemplo, el sesgo de la capa de salida (b2_0) se establece en 0.

Figura 5: La arquitectura de red para modelar la función PWL definida en la Fig.4.
Figura 6: La salida de activación de la unidad 0 (a1_0).
Figura 7: La salida de activación de la unidad 1 (a1_1), que se agrega a la salida (a2_0) para producir el segmento (2). La flecha roja representa el cambio de pendiente.
Figura 8: La salida de la unidad 2 (a1_2), que se agrega a la salida (a2_0) para producir el segmento (3). La flecha roja representa el cambio de pendiente.
Figura 9: La salida de la unidad 3 (a1_3), que se agrega a la salida (a2_0) para producir el segmento (4). La flecha roja representa el cambio de pendiente.

El siguiente tipo de función no lineal continua que estudiaremos es la función CC. No existe una definición adecuada para esta subcategoría, pero Una forma informal de definir funciones CC son funciones no lineales continuas que no son lineales por partes. Varios ejemplos de funciones CC son: función cuadrática, función exponencial, función sinusal, etc.

Una función CC se puede aproximar mediante una serie de piezas lineales infinitesimales, lo que se denomina aproximación lineal por partes de la función. Cuanto mayor sea el número de piezas lineales y menor el tamaño de cada segmento, mejor será la aproximación a la función objetivo. Por lo tanto, la misma arquitectura de red anterior con un número suficientemente grande de unidades ocultas puede producir una buena aproximación para una función de curva.

Sin embargo, en realidad, la red está entrenada para ajustarse a un conjunto de datos determinado donde se desconoce la función de mapeo de entrada-salida. Una arquitectura con demasiadas neuronas es propensa a sobreadaptarse, a tener una gran variación y requiere más tiempo para entrenarse. Por lo tanto, un número apropiado de unidades ocultas no debe ser demasiado pequeño para ajustarse adecuadamente a los datos, ni demasiado grande para dar lugar a un sobreajuste. Además, con un número limitado de neuronas, una buena aproximación con baja pérdida tiene más puntos de transición en un dominio restringido, en lugar de puntos de transición equidistantes en una forma de muestreo uniforme (como se muestra en la figura 10).

Figura 10: Dos aproximaciones lineales por partes para una función de curva continua (en línea discontinua). La aproximación 1 tiene más puntos de transición en el dominio restringido y modela la función objetivo mejor que la aproximación 2.

En esta publicación, hemos estudiado cómo la función de activación ReLU permite que múltiples unidades contribuyan a la función resultante sin interferir, lo que permite una aproximación continua de funciones no lineales. Además, hemos discutido sobre la elección de la arquitectura de red y el número de unidades ocultas para obtener un buen resultado de aproximación.

¡Espero que esta publicación sea útil para tu proceso de aprendizaje de Machine Learning!

Más preguntas para pensar:

  1. ¿Cómo cambia la capacidad de aproximación si aumenta el número de capas ocultas con activación ReLU?
  2. ¿Cómo se utilizan las activaciones ReLU para un problema de clasificación?

*A menos que se indique lo contrario, todas las imágenes son del autor.