Piense en cada nodo individual como su propio modelo de regresión lineal, compuesto por datos de entrada, ponderaciones, un sesgo (o umbral) y una salida. La fórmula sería la siguiente:
∑wixi + sesgo = w1x1 + w2x2 + w3x3 + sesgo
salida = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0
Una vez determinada la capa de entrada, se asignan las ponderaciones. Estas ponderaciones ayudan a determinar la importancia de cualquier variable, ya que las más grandes contribuyen de forma más significativa a la salida en comparación con otras entradas. A continuación, todas las entradas se multiplican por sus respectivas ponderaciones y se suman. Después, la salida se pasa a través de una función de activación, que determina la salida. Si esa salida supera un umbral determinado, se «dispara» (o activa) el nodo, pasando los datos a la siguiente capa de la red. Esto da como resultado que la salida de un nodo se convierta en la entrada del siguiente nodo. Este proceso de pasar datos de una capa a la siguiente capa define esta red neuronal como una red de proalimentación.
Desglosemos el aspecto de un único nodo utilizando valores binarios. Podemos aplicar este concepto a un ejemplo más tangible, como si deberías ir a hacer surf (Sí: 1, No: 0). La decisión de ir o no ir es nuestro resultado previsto, o y-hat. Supongamos que hay tres factores que influyen en tu decisión:
- ¿Las olas son buenas? (Sí: 1, No: 0)
- ¿Está el pico despejado? (Sí: 1, No: 0)
- ¿Ha habido un ataque de tiburones recientemente? (Sí: 0, No: 1)
Entonces, supongamos lo siguiente, dándonos las siguientes entradas:
- X1 = 1, ya que las olas son buenas
- X2 = 0, ya que está lleno de gente
- X3 = 1, ya que no ha habido un ataque reciente de tiburón
Ahora, tenemos que asignar algunas ponderaciones para determinar la importancia. Unas ponderaciones mayores significan que determinadas variables son más importantes para la decisión o el resultado.
- W1 = 5, ya que las grandes olas no aparecen con frecuencia
- W2 = 2, ya que estás acostumbrado a las multitudes
- W3 = 4, ya que tienes miedo a los tiburones
Por último, también supondremos un valor umbral de 3, lo que se traduciría en un valor de sesgo de –3. Con todas las entradas, podemos empezar a introducir valores en la fórmula para obtener la salida deseada.
Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6
Si utilizamos la función de activación del principio de esta sección, podemos determinar que la salida de este nodo sería 1, ya que 6 es mayor que 0. En este caso, iría a surfear; pero si ajustamos las ponderaciones o el umbral, podemos obtener resultados diferentes del modelo. Cuando observamos una decisión, como en el ejemplo anterior, podemos ver cómo una red neuronal podría tomar decisiones cada vez más complejas en función de la salida de las decisiones o capas anteriores.
En el ejemplo anterior, utilizamos perceptrones para ilustrar algunas de las matemáticas que están en juego aquí, pero las redes neuronales aprovechan las neuronas sigmoidales, que se distinguen por tener valores entre 0 y 1. Dado que las redes neuronales se comportan de forma similar a los árboles de decisión, con datos en cascada de un nodo a otro, tener valores x entre 0 y 1 reducirá el impacto de cualquier cambio dado de una sola variable en la salida de cualquier nodo dado y, posteriormente, en la salida de la red neuronal.
Cuando empecemos a pensar en casos de uso más prácticos para las redes neuronales, como el reconocimiento o la clasificación de imágenes, aprovecharemos el aprendizaje supervisado, o conjuntos de datos etiquetados, para entrenar el algoritmo. Al entrenar el modelo, querremos evaluar su precisión utilizando una función de coste (o pérdida). También se conoce como error cuadrático medio (MSE). En la siguiente ecuación,
- i representa el índice de la muestra,
- y-hat es el resultado previsto,
- y es el valor real y
- m es el número de muestras.
= =1/2 ∑129_(=1)^▒( ̂^(() )−^(() ) )^2
En última instancia, el objetivo es minimizar nuestra función de coste para garantizar la corrección del ajuste para cualquier observación dada. A medida que el modelo ajusta sus ponderaciones y sesgos, utiliza la función de coste y el aprendizaje por refuerzo para alcanzar el punto de convergencia, o el mínimo local. El proceso por el que el algoritmo ajusta sus ponderaciones es el descenso gradiente, que permite al modelo determinar la dirección que debe tomar para reducir los errores (o minimizar la función de coste). Con cada ejemplo de entrenamiento, los parámetros del modelo se ajustan para converger gradualmente en el mínimo.
Consulte este artículo de IBM Developer para obtener una explicación más detallada de los conceptos cuantitativos implicados en las redes neuronales.
La mayoría de las redes neuronales profundas son alimentadas, lo que significa que fluyen en una sola dirección, de la entrada a la salida. Sin embargo, también puede entrenar su modelo mediante retropropagación; es decir, moverse en la dirección opuesta, de la salida a la entrada. La retropropagación nos permite calcular y atribuir el error asociado a cada neurona, lo que nos permite ajustar y encajar adecuadamente los parámetros del modelo o modelos.