-->

¿Cuántos ordenadores hacen falta para identificar a un gato?

16.000.

Si ya estáis satisfechos, podéis dejar de leer el artículo. De lo contrario, en las siguientes líneas explicaré brevemente la cifra.




En 2012 el New York Times con el llamativo título de 'How Many Computers to Identify a Cat? 16,000', y describe un experimento llevado a cabo por Google, y que tuvo mucho bombo en los medios de comunicación. 

El experimento representa un hito importante por dos motivos principalmente. En primer lugar, es un experimento en gran escala (no os imagináis el problema que es la escalabilidad de estos algoritmos. No voy a entrar ahora en ello). En segundo lugar, se detectaron gatos sin que nadie etiquetara previamente miles de imágenes que contenían gatos. A ver si me explico:

Podéis llegar a tener miles de personas semi-esclavas etiquetando las fotos en las que aparecen gatos, lo que se conoce como data-turks. Consiste en ver millones de imágenes y señalar las fotos que tienen a estos felinos. 

Pero Google no lo hizo así, sino que se valió de 10 millones de vídeos de YouTube, los dividió en millones de fotogramas distintos, y sin que nadie más dijera nada más, supo identificar a los lindos gatitos. Para ello, invirtió 3 días. ¿Cómo es esto? Realmente, Google no sabe que un gato es un gato, pero sí que llegó a clasificar fotos. Es decir, supo distinguir unas formas, colores, ojos, volúmenes que se parecían entre sí, y que eran diferentes a las formas, colores, ojos, volúmenes de una mesa, o un coche, o una persona. Posteriormente, una persona puso un nombre a cada clasificación. Fotos clasificadas como 'gatos', como 'coches', como 'personas', etc.

El artículo original publicado por Google explicando su investigación está aquí.

Por todo esto, basta con ver cómo se comporta, cómo aprende y cómo relaciona conceptos un bebé de 6 meses, y no digamos ya 3 años, para ver que el nivel de el aprendizaje artificial está aún a años luz de una criatura humana. Y eso a mí me resulta fascinante.

La Drosophila del razonamiento

Este artículo se publicó originalmente el 22 de febrero en la Revista Dyna, publicación de investigación en ingeniería:




Las partidas de ajedrez contra la inteligencia artificial se están convirtiendo en una unidad de medida popular. Como la unidad de 'campos de fútbol' al hablar de superficie quemada en un bosque. El hecho de que un algoritmo venza a un Gran Maestro en este juego de mesa parece que sea un sinónimo del peligro de las máquinas para la sociedad o el advenimiento de Skynet.

Sin embargo, no hay nada más lejos de la realidad. Si la inteligencia artificial se enfrenta a humanos en juegos como el ajedrez, o el Go, es por tratarse de unas actividades perfectamente acotadas por unas reglas. Y no nos engañemos, era cuestión de tiempo que la inteligencia artificial venciese por su mayor poder de computación y falta de cansancio.

Me resulta curioso constatar que el ajedrez siempre ha sido considerado desde hace mucho como una actividad de demostración de poderío intelectual. Mucho antes que los soviéticos, en 1770 el inventor húngaro Wolfgang von Kempelen, creó un artefacto que 'jugaba' al ajedrez. Lo llamaron The Turk y más que una máquina, se convirtió en un fenómeno del espectáculo. The Turk viajó por toda la geografía durante más de 80 años retando al público a jugar una partida. Y su primera actuación no fue en una plaza menor, sino que debutó en la Corte de los Habsburgo en Viena. De hecho, jugó contra grandes figuras históricas, como Napoleón, Benjamin Franklin e incluso pudo inspirar a Charles Babbage para su Máquina Analítica. Sin embargo, no era más que un truco de ilusionista. A pesar de la apariencia de 'robot' primitivo que se puede ver en la siguiente imagen, el ingenio escondía a una pequeña persona, muy habilidosa en este juego, que era el que realizaba todo el trabajo de intelecto.





The Turk (Wikipedia)





Mucho más honesto y posterior fue el intento de uno de los más grandes inventores españoles: el Ajedrecista, de Leonardo Torres Quevedo. En su ingenio no cabía la prestidigitación de The Turk, pero en cambio, no era capaz de desarrollar una partida completa. El Ajedrecista controlaba mecánicamente un rey y una torre que jugaba contra un rey, manejado por el humano. El desenlace de este planteamiento era irremediable hacia el jaque mate o las tablas, por lo que la máquina de Torres Quevedo ganaba siempre. A pesar de eso, causó una gran sensación en 1914 cuando se presentó en París.

El Ajedrecista (El País)



No me puedo imaginar las sensaciones de frustración y asombro de los participantes en estas partidas contra ‘la máquina’, tanto The Turk como El Ajedrecista. Tal era el engaño y aplomo de la máquina de Kempelen que, en su partida contra Napoleón, éste realizó un movimiento ilegal para intentar engañar a la máquina, y The Turk reaccionó tirando todas las piezas fuera del tablero. Ese gesto contra uno de los hombres más poderosos de la época, demuestra que el truco estaba muy logrado y que su inventor tenía toda la confianza del mundo en sí mismo.


El ejemplo más cercano a los famosos algoritmos actuales, como Deep Blue o AlphaZero, lo tenemos que buscar en 1948, cuando Alan Turing y David Champernowne desarrollaron el programa conocido como Turochamp. Pero lo más increíble es que lo desarrollaron antes de que se inventara el ordenador. Las reglas de este sistema se basan en otorgar un valor concreto a cada pieza del tablero, a la posibilidad de que el rey sea atacado, a la movilidad y a la posibilidad de hacer jaque. Constituye la primera idea de inteligencia artificial capaz de enfrentarse a un humano en este juego de mesa. La primera partida de su historia fue contra la mujer de Champernowne, y ganó. La segunda fue contra Alick Glennie, y la perdió. Pero esta segunda hazaña quedó registrada para siempre en el artículo científico Digital Computers applied to Games, del propio Turing


El ajedrez. Quizás la Drosophila del razonamiento [1].


BIBLIOGRAFIA

[1]  Ed Sandifer. How Euler did it. The cannonballs http://eulerarchive.maa.org/hedi/HEDI-2006-12.pdf

Los robots de Boston Dynamics: ¿el Skynet está cerca?

En los últimos días, circula por Internet un GIF demostrando la evolución de los famosos robots de Boston Dynamics en los últimos 10 años.


via Gfycat


Aunque hay otra versión del mismo GIF, más apocalíptica.

No será la intención de este humilde divulgador infravalorar los avances de Boston Robotics, pero sí la de valorar las cosa en su justa medida: los famosos vídeos de esta empresa norteamericana no son presentaciones técnicas, sino comerciales. Los vídeos que finalmente publican en su canal de YouTube no salen a la primera, no se ven los numerosos fallos que seguro que tienen los robots, y todos los obstáculos están planeados.

Los tweets que acompañaban a los vídeos que he adjuntado aquí daban a entender que en 10 años la progresión de Boston Dynamics iba a ser la misma, o incluso más alta. Pero no hay ninguna base técnica para afirmar que eso vaya a ser posible, y lo siento mucho por los amantes de ciencia-ficción. Además, la transición del punto de tecnología actual de Boston Dynamics al punto de tecnología de Terminator es como ir de la Tierra a Júpiter. Y ese es un punto que hay que tener claro: esos robots no son inteligentes. Simplemente reaccionan ante obstáculos y estímulos que detectan, probablemente, por sensores de distancia o visión artificial. Pero los robots no tienen ni una pizca de conciencia.

Precisamente una de las principales críticas que hacemos a esta empresa es que en sus presentaciones no explica el software ni las novedades técnicas que permiten lograr los ingenios que logran. Una mayor transparencia ayudaría a hacerse una idea de dónde podrían estar en un par de años.

Esta empresa fue adquirida por Google en 2013 y vendida tres años más tarde. Hay algún conspiranoíco al respecto, que piensa que Google ya habrá absorbido todo el conocimiento de esta empresa y la vende cuando no le aportaba más. Sin embargo, oh, qué sorpresa, según llegó a mis oídos, no había nada de eso, sino razones mucho más prosaicas, que consistían en que Google y BD no se entendían nada bien. Y ahora la emrpesa de robots es propiedad de Softbank, un gigante de inversión japonés.

A mí particularmente, una de las cosas que más me llama la atención y me mosquea, es el tobillo de los robots. Esta articulación de los animales y de los humanos es algo asombroso, ya que le permite andar por multitud de terrenos y de desniveles. Es como si tuviéramos un circuito de control interno que sabe exactamente cuánta fuerza tenemos que hacer en la arena para no caernos, en la nieve, o en la carretera. Pero de eso disertaré en alguna entrada futura de esta bitácora.

No me quiero marchar sin dejaros un vídeo ejemplo de los fallos habituales que aún hacen robots que han costado miles de dólares, e incluso estando financiados por DARPA.








Fuentes:
What's really going on in this Boston Dynamics robot videos?

Boston Dynamics' robots — impressive, but far from the Terminator

Taller de Inteligencia Artificial para estudiantes de bachillerato

La pasada semana tuve el honor de llevar a cabo una actividad que me dio muchas satisfacciones. Concretamente, después de más de un año de trabajo, organicé un pequeño taller de inteligencia artificial para alumnos de bachillerato en un colegio de mi querida San Sebastián. La motivación principal para realizarlo es que creemos que actualmente no hay apenas propuestas para enseñar las matemáticas de la inteligencia artificial a estudiantes jóvenes. Sí que hay multitud de talleres que enseñan robótica con Arduino o Raspberry. Pero no hay ninguno que explique que detrás de la inteligencia artificial hay matemáticas muy sencillas. Por lo tanto, a partir de esta idea creamos una propuesta de taller. Este artículo pretende describir en qué consistió esta actividad y su propósito:

La premisa más importante es conocer los objetivos del taller. Para nosotros, la intención no era enseñar inteligencia artificial, sino desmitificar esta disciplina y hacer conscientes a los alumnos de las matemáticas simples que hay tras ellas. Tener esto en cuenta es muy importante.

Además, el taller se basaba en ejercicios realizados con el lenguaje de programación Scratch. Este lenguaje, para quien no lo conozca, es un entorno de programación gráfico que permite realizar pequeños algoritmos y tareas arrastrando bloques de colores, eligiendo variables de una manera muy visual, etc. Es un tipo de herramienta muy útil para iniciar a los alumnos en nociones básicas de programación, y soy conocedor de varios colegios de la región que lo usan con estudiantes a partir de 13 años.

Pero volvamos al taller. La actividad completa duró una hora y el tiempo se repartió de la siguiente manera:

En los 15 primeros minutos de actividad, se impartieron los siguientes conceptos de una manera muy sintética:
              - Introducción a la inteligencia artificial
              - En qué consiste el algoritmo de clusterización K-means
              -  Cómo funciona una red neuronal

Posteriormente, los chavales tuvieron 45 minutos para realizar dos ejercicios y poner en práctica las nociones básicas que se les había impartido hace unos minutos. La metodología de esta parte práctica se implementó de la siguiente manera: los alumnos trabajaron en parejas, y tenían a su disposición el archivo de un algoritmo de inteligencia artificial implementado en Scratch. En este archivo estaba implementado casi todo el código necesario, salvo un par de huecos que tenían que rellenar para que todo el programa se ejecutase correctamente. Para que fuera un poco más fácil, en una esquina de la zona de trabajo de Scratch, los alumnos tenían las piezas de código que había que encajar en los huecos, pero desordenadas. Una vez que completaban el código, los estudiantes podían comprobar si habían acertado o no ejecutándolo en el mismo Scratch.

A los estudiantes se les asignó dos problemas, uno detrás de otro:

1) El algoritmo de clusterización K-means, donde tenían que conseguir clasificar una nube de puntos en tantos clusters como quisieran. Los clusters estaban definidos por 'puntos gordos' de colores, y la clasificación consistía en pintar los puntitos según el color del 'punto gordo' más cercano que tuvieran.

2) Posteriormente se asignó una red neuronal muy sencilla (dos entradas y una salida), entrenada con los datos de entrada y salida de una puerta lógica AND. Para cada ejercicio disponían de 20 minutos como máximo.

A continuación incluyo algunas imágenes representativas de estos problemas:





Parece sencillo, ¿no? Ahora vienen los resultados: para nosotros el taller fue un éxito, ya que todas las parejas de alumnos completaron los ejercicios antes del tiempo asignado, y tenían la sensación de haber entendido el ejercicio y el algoritmo.

Para comprobar esta comprensión, los estudiantes tuvieron que completar un test de preguntas antes y después del taller. En esta prueba, nosotros, como investigadores, queríamos comprobar el grado de alcance de consecución de los objetivos que nos habíamos marcado. Y la buena noticia es que estamos muy contentos con los resultados que obtuvimos. Por ejemplo, una de las preguntas planteadas era:

El nivel de conocimientos matemáticos y técnicos requeridos para entender la inteligencia artificial está fuera del alcance de la mayoría de la población.

Con la puntuación de una escala Lickert (1 a 5, 1: totalmente desacuerdo; 5: totalmente de acuerdo) tuvimos diferencias muy significativas en las respuestas antes y después del taller, lo cual demuestra que la metodología que empleamos es bastante acertada para conseguir este objetivo.

Tal y como prometí en Twitter, he dejado colgados en un repositorio abierto los archivos de Scratch completos utilizados en el taller. Aunque aún no aparezca, estarán bajo una licencia GNU GPLv3. Porque el conocimiento debe ser libre.

La metodología del taller está registrada en el archivo de propiedad intelectual. Finalmente, mi grupo de I+D y yo hemos publicado tres artículos explicando el taller: dos trabajos para dos congresos internacionales y un artículo científico en Arxiv titulado Using Scratch to Teach Undergraduate Students' Skills on Artificial Intelligence donde explicamos el estado del arte y motivaciones para realizar el taller de inteligencia artificial. Ojo, que en este caso, el taller que explicamos en Arxiv no es exactamente el mismo que he descrito en este artículo de blog. Ese aún está en el horno :-).

El taller de inteligencia artificial sigue creciendo y ya estamos planteando nuevos ejercicios para entender cómo funciona un ordenador o un robot para escapar de un laberinto, o conocer el camino más corto en un circuito.


¿Os gusta la idea? ¿Os parece que habría que mejorar algo? Si os interesa algo de todo esto, no dudéis en hacerlo en los comentarios del artículo o a través del email ideasecundaria@yahoo.es.

Los bancos tienen derecho a evaluarte, y tú, a pedir explicaciones

Desde hace tiempo creo que los debates sobre inteligencia artificial no llegan al público general. Hay muchas razones para ello, pero la fundamental será que probablemente no sepamos enfocar bien la importancia de esta disciplina, ni explicar bien en qué consiste. Por ende, la gente ve lejana su aplicación en sistemas reales que afecten a nuestras vidas.

Sin embargo, la entrada de hoy pretende demostrar que sí, ya hace un tiempo que nos está afectando. ¿En qué? En que ahora, ya no tienes que convencer a tu director del banco de que te mereces un préstamo, sino que tienes que convencer al algoritmo. Y esta afirmación no es mía, sino que es ni más ni menos, que del BBVA, uno de los principales bancos de España y Europa.


Esta imagen se puede ver en esta web del banco, a fecha de redacción del artículo

No lo he visto anunciado de esta manera en más bancos, pero supongo que será una cuestión de invertir más tiempo. Volviendo a la citada web de este banco, en ella se cita qué empresas de IA usan para decidir sobre la concesión de tu préstamo o no. En este caso, son Earnest, Zestfinance, Affirm y Upstart.

Según he leído, las sucursales no evalúan a sus clientes a la hora de solicitar un préstamo, sino que los clientes están permanente evaluados. Es lo que se llama el credit scoring. En otras palabras, el banco internamente maneja cómo de buen cliente eres para ellos desde el minuto 0. 

No obstante, no he logrado encontrar en ningún artículo científico ni en ningún sitio el algoritmo que siguen estas empresas para evaluarte con una nota numérica. Obviamente, se me ocurren cosas de sentido común, como si soy un buen pagador, si ingreso mi nómina en ese banco, de cuánto es esa nómina, si tengo otros productos, etc. Pero luego, si preguntamos un poco más, hay demasiadas lagunas: ¿cuánto importa cada una de las variables (nómina, otros productos)? ¿importa cuántas veces consulto el saldo? ¿importa que detecten que viajo mucho? ¿si detectan que tengo facturas de juegos de azar, es automático denegarme el crédito para mi algoritmo, a pesar de que mi nómina sea de 5 cifras?

Todas estas son preguntas que no se pueden resolver hasta que no se hagan públicos los algoritmos según los cuales nuestro banco nos ponen nota. Por ejemplo, aquí de nuevo el BBVA explica qué es el scoring, pero no cómo lo calculan ellos. Y es llamativa la frase con la que cierran el artículo: 'Y estáte seguro: estás escorinizado'.

Creo que un préstamo sobre nuestra vivienda, coche o emprendimiento de negocio ya es un algoritmo real que nos afecta de lleno en nuestra vida, y sobre el que no sé cómo de conscientes somos.


Querido lector, fíjate otra vez en la imagen que he colgado, por favor. En mi opinión, lo preocupante de este tipo de mensajes es la frivolidad con la que se anuncia, como si el banco escurriera el bulto respecto a la decisión sobre tu préstamo. Es decir, 'tú, cliente, me has pedido un préstamo, no te lo doy, pero no es culpa mía, sino que es de un algoritmo que no es de mi empresa y por lo tanto no tengo ni idea. Solo lo dice la máquina'.

Pues querido cliente, SÍ que tenemos derecho a pedir transparencia respecto a estas decisiones, tanto en Europa como en América. Vayamos primero por el Viejo Continente: el célebre reglamente de protección de datos GDPR que aprobó la UE, establece en su artículo 22 que como ciudadanos europeos tenemos derecho a cualquier algoritmo que decida sobre nosotros con inteligencia artificial, incluso si ese algoritmo está en posesión de una empresa no europea (dediqué una entrada a este artículo).

En el caso de Estados Unidos, tienen el Equal Credit Opportunity Act, una ley redactada en 1974 que da el poder a los ciudadanos de conocer los motivos de la concesión/denegación del crédito.

Es importante defender como ciudadanos este tipo de derechos, de lo contrario, cada vez estaremos más a merced de los bancos. Además, el mayor enemigo de este tipo de empresas hoy en día, son las empresas tecnológicas. PayPal, Google, Amazon, Facebook... están dando pasos para operar como entidades crediticias a escala global, y probablemente ellos tienen muchos más datos sobre nosotros que nuestros bancos. ¿Os imagináis que 'el algoritmo' dictamine que Google no os conceda el crédito porque ha detectado que escribís muchas veces en el email 'pelotazo'? Si lo hace, tenemos derecho a saberlo.

Ayer hablaba con Ekaitz Zarraga sobre inteligencias artificiales. Él afirmaba que el mundo tiene que ser mucho más sencillo para que pueda estar dominado por un algoritmo como AlphaZero, y que hacer el mundo más simple, es más rápido que diseñar una inteligencia artificial al estilo Terminator. El hecho de externalizar las decisiones sobre nuestros préstamos bancarios me parece una bonita metáfora de simplificar este mundo.

Reseña de Daemon, de Daniel Suárez

Los libros que publico por este rincón de la blogosfera acostumbran a ser de divulgación (Civilización, El Ojo desnudo, o The Rise of the Robots, entre otros). En cambio, la obra de hoy, Daemon, es de ciencia-ficción y la traigo a colación debido al planteamiento y argumento sorprendente que tiene, por lo menos para mí.

La obra me la recomendó @eztabai, y plantea un escenario en el que una inteligencia artificial se cuela en cualquier sistema electrónico que podáis imaginaros en una ciudad, y hace y deshace a voluntad. A ese sistema se le denomina Daemon. Además, la idea tiene aún una vuelta de tuerca, y es que esa entidad inteligente es la mente de una persona ya fallecida. Cualquier acción o palabra durante el libro se le atribuye a esta persona, por lo tanto.

El libro no es una reflexión sesuda sobre ciencia ni inteligencia artificial, sino que narra los acontecimientos de una manera bastante rápida y dejando un montón de cabos sueltos. Y es que esta obra está inacadaba y tiene una segunda parte que imagino que resolverá todos los misterios (aunque aún no me la ha leído). En resumen, es una ampliación al planteamiento de la película I, robot, que me ha sorprendido mucho. 

El estilo es bastante ágil, aunque para mí el autor se detiene demasiado en descripciones, y la cadena de acontecimientos rápidos no siempre se puede seguir muy bien. Además, que el libro anticipase claramente que va a tener una segunda parte no es que sea de mi gusto. Pero para ídem, los colores.




Podéis encontrar la sinopsis de esta obra en la web oficial del autor.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting