Red neuronal desde cero en Python pt-1 (pesos y sesgos) + código | por Mustafa Alahmid

¿Qué es una red neuronal?

Las redes neuronales artificiales están inspiradas en el cerebro orgánico traducido a la computadora y, sin embargo, no es una buena comparación, pero hay neuronas, activaciones, pérdida, pero el proceso subyacente es bastante diferente.

Una sola neurona por sí sola no puede hacer nada, pero cuando se combina con otras neuronas (generalmente miles o millones o más) da un resultado que supera a cualquier otro algoritmo de aprendizaje automático.

Por ejemplo
Estas redes neuronales contienen estos parámetros

Y a través de estos parámetros, el modelo tiene que aprender a ajustar una orden para producir los resultados deseados.

Las redes neuronales consideradas como una caja negra, podemos entender cómo llegan a estos resultados pero es difícil saber el “por qué”

La capa densa:
es una capa de red neuronal que está profundamente conectada, lo que significa que cada neurona en la capa densa recibe información de todas las neuronas de su capa anterior. Se encuentra que la capa densa es la capa más utilizada en los modelos.

En el fondo, la capa densa realiza una multiplicación matriz-vector. Los valores utilizados en la matriz son en realidad parámetros que se pueden entrenar y actualizar con la ayuda de la retropropagación.

La salida generada por la capa densa es un vector dimensional ‘m’. Por lo tanto, la capa densa se usa básicamente para cambiar las dimensiones del vector. Las capas densas también aplican operaciones como rotación, escalado, traducción en el vector.

cada neurona de una capa dada está conectada a cada neurona de la siguiente capa y esto significa que los valores de salida de la capa se convertirán en los valores de entrada de la siguiente capa, cada conexión entre neuronas tiene dos factores o parámetros entrenables y son de peso y sesgo, el peso se multiplica con el valor de entrada y una vez que todas las entradas y los pesos fluyen en la neurona, se suman y se les agrega el sesgo, el sesgo compensa la salida, lo que ayuda a mapear más datos dinámicos del mundo real

Ejemplos de cómo funciona el sesgo y los pesos:

Podemos ver cómo los pesos y el sesgo afectan la salida y esto tendrá más sentido cuando expliquemos las funciones de activación más adelante.

Ahora implementemos la primera red neuronal con pesos y sesgos con python

1- Salida = suma (entradas * pesos) + Sesgo
2- Salida = activación(Salida)

Revisa las bibliotecas
Salida = suma (entradas * pesos) + Sesgo

Codificando una capa

3 salidas de capa totalmente conectada

El producto punto:

La implementación de un producto escalar simple:

el producto punto

Ahora la capa con producto escalar:

Mismo resultado del ejemplo anterior

Ahora para facilitar las cosas usaremos Numpy

np.punto

Multicapa:

Aquí hemos aprendido cómo implementar una capa de red neuronal simple muy básica y, por supuesto, esta capa no aprenderá ni predecirá nada porque es solo un paso y una pequeña parte de toda la arquitectura de la red neuronal.

Seguiremos todos los pasos fácilmente en los próximos días.

** la mayor parte del código y las explicaciones provienen del increíble libro de redes neuronales desde cero de Harrison Kinsley y Daniel Kukiela

fuentes:

red neuronal desde cero (nnfs.io)

https://machinelearningknowledge.ai/keras-dense-layer-explained-for-beginners/

¿Que te ha parecido?

Deja un comentario