Redes neuronales: Estructura

Para ver cómo las redes neuronales pueden ayudar con los problemas no lineales, con la representación de un modelo lineal como un gráfico:

Tres círculos azules en fila conectados por flechas a un círculo verde arriba de ellos

Figura 3: el modelo lineal como un grafo.

Cada círculo azul representa un atributo de entrada, y el círculo verde representa un atributo de entrada. la suma ponderada de las entradas.

¿Cómo podemos modificar este modelo para mejorar su capacidad de tratar con modelos no lineales problemas?

Capas ocultas

En el modelo que se muestra en el siguiente gráfico, agregamos una “capa oculta” de valores intermedios. Cada nodo amarillo en la capa oculta es una suma ponderada de los valores del nodo de entrada azul. El resultado es una suma ponderada de los atributos nodos.

Tres círculos azules en fila etiquetada

Figura 4: Grafo de un modelo de dos capas

¿Este modelo es lineal? Sí, su resultado sigue siendo una combinación lineal de sus entradas.

En el modelo representado por el siguiente gráfico, agregamos un segundo capa de sumas ponderadas.

Tres círculos azules en fila etiquetada

Figura 5: Grafo de un modelo de tres capas.

¿Este modelo sigue siendo lineal? Sí. Cuando expresas la salida como un función de la entrada y simplificar, obtendrás otra suma ponderada de las entradas. Esta suma no modela de manera efectiva el problema no lineal de la Figura 2.

Funciones de activación

Para modelar un problema no lineal, podemos introducir directamente una no linealidad. Podemos canalizar cada nodo de la capa oculta a través de una función no lineal.

En el modelo representado en el siguiente gráfico, el valor de cada nodo en La capa oculta 1 se transforma a través de una función no lineal antes de pasarla. a las sumas ponderadas de la siguiente capa. Esta función no lineal se llama función de activación.

Igual que la figura anterior, con la excepción de una fila de círculos rosas con la etiqueta "Capa de transformación no lineal". se agregó entre las dos capas ocultas.

Figura 6: Gráfico de un modelo de tres capas con función de activación.

Ahora que agregamos una función de activación, agregar capas tiene un mayor impacto. Apilar no linealidades en no linealidades nos permite modelar muy complejos relaciones entre las entradas y las salidas previstas. En resumen, cada es aprender una función más compleja y de nivel superior a través del las entradas sin procesar. Si deseas intuir mejor cómo funciona esto, consulta Excelente entrada de blog de Chris Olah.

Funciones de activación comunes

La siguiente función de activación sigmoidea convierte la suma ponderada a un valor entre 0 y 1.

$$F(x)=\frac{1} {1+e^{-x}}$$

Aquí hay un diagrama:

Función sigmoidea

Figura 7: Función de activación sigmoidea.

La siguiente función de activación de unidad lineal rectificada (o ReLU, para breve) suele funcionar mejor que una función suave, como la sigmoidea, y son mucho más fáciles de procesar.

$$F(x)=max(0,x)$$

La superioridad de ReLU se basa en hallazgos empíricos, probablemente impulsados por ReLU. con un rango más útil de capacidad de respuesta. La capacidad de respuesta de una función sigmoidea disminuye relativamente rápido en ambos lados.

Función de activación de ReLU

Figura 8: Función de activación de ReLU.

De hecho, cualquier función matemática puede servir como una función de activación. Supongamos que \(\sigma\) representa nuestra función de activación. (ReLU, sigmoidea o cualquier otra). En consecuencia, el valor de un nodo en la red se obtiene de la siguiente manera: Fórmula:

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

Resumen

Ahora, nuestro modelo tiene todos los componentes estándar de lo que las personas cuando dicen "red neuronal":

  • Es un conjunto de nodos, análogos a las neuronas, organizados en capas.
  • Un conjunto de ponderaciones que representan las conexiones entre cada red neuronal y la inferior. La capa inferior puede otra capa de la red neuronal u otro tipo de capa.
  • Un conjunto de sesgos, una para cada nodo.
  • Una función de activación que transforma el resultado de cada nodo en una capa. Las diferentes capas pueden tener diferentes funciones de activación.

Una salvedad: las redes neuronales no siempre son mejores que combinaciones de atributos, pero las redes neuronales ofrecen una alternativa flexible que funciona en muchos casos.