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

El problema de la sobreparametrización

Fernando P.    22/12/2017

Temas:  Fundamentos

La clasificación es una de las cuestiones centrales en Inteligencia Artificial. Construir clasificadores es algo más complicado que un simple proceso de modelización, que son técnicas bien conocidas en Matemáticas.

Existen diferencias importantes entre el concepto de modelización y el de clasificación. Ya hemos tratado sobre ello. Pero también hay cuestiones que podemos considerar comunes a ambas formas de resolver problemas, una de ellas es el problema de la sobreparametrización, una cuestión muy importante que vamos a tratar en este artículo con idea de tenerlo en cuenta a la hora de diseñar una red neuronal artificial (RNA en lo sucesivo).

Parámetros y modelización
En la modelización clásica, tenemos unos datos de entrada, otros datos de salida y escogemos una familia de funciones que, creemos, puede servirnos para localizar una función concreta que se ajuste bien a los datos que tenemos. Es decir, una función que para cada dato de entrada proporciona el dato de salida correspondiente (o algo que se parece mucho).

La ventaja de la modelización es que puede ayudar a explicar fenómenos subyacentes. Por ejemplo, si medimos distancias y tiempos recorridos en un objeto que cae líbremente para buscar una función que relacione ambos, no es difícil ver que un polinomio de segundo grado funciona perfectamente y de este podemos inferir que el objeto se mueve de forma acelerada, porque está sometido a una aceleración constante (generada por la gravedad).

Cuando tratamos de modelizar cualquier proceso o fenómeno, tenemos que decidir qué familia de funciones nos interesa. Esta familia dependerá de un conjunto de parámetros (finito) que son los que, una vez fijados, nos proporcionarán una función concreta.

Por ejemplo, si decidimos que nuestro problema se puede resolver con un polinomio de grado 3 tenemos 4 parámetros, que corresponden a los valores de los coeficientes del polinomio. Variando estos 4 parámetros podemos obtener cualquier polinomio de grado 3. Si es cierto que nuestro problema se puede modelizar mediante un polinomio de grado 3, el trabajo de modelización se reduce a encontrar el valor de esos 4 parámetros que nos proporciona un polinomio que se ajuste a nuestros datos.

Sobreparametrización y modelización Problema de sobreparametrización
El problema de la sobreparametrización puede aparecer fácilmente en el contexto de la modelización. Se produce cuando elegimos una familia de funciones que es capaz de representar cosas más complicadas que los datos que tenemos nosotros.

Por ejemplo, puede suceder que tengamos unos datos que podamos representar de forma gráfica y que, más o menos, sugieran una curva de forma suave, como podría ser una parábola o un polinomio algo más complejo. Probáblemente, haríamos un buen trabajo si buscamos un sencillo para ajustar a estos datos que sugieren una curva suave.

Pero también podríamos probar con una técnica de interpolación, que consiste en localizar un polinomio de grado arbitrario que represente con absoluta precisión todos nuestros datos.

Supongamos que tenemos 25 pares de datos, con la interpolación nos resultaría un polinomio de grado 24 para modelizar algo que seguramente hubiera quedado bien con uno de grado 2 o 3. Afdemás, con el polinomio sencillo tendríamos alguna posibilidad de hacer alguna hipótesis sobre el fenómeno subyacente a los datos.

En la figura adjunta se representa esta situación. En este caso, la sobreparametrización consiste en usar un polinomio de grado 24 para representar de forma exacta algo que puede representarse al 95% de exactidud con un polinomio de grado 2 o 3, muchísimo más sencillo.

Siguiendo con el ejemplo, el polinomio sencillo puede usarse para interpretar lo que sucede y para hacer predicciones. Es una excelente generalización sobre lo que estamos observando. Hay que tener en cuenta que nuestros datos tendrán algunos errores y no podemos esperar que el modelo resultante se ajuste al 100%. Sin embargo el polinomio de grado 24 no generaliza nada, sólo describe algo que ya sabemos, con errores incluidos.

Parámetros y clasificación
Cuando comparábamos la clasificacion frente a la modelizacion, hablábamos de la clasificación como un paso más allá de la modelización, en el sentido de que no tenemos a priori ninguna familia de funciones en la que buscar.

No tenemos a priori familia de funciones porque se trata de problemas mucho más complejos y las funciones analíticas habituales en modelización tienen límites en cuanto a lo que pueden representar. Pero también porque esa complejidad impide que se puedan formular hipótesis sencillas (que podamos traducir a funciones) sobre los fenómenos subyacentes del problema que nos ocupa.

El proceso de construir un clasificador puede asimilarse al proceso de crear una escultura a partir de un bloque de piedra en bruto en el sentido de que no se construye nada, sólo se va modificando el bloque inicial hasta que quede en la forma que necesitamos. Algo de esto ya lo comentábamos cuando hablábamos de la plasticidad de las RNA.

Esto no significa que no tengamos parámetros que calcular cuando construimos un clasificador, sí que los vamos a tener, aunque no tan fácimente identificables/interpretables como en el caso de la modelización. Realmente, si miramos la modelización y la clasificación como un proceso de búsqueda de una determinada función, no hay mucha diferencia entre ambos procesos, aunque los métodos y los problemas a los que se aplican sean diferentes.

La sobreparametrización es un problema igualmente grave en el caso de la clasificación. Si construimos un clasificador demasiado complicado no estamos resolviendo el problema, aunque clasifique bien los datos que tengamos.

A la hora de construir un clasificador en problemas con un mínimo de complejidad es fundamental que este sea capaz de generalizar. Cuando más complejo sea nuestro problema más errores tendremos en los datos y más incertidumbre aparecerá por todos lados. La misión del clasificador es limar todas estas cuestiones y ser capaz de reconocer los patrones importantes en nuestros datos.

Un clasificador sobreparametrizado que funcione perfectamente con los datos de entrenamiento puede ser un completo desastre a la hora de ponerlo a funcionar con datos reales. Durante el entrenamiento se habrá limitado a memorizar o replicar el conjunto de entrenamiento, como si realizara una interpolación, y será incapaz de clasificar nada que no esté en ese conjunto de entrenamiento.

Sobreparametrización en redes neuronales artificiales
Las redes neuronales artificiales son la técnica más usada hoy en día para construir clasificadores. La definición de una RNA incluye la toma de varias decisiones, como pueden ser la arquitectura general de la red, el tamaño de las capas de entrada y salida, el número y tamaño de capas ocultas o las funciones de activación a usar.

Todas estas decisiones pueden considerarse como parámetros de la función que estamos tratando de construir. Pero, generalmente, para evitar complejidad añadida, estas decisiones se hacen a priori y los verdaderos parámetros de la red son los pesos en conexiones entre neuronas.

Sin ir más lejos, los pesos son el objeto del algoritmo Back-Propagation para entrenar una red orientada hacia adelante con aprendizaje supervisado.

Una RNA está sobreparametrizada cuando tiene demasiados pesos. Esto puede suceder porque las capas de neuronas son demasiado grandes o que hay demasiadas capas ocultas o que igual necesitamos una red con muchas neuronas pero pocas conexiones entre ellas (lo que equivaldría a fijar a cero muchos pesos en una RNA convencional).

Cuando una RNA orientada hacia adelante es demasiado grande (tiene muchos pesos), el algoritmo Back-Propagation lo tiene fácil para ir ajustando casos de entrada con clases de salida y seguramente terminará configurando la red de forma que se limite a memorizar lo que le estamos presentando, justamente porque tiene capacidad para ello al tener tantos pesos. Tiene demasiada memoria cuando su tarea consiste en aprender a generalizar.

Por ejemplo, si tenemos un conjunto de entrenamiento con 1000 casos de entrada que son vectores de dimensión 10 y unas pocas clases de salida para entrenar una RNA de 500 neuronas y varios miles de pesos es seguro que al entrenarla se limitará a memorizar el conjunto de entrenamiento, no será capaz de aprender a base de buscar patrones fundamentales en los datos que la suministramos.

En este ejemplo de RNA tendríamos un problema serio de sobreparametrización, habríamos entrenado una RNA que no serviría para nada. Pero si en vez de 500 neuronas tuviéramos otra mucho más pequeña de 50 neuronas y sólo unos pocos cientos de pesos entonces la RNA ya no tendría esa capacidad para memorizar el conjunto de entrenamiento y el algoritmo Back-Propagation se vería obligado a buscar una configuración de pesos que pueda detectar los patrones básicos en los datos de entrenamiento.

Evitar la sobreparametrización en RNA
La sobreparametrización es un problema grave a la hora de construir RNA porque no es tan evidente como sucede en la modelización. Normalmente tenemos cantidades enormes de datos que están representados en espacios de muchas dimensiones y a menudo es complicado detectar si la red es demasiado grande para nuestros datos.

Es un problema grave porque destruye la propiedad que más nos interesa en un clasificador, que es la capacidad de generalizar y de extraer patrones generales de los datos que suministramos a la red.

El problema de la sobreparametrización puede aparecer al entrenar cualquier RNA y no existe ningún procedimiento más o menos infalible para detectarlo. Lo que tenemos son dos aproximaciones para intentar evitar o mitigar el problema.

Por un lado, la forma más segura de proceder a la hora de diseñar una RNA consiste en ir de menos a más. Es decir, comenzar con una red que sea cláramente pequeña y a partir de ahí ver qué es lo que se puede conseguir con ella para ir aumentándola de tamaño de forma que podamos detectar en qué punto empieza a funcionar como queremos. En general, siempre debemos quedarnos con la red más pequeña posible que nos proporcione unos resultados aceptables.

El proceso de ir probando distintos tamaños de red es bastante caro en términos de trabajo y de tiempo pues requiere entrenar todas las redes que vamos constuyendo. Pero es deseable en el sentido de que tiene capacidad de producir una red de tamaño razonable en la que no haya ni rastro de sobreparametrización.

La otra forma de operar consiste en tratar de estimar un tamaño de red razonable para nuestro problema y una vez entrenada usar lo que se conoce como técnicas de poda, que consisten en tratar de ver si hay pesos o zonas enteras en la red que no intervienen apenas en su funcionamiento y que pueden ser eliminadas (o desactivadas fijando los pesos a cero), dejando una red más pequeña con un funcionamiento equivalente.

Las técnicas de poda no resultan especialmente sencillas, pero evitan tener que entrenar una y otra vez múltiples redes. En problemas muy grandes es preferible tratar de podar una red que tener que pasar por el largo proceso de tener que entrenar múltiples redes.

Las técnicas de poda son lo suficientemente complejas como para que las tratemos más despacio en próximos artículos.



La sobreparametrización es un problema grave a la hora de construir clasificadores y es algo que hay que tener presente a la hora de diseñar una RNA. En general, siempre debemos quedarnos con la RNA más pequeña que nos proporcione buenos resultados.



Para saber más:

Libro de Russell Reed y Robert J Marks dedicado a redes neuronales artificiales orientadas hacia adelante. El capítulo 13 tiene mucho material relativo al problema de la sobreparametrización, aunque es una cuestión tan importante que está presente en muchas otras partes del libro.



 

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