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

Capacidad de representación en perceptrones multicapa

Fernando P.    08/11/2017

Temas:  Fundamentos

A la hora de construir un clasificador, los perceptrones son un buen mecanismo para construir funciones que son capaces de establecer separaciones lineales en el espacio de casos de entrada.

Los perceptrones multicapa son una extensión natural que nos permiten delimitar clases más elaboradas que simples separaciones lineales, pero

¿ Existen límites a la capacidad de representación de un perceptrón multicapa ?

Capacidad de representación de un perceptrón
Como ya hemos visto, cada neurona artificial de un perceptrón define una separación lineal en el espacio de casos de entrada.

Podemos construir un perceptrón que tenga varias neuronas, definiendo cada una de ellas una separación lineal distinta, de forma que, en conjunto, el perceptrón sea capaz de clasificar casos en base a si pertenecen o no a la intersección de todas esas separaciones lineales.

Por ejemplo, en un caso muy sencillo en el que tengamos 3 neuronas, podemos entrenarlas para que definan 3 hiperplanos (separaciones lineales del espacio de casos de entrada) de forma que la intersección de semiespacios definidos por esos hiperplanos resulte en un triángulo. Con 4 neuronas podríamos definir un rectángulo y así sucesivamente.

Si tenemos suficiente neuronas, vamos a poder delimitar figuras bastante complejas, con muchas aristas. En teoría se pueden aproximar formas curvas con las suficientes aristas, igual que se construyen los gráficos de computador a base de pixels cuadrados.

En general, con un perceptrón vamos a poder delimitar una figura convexa (no necesariamente finita) en el espacio de casos de entrada, y el poder de clasificación de nuestro perceptrón se va a limitar a discriminar lo que sí está en la figura de lo que no está.

Una segunda capa de neuronas Capacidad de representación de perceptrones multicapa
Cuando extendemos un perceptrón con otra capa de neuronas y sus correspondientes funciones de activación, creando un perceptrón multicapa, lo que estamos haciendo en realidad es aplicar otro perceptrón simple a la salida del perceptrón original.

Pero la salida del perceptrón original es un espacio de casos distinto al espacio que teníamos originalmente. Las coordenadas del nuevo espacio significan pertenencia o no a uno de los semiespacios que delimitan las neuronas de la primera capa.

Naturalmente, la segunda capa de neuronas opera también definiendo separaciones lineales. Pero estas separaciones lineales resultan en agrupaciones de hiperplanos definidos por la primera capa, es decir, resultan en regiones convexas.

Cada neurona de la segunda capa es capaz de determinar si un caso de entrada del espacio original está o no en una región convexa delimitada por hiperplanos definidos en las neuronas de la primera capa.

Si en la segunda capa tenemos varias neuronas, cada una representará una región convexa del espacio original y la salida de la red podrá consistir en una combinación de pertenencia o no a cada una de esas regiones convexas.

Conjuntos abiertos y cerrados
A partir de las ideas vistas en el punto anterior, no es difícil darse cuenta de que un perceptrón de tan sólo dos capas puede representar cualquier conjunto abierto o cerrado del espacio de casos de entrada, a base de aproximarlos usando conjuntos convexos y a base de aproximar cada uno de estos usando hiperplanos.

Esto es un resultado muy interesante porque, en la práctica, es todo lo que vamos a necesitar. Un perceptrón multicapa no va a poder representar nunca un subconjunto denso en el espacio de casos de entrada (por ejemplo, números racionales en el espacio de números reales), pero este tipo de problemas no se corresponden con el tipo de problemas reales que deseamos resolver en Inteligencia Artificial.

Funciones contínuas
En el caso más sencillo de un perceptrón, usamos funciones de activación de tipo salto, que nos sirven para establecer separaciones lineales en dos semiespacios. Pero si usamos funciones de activación contínuas del tipo de la función logística lo que tenemos es que el perceptrón se transforma en una función contínua desde el espacio de casos de entrada al espacio de clases de salida.

Cuando un perceptrón actúa como una función contínua no existen separaciones entre semiespacios o entre regiones convexas tan claras como si se usaran funciones de activación de tipo salto. Lo que tenemos es que el perceptrón convierte conjuntos abiertos desde la entrada a otros abiertos en la salida.

Por ejemplo, con una función salto, un semiespacio podría corresponder a una salida de 1 y el semiespacio complementario correspondería a la salida 0. En el caso contínuo, el primer semiespacio podría corresponder al intervalo  (1/2 , 1)  y el otro subespacio al intervalo  (0, 1/2)

Aproximación universal
En 1987, Hecht-Nielsen usó un resultado de Kolmogorov de 1957 para probar que un perceptrón de dos capas puede aproximar de forma exacta cualquier función contínua  f : nm

Este resultado era un poco problemático porque exigía funciones de activación muy difíciles de implementar en la práctica. Pero refinamientos posteriores han probado que el resultado se mantiene usando funciones de activación del tipo logística, que es el tipo que nos interesa más.

Yendo más lejos, con una elección adecuada de las funciones de activación se han construído perceptrones que emulan una transformación de Fourier y por esta vía son capaces de aproximar una clase muy amplia de funciones.

Estos resultados no sorprenden a la vista de las consideraciones anteriores. Porque, en el caso de usar funciones de activación contínuas, un perceptrón puede entrenarse para convertir determinados conjuntos abiertos del espacio de entrada en otros específicos del espacio de salida, y eso es equivalente a afirmar que puede aproximar cualquier función contínua.

Con funciones contínuas se puede aproximar bien funciones que son discontínuas salvo un número finito de puntos, que son las que nos pueden aparecer en la práctica. Así que el resultado de aproximación universal viene a decirnos que vamos a poder resolver cualquier problema de clasificación que seamos capaz de codificar como una función contínua (o casi contínua)  f : nm

Número de capas en la práctica
Aunque la teoría dice que dos capas son suficientes, una cosa es que sea posible hacerlo teóricamente y otra muy distinta que sea realizable y conveniente a nivel práctico.

Cada capa de neuronas funciona ejecutando una abstracción sencilla a un nivel superior. En algunos problemas puede que nos interese una modelización con muchos niveles de abstracción simples a tener sólo dos niveles que no vamos a entender. Entonces necesitaremos más de dos capas de neuronas.

En general, no hay guías sobre cómo diseñar o dimensionar nuestra red, seguramente serán necesarias muchas pruebas hasta dar con la forma que funciona mejor. Al menos sabemos que, en teoría, con la suficiente complejidad en la red vamos a poder atacar casi cualquier problema de clasificación que se nos presente.



Los perceptrones multicapa son redes neuronales artificiales muy potentes y muy flexibles que, en teoría, pueden entrenarse para aproximar funciones de clasificación en la mayor parte de situaciones prácticas.



Para saber más:

Libro de Russell Reed y Robert J Marks dedicado a redes neuronales artificiales orientadas hacia adelante. El capítulo 4 tiene una discusión detallada de la capacidad de representación de un perceptrón multicapa. También contiene las referencias a los trabajos originales con las demostraciones para la aproximación universal.



 

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