jueves, 7 de diciembre de 2017

Aprendizaje automático


By popculturegeek.com
 Originally posted to Flickr as Comic-Con 2004
Terminator statue, CC BY 2.0
https://commons.wikimedia.org
Como dije en un artículo anterior, el aprendizaje automático es una de las áreas de la inteligencia artificial débil en la que se viene trabajando desde hace al menos 40 años. Estrictamente hablando, el aprendizaje automático, más que un campo de aplicación, es una metodología o técnica que utilizan otros campos de aplicación, como las redes neuronales, los sistemas expertos o el análisis de datos. El aprendizaje automático se divide en dos grandes ramas:
  • Aprendizaje automático supervisado: es el que se ha usado con más frecuencia hasta ahora y le vamos a dedicar casi todo este artículo.
  • Aprendizaje automático no supervisado: está relacionado con el campo denominado usualmente Minería de Datos y últimamente se le ha hecho mucha propaganda en los medios de comunicación, en relación con un programa (AlphaGo Zero) que ha alcanzado un nivel equiparable al del campeón del mundo del juego llamado Go, aprendiendo solo (al final de este artículo hablaré algo más respecto a esto).
Red neuronal de cuatro capas
Para explicar el aprendizaje automático supervisado voy a tomar como ejemplo un sistema experto concreto desarrollado por medio de esta técnica. Se trata de un sistema que está empezando a utilizarse en la práctica para ayudar a los jueces de primera instancia a decidir si deben enviar a prisión preventiva a los acusados de un delito, teniendo en cuenta la posibilidad de que dichos acusados cometan nuevos delitos si los dejan en libertad provisional, y también el coste de la prisión preventiva para las arcas públicas (ambos criterios son opuestos, pues cuantos más acusados sean enviados a prisión, menos reincidencias se producirán, pero mayor será el coste). El procedimiento que se utilizó para construirlo, y que voy a explicar aquí, fue ideado hace más de 30 años y se aplica también en otros campos, como por ejemplo, el de las redes neuronales.
El sistema de aprendizaje automático está formado por dos algoritmos:
  1. Un algoritmo que intenta resolver el problema de que se trate (en nuestro caso, si se debe enviar al acusado a prisión preventiva o no) de forma determinista, en función de un conjunto de parámetros (pueden ser miles) cuyo valor concreto se deja abierto. Obviamente, si este algoritmo no está bien diseñado, el sistema final no podrá funcionar bien.
  2. Un segundo algoritmo –llamado de aprendizaje cuyo objetivo es ajustar los parámetros del primer algoritmo, cuyo valor quedó sin especificar, de tal modo que el sistema funcione de la mejor forma posible.
  3. Para ayudar al segundo algoritmo a ajustar los parámetros del primero, se dispone de un conjunto de casos reales muy grande. En el sistema experto jurídico fueron cientos de miles. Todos esos casos se presentaron en algún momento ante un juez humano que tomó una decisión, y se posee también información sobre cuáles fueron las consecuencias (si dejó libre a un acusado, si reincidió o no durante su libertad provisional) junto con los datos personales del acusado y su historial.
  4. Los casos históricos disponibles se dividen en dos grupos: los casos de entrenamiento, que se le proporcionan al primer algoritmo junto con el resultado obtenido, y el segundo algoritmo ajusta los valores óptimos de los parámetros del primero para que el número de casos cuyo resultado fue correctamente previsto sea lo mayor posible. El segundo grupo son los casos de validación. Una vez ajustados los parámetros del primer algoritmo, se le someten estos nuevos casos sin darle el resultado obtenido en la vida real, para ver si los resultados que predice son comparables a los reales. Si esto es satisfactorio, el primer algoritmo (en nuestro caso el sistema experto de ayuda a los jueces) puede considerarse completado y se puede utilizar en la práctica, desvinculado del algoritmo de aprendizaje, que ya no hace falta. Si el resultado no resulta aceptable, será preciso empezar de nuevo utilizando algoritmos diferentes, ya sea el de resolución o el de aprendizaje, de los que hay muchos tipos, aunque ninguno de ellos es mejor que los demás en todos los casos posibles, según demuestra el teorema del no-free-lunch, que podríamos traducir así: nada es gratis en este mundo.
Este tipo de aprendizaje se llama supervisado porque el ajuste de los parámetros tiene lugar a partir de un conjunto de casos cuya solución se conoce. En el caso de una red neuronal, los parámetros son los pesos de todas las conexiones de la red.
Veamos ahora el programa AlphaGo Zero, que alcanzó recientemente un nivel elevadísimo en el juego del Go. ¿Qué diferencia hay en este caso respecto al aprendizaje supervisado?
  • En primer lugar, los dos algoritmos, de ejecución y de aprendizaje, están unidos en uno solo.
  • En segundo lugar, en lugar de partir de un conjunto de datos de entrenamiento, el programa los genera automáticamente jugando contra sí mismo. Por eso precisamente se llama aprendizaje no supervisado.
El logro –que es importante− se ha presentado en la prensa como el principio de una revolución en los procedimientos de aprendizaje  que se utilizan. Hay que tener en cuenta, sin embargo, que el campo de los juegos de ordenador es muy a propósito para este tipo de algoritmos. En primer lugar, el resultado de cada caso concreto es muy simple (la partida se gana o se pierde), y los casos de entrenamiento se pueden generar automáticamente de forma sencilla, haciendo que el programa juegue contra sí mismo.
Es de esperar que surjan programas parecidos especializados en juegos diferentes (¿quizá el ajedrez?). Pero es evidente que no se puede aplicar este procedimiento a casos más reales, como el sistema experto jurídico. ¿Cómo podría el programa generar sus propios casos, y cómo podría saber cuál fue el resultado práctico de la decisión? De ninguna manera. Lo que tenemos aquí es un nuevo procedimiento de aprendizaje, que sólo se puede aplicar en situaciones muy concretas y determinadas. Los medios, como de costumbre, han lanzado las campanas al vuelo antes de tiempo.

Hilo Inteligencia natural y artificial: Anterior Siguiente
Manuel Alfonseca

11 comentarios:

  1. En efecto y como bien señala el tipo de entrenamiento no supervisado solo es posible en mundos cerrados, cuyas reglas sean fijas y resultado univoco.

    Esto es así incluso en juegos donde el azar intervenga en algún momento, como en el reparto de fichas en el juego del dominó, donde también se puede emplear con éxito esa técnica. Considero que siempre será mejor dotar al sistema de al menos una primera parte de aprendizaje supervisado, podríamos decir “leyes” casi sin excepción pero no explícitas en las reglas del juego, para que el aprendizaje sea mucho más rápido aunque como experimento el no supervisado exclusivo sea una opción interesante. Está claro que si al sistema le indicas que en el ajedrez regalar de principio la dama suele conducir al desastre se evitarán miles de millones de pruebas infructuosas y por tanto innecesarias.

    En mi libro “El arte del dominó: teoría y práctica” (Paidotribo) introduje técnicas matemáticas y probabilísticas dentro del juego, con varios programas incluidos en el CD adjunto de simulación de IA creo que bastante convincentes. En el momento actual estoy trabajando en la resolución exacta de dicho juego, que por tanto sustituirá el tipo de aprendizaje estilo IA por puras ecuaciones a resolver, sin más.

    Esto me ha parecido más complejo en otros juegos que he programado, como las damas, el othello, bag chal y otros, cuya explosión combinatoria hace más complejo el encontrar la “fórmula” que los resuelva; el dominó y por ejemplo los naipes (como quedó patente en mi juego múltiple “Cartas 2000”), son tipos de mundos más factibles para encontrar “fórmulas” aunque parezca más extraño dado que en ellos también interviene el azar, como en la vida misma.
    Muy interesantes todos sus temas sobre IA, que estoy descubriendo ahora (solo hace días que conozco su estupendo blog) y seguiré leyendo con atención.

    José Luis González Sanz

    ResponderEliminar
  2. Saludos de nuevo,

    Aunque fuera de tema propuesto le quiero preguntar si al respecto de sus artículos y trabajos publicados en revistas extranjeras, etc. (en su enlace UAM) con o sin colaboración, existen también traducidos al español y donde, lo que sería de gran ayuda.

    Gracias por su atención.

    José Luis González Sanz

    ResponderEliminar
    Respuestas
    1. No, mis artículos técnicos escritos en inglés no los traduzco al español. En cambio, muchos de mis artículos de divulgación sí los traduzco al inglés.

      Eliminar
    2. Me sorprende y alarma su respuesta pues es la constatación evidente del abandono de nuestra cultura en ciertos ámbitos y personas, con el consiguiente complejo de inferioridad y la muy posible desaparición tan solo a medio plazo.

      Es absolutamente evidente que dar a conocer trabajos o estudios técnicos (superiores a cualquier artículo de opinión o simple comentario) dentro de la propia cultura estimula esta, informará y formará a mayor cantidad de personas con el beneficio social que ello conlleva en el entorno que las genera y la sitúa en un nivel de dignidad que pienso debemos a nuestros padres y en nada dificulta la calidad del trabajo expuesto.
      Otro tema distinto es poder, posteriormente y si se desea, darlo a conocer en cualquier otra lengua.

      Es absolutamente evidente que si usted descubre la solución a la hipótesis de Riemann o cualquier otro problema, no la va a perder o le van a denegar el mérito si la da a conocer en el propio idioma. El argumento de que “nadie se enteraría” es solo una justificación de nuestro propio desinterés y desidia, para no molestarnos en actuar.

      Con los medios actuales cualquier cultura, incluso poco importante y no digamos si tiene cientos de millones de individuos, puede crear los grupos y sistema suficiente para una colaboración eficiente entre sus miembros y una promoción de esos campos entre las personas que la forman, no cerrándolas esa posibilidad y desde luego sería respetado y tenido más en cuenta que una cultura que se humilla y se declara implícitamente inferior, con lo que también se asume que los individuos que la forman son peores, menos inteligentes y capaces.

      En ese caso me pregunto yo que para qué vamos a hacer ciencia o tratar problemas complejos, si somos inferiores nunca vamos a lograr nada, así que mejor es dedicarse a temas más pueriles, acordes a nuestra capacidad, y dejar lo complejo e “importante” a los seres humanos que implícitamente reconocemos como los “verdaderos hombres”.

      Saludos.

      Eliminar
    3. Usted está poniendo en mi boca palabras que jamás he dicho. Nunca he buscado la excusa de que "nadie se enteraría", ni me he negado a escribir artículos científicos en español. De hecho, todos mis artículos de divulgación están en español. Pero usted, al parecer, me exige que publique mis artículos científicos en español y en revistas españolas (pues las extranjeras no los aceptarían), o al menos que los traduzca, con el esfuerzo adicional que eso supone. Lo siento, creo que tengo capacidad suficiente para decidir por mí mismo en qué lengua publico mis artículos, sin que me acusen de ser anti-español.

      Eliminar
    4. En su contestación obvia todo lo esencial que se trata y cuestiona, sin contestar ni razonar sobre absolutamente nada del fondo de la cuestión claramente planteado en mi comentario.

      Al respecto de su comentario sobre “anti-españolidad” se debe comenzar por reconocer que usted ha sido formado en España, en universidades estatales financiadas y mantenidas con el dinero de todos los españoles, que en nada se ven favorecidos con su actitud. Seguramente cuando se pide financiación para cualquier estudio o tema, e incluso el propio sueldo, se pide al país que le mantiene, protege y le ha dado la oportunidad de desarrollarse. Lo más lógico sería pedir todo ello al mundo anglosajón, que es el que realmente se beneficia con esas actitudes.

      Vamos a ver, ya que estamos en un blog pretendidamente científico y lógico:
      Tenemos:

      X1: acerbo cultural de M
      Y1: acerbo cultural de N

      Estado diferencial entre X1 e Y1: H1=X1-Y1
      W: acción de sujeto que incrementa M

      Luego: X2: X1+W (acerbo cultural final de M)

      Estado diferencial final: H2=X2-Y1=X1+W-Y1, y por tanto siempre H2>H1 incrementando o aminorando (según sea estatus inicial favorable o desfavorable) la diferencia cualitativa y cuantitativamente entre las dos culturas, siempre a favor de M.

      Por tanto el sujeto de acción W ha actuado en detrimento de la cultura N y por tanto es anti-N.

      Pongamos nombres:
      M: cultura anglosajona
      N: cultura española

      Conclusión: el sujeto de acción W actúa contra la cultura española y por tanto es anti-español, le guste o no, sea consciente de ello o no, lo que no es grave si no pertenece a dicha cultura pero gravísimo perteneciendo a ella.

      No es válido el argumento de que tal incremento favorece a todas las culturas, lo que es evidentemente falso; en el mejor de los casos sería indiferente para el conjunto pero perjudicial para la cultura individual preterida, que es lo que tratamos.

      De lo anterior también se deduce que si esa aportación es a la parte opuesta (N), por débil que en principio sea esta, con la aportación de los suficientes trabajos igualará o superará a la oponente.

      Desde el punto de vista del creyente tampoco tiene tal actitud justificación ninguna. En el mismo Decálogo (dado directamente por Dios), la Iglesia tiene como cuarto mandamiento: “Honrarás a tu padre y a tu madre”, el cual solo está por detrás de los tres primeros que se refieren a Dios pero delante de todo lo demás y por tanto de mayor importancia.
      ¿Qué nos dice tan importante mandamiento? En él se representan los padres, que tienen una cultura que les representa a ellos y a respetar (siendo el idioma la parte más representativa e importante), pero no solo eso, sino toda la estirpe que les ha generado, su Tradición, columna básica del pensamiento cristiano, todo eso es lo que hay que respetar y simbolizan nuestros padres. ¿Acaso lo respeta alguien que sitúa su herencia, cultura y estirpe por detrás de otra?

      Santo Tomás de Aquino y todos los padres de la Iglesia sitúan el defender la Patria (por tanto todo lo que representa) como un deber absoluto de toda persona y un gravísimo pecado mortal en caso de incumplimiento. ¿La defiende, protege y cuida alguien que actúa de espaldas a ella reforzando otra sociedad y cultura?

      Los hechos y razonamientos a que den lugar hay que llevarlos hasta su final, aunque el resultado no sea de nuestro agrado. Es así de evidente.

      Eliminar
    5. Como esta discusión no tiene nada que ver con el tema del artículo, y usted está recurriendo a acusaciones infundadas contra mí que bordean el insulto, le aviso que la doy por terminada y que borraré cualquier otro comentario con que intente continuarla.

      Eliminar
  3. Profesor, estamos discutiendo aquí y queremos hacerle una consulta: ¿por què construir robots tan complicado que resulta su manufactura? ¿No sería mejor crear replicantes a base de ADN mejorado o algo por el estilo? Es que acabamos de ver la última de Blade Runner y estamos en ese dilema. Saludos desde la Patagonia.

    ResponderEliminar
    Respuestas
    1. "Blade Runner" es una película de ciencia-ficción. Afortunadamente, el futuro que presenta no es factible ahora ni lo será en mucho tiempo, si es que alguna vez lo es. Hasta el momento sólo se ha construido el genoma sintético de una de las bacterias más pequeñas (Micoplasma) y un cromosoma de una levadura. Figúrese lo que falta para sintetizar los 46 cromosomas del hombre.

      Por otra parte, la tesis de la película (que se puede distinguir a los "replicantes" de los humanos mediante un simple test psicotécnico) es probablemente absurda. Los hipotéticos "replicantes" (con ADN humano sintético) serían, si fuera posible construirlos, tan humanos como nosotros.

      Finalmente, el coste de construir un ser humano con ADN sintético sería muchísimo mayor que el de construir un robot.

      Eliminar
    2. Gracias por la respuesta. Nos queda claro que hay que seguir con los robots. No teníamos idea de los detalles científicos de Blade Runner. ¿Escribió algo sobre el tema? miraré más en detalle su tan interesante blog. Saludos cordiales desde el fin del mundo aunque para nosotros el mundo comienza aquí.

      Eliminar
    3. Es curioso, en el artículo que publicaré dentro de dos jueves se menciona "Blade Runner", aunque no entro en detalle. Tomo nota de su sugerencia para algún artículo futuro.

      Eliminar