¿Cómo se crea una red neuronal?

Esta presentación presenta a los piratas informáticos los fundamentos de las redes neuronales a través de un caso de estudio que, con solo 10 líneas de código Python, crea y entrena una red neuronal que reconoce dígitos escritos a mano. Para ello utilizaremos la API de TensorFlow Keras, la biblioteca más popular en este momento en la comunidad de Deep Learning. Se propone ir en paralelo poniendo en práctica todo lo explicado en el video usando Google Colab. Al final hay una «pista adicional» que presenta la versión de Pytorch.

Esta presentación se realizó en el HACKATHON ONLINE DE HACKERS@UPC el 4 de abril de 2020.

El entrenamiento de una red neuronal consiste en ajustar cada uno de los pesos de entrada de todos las neuronas que forman parte de la red neuronal, para que las respuestas de la capa de salida se ajusten lo más posible a los datos que conocemos.

En la siguiente animación podemos ver un ejemplo muy simplificado del proceso de entrenamiento de una red para detectar, en este caso, un gato en una imagen. El grosor de cada flecha representa el peso que tiene la entrada en la red neuronal. Como podemos ver, a medida que se ajustan los pesos, el error disminuye.

Programemos una red neuronal artificial en Python, sin usar bibliotecas de terceros. ¡Entrenemos el modelo y en unas pocas líneas el algoritmo podrá conducir un automóvil robot por sí mismo!

Para esto, explicaremos brevemente la arquitectura de la red neuronal, explicaremos el concepto de Forward Propagation y luego Backpropagation donde sucede “la magia” y las neuronas aprenden.

¿Qué es una red neuronal?

Las redes neuronales, más concretamente las redes neuronales artificiales (ANN – Artificial Neural Network), imitan al cerebro humano a través de un conjunto de algoritmos. En un nivel muy básico, una neurona, de una red neuronal, consta de cuatro componentes principales: entradas, pesos, un sesgo y una salida.

Deep Learning se llama simplemente cuando una red neuronal tiene más de tres capas.

La neurona artificial

Las neuronas artificiales se modelan de tal manera que imitan el comportamiento de una neurona cerebral. Tendrán algunas ramas y un núcleo o nodo. Habrá ramas de entrada al nodo, que serán las entradas de la neurona desde otras neuronas. Esta información será procesada en un nodo y se generará información de salida que será transmitida por las ramas de salida a otras neuronas. Podemos pensar en las conexiones entre las neuronas artificiales como las sinapsis de las neuronas en el cerebro. La imagen de una neurona artificial típica es la siguiente.

Neurona artificial

7 comentarios en «¿Cómo se crea una red neuronal?»

  1. ¡Interesante cómo se entrena un modelo para conducir un auto robot! ¿Alguien más lo intentaría?

  2. ¡Increíble ver cómo se programa una red neuronal desde cero! ¿Alguien más sorprendido? 🤯

    • ¡No tanto! Programar una red neuronal desde cero es un desafío, pero con dedicación y estudio se puede lograr. ¡Ánimo a todos los que se aventuren en este mundo de la inteligencia artificial! 💪🏼🧠

  3. ¡Interesante tema! ¿Pero no sería más fácil usar bibliotecas para simplificar el proceso?

    • ¡Claro que sí, pero dónde está la emoción en simplificar las cosas? La magia está en el desafío y en el aprendizaje que conlleva enfrentarse a nuevos retos. A veces, complicarse un poco la vida puede ser bastante divertido. ¡Atrévete a explorar nuevas formas de hacer las cosas! 😉🚀

  4. ¡Interesante propuesta! ¿Pero realmente es viable crear una red neuronal sin bibliotecas de terceros? 🤔

    • ¡Claro que es posible! No necesitas depender de bibliotecas de terceros para crear una red neuronal. ¡La programación desde cero permite un mayor control y comprensión del proceso! ¡Anímate a probarlo y descubrirás todo lo que puedes lograr por ti mismo! 💪👨‍💻

Los comentarios están cerrados.