---
title: Introducción a las Redes Neuronales &#8211; El perceptrón- (Video)
url: https://jarroba.com/introduccion-a-las-redes-neuronales-el-perceptron-video/
author: Richard [Admin Jarroba]
date: 2013-09-16
modified: 2026-10-23
language: es
license: CC BY-NC-SA 3.0 (https://creativecommons.org/licenses/by-nc-sa/3.0/) — attribution: "Introducción a las Redes Neuronales &#8211; El perceptrón- (Video)", Richard [Admin Jarroba], jarroba.com
categories: Inteligencia Artificial
---

# Introducción a las Redes Neuronales &#8211; El perceptrón- (Video)

> Cómo es una neurona artificial y cómo se conectan en un perceptrón. Con las puertas lógicas AND, OR y XOR vemos cuántas neuronas hacen falta y cómo se entrena.

Las Redes de Neuronas o Redes Neuronales (en la inteligencia artificial) son un paradigma de aprendizaje y procesamiento automático, inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexiones de neuronas que colaboran entre sí para producir una salida.

 

Como bien sabemos la inteligencia artificial, pretende imitar la inteligencia natural, por tanto en este caso ***las redes neuronales pretenden imitar la "arquitectura" cerebral (neuronas+conexiones)***que dan inteligencia a las personas. Es cierto que el término inteligencia es bastante ambiguo, pero en este caso en el que hablamos de redes neuronales, consideraremos inteligencia a aquellas personas que sabiendo de un cierto tema, sean capaces de dar una respuesta a una problemática dada (cálculo, clasificación, etc); por ejemplo a poco que sepamos de animales, las personas somos capaces clasificar a un animal (dada una foto) en mamífero, ave, reptil, etc. es decir; que de alguna forma hemos aprendido la diferencia que hay entre esos animales y sabemos clasificarlos. Esto es un ejemplo de lo que puede hacer una red neuronal artificial bien entrenada (o enseñada), en la que dada una foto de un animal, sea capaz de clasificarlo. Evidentemente esta red neuronal podrá fallar de la misma forma que los humanos fallamos, pero la idea es que una red neuronal bien entrenada sea capaz de predecir de la misma forma que las personas.

 

Otra de las preguntas que nos puede surgir es como aprenden las redes de neuronas; pues bien, lo hacen de la misma forma que los humanos. Existen dos tipos de aprendizaje que son los llamados ***aprendizaje supervisado y no supervisado***. Los nombres son bastante descriptivos, por tanto sabemos que el aprendizaje supervisado lo obtenemos cuando es enseñado por un profesor, maestro, etc. y el no supervisado cuando se aprende por uno mismo.

 

En esta entrada vamos a explicar la arquitectura de una neurona artificial y la forma en la que se conectan entre ellas. También explicaremos el perceptrón y los conceptos del mismo para elegir en la medida de lo posible la mejor arquitectura de nuestra red neuronal. Todo ello estará englobado en el aprendizaje supervisado ya que el perceptrón es una arquitectura neuronal que necesita ser entrenada o enseñada.

 

Haciendo una gran abstracción del cerebro humano, decimos que el cerebro está compuesto por un conjunto de neuronas conectadas entre sí. El cerebro humano tiene entorno a 1011 neuronas y unas 1014 conexiones. Cada neurona está conectada a otras 1K-200K neuronas, por lo tanto no es de extrañar el elevado número de conexiones que hay. A modo de cultura general y para ver posteriormente la estructura de una neurona artificial, mostramos una imagen de una neurona cerebral humana y de como se conectan las neuronas entre sí:

 

[![Neurona_jarroba](https://jarroba.com/wp-content/uploads/2013/09/Neurona_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/Neurona_jarroba.png) [![conexiones_redes_neuronales_jarroba](https://jarroba.com/wp-content/uploads/2013/09/conexiones_redes_neuronales_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/conexiones_redes_neuronales_jarroba.png)

 

Cierto es que estas imágenes no nos proporcionan mucha información desde el punto de vista de la IA, pero si es interesante ver el significado de las conexiones y saber que es lo que hace cada neurona por separado. Con esta abstracción, podemos considerar que una red neuronal está formada por un número de elementos simples que son las neuronas y que cada una de estas neuronas, realiza una operación muy sencilla (resuelve una sencilla función matemática en función del valor de sus entradas) cuyo resultado será transmitido a la siguiente neurona como entrada de la misma (de ahí las conexiones). Dicho esto pasamos a mostrar una imagen de una neurona artificial:

 

[![Neurona_Red_de_neuronas_jarroba](https://jarroba.com/wp-content/uploads/2013/09/Neurona_Red_de_neuronas_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/Neurona_Red_de_neuronas_jarroba.png)

 

Como vemos una neurona artificial tiene 'n' ***entradas (e1,…,en)*** que tendrán un determinado valor numérico. También tiene lo que se denomina una ***"conexión a masa" (b0)*** que es un valor constante para cada neurona; y cada entrada tiene ***un peso que se denota como 'Wi'.***Con los valores de las entradas y de los pesos se calcula un valor que en la imagen se ha llamado entrada, (aunque se le suele denominar "neta") que es el sumatorio de cada una de las entradas por su peso. Una vez que se tiene ese valor "Entrada", se aplica una determinada función de salida, que es conocida como ***función de activación*** y que suelen ser alguna de las que mostramos a continuación:

 

[![funciones de activación](https://jarroba.com/wp-content/uploads/2013/09/funciones-de-activación.png)](https://jarroba.com/wp-content/uploads/2013/09/funciones-de-activación.png)

 

La función identidad también se le suele llamar función lineal y para la función escalón los rangos pueden variar en función de lo que se defina. Vistas las funciones de activación y la arquitectura, es bastante intuitivo ver que la salida de una neurona artificial se puede conectar como entrada de otra neurona y así construir una red neuronal que se conoce como perceptrón, que como poco tendrá una neurona de entrada conectada a otra neurona de salida.

 

A continuación vamos a ver un ejemplo de una red neuronal que nos dirá la solución a las puertas lógicas de la AND, la OR y la XOR y ver la arquitectura que necesitamos en función de las necesidades que tengamos.

 

#### Puerta AND

 

La puerta AND es aquella que devuelve un ‘0’ si alguna de sus entradas es ‘0’ y devuelve un ‘1’ si sus dos entradas son ‘1’. Lo que va a hacer nuestra red neuronal va a ser dividir en dos planos las soluciones (ver siguiente imagen). Lo que «caiga» en un lado del plano dará como salida un ‘0’ y lo que caiga al otro lado dará como salida un ‘1’.

 

[![planos_AND_redes_neuronales_jarroba](https://jarroba.com/wp-content/uploads/2013/09/planos_AND_redes_neuronales_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/planos_AND_redes_neuronales_jarroba.png)

 

Como vemos en la imagen, lo que queda por arriba de la linea verde dará como salida un ‘1’ y lo que queda por debajo de la linea verde dará como salida un ‘0’. Y ahora bien sabiendo que tenemos que trazar una linea «discriminante» para definir dos planos, ¿Cuantas neuronas necesitará nuestro perceptrón para resolver este problema?. Pues bien con dos neuronas de entrada y una neurona de salida será suficiente para resolver este problema ya que una neurona será capaz de diferenciar los dos planos. En la siguiente imagen vemos los pesos que debe de tener la neurona de salida para resolver la puerta AND:

 

[![AND_Red_de_neuronas_jarroba](https://jarroba.com/wp-content/uploads/2013/09/AND_Red_de_neuronas_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/AND_Red_de_neuronas_jarroba.png)

 

En esta imagen no se han dibujado las neuronas de entrada, ya que estas lo único que harían, sería dar como salida el mismo valor que la entrada, poniendo todos sus pesos a uno y con una conexión a masa igual a ‘0’ (b0=0).

 

Podemos hacer la prueba para ver que el resultado es correcto:

 
- ***e1=0; e2=1;*** entrada = (0·1)+(1·1)+(1·(-1,5)) = 1-1,5 = -0,5 -> **F(-0,5) = 0;** porque -0,5<0;
- ***e1=1; e2=1;*** entrada = (1·1)+(1·1)+(1·(-1,5)) = 1+1-1,5 = 0,5 -> **F(0,5) = 1**; porque 0,5>0;

 

#### Puerta OR

 

Con la puerta OR nos pasa lo mismo que con la puerta AND, que solo necesitamos "tirar una linea" para diferenciar las salidas, por tanto la arquitectura será la misma que la AND pero con pesos distintos:

 

[![OR_planos_red_neuronal_jarroba](https://jarroba.com/wp-content/uploads/2013/09/OR_planos_red_neuronal_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/OR_planos_red_neuronal_jarroba.png) [![OR_Red_de_neuronas_jarroba](https://jarroba.com/wp-content/uploads/2013/09/OR_Red_de_neuronas_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/OR_Red_de_neuronas_jarroba.png)

 
- ***e1=0; e2=0;***entrada = (0·0)+(0·0)+(1·(-0,5)) = -0,5 -> **F(-0,5) = 0**; porque -0,5<0;
- ***e1=1; e2=0;*** entrada = (1·1)+(0·1)+(1·(-0,5)) = 1+0-0,5 = 0,5 -> **F(0,5) = 1;** porque 0,5>0;

 

#### Puerta XOR

 

Un ejemplo algo más complejo es el de la puerta XOR ya que necesita dos hiperplanos para diferenciar las salidas:

 

[![XOR_planos_red_neuronal_jarroba](https://jarroba.com/wp-content/uploads/2013/09/XOR_planos_red_neuronal_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/XOR_planos_red_neuronal_jarroba.png)

 

Esto significa que con una sola neurona no vamos a poder encontrar solución al problema, por tanto al haber dos hiperplanos vamos a necesitar un perceptrón con dos neuronas en la capa oculta; por tanto la arquitectura de este perceptrón será de dos neuronas en la capa de entrada, dos neuronas en la capa oculta y una neurona en la capa de salida. Al fin y al cabo solo hay que ver cuantas neuronas necesitaremos en la capa oculta ya que el número de neuronas en la capa de entrada y de salida, vienen determinadas por el número de entradas y de salidas que tenga nuestro problema. A continuación mostramos la red neuronal que resuelve el problema de la XOR:

 

[![XOR_Red_de_neuronas_jarroba](https://jarroba.com/wp-content/uploads/2013/09/XOR_Red_de_neuronas_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/XOR_Red_de_neuronas_jarroba.png)

 

En esta arquitectura, podemos ver que las neuronas de entrada van a tener como salida el mismo valor que su entrada al ser su función de activación una función lineal. A continuación hacemos un seguimiento de como se obtienen las salidas en función de sus entradas:

  

**e1=0; e2=0;**

 

entrada Neurona3 = (e1·w11)+(e2·w21)+(b30·w30) = (0·1)+(0·1)+(1·(-0,5)) = -0,5 -> F3(-0,5) = 0;

 

entrada Neurona4 = (e1·w12)+(e2·w22)+(b40·w40) = (0·1)+(0·1)+(1·(-1,5)) = -1,5 -> F4(-1,5) = 0;

 

Salida-> entrada Neurona5 = (F3·w31)+(F4·w41)+(b05·W05) = (0·1)+(0·(-1))+(1·(-0,5)) = -0,5 -> **F5(-0,5)=0**

  

**e1=0; e2=1;**

 

entrada Neurona3 = (e1·w11)+(e2·w21)+(b30·w30) = (0·1)+(1·1)+(1·(-0,5)) = 0,5 -> F3(0,5) = 1;

 

entrada Neurona4 = (e1·w12)+(e2·w22)+(b40·w40) = (0·1)+(1·1)+(1·(-1,5)) = -0,5 -> F4(-0,5) = 0;

 

Salida-> entrada Neurona5 = (F3·w31)+(F4·w41)+(b05·W05) = (1·1)+(0·(-1))+(1·(-0,5)) = 0,5 -> **F5(0,5)=1**

  

**e1=1; e2=0;**

 

entrada Neurona3 = (e1·w11)+(e2·w21)+(b30·w30) = (1·1)+(0·1)+(1·(-0,5)) = 0,5 -> F3(0,5) = 1;

 

entrada Neurona4 = (e1·w12)+(e2·w22)+(b40·w40) = (1·1)+(0·1)+(1·(-1,5)) = -0,5 -> F4(-0,5) = 0;

 

Salida-> entrada Neurona5 = (F3·w31)+(F4·w41)+(b05·W05) = (1·1)+(0·(-1))+(1·(-0,5)) = 0,5 -> **F5(0,5)=1**

  

**e1=1; e2=1;**

 

entrada Neurona3 = (e1·w11)+(e2·w21)+(b30·w30) = (1·1)+(1·1)+(1·(-0,5)) = 1,5 -> F3(1,5) = 1;

 

entrada Neurona4 = (e1·w12)+(e2·w22)+(b40·w40) = (1·1)+(1·1)+(1·(-1,5)) = 0,5 -> F4(0,5) = 1;

 

Salida-> entrada Neurona5 = (F3·w31)+(F4·w41)+(b05·W05) = (1·1)+(1·(-1))+(1·(-0,5)) = -0,5 -> **F5(-0,5)=0**

 

De esta forma vemos como resolver un problema utilizando un perceptrón con una capa oculta y como se resuelven este tipo de problemas utilizando redes neuronales. Este último ejemplo, es un ejemplo muy sencillo pero muy didáctico y visto esto podemos decir que para aprendernos la puerta XOR solo necesitamos 5 de nuestras 1011 neuronas del cerebros 😉 así que nos sobran otras muchas para otras cosas.

 

A continuación se va a mostrar una herramienta llamada Neuroph Studio que permite trabajar con redes neuronales de forma muy sencilla. Se va a mostrar este mismo ejemplo de la XOR (utilizando otra función de activación) para que se vea como se entrenan las redes neuronales. Esta herramienta permite hacer cosas mucho más complejas que una red neuronal para resolver el problema de la XOR, pero con este ejemplo podéis ir cogiendo soltura para futuros trabajos:

 

 

Arquitectura de la red neuronal con sus pesos:

 

[![XOR_NeuropStudio_0_0_jarroba](https://jarroba.com/wp-content/uploads/2013/09/XOR_NeuropStudio_0_0_jarroba.png)](https://jarroba.com/wp-content/uploads/2013/09/XOR_NeuropStudio_0_0_jarroba.png)

 

#### Conclusiones:

 

Las redes neuronales son un área muy chula de la inteligencia artificial ya que pretende ni más ni menos que imitar el comportamiento del cerebro humano. Al fin y al cabo lo que hacemos cuando nos creamos una red neuronal y la entrenamos, es crearnos un modelo que nos da una respuesta en función de la entrada que le demos. Si creamos con una red neuronal un modelo que nunca va a cambiar (por ejemplo un clasificador de animales) las redes neuronales son una buena solución, pero si por el contrario creamos un modelo que es cambiante a lo largo del tiempo (por ejemplo que prediga el comportamiento de la bolsa o que prediga el resultado de un partido de fútbol), las redes neuronales son una muy mala elección porque habría que estar siempre actualizando los modelos (entrenándolos) y muy probablemente habría que modificar la arquitectura de la red neuronal y volverla a entrenar.

 

Aunque en esta entrada se haya mostrado el funcionamiento de las redes neuronales y explicado sus conceptos, se ha de decir que existen mejores técnicas (como las del Machine Learning) que hacen lo mismo que las redes neuronales, por tanto es bueno que se sepa el funcionamiento de las redes neuronales para asentar conceptos, pero hay que decir que el perceptrón está ya algo anticuado.

 

No se puede decir lo mismo para las redes de Kohonen (o mapas autoorganizados) que si que son una muy buena solución cuando se tiene que aplicar aprendizaje no supervisado, aunque estas redes presentan una arquitectura distinta a la explicada en esta entrada.

 

En resumen, enteraos de como funcionan las redes neuronales (y gastar algunas neuronas en ello que tenemos muchas 😉 ), pero aconsejo aprender técnicas de Machine Learning para resolver este tipo de problemas, que son técnicas mejores que estas.

 

## Bibliografía

 

Parte de la información mostrada en esta entrada ha sido obtenida de las clases de la asignatura de "Redes de Neuronas y Aplicaciones" impartida en el Master de "Ciencias y Tecnologías de la Computación" en la Escuela Universitaria de Informática de la UPM por los profesores Antonio Hernando y Soledad Delgado.
