Meditaciones en torno a un perceptrón multicapa

Publicado: 17 enero 2016 en Ciencias de la computación, Filosofía de la mente
Etiquetas:,

Metemos en el perceptrón multicapa una serie de datos que quizá no deberían tener relación alguna ¿Debería haber una relación directa entre los metros cuadrados de la vivienda, el número de los hijos y las edades de los cónyuges con el hecho de divorciarse? ¿No sería mucho más lógico pensar en infidelidades, número y duración de relaciones previas o capacidad de compromiso? Seguramente que sí, pero los caminos de las correlaciones y las predicciones son inescrutables como muy bien sabe el físico Javier García al inventarse estos parámetros en el vídeo.

Vamos metiendo los datos y entrenamos a nuestra red neuronal. Cada vez que acierta, giramos cada ruleta (variando el valor de los pesos, de w) y, al cabo de un número relativamente pequeño de repeticiones, la red puede predecir si una pareja va a separarse o no en función de unos parámetros que se salen del sentido común. Esto es impresionante por cuatro razones:

1. Una computadora nos está ayudando a hacer descubrimientos que nosotros, por sí solos, jamás podríamos conseguir. Una red neuronal puede descubrir correlaciones que nosotros no descubriríamos. La curiosa razón (un poco poetizada, lo reconozco) es que la red no tiene prejuicios. No parte de un sentido común previo que le diga que es absurdo relacionar el color de las cortinas del salón con la estabilidad de una relación marital. Los valores iniciales de sus pesos son aleatorios, por lo que no le perjudican a la hora de adquirir un nuevo aprendizaje. Una red neuronal no tiene demasiados problemas en desaprender esos valores iniciales y reajustarlos para conseguir la respuesta correcta. Es, por así decirlo, magnífica cambiando de opinión.

2. Como hemos dicho en más de una ocasión, la IA obtiene más logros siguiendo su propio camino que intentado imitar la mente humana. Este caso es un gran ejemplo: queriendo, en principio, imitar una red neuronal humana, conseguimos hacer un programa que es capaz de hacer algo que una mente humana, por lo general, no es capaz de hacer. Y eso no es nada malo, todo lo contrario. Hay que seguir haciendo redes neuronales, aunque no se parezcan ni pretendan imitar las humanas. De hecho, un perceptrón multicapa no es una buena réplica de una red neuronal biológica, pero es maravilloso que así sea.

3. El sencillo funcionamiento de este perceptrón constituye una refutación directa a la afirmación de que las máquinas no pueden aprender o que son incapaces de novedad (sí, ya sé que eso es una obviedad refutada hace mucho, pero hay mucha gente que aún no lo sabe). El perceptrón, tras entrenamiento, aprende a hacer algo de lo que los seres humanos no somos capaces. En este contexto creo que no tiene sentido hacerse la pregunta de si el perceptrón se sale o no de su programación. A nivel absoluto, evidentemente no se sale, al igual que los humanos no nos salimos de la nuestra (nuestras limitaciones cognitivas como especie afloran por doquier), pero a nivel relativo sí lo hace: aprende a predecir resultados que el programador es incapaz de predecir.

4. Es asombroso que el perceptrón sea capaz de aprender a realizar predicciones con cierta competencia pero que no podamos encontrar el patrón de razonamiento que sigue para conseguirlo. Podemos hacer una máquina cuya estructura profunda de funcionamiento nos es desconocida. Si abrimos “la caja negra” del perceptrón y vemos toda esa madeja de nodos y conexiones, con sus correspondientes valores y pesos, no comprendemos nada. Sabemos bien cómo funciona, la hemos diseñado y entrenado nosotros mismos, pero no entendemos por qué diablos esa determinada combinación de valores y operaciones lleva a la red a acertar en los resultados. En la inmensa mayoría de los casos (cuando la red es mínimamente compleja) no sabríamos convertir a una ecuación el patrón de su funcionamiento. Da la impresión (me voy a poner muy sensacionalista, lo sé) que su inteligencia se nos escapa…

Seguiremos hablando de estos seres.

comentarios
  1. Solrac dice:

    Quizá otro software sí pueda convertir a ecuaciones el patrón de su funcionamiento: Eureqa por ejemplo.

  2. Solrac:

    Sería interesante poner a redes neuronales a buscar patrones de funcionamiento de otras redes neuronales. El problema es que estos sistemas suelen definirse por su no linearidad, lo que hace que las ecuaciones que los rigen sean complicadísimas. No podría decirte mucho pero me da a mí que ni un algoritmo genético como Eureqa (nunca antes había oído hablar de él, gracias por traerlo) podría hacer demasiado para un perceptrón algo complejo. En minería de datos pueden tener cientos o miles de entradas…

  3. Interesante. En base a lo conocido obtener una función de error y optimizarla. Lo interesante es que los pesos en cierta manera se autoorganizan no matemáticamente sino físicamente. Para “crear” tal función, o una función posible que quede dentro de las cotas de error que se establezcan, que la función no se obtenga de una deducción matemática, o desde una programación matemática, sino desde cierta aleatoriedad inicial de los pesos y su adecuación iterativa. En cierta manera el propio sistema se adapta a los resultados conocidos sin seguir del todo nuestras reglas, y en base a esa adaptación, podemos predecir nosotros resultados para patrones de entradas diferentes.
    Ahora bien me gustaría realizar unas matizaciones a las expresiones que utiliza y que tal vez puedan llevar a confusión, creo yo:

    ·“Una red neuronal puede descubrir correlaciones que nosotros no descubriríamos”

    La red neuronal no descubre las correlaciones, quienes descubrimos somos nosotros a través del artificio de la red neuronal. Me parece tan absurdo como decir que un termostato descubre la correlación que existe entre cerrar la calefacción y bajar la temperatura, porque su mecanismo funcione en base a la existencia de tal correlación. La red neuronal no descubre la correlación, simplemente la existencia de la misma hace posible la configuración de los pesos optimizando cierta función de error. Descubrir, lo que se dice descubrir, yo sólo lo asignaría a sistemas cognitivos con conciencia.

    · “Es, por así decirlo, magnífica cambiando de opinión”

    Exactamente, pero porque lo que realmente hay que decir es que no tienen opinión.

    · “conseguimos hacer un programa que es capaz de hacer algo que una mente humana, por lo general, no es capaz de hacer”

    Hay infinidad de programas que hacen cosas así. Por ejemplo mi calculadora es capaz de dar resultados a una velocidad que ninguna mente humana sería capaz de hacer. Precisamente porque la manera mental de calcular es muy diferente a la propia de una calculadora. Me parece obvio: lo que hace una maquina es usualmente muy distinto a lo que hace una mente. Tal vez sea porque las mentes no son máquinas, digo yo.

    ·“De hecho, un perceptrón multicapa no es una buena réplica de una red neuronal biológica, pero es maravilloso que así sea.”

    A mí me parece una obviedad que no me maravilla, pues no entiendo que otro modo podría ser. Pareciera que implícitamente se estuviera suponiendo que lo normal es que fuesen iguales las redes neuronales de la inteligencia artificial a las biológicas de los cerebros. ¿Por qué? ¿Por qué creemos que el cerebro es algo explicable desde la inteligencia artificial o incluso mera inteligencia artificial, tal vez?

    · “constituye una refutación directa a la afirmación de que las máquinas no pueden aprender o que son incapaces de novedad”

    Crear novedad sí, pero aprender sólo lo hace en sentido metafórico. Nosotros aprendemos de la novedad de la máquina, pero la máquina no aprende na de na, solo se ajusta como un termostato en última instancia, lo que ocurre es que en este caso el ajuste final no podemos preverlo a pesar de saber de su razón de ser. Pero eso no significa que la máquina haya aprendido. Yo lo de aprender también lo dejaría en manos de sistemas cognitivos conscientes, los no conscientes, lo que hacen es adaptarse, y para eso como bien dice, necesitan crear novedad.

    · “no tiene sentido hacerse la pregunta de si el perceptrón se sale o no de su programación. A nivel absoluto, evidentemente no se sale”

    Exactamente.

    · “Al igual que los humanos no nos salimos de la nuestra (nuestras limitaciones cognitivas como especie afloran por doquier)”

    Pero sí transcendemos el contenido cognitivo elaborado y en eso si nos “salimos” del mismo. Saberse limitado es conocer la posibilidad de lo ilimitado desde lo finito. Si nos ponemos en tono metafísico diríamos que el ser humano es un ser finito y limitado y todas sus facultades son finitas y limitadas, pero gracias a la conciencia se da en nosotros un aspecto o admirable propiedad: la conciencia de la finitud nos abre a la infinitud.

    ·”Pero a nivel relativo sí lo hace: aprende a predecir resultados que el programador es incapaz de predecir”

    Y un termómetro a predecir temperaturas que el creador del termómetro es incapaz de predecir… ¿y?

    ·“Podemos hacer una máquina cuya estructura profunda de funcionamiento nos es desconocida”

    La estructura profunda es perfectamente conocida, lo que no es conocido es el estado final en que quedará la maquina (el valor de los pesos), pero eso es propio de infinidad de máquinas elaboradas por el hombre, no me parece para nada asombroso, aunque sí muy muy útil.

    ·“no entendemos por qué diablos esa determinada combinación de valores y operaciones lleva a la red a acertar en los resultados”

    Yo diría que si lo sabemos, es el teorema de Kolmogorov quien nos dice porque la máquina acaba convergiendo a una posible combinación de pesos adecuada a los propósitos buscados. Es cierto que no la podemos predecir, pero eso ocurre porque en el fondo matemáticamente lo que se hace es bajo ciertas condiciones y cota de error obtener una aproximación de la función óptima dada por los pesos. En todo ello se está considerando que los pesos pueden variar de forma continua de manera que la función es posible considerarla bajo la métrica de ser una función de cuadrado integrable. En el fondo se trata de un complejo problema de optimización no lineal, que se resuelve por “ensayo y error”, no veo “extrañeza” alguna de cómo el perceptrón acierta los resultados.

    · “En la inmensa mayoría de los casos (cuando la red es mínimamente compleja) no sabríamos convertir a una ecuación el patrón de su funcionamiento. ”

    Exactamente, no podemos elaborar dado el conjunto de valores de entrada y salida la matriz de pesos, que consigan minimizar el error dentro de una cierta cota. En cierto modo es parecido a lo que le paso a Lorenz pero a la inversa, conocía las ecuaciones (que regían la convección) pero no podía predecir los resultados. ¿Será también muy sensacionalista decir que la inteligencia de las ecuaciones no lineales dependientes de las condiciones iniciales se nos escapa…?

    Un saludo

  4. Enric:

    “La red neuronal no descubre las correlaciones, quienes descubrimos somos nosotros a través del artificio de la red neuronal. Me parece tan absurdo como decir que un termostato descubre la correlación que existe entre cerrar la calefacción y bajar la temperatura, porque su mecanismo funcione en base a la existencia de tal correlación. La red neuronal no descubre la correlación, simplemente la existencia de la misma hace posible la configuración de los pesos optimizando cierta función de error. Descubrir, lo que se dice descubrir, yo sólo lo asignaría a sistemas cognitivos con conciencia.”

    Es entonces una cuestión de definición. Si dices que solo asignas la noción de “descubrimiento” a sistemas cognitivos con consciencia, yo puedo decir que solo asigno el concepto de “suma” a los mismos, por lo que los ordenadores, realmente, no suman.

    Efectivamente, el perceptrón no “sabe” la correlación pero, “de algún modo” está distribuida entre las proporciones de sus pesos. El caso, que a mí en concreto me resulta una pasada, es que puede realizar predicciones “como si la supiera”. Un ser humano, ante las matrices de datos con los que trabajan los perceptrones, no sabría predecir absolutamente nada. En cualquier caso, cambia el término “descubrimiento” por “predicción” y estamos en paz.

    “Pero sí transcendemos el contenido cognitivo elaborado y en eso si nos “salimos” del mismo. Saberse limitado es conocer la posibilidad de lo ilimitado desde lo finito. Si nos ponemos en tono metafísico diríamos que el ser humano es un ser finito y limitado y todas sus facultades son finitas y limitadas, pero gracias a la conciencia se da en nosotros un aspecto o admirable propiedad: la conciencia de la finitud nos abre a la infinitud”

    No, la consciencia de la finitud no te abre a la infinitud. Eres un ser finito, punto. Todo lo demás son cuentecillos para dormir bien. Es como si a mí me hacen un test de inteligencia y sale que soy muy tonto y luego digo, la consciencia de mi tontura me ha abierto hacia la superdotación intelectual. No, ser tonto es estar limitado para ciertas tareas y punto.

    “Y un termómetro a predecir temperaturas que el creador del termómetro es incapaz de predecir… ¿y?”

    ¿Te parece poco invento un termómetro?

    “La estructura profunda es perfectamente conocida, lo que no es conocido es el estado final en que quedará la maquina (el valor de los pesos), pero eso es propio de infinidad de máquinas elaboradas por el hombre, no me parece para nada asombroso, aunque sí muy muy útil.”

    Lo que quiero decir es que, con el ejemplo del divorcio que se pone en el vídeo, a lo mejor existe una correlación muy fuerte entre el número de camisas que tiene el marido en el armario y el hecho de divorciarse, de modo que si la supiéramos podríamos pasarla a una ecuación sencilla de modo que acertaríamos en nuestras predicciones. Sin embargo, ni el programador-entrenador ni el perceptrón tienen esa correlación pero, “de alguna manera”, aparece distribuida entre los pesos y lleva a hacer predicciones correctas. A eso me refiero cuando afirmo que, en el fondo, no sabemos “la estructura profunda” del perceptrón.

    “¿Será también muy sensacionalista decir que la inteligencia de las ecuaciones no lineales dependientes de las condiciones iniciales se nos escapa…?”

    Lo sería pero ¿ es que acaso las ecuaciones no lineales dependientes de las condiciones iniciales no son, en un cierto sentido, ya algún tipo de autómata, algún tipo de inteligencia artificial, pongamos, primitiva?

    Un cordial saludo.

  5. Santiago,

    · “Si dices que solo asignas la noción de “descubrimiento” a sistemas cognitivos con consciencia, yo puedo decir que solo asigno el concepto de “suma” a los mismos, por lo que los ordenadores, realmente, no suman.”

    Claro que no suman, del mismo modo que un reloj no mide el tiempo, ni un termómetro la temperatura… son aparatos con los que nosotros hacemos sumas, medimos el tiempo o la temperatura. Sumar y medir y tal… son conceptos o procedimientos que necesariamente guardan respectividad con el ser humano. Obviamente se puede “metafóricamente” pensar que los ordenadores suman, y los termómetros miden la temperatura… pero el uso “metafórico” de los términos que suelen ser propios de la inteligencia artificial no me parecen “ideológica o metafísicamente” irrelevantes. Por eso me lancé a puntualizar sus expresiones.

    · “Efectivamente, el perceptrón no “sabe” la correlación pero, “de algún modo” está distribuida entre las proporciones de sus pesos”

    Claro. Pero yo no veo diferencia alguna. Fíjese, yo puedo calcular una aproximación de Pi siguiendo el método de la “aguja de Buffon” (https://es.wikipedia.org/wiki/Aguja_de_Buffon) lo cual puedo realizar con una aguja de verdad, o simularlo mediante un ordenador. ¿Usted cree que es lícito preguntarse sobre cómo demonios DESCUBRE la aguja o la simulación el número pi? ¿No estoy si digo eso haciendo un cierto abuso del lenguaje; y darle, camufladamente, propiedades que la aguja no tiene y que son en el fondo cualidades humanas? Yo no veo diferencia alguna esencial entre eso y el perceptrón.

    · “En cualquier caso, cambia el término “descubrimiento” por “predicción” y estamos en paz.”

    Pues como que tampoco. Predecir supone algo o alguien que es capaz de proyectarse hacia el futuro desde un presente en el que está, y yo no veo que eso sea propio de perceptrón, sino de aquellos seres (algunos hombres) que en este caso, son capaces de dar significado predictivo al ajuste adaptativo que los pesos hacen por la posible correlación existente entre los patrones de entrada y salida.

    · “ No, la consciencia de la finitud no te abre a la infinitud. Eres un ser finito, punto. Todo lo demás son cuentecillos para dormir bien. Es como si a mí me hacen un test de inteligencia y sale que soy muy tonto y luego digo, la consciencia de mi tontura me ha abierto hacia la superdotación intelectual. No, ser tonto es estar limitado para ciertas tareas y punto. “

    Yo no he dicho que ser consciente te haga infinito. He dicho explícitamente que “el ser humano es un ser finito y limitado y todas sus facultades son finitas y limitadas”. Pero creo que es precisamente en el hecho consciente donde se abre el infinito en el hombre, y es por eso que el infinito aparece en las matemáticas, la física, la metafísica. La concepción del infinito es una propiedad exclusivamente humana, e infecta nuestras concepciones más “profundas” que se vinculan, creo yo, a la capacidad de transcender los contenidos que le son propios. Pero sí, el hombre es finito en capacidades y posibilidades físicas.

    · “¿Te parece poco invento un termómetro?”

    Es un invento excelente. Pero jamás diría que el termómetro clínico descubre o predice si tengo fiebre, diría que gracias a ese invento puedo saber YO si tengo o no fiebre. La correlación entre lo que hace el termómetro y mi fiebre no me parece asombrosa.

    · “Sin embargo, ni el programador-entrenador ni el perceptrón tienen esa correlación pero, “de alguna manera”, aparece distribuida entre los pesos y lleva a hacer predicciones correctas. A eso me refiero cuando afirmo que, en el fondo, no sabemos “la estructura profunda” del perceptrón“

    En eso estoy de acuerdo. Pero no es muy asombroso. Si lanzo un dado trucado, yo no sé qué cara es más probable. Si lo lanzo 1000 veces, el dado “obedece” cayendo más veces en la cara más probable, y yo descubro cual es esa cara. Yo no diría que no sabemos la estructura profunda que hay en el dado que es capaz de “predecir” que cara es más probable. En este sentido no veo diferencia entre lo que hace el dado y el perceptrón. Eso sí, el perceptrón es un método muy sutil e interesante para que el hombre “apoyándose cognitivamente” en su estructuración algorítmica y física pueda hacer predicciones que con la mera capacidad mental (sin ese apoyo externo) no haría. Del mismo modo se suele “apoyar” en los martillos para clavar un clavo.

    · “¿ es que acaso las ecuaciones no lineales dependientes de las condiciones iniciales no son, en un cierto sentido, ya algún tipo de autómata, algún tipo de inteligencia artificial, pongamos, primitiva?”

    Pues no puedo estar más de acuerdo con eso. Pero yo diría que esa “inteligencia artificial primitiva” no es más que la inteligencia humana que elabora ecuaciones no lineales dependientes de las condiciones iniciales y tal… pero para explicar el sentido de mi acuerdo con usted, debería explicitar mi concepción filosófica de que son las matemáticas, porque son históricas, reales, y respectivas a la inteligencia humana… lo cual no parece oportuno desarrollar aquí.

    Un saludo.

  6. Yack dice:

    Yo creo que las redes neuronales son un caso general y sencillo del funcionamiento de nuestra mente.

    Tal vez la diferencia esencial está en lo siguiente: El ser humano es un animal social y necesita formar redes de muchos individuos para compartir experiencias (me quemé al tocar el fuego), conocimientos (cuando las nubes se vuelven negras, llueve) y descubrimientos (se pueden arrastra más fácilmente objetos pesados sobre troncos de árboles).

    Si fuésemos animales solitarios, probablemente no habríamos pasado del conocimiento tipo perceptron (sólo él sabe el porqué y el cómo) pero resulta muy útil ser capaz de generar fórmulas, esquemas, explicaciones, etc. que permitan transmitir a los demás nuestras conclusiones profundas sobre el mundo real, para así crear una cultura tan avanzada y útil como la que poseemos.

    Es decir, que eso que nosotros llamamos “explicaciones” y que los perceptrones son incapaces de dar, es una utilidad promovida por la conjunción de una gran sociabilidad y un desarrollo cerebral espectacular.

    Posteriormente esa capacidad adaptativa para generar explicaciones dio lugar, por ejemplo, a las matemáticas, que se convirtieron en útiles per se, para comprender con mayor profundidad y precisión el funcionamiento de la naturaleza.

    Una realimentación positiva entre las estructuras cerebrales y la capacidad de generar explicaciones más sofisticadas, desarrolló las áreas del lenguaje hasta que llegaron a formar parte importante del propio pensamiento consciente, que no es otra cosa que hablar consigo mismo.

    Gracias a esta capacidad de generar explicaciones sencillas para los demás, hemos creado un nuevo nivel de comprensión de la realidad que ha cambiado nuestro destino y que se ha convertido en la clave de nuestro éxito evolutivo.

    Saludos.

  7. Masgüel dice:

    “el perceptrón es un método muy sutil e interesante para que el hombre “apoyándose cognitivamente” en su estructuración algorítmica y física pueda hacer predicciones que con la mera capacidad mental (sin ese apoyo externo) no haría”

    Daniel Dennett, hablando de redes neuronales y algoritmos evolutivos que escapan a nuestra comprensión, resumía el asunto con una expresion muy gráfica: “Estamos construyendo oráculos”.

  8. A. H. F. dice:

    Me he visto el vídeo completo, y los siguientes. Veo que es muy sencillo, que lo que acerca el resultado a un valor que te sirva es el margen de error que has calculado para “otros” escenarios y dilemas.
    El referéndum de Escocia ¿es un acto de democracia?, o el que domine el margen de error tendrá el poder sobre la gente y será una dictadura. En vez de negarse, se convoca un referéndum justo en el momento, ni antes ni después en que fuera 44.3 sí – 55.7 no. Deberían los gobiernos de otros países interesarse en el asunto.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s