Las fronteras y las zonas grises

Las redes neuronales o neurales artificiales (ANN) (no sé qué termino es más correcto o está más de moda) son un campo fascinante. Os animo a echarle un ojillo a algún artículo sobre ellas. Sin duda nuestro futuro estará plagado de estas cosillas.

Hoy no voy a darle vueltas a si la conciencia puede surgir de manera natural en un sistema suficientemente complejo o cosas así…

Hoy quiero hablaros de «fronteras».

Uno de los problemas a los que se aplican las ANN es la clasificación.

Digamos que tengo un conjunto de elementos y quiero separarlos según cierto criterio. Por ejemplo, los que sean blancos y los que sean negros.

Para esto se construye la red «más adecuada» y después hay que «entrenarla» con un conjunto de datos de características conocidas, para que la red «aprenda» y pueda luego clasificar con el suficiente éxito datos nuevos que se le presenten.

Imagina que la «realidad» que queremos conocer es un rectángulo cuya parte izquierda es blanca y la derecha es negra. La figura 1.

El conjunto de entrenamiento son unos cuantos puntos que sea una muestra representativa (si se escoge bien, estarán repartidos aquí y allá). Lo representado en la figura 2.

Al entrenar el sistema irá localizando dónde está la «frontera», que he pintado en azul en la figura 3.

A veces si nos excedemos en el entrenamiento, la red cree entender que la frontera está delimitada justo por los datos que conoces y produce información falsa, generaliza mal. Entendería que la frontera es la línea verde de la figura 4. A esto se le llama «sobre-entrenamiento».

ANN

Si sobreentrenamos una red, al intentar clasificar datos próximos a la frontera cometerá errores, porque no «generaliza» bien.

La clasificación en las fronteras es complicada… más aún si tenemos en cuenta que las fronteras suelen estar llenas de «grises».

Os preguntaréis a qué viene todo esto.

Tiene que ver con la vida cotidiana.

A veces porque nos gusta etiquetar… a veces porque necesitamos por fines prácticos etiquetar… el caso es que andamos todo el día clasificando.

Con mucha frecuencia nos focalizamos en lo complejo que es definir límites y lo subjetivas que a veces son las valoraciones.

En esos casos estamos hablando en realidad de lo complejo que es definir las fronteras, las zonas grises.

Pero al concentrarnos tanto en la frontera podemos caer en cierto relativismo y olvidar que hay grandes zonas donde la cosa está más que clara.

Quizá haya un pueblo en plenos Pirineos en el que un habitante se siente más español que francés mientras su vecino piensa al contrario, y que en la práctica sean las guerras las que hayan trazado la frontera que puede ser bastante arbitraria. Pero los simpáticos lugareños del Cabo de Gata en Almería no dudan si son franceses… ni los parisinos si son españoles.

No sabría deciros si lo mejor es dormir siete horas y media u ocho, o si depende de la persona… ahora bien, dormir dos horas es dormir demasiado poco y dormir quince tampoco debe ser muy sano.

Permitidme un ejemplo más.

Que la prensa sea perfectamente objetiva es imposible pero, ¿es imposible que lo sean un poco? ¿o que lo intenten? (Dejando fuera a los buenos periodistas que se esfuerzan en hacerlo bien en un entorno tan hostil. Seguid así, por favor, que si no estamos perdidos del todo).

Resumiendo, es difícil trazar fronteras, pero hay grandes «llanuras» en las que nuestro sentido común nos guía con buena fiabilidad.

Una vez más el sentido común y el pensamiento científico se dan la mano arrojando luz sobre la ciencia y la vida cotidiana.

Fuente de la ilustración: El Paint y muy poca vergüenza

8 Responses to Las fronteras y las zonas grises

  1. Me ha gustado la entrada Javi, entre otras cosas porque me gusta todo lo relacionado con la IA 🙂

    Lo has explicado muy bien y de una manera muy gráfica: la fase de entrenamiento, la de test, la sobreadaptación, ¡y todo con el paint!

    Un abrazo

    Me gusta

    • javierfpanadero dice:

      Muchas gracias compañero. Que sepas que en el examen de mañana de mis chavales… hay una pregunta que dice…»según nuestro experto de guardia…» refiriéndose a ti.

      El otro día me dejó un comentario Pablo Sánchez de tu clase de 4º del cole. Le dije que también tú te pasabas por aquí.

      Lo de la IA… estuve viendo cosas de agentes inteligentes en el doctorado y tal… en realidad me da la impresión de que no pasamos de aplicar una lista de condicionales. Parece más una marca para vender que otra cosa. La definición de Turing no puede ser más ambigua… en fin, qué me cuentas tú?

      Un abrazo

      Me gusta

      • Vaya Javi, se agradece el gesto 🙂

        A mi parecer, para definir inteligencia artificial primero deberíamos definir qué es inteligencia natural y qué diferencias hay entre ambas, pero eso puede hacer que gastemos tiempo y esfuerzo en definir algo que podríamos aplicar directamente sin hacernos demasiadas preguntas.

        Hay algo de humo en esto de la IA, en parte por lo que vemos en las películas y en parte por nuestra propia imaginación, pero esto no sólo pasa con la IA, que a veces los clientes piden aplicaciones y bases de datos que por haber han visto pero en el CSI…

        Lo de la IA básicamente se resume en la aplicación de una serie de algoritmos y de técnicas bien conocidas en algunos dominios que nos permitan conocer otras cosas que, dada su naturaleza y su complejidad, a nosotros sería muy difícil de averiguar.

        Es decir, nosotros tenemos un límite a la hora de calcular y cuando lo sobrepasamos utilizamos calculadoras. Pues bien, también tenemos un límite a la hora de modelar y de resolver problemas y cuando lo sobrepasamos utilizamos algoritmos que se «autoencauzen» para encontrar una solución.

        Por ejemplo, en tu entrada pones un problema de 2 dimensiones y 2 colores y es todo muy sencillo, pero esto mismo podríamos hacerlo con ‘n’ dimensiones y ‘m’ colores y quizá ya nos resultaría tan complejo que a lo mejor una buena opción sería aplicar una técnica de IA (como la de las redes de neuronas) y hacer que el ordenador trabajase por nosotros y nos diese respuestas (nunca preguntas).

        De todos modos hay una cosa que está clara, y es que cuando aplicas alguna de las técnicas de IA en un problema y ves que va encontrando mejores soluciones poco a poco te sientes estupendamente porque has creado algo que lo dejas solo y oye, poco a poco mejora.

        Como ya te dije tengo pendiente hablar de todo esto en mi blog y hacer experimentos que la gente pueda descargar.

        Un abrazo

        Me gusta

      • javierfpanadero dice:

        Para Raúl y para Iñaki

        También estuve yo andorreando un pelín con esas cosas, y comparto vuestras sensaciones. Pero dejadme que comparta un par de ellas más con vosotros

        1. Algunas veces no son problemas que no sabemos resolver, sino todo lo contrario. Problemas que nuestro «hardware cerebral» paralelo resuelve estupendamente (pattern recognition en general: voz, caras, etc), pero que nuestro hardware industrial secuencial no.

        2. Y esto segundo me hace mucha gracia. Cuando la red se ajusta, lo hace por su cuenta, con algoritmos de entrenamiento que me buscan mínimos en un espacio que desconozco, que pueden estar poco entrenadas o demasiado, que pueden quedarse orbitando mínimos locales… pero cuando por fin se ajusta, los pesos toman valores concretos cuyos motivos desconozco y es capaz de resolver el problema, esta es la situación: Tengo un problema que no entiendo, construyo una máquina que no sé cómo funciona (por qué los pesos valen lo que valen), pero que lo resuelve. De alguna manera la ignorancia se conserva…

        Un saludo y gracias por los comentarios.

        Aunque os confieso que el verdadero fin de la entrada era la parte final, aplicar el pensamiento científico para no caer en el relativismo… a partir de una conversación con mi madre hace unos días…

        Me gusta

  2. Iñaki dice:

    Precisamente estas semanas ando enfrascado en un proyecto de reconocimiento de voz para una asignatura optativa. En principio el proyecto va encaminado a utilizar técnicas simples, pero me empeñé en enfocarlo desde las redes neuronales autoorganizadas y las cadenas ocultas de Markov, y es apasionante. Ajustar los parámetros (el factor de aprendizaje, la actualización, etc.) es tarea complicada, pero como dice Raúl, cuando vas avanzando y la cosa empieza a funcionar te sientes estupendamente.

    Me gusta

  3. Toro Sentado dice:

    Yo también estudié algo de IA y realmente son fascinantes.

    También muy interesante la parte final. Yo diría que en el caso humano el problema más que de reconocimiento de fronteras es un problema de valores, es decir, que hay gente a la que una pequeña diferencia como puede ser estar a este o al otro lado de una frontera le concede excesivo valor.

    Y otro problema, también en nuestro caso, es la necesidad de eliminar fronteras más que de reconocerlas, porque a veces la existencia de algunas separaciones puede ser inmoral.

    La verdad es que en estas cuestiones el pensamiento científico no ayuda demasiado, aunque sí ayuda mantener una actitud científica, es decir crítica y de búsqueda de la verdad.

    Saludos

    Me gusta

    • javierfpanadero dice:

      Muchas veces mi objetivo es reflejar esta idea de tu último párrafo: Extender la virtud del pensamiento científico a otros ámbitos nos ayuda a ser «prácticos» (buscar soluciones), de forma crítica y a mantener el espíritu del que busca la verdad. Un saludo

      Me gusta

  4. […] el gran problema es cuando nos creemos que decidimos en libertad. Como otras veces hemos hablado, existirán zonas grises, pero hay clarísimos blancos y […]

    Me gusta

Deja un comentario