¿Qué significa el peso en términos de redes neuronales?

Para comprender qué significa la ‘matriz de peso’ en términos de redes neuronales, primero debe comprender el funcionamiento de una sola neurona, o mejor aún, un Perceptrón.

Perceptrón

En primer lugar, ¿qué es un perceptrón? Un perceptrón es un tipo de neurona artificial que toma varias entradas binarias x1, x2, …, xn y produce una salida binaria única. En el ejemplo que se muestra arriba, hay tres entradas x1, x2 y x3.

Para calcular una salida, esto es lo que puede hacer (O = Salida):

a) Resuma las entradas. O = x1 + x2 + x3

b) Aplicar una operación matemática lineal a las entradas. O = (x1 * x2) + x3

Para comprender el mejor enfoque posible para este problema, debemos tener en cuenta que dado que x1, x2 y x3 son entradas binarias aquí, multiplicar una o más entradas juntas puede dar como resultado una salida 0 si una de las entradas es 0. Entonces, esto indica usamos que el enfoque (b) puede tener su salida como O = x3, si x1 o x2 o ambos son iguales a cero. Si solo uno de ellos es igual a 0, esto puede conducir a una pérdida de información ya que el valor de entrada se multiplica por 0.

Ahora, veamos el enfoque simple (a), comprenda por qué es parcialmente correcto y qué podemos hacer para que sea completamente correcto. El enfoque (a) seguro tiene en cuenta todas las entradas sin que una se vea inmediatamente afectada por la otra. Sin embargo, no tiene en cuenta la importancia relativa de las entradas.

Déjame explicarte lo que eso significa.

Considere un ejemplo simple en el que desea hacer un perceptrón para predecir si lloverá hoy o no. Tiene una salida binaria como O, que puede tomar valores de 0 o 1 y entradas x1 y x2.

Sea x1 1 si el clima es húmedo hoy, 0 si es lo contrario. Sea x2 1 si lleva una camisa roja hoy y 0 si no. Podemos ver aquí que usar una camisa roja casi no tiene correlación con la posibilidad de lluvia. Entonces, una posible función de salida puede ser:

O = x1 + 0.1 * x2

Esto es lo que hace el factor 0.1 . Si x2 es 0, 0.1 * x2 sigue siendo 0, pero si x2 es 1, 0.1 * x2 será 0.1, no 1. Básicamente reduce la importancia de la entrada x2 de 1 a 0.1, y por lo tanto, se llama ‘peso’ de la entrada x2.

Considere x2 como 1 por ahora. O seguirá siendo (0 + 0.1) = 0.1 o (1 + 0.1) = 1.1, es decir, no es un valor binario. Para hacerlo uno, lo que podemos hacer es usar un ‘ umbral’ para el valor total de O. Podemos decir, como, O es 1 si (x1 + 0.1 * x2)> 1

y O = 0 si (x1 + 0.1 * x2) <1. Así hemos resuelto nuestro problema.

En general,

Y ahora haciendo algunas simplificaciones notacionales finales, decimos

Donde w = [w1 w2 w3…. wn] T, x = [x1 x2 x3…. xn] yb = – (umbral)

  • b se conoce comúnmente como sesgo.

Nota: ‘T’ es la operación de transposición. Y wx es multiplicación matricial.

Y ahora puede aplicar esta comprensión a una neurona sigmoidea, o redes neuronales artificiales completas.

Dónde

Salida = 1 si {x * (peso de x) + y * (peso de y) + b}> 0,

Salida = 0, de lo contrario

¡Espero que esto ayude!

Tomemos una regresión lineal en lugar de redes neuronales por ahora. (Supongo que tienes una comprensión de la regresión lineal, si no la tienes, te sugiero que la aprendas antes de sumergirte en las redes neuronales).

Digamos que va a predecir el precio de una computadora portátil en función de sus especificaciones. Cada especificación es una característica de la que depende el precio de la computadora portátil. Obviamente, algunas características (como modelo de procesador, memoria, GPU) serán más decisivas que otras características (como color, teclado retroiluminado, etc.). Todo lo que hace el modelo es saber cuánto contribuye cada característica al precio. Estas “contribuciones” son los pesos en el modelo. Un mayor peso de una característica le dice al modelo que es más importante que otras características. Más tarde, el modelo usa estos pesos para predecir el precio cuando se le dan las características de una computadora portátil. En resumen, los pesos de una característica denotan cuánto importa la característica en el modelo.

En las redes neuronales, “pesas” significan lo mismo. Cada neurona en una red neuronal es una regresión lineal de los resultados de todas las neuronas en la capa anterior.

Por ej. Considere una red neuronal con 4 características y 2 capas de 3 y 1 neuronas cada una. Cada una de las 3 neuronas en la primera capa es una regresión lineal separada, cuyas características son las entradas originales (4 de ellas). Ahora la salida de cada neurona en la primera capa (3 de ellas) actúa como las características de la segunda capa. La segunda capa, a su vez, tiene una sola neurona que nuevamente actúa como una regresión lineal que genera la predicción final.

Los “pesos” o “parámetros” de una red neuronal son los pesos utilizados en las regresiones lineales dentro de la red neuronal. Esto se aprende durante el entrenamiento.

PD: No he mencionado la no linealidad en las redes neuronales por simplicidad, aunque esa es probablemente la característica más importante de la arquitectura de redes neuronales.

Añadiría un poco desde la perspectiva del álgebra lineal. Los pesos en una capa no son más que un vector de valores que tienen cierto valor * numérico * y una cierta * dirección *. La razón por la que son importantes es que permiten que sus entradas escalares * abarquen un espacio * en dimensiones superiores. La capa intermedia en su red neuronal se puede representar con un solo vector de valores cuya longitud depende del número de neuronas en esa capa. Cuando multiplica este vector con sus entradas escalares, obtiene una combinación lineal. Ahora, si piensa en este escenario en geometría, puede pensar que hay algunos vectores básicos, cuando se escalan (utilizando las entradas que proporcionó) y se agregan, obtendremos un vector resultante. Para que el vector resultante se ajuste exactamente a los dos vectores básicos, los pesos (escalares) en los vectores básicos se actualizarán y finalmente se ajustarán para que el vector resultante coincida con su salida.

Sugiero seguir esta increíble explicación visual de las redes neuronales para comprender cuál es el peso en el contexto de las redes neuronales.

Una guía visual e interactiva de los fundamentos de las redes neuronales

El peso es la fuerza de la conexión. Si aumento la entrada, ¿cuánta influencia tiene en la salida?

Los pesos cercanos a cero significan que cambiar esta entrada no cambiará la salida. Muchos algoritmos establecerán automáticamente esos pesos en cero para simplificar la red.

Los pesos negativos significan que aumentar esta entrada disminuirá la salida.

Tenga en cuenta que también necesita un sesgo: cuánto desea activar esta salida independientemente de la entrada.

Las redes neuronales, como su nombre indica, están formadas por neuronas. Estas neuronas tienden a ser notablemente simples, con nada más que un valor de coma flotante, una entrada y una salida. Ese flotador es lo que llamamos el peso de una neurona.

Cuando se está ejecutando una red neuronal, toma un gran conjunto de datos, lo divide en un montón de pequeños fragmentos y dispersa esos fragmentos entre todas las neuronas que contiene. Las neuronas toman los datos que reciben, los operan utilizando el peso almacenado (la operación exacta puede variar, pero generalmente simplemente multiplica el valor por el peso) y luego pasa los datos resultantes a la salida. Al final, todos los resultados se agregan para llegar a una conclusión. Si la red aún se está entrenando, esta conclusión se evaluará para determinar si es correcta, y luego se ajustarán ligeramente los pesos de todas las neuronas involucradas, reduciendo los valores de las que estaban mal y aumentando las que estaban bien.

Una red neuronal es una serie de capas, con cada capa que contiene nodos. Los nodos toman como entrada las salidas de la capa anterior. Entonces, los nodos de la capa 2 alimentan su salida a la capa 3, pero cada una de estas rutas se multiplica por un peso. Este peso se determina entrenando el modelo en datos, de la misma manera que un modelo de regresión lineal podría ser y = A * x + B donde A es el peso aplicado a la entrada x.