Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Perceptrones: las redes neuronales artificiales más sencillas

Fernando P.    26/09/2017

Temas:  Fundamentos

En la introducción a las redes neuronales artificiales ya comentábamos que hay muchas posibles variaciones estructurales sobre la idea base de lo que viene a ser una red neuronal artificial, algunas muy simples y otras de enorme complejidad.

En este artículo vamos a hablar sobre los perceptrones, que son las redes neuronales artificiales más sencillas y fueron las primeras en desarrollarse.

Redes neuronales artificiales y neuronas artificiales
El concepto de neurona artificial es clave dentro de las redes neuronales artificiales. Hay algunas posibles variaciones en la idea base de lo que viene a ser una neurona artificial, pero mucho menos de lo que podría suponerse. Se trata de un concepto bastante preciso.

Usando una definición amplia, una red neuronal artificial es una colección de neuronas artificiales conectadas entre sí, de forma que las salidas de unas son entradas de otras y no quedan salidas o entradas sin conectar, ya sea a neuronas o capas de entrada/salida.

Desde este punto de vista, podemos empezar a construir redes neuronales artificiales desde las más pequeñas posibles para poder ir complicando la estructura progresivamente.

¿ Cual es la red neuronal artificial más sencilla ?

Una sola neurona artificial puede funcionar como un clasificador muy sencillo, como ya mostramos en los artículos en los que construíamos un clasificador sencillo para datos de clientes de una empresa. Podemos considerar a una sola neurona artificial como el caso más sencillo de red neuronal artificial.

Perceptrones
Una única neurona artificial funciona como un clasificador  f : n.  Podemos generalizar esta idea de forma que usemos  m  neuronas artificiales conectadas a la misma entrada y entonces tendremos una salida en  m.  Es decir, con  m  neuronas artificiales podemos construir un clasificador de la forma  f : nm
Perceptron
En estas condiciones, definimos Perceptrón como una red neuronal artificial que tiene una única capa de procesamiento (además de capas de entrada y salida) en la cual existe un número  m ≥ 1  de neuronas artificiales.

En el ejemplo de clasificador sencillo ya usábamos el término Perceptrón para referirnos a la estructura que habíamos definido.

La arquitectura general de un Perceptrón se representa en el esquema adjunto, donde  X1Xn  son las entradas a la red e  Y1Ym  son las salidas.

Los primeros perceptrones datan de la década de los 40 en el siglo XX, es una idea bastante antigua, por lo sencilla que es. Durante los años 50 y 60 del pasado siglo fueron un concepto bastante popular en el ámbito de la Inteligencia Artificial.

Un Perceptrón en forma matemática
A continuación, vamos a definir de forma precisa qué es un Perceptrón usando la terminología ya vista para la construcción de clasificadores, que es la principal aplicación de los perceptrones.

Sea  X n  el conjunto de casos de entrada dado
y sea  C ⊂ {0,1}m  el conjunto de clases de salida que tenemos, que está codificado en base 2, por lo que tenemos a lo sumo  2m  clases

Sea  A = ( aij )  i=1…n, j=1…m  una matriz real

La matriz  A  está formada por las columnas  ( aj )  j=1…m,   que contienen los  n  pesos (uno por cada entrada) de cada una de las  m  neuronas artificiales

Sea también  x = ( x1…xn ) ∈ X  un caso de entrada

Y, por último, sea  t : m→{0,1}m  la función de activación, que devuelve  0  ó  1  en cada coordenada de entrada según sea negativa o no negativa, respectivamente

En estas condiciones, un Perceptrón con  m  neuronas es una función  f : XC  tal que

f(x) = t(xA) = ( y1…yn ) ∈ C

La función de activación  t  es la función de la activación más sencilla que podemos considerar y se adapta bien para la construcción de clasificadores sencillos, como en el ejemplo que hicimos. Pero se pueden considerar funciones de activación más complejas, contínuas incluso, que tampoco está claro que puedan potenciar mucho las capacidades de un Perceptrón.

Por último, conviene considerar una restricción sobre las columnas de la matriz  A,  que consiste en que sumen un valor constante. Es decir,  a1j +…+ anj = k   j=1…m

Esta restricción no resta ninguna capacidad al Perceptrón porque cada una de las neuronas del Perceptrón viene a definir una separación lineal dada por un hiperplano y esta restricción impone norma constante a los vectores directores de esos hiperplanos. Con esta restricción se facilita mucho calcular los pesos a la hora de entrenar el Perceptrón.

Capacidad de un Perceptrón
Ya vimos en el ejemplo de Perceptrón que nuestro clasificador sólo iba a ser capaz de separar clases de clientes que fueran separables linealmente. Efectivamente, cada neurona artificial es capaz, a lo sumo, de crear un perceptrón que defina una separación lineal en el espacio de casos de entrada.

Si agrupamos  m  neuronas en un Perceptrón más grande, podemos llegar a definir una región convexa en el espacio de casos de entrada que sea la intersección de cada una de las separaciones lineales definidas por sus neuronas individuales.
Ejemplo clasificador clientes con región convexa
Si en el ejemplo de Perceptrón tuvieramos una clasificación de clientes tal que no nos bastara con una simple separación lineal y necesitáramos definir la clasificación en base a una región convexa más compleja, lo podríamos resolver con un Perceptrón que tuviera varias neuronas.

En el gráfico adjunto se muestra un ejemplo de una clasificación de clientes en una región convexa que requeriría de al menos 3 neuronas. En este caso, en el que tenemos sólo dos categorías a clasificar, tendríamos que establecer el convenio de que una salida  {0,0,0}  corresponde a un cliente malo y el resto de salidas corresponden a clientes buenos.

Incluso con funciones de activación más complejas, los perceptrones están limitados a poder clasificar clases representadas por regiones convexas en el conjunto de casos de entrada.

Los perceptrones se pueden entrenar con aprendizaje supervisado como ya hicimos en el ejemplo de Perceptrón.



A pesar de su sencillez, los perceptrones pueden definir clasificadores de cierta utilidad en aplicaciones sencillas y son de gran interés histórico. Por otra parte, los modelos más complejos de redes neuronales artificiales se concibieron como mejoras de los perceptrones.



Para saber más:

Página de la Wikipedia que trata sobre los perceptrones, con alguna idea adicional sobre lo expuesto aquí.

La separabilidad lineal es la clave para entender lo que puede llegar a definir un Perceptrón y se define a partir del concepto de hiperplano, que se trata en esta página de la Wikipedia.

Los perceptrones están limitados a poder clasificar en base a regiones convexas del espacio de entrada. En esta página de la Wikipedia se trata el concepto de convexidad.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto