¿Qué es una red neuronal? 🤖

Publicado el 30.04.2023 a las 22:34

¿Qué es una red neuronal? 🤖

  1. ¿Qué es una red neuronal artificial?

    • ¿Cuál es el objetivo de una red neuronal artificial?

  2. ¿Cómo funciona nuestro cerebro?

  3. Profundizando en ¿qué es una red neuronal artificial?

    • ¿Qué es una neurona artificial?

    • ¿Qué son los pesos de las conexiones sinápticas?

    • ¿Qué es la suma ponderada en una neurona artificial?

    • ¿Qué es la función de activación en una neurona artificial?

    • ¿Cómo se calcula la salida de una neurona artificial?

  4. ¿Cómo se usa una red neuronal artificial?

  5. Resumen y conclusiones

Logo de fjmduran

¿Qué es una red neuronal? 🤖

La inteligencia artificial está de moda.


Es raro que alguien no haya escuchado nada al respecto y es tema de conversación en casi todos los foros.


En este artículo te quiero contar brevemente y de forma muy simple qué es una red neuronal artificial, el que quizás sea el mayor pilar en el que se basan estas inteligencias artificiales.


Dejaré atrás temas como los tipos de funciones de activación y su detalle porque se escapan de mi propósito para este artículo.

¿Qué es una red neuronal artificial?

Una red neuronal artificial es un modelo computacional inspirado en el funcionamiento de nuestro cerebro 🧠

¿Cuál es el objetivo de una red neuronal artificial?

El objetivo de las redes neuronales artificiales es el reconocimiento de patrones.


Una red neuronal bien entrenada puede ser capaz de realizar tareas de clasificación, predicción y otras tareas complejas con alta precisión.


Te pongo un ejemplo, nosotros podríamos con unos cuantos if programar un algoritmo para que una computadora sea capaz entre diferenciar entre un camión y una moto.


Pero... ¿cómo harías para enseñar a la computadora a diferenciar entre una magdalena con arándanos (muffin) y un perro en la siguiente imagen?

Representación de una red neuronal biológica

De la misma forma, se usan las redes neuronales artificiales para la identificación facial, reconocimiento de voz, lectura de matrículas, reconocomiento de letra manuscrita...


Entiendo que hasta ahora te haya despejado pocas dudas, pero antes de continuar te voy a contar brevemente cómo funciona nuestro cerebro.

¿Cómo funciona nuestro cerebro?

Nuestro cerebro aloja unas células especializadas del sistema nervioso que se encargan de transmitir y procesar información.


Estas células son las neuronas.


Simplificando, las neuronas están compuestas por un núcleo y una serie de prolongaciones llamadas dendritas y axones que usan para comunicarse con las neuronas cercanas.


Cuando una neurona recibe información a través de sus dendritas, se procesa en el núcleo y, si es suficientemente fuerte, desencadena una señal eléctrica que se propaga a lo largo del axón de la neurona, que se ramifica en múltiples terminales al final de la misma.


En estos terminales, la neurona libera sustancias químicas llamadas neurotransmisores, que se unen a receptores en las dendritas de otras neuronas y activan o inhiben su actividad eléctrica excitando o no a las neuronas cercanas.


Así es como las neuronas se comunican entre sí y forman redes neuronales complejas.


Las redes neuronales estarán compuestas por 3 capas, la capa de entrada de información, la capa oculta y la capa de salida.

  • La capa de entrada de información a nuestro cerebro son nuestros sentidos.
  • La capa oculta son todas las capas y neuronas intermedias que han participado en la elaboración de la respuesta.
  • La capa de salida son las consecuencias del proceso de la información sensorial y será el control y coordinación de nuestros movimientos y las funciones de nuestro cuerpo.

Se podría representar gráficamente así:

Representación de una red neuronal biológica

Profundizando en ¿qué es una red neuronal artificial?

Como te he dicho anteriormente, la red neuronal artificial es un modelo computacional inspirado en el funcionamiento de nuestro cerebro.


Una representación de una red neuronal artificial podría ser:

Representación de una red neuronal artificial

Esto te parecerá muy bonito, pero... ¿cómo se activan las neuronas de la capa oculta para poder llegar a una salida determinada?


Te cuento antes qué es una neural artificial.

¿Qué es una neurona artificial?

Una neurona artificial es una unidad de procesamiento básica en una red neuronal artificial.


Está diseñada para imitar el comportamiento de las neuronas biológicas del cerebro humano, y se utiliza para procesar y transmitir información en una red neuronal.


Al igual que una neurona biológica, una neurona artificial recibe entradas (en forma de señales o valores numéricos) a través de conexiones llamadas sinapsis, que están asociadas con pesos numéricos.


La neurona realiza un cálculo a partir de estas entradas y los pesos de las conexiones sinápticas, y produce una salida que se transmite a otras neuronas en la red.


Una representación gráfica podría ser:

Representación de una neurona artificial

Vamos a explicar un poco qué son cada una de las partes de una neurona artificial.

¿Qué son los pesos de las conexiones sinápticas?

Los pesos de las conexiones sinápticas son valores numéricos asociados a cada una de las conexiones entre neuronas en una red neuronal artificial.


Los pesos de las conexiones sinápticas son fundamentales para el funcionamiento de una red neuronal artificial.

Controlan la forma en que las entradas se combinan y procesan en la red, y determinan cómo la información se propaga a través de la red


Durante el entrenamiento de una red neuronal artificial, los pesos de las conexiones sinápticas se ajustan para minimizar el error entre las predicciones de la red y las salidas deseadas.

¿Qué es la suma ponderada en una neurona?

La suma ponderada es el primer paso del cálculo que realiza una neurona artificial.


En esta operación, se multiplica cada entrada recibida en la neurona por un peso numérico asociado a la conexión sináptica correspondiente, y luego se suman los resultados de estas multiplicaciones.


Matemáticamente, la suma ponderada de una neurona se expresa:


s = w1x1 + w2x2 + ... + wn*xn


donde s es la suma ponderada resultante, w son los pesos asociados a cada entrada x en la neurona, y n es el número total de entradas.


La suma ponderada permite que la neurona tenga un comportamiento adaptativo, ya que los pesos asociados a cada entrada pueden ser ajustados durante el entrenamiento para controlar la influencia que cada entrada tiene en la salida de la neurona.


De esta manera, la neurona puede aprender a enfatizar o ignorar ciertas características de las entradas en función de su relevancia para la tarea que se está realizando.

¿Qué es la función de activación en una neurona artificial?

La función de activación es una función matemática que se aplica a la salida de la suma ponderada de una neurona artificial en una red neuronal.


Su propósito es introducir no linealidades en la red neuronal y permitir que la neurona tenga comportamientos no triviales.


La salida de la función de activación es típicamente una función no lineal de la suma ponderada, lo que significa que la relación entre la entrada y la salida no es una simple proporción.


La función de activación debe ser no lineal, como ya hemos dicho para que la neurona pueda tener comportamientos no triviales, pero también debe ser diferenciable para que la red neuronal pueda ser entrenada mediante algoritmos de aprendizaje automático basados en el cálculo del gradiente.


La elección de la función de activación adecuada es importante para el diseño y entrenamiento de una red neuronal.

¿Cómo se calcula la salida de una neurona artificial?

La salida de la neurona se obtiene a partir de la suma ponderada y la función de activación.


La salida de la neurona se puede expresar como y = f(s)


donde y es la salida de la neurona, s es la suma ponderada de las entradas de la neurona y f es la función de activación.

¿Cómo se usa una red neuronal artificial?

Ya existen redes neuronales preparadas para que las consumamos directamente, exiten de varios tipos, convolucionales... pero se escapan del proposito de este artículo.


Existen diversas librerías para implementar redes neuronales artificiales (Numpy, Matplotlib...), yo he "jugado" con TensorFlow.


Básicamente lo que haces al trabajar con redes neuronales es:

  1. Definir qué es lo que quieres detectar mediante unos parámetros.
  2. Entrenar la red neuronal para que se autoconfigure (calcule los pesos...). Básicamente es alimentar la red neuronal con muchíiiiiisimo casos conociendo la solución, diciéndole qué es lo que queremos encontrar y qué no.

    En este punto es importante que los casos sean numerosos y lo más parecido a la realidad.

Una vez finalizado el entrenamiento, si hemos elegido unos buenos parámetros, los hemos clasificado bien y los hemos entrenado de forma correcta tendrá una tasa de reconocimiento de patrones muy alta ✅

Resumen y conclusiones

Una red neuronal artificial no es mas que una herramienta que tenemos para poder tomar decisiones basadas en la experiencia de la misma forma que lo hacemos los seres humanos.


Hasta luego 🖖