¿Por qué el aprendizaje profundo / las arquitecturas solo usan la función de activación no lineal en las capas ocultas?

Sin una función de activación no lineal, la red neuronal está calculando combinaciones lineales de valores, o en el caso de una red profunda, combinaciones lineales de funciones lineales (es decir, líneas). Tenga en cuenta que una combinación lineal de líneas es nuevamente una línea. Por ejemplo, agreguemos un par de funciones lineales juntas gráficamente (sumando los valores ‘y’ para cada valor ‘x’):

+

=

Acabamos de crear una nueva función lineal. Nada cualitativamente nuevo aquí.

Supongamos, en cambio, que usa unidades lineales rectificadas. Luego tiene combinaciones lineales de ReLU, como esta:

+

=

Tenga en cuenta que el resultado no es una sola línea ni una sola ReLU. Así que hemos creado algo cualitativamente diferente al agregar las dos ReLU juntas. Puede imaginar posibilidades similares agregando combinaciones lineales de otras funciones juntas, como las funciones tanh o sigmoide. El punto es que podemos construir modelos completamente diferentes (no lineales) de esta manera. Entonces, la introducción de la no linealidad extiende los tipos de funciones que podemos representar con nuestra red neuronal.

(Si cree que puedo mejorar esta respuesta, hágamelo saber).

En la línea de la respuesta de David, pero haciéndolo un poco más concreto. Digamos que tiene una red neuronal como se muestra a continuación y la entrada a la red es una “x” escalar. La salida es una “y” escalar sin ninguna no linealidad (en nuestro caso ReLU) simplemente será otra línea (amarilla) ya que la composición de cualquier número de funciones lineales es otra función lineal.

Sin embargo, cuando agrega ReLU, la función modelada ya no será la línea amarilla, sino la línea negra en negrita.

Asumiendo que estábamos tratando de separar los rojos de los verdes, en el caso sin ReLU, obtenemos 3 verdes incorrectos (marcados con bordes rojos). En el caso de ReLU, podemos clasificar correctamente todos los puntos de datos.

Para la red neuronal artificial de tipo clásico, las no linealidades se imponen solo a través de la función de activación entre transformaciones lineales sucesivas. En cualquier situación, si las funciones de activación son lineales, dicha linealidad podría ser absorbida bajo pesos y sesgos de sus capas siguientes o anteriores. Entonces, en ausencia de dicha no linealidad, dos transformaciones lineales sucesivas se pueden expresar como una sola transformación lineal y se pueden entrenar sin ninguna diferencia.

Alternativamente, podemos eliminar por completo la función de activación de nuestras redes neuronales complicadas recientemente utilizadas, donde se incorporan varias otras no linealidades dentro de su arquitectura, como agrupación máxima, dispersión, conexión local, normalización de lotes, abandono, etc.

Alguien puede intentarlo!

No es necesario usar la capa oculta LINEAR en una red neuronal. Porque dos (o tres o cuatro) capas lineales no pueden proporcionar más inteligencia que una sola capa lineal.

La operación básica dentro de las redes neuronales es lineal, donde normalmente haría algo cercano a matrix_multiply (input_tensor, weight_tensor) + bias_tensor . Apilar tales operaciones no aumenta la capacidad de su modelo, ya que la combinación lineal de tales operaciones es nuevamente un modelo lineal. Es la no linealidad de las funciones de activación lo que le permite “doblar” sus límites de decisión, lo que le da a los modelos el poder de adaptarse a conjuntos de datos complejos.

Visualmente, los modelos lineales le permiten dibujar una línea recta a través del hiperplano representado por las características. Las activaciones no lineales le permiten dibujar límites con formas arbitrarias en el hiperplano de características.

Entonces, con un modelo lineal, podría dividir el plano de esta manera:

Pero con activaciones no lineales, podría hacer esto:

Para una discusión más profunda, vea

¿Cómo funcionan las redes neuronales? – Malayo Haldar – Medio

Una combinación lineal de clasificadores lineales es equivalente a un único clasificador lineal.

Esto ya no es cierto. Si el rectificador no se considera lineal, maxout o channel-out pueden usar activaciones lineales. Aunque un grupo aún no es lineal, creo que es significativo eliminar de nuestra mente la restricción de la no linealidad.

En términos de lo que sé, si usa la función de activación lineal en las capas ocultas, estas capas ocultas pueden superponerse mediante el principio de superposición, y pueden superponerse a una sola capa oculta más grande, lo que resulta en el mismo efecto en las representaciones de entidades. , si utilizamos la función de activación no lineal en capas ocultas, podemos transformar la característica en cada capa oculta (afortunadamente, aquí no se puede adoptar el principio de superposición)
, para que podamos obtener una buena representación de entidades de capa superior.

La no linealidad separa las capas, y sin ellas cada capa se condensará en una función lineal. Y esto será equivalente a una red de capa única.