A partir de las 128 cosas que van a desaparecer cuando los coches no necesiten conductores,  que parte de  este artículo en inglés, se me ha ocurrido una idea muy friki: las leyes de tráfico podrían estar implementadas en código. ...continúa leyendo "código de circulación"

3

Los periodistas deportivos suelen construir historias basadas en datos estadísticos. Es atractivo construir narrativas épicas que expliquen los datos, aunque luego no sean fieles a lo que realmente dicen esos datos. Kiko Llaneras tiene una serie de artículos relacionados con este tema muy buenos: cartera vs carteracanteras de barça y madridnarrativas infundadas.

Supongo que en parte se debe a que nuestro cerebro no está acostumbrado a hacer cálculos estadísticos complejos. En el libro de Nassim Taleb ¿Existe la suerte? se explica esta idea aplicada al campo de las finanzas: nuestro cerebro no calcula bien las probabilidades y suele tomar "atajos" para realizar cálculos de probabiidades.

Por otro lado, hace tiempo que pienso que introduciendo aleatoriedad por medio de probabilidades, se podría romper la frialdad asociada a los ordenadores y se podrían construir programas menos predecibles, más humanos. Incluso escribí un artículo sobre la posibilidad de usar redes bayesianas para la generación de textos de horóscopos y predicciones del futuro.

Y hace poco me encontré con un artículo de O'Reilly sobre narrativas deportivas generadas por ordenador hablando sobre una empresa, automated insights, que se dedica a unificar estas dos ideas, la aplicación de la inteligencia artificial para la generación de narrativas deportivas. A partir de unos datos, nos cuentan una historia para que los datos no se presenten tan fríos. Así que inspirado en el proceso que usamos los humanos para construir narrativas en los deportes, los ordenadores están empezando a contarnos historias analizando el contenido de grandes bases de datos.

4HC4Y6QJXBGX

7

El siguiente artículo está escrito por AOM, autor de sinapsis, un blog que seguro os parece tan interesante como a mí desde que lo descubrí hace poco:

La simulación del cerebro avanza de forma parcial. Hay múltiples aspectos que no se tiene en cuenta. Uno de ellos es el de una realidad virtual en la que enmarcar la simulación.
Existen dos modelos de simulación neuronal: las neuronas compartimentales y las neuronas Integrate & Fire. El primero usa neuronas con toda su complejidad espacial y todos los compartimentos dendríticos y axonales. Es muy exigente computacionalmente. Se usan en el proyecto Blue Brain. El segundo modelo sólo tiene en cuenta el peso de los inputs, los integra y se dispara o no. Es el modelo usado en la mayoría de las simulaciones como la realizada por IBM. En el proyecto Blue Brain se modelizan hasta 10.000 neuronas. En el de IBM hasta 100.000.000 neuronas, equivalentes al cerebro de un gato. El cerebro humano contiene 100.000.000.000 neuronas. Otros muchos proyectos de simulación están en marcha.
El objetivo de estudiar los sistemas nerviosos de los seres vivos es conocer su conducta. De poco nos sirve conocer la organización del sistema nervioso de un ratón o su bioquímica si eso no se traduce en comportamiento: sufre, corre mucho, está apático... Por ello, el objetivo de una simulación debe ser la simulación de la conducta.
Tomemos el "gato" de IBM. El superordenador usado es capaz de simular la enorme cantidad de neuronas equivalentes al cerebro de un gato. Pero NO SIMULA EL CEREBRO DE UN GATO. Está muy lejos de ello. Para hacerlo, necesitamos conocer cómo funciona su cerebro, algo para lo que quedan años o décadas. Necesitamos saber cómo están conectadas las neuronas. El proyecto conectoma nos ayudará a saberlo. Cualquier conocedor de electrónica básica sabe que el modo de conexión de los componentes es tan importante como los componentes en sí. Como dice el director del proyecto: " el gato no caza ratones". Entonces ¿qué estamos haciendo?
Un punto adicional de no poca importancia es el siguiente: supongamos que conocemos el cerebro de un gato lo suficiente para simularlo. ¿Dónde están los ratones? Es decir, necesitamos un entorno de realidad virtual en la que podamos probar las reacciones del gato. En esto también estamos en mantillas.
¿Sería posible simular el entorno completo de un animal?
El gusano C. elegans es un conocido animal de experimentación del que conocemos su genoma. También sus 302 neuronas. No sólo eso, conocemos todas las 6418 sinapsis que posee, es decir, el detalle exacto de su conectividad así como los músculos que inervan. ¿Por qué no intentarlo con él? Se ha intentado, pero los datos arrojados por los buscadores no suenan muy prometedores. Intentos antiguos y parciales (movimiento de la cabeza, reacción al calor) Para conseguir una correcta simulación sería necesario también simular su mundo. Crear un mundo de realidad virtual del gusano, meterlo en ese mundo y probar sus reacciones. ¿Escapa del calor o del ruido? ¿Se ve atraído por el olor a comida?
Me pregunto si con tanto mundo de realidad virtual creado y con tanto videojuego tendremos los conocimientos para crear un pequeño mundo a la medida de Caenorhabditis elegans.

1

Hace unos meses (aunque yo me he enterado por el radar de O'Reilly hace unos días y en sinapsis tienen un artículo muy completo), IBM presentó a Watson, un sistema de procesamiento de lenguaje natural pensado para participar en el concurso de preguntas y respuestas Jeopardy! Al igual que con la victoria de Deep Blue en ajedrez, IBM busca superar un reto en el que vencer a los humanos en tareas inalcanzables (por ahora) para los ordenadores. El video es muy bueno:

Algunas ideas que se me ocurren sobre Watson:

  • Procesa lenguaje natural escrito: No sólo procesa el lenguaje de manera estadística o semántica, sino que un concurso cómo Jeopardy! requiere que Watson sea capaz de comprender juegos de palabras, información omitida, dobles sentidos... Lenguaje en la forma más humana (e incomprensible para las máquinas actuales).
  • Agrupa múltiples paradigmas/tecnologías: Creo que alguna vez lo he comentado, mi opinión es que no se puede utilizar un sólo enfoque para crear un sistema de inteligencia artificial, a menos que esté dedicado a un problema muy concreto. En este caso, Watson integra las tecnologías de procesamiento de lenguaje natural, recuperación de información, representación del conocimiento y aprendizaje automático.
  • Utiliza varios algoritmos simultáneamente: no sólo agrupa varias tecnologías, sino que para hacer búsquedas utiliza varios algoritmos de búsqueda de información y los integra para calcular un valor de confianza en la respuesta. Si con el algoritmo X cálcula que una respuesta tiene un 50% de ser cierta y el algoritmo Y corrobora la respuesta, entonces la confianza en la respuesta aumenta.
  • Cálculo de confianza: Es el algoritmo fundamental de éste sistema. Tiene pinta de estar basado en cálculos probabilísticos complejos, diría que es donde más han trabajado y dónde los algoritmos de aprendizaje tienen más margen para funcionar. El hecho de que sea estadístico es también muy importante: demuestra que no es necesario que un ordenador tenga un pensamiento binario y le aporta cierta capacidad de fallo "discontinuo" más parecido al razonamiento humano.
  • Tiene problemas con las frases de doble sentido: es lógico que sea así, es la parte que peor procesa un ordenador. Cómo se ven en el video,  lo peor no es que se equivoque en la respuesta sino que se equivoque en el sentido de la respuesta: que le pregunten por una persona y conteste con el título de una película.
  • Test de Turing: es capaz de engañar a las personas. En muchos sitios los comentarios eran exagerados, cómo si Watson fuese capaz de mantener una conversación en lenguaje natural. Aunque el presentador lee la pregunta, a Watson le llega por escrito. Por otra parte es sorprendente el efecto sobre los concursantes humanos, se sienten amenzados (Humans! grita un concursante) y despierta un orgullo de defensa de la humanidad (cómo si Watson no fuese una creación humana que se apaga desconectando un botón).
  • Test de Turing(2): Si no está seguro de una respuesta, no contesta. En este caso se trata de una estrategia para ganar el juego, pero también supone una imitación del comportamiento humano. Es el tema del artículo de Mike Loukides, que el Test de Turing no consiste en demostrar que una máquina es inteligente sino que es inteligente en el sentido humano, incluyendo sus fallos. Por ahora no es así, cómo demuestra el tipo de errores que Watson comete. No son los fallos que comete una persona.
  • Utiliza uima de apache: una arquitectura open source para el procesamiento de información no estructurada. Aunque no vayan a liberar el código fuente, es importante que se utilicen plataformas open source, garantiza que al menos una parte del trabajo se compartirá.
(por ahora)

1

He rescatado un artículo de cuando estaba más interesado en la robótica móvil: una descripción de la lógica para la detección de estasis encontrado en robots.net. La detección de estasis consiste en añadir sensores a un robot móvil para que pueda detectar cuando se ha queda bloqueado o varado y es incapaz de desplazarse, aunque pueda mover las ruedas (o patas).

Por muchos sensores que tenga un robot para detectar obstáculos, al final siempre puede quedar atrapado de alguna forma inseperada: bancos de arena, obstáculos inesperados, esquinas de muebles, etc. Con un sensor de estasis, el robot puede tomar alguna medida paliativa (parar las ruedas para no gastar batería) o de emergencia (empujar de golpe para salir de la trampa).

Éste artículo me ha recordado el caso más famoso de robot en estasis, Spirit uno de los robots de la Nasa en Marte, que tras varios años de funcionamiento, se ha quedado varado sin poder moverse. Mark Tilden en el prólogo de Junkbots, describe el problema tal y cómo suele aparecer en la práctica: después de días desarrollando algoritmos de inteligencia artificial, calculando trayectorias óptimas y realizando mapas para conseguir un robot que limpie una habitación, llegas a casa y descubres que se ha quedado bloqueado con un calcetín.