Programación probabilística para conseguir en 50 líneas de código lo mismo que en miles
La programación probabilística puede conseguir que tengamos que escribir menos código y depender más de una Inteligencia Artificial.
14 abril, 2015 20:00Noticias relacionadas
- Airbus presenta un avión con las alas de un ave de presa, ¿el futuro de la aviación?
- Descubren cómo guardar datos en la música que escuchamos
- Los coches conectados no usarán WiFi: los países europeos votan en contra como quería España
- ISIS destruyó una estatua milenaria. Ahora Google la ha recuperado con impresión 3D
Estamos a las puertas de que una manera diferente de crear programas, la programación probabilística, consiga ser viable, o al menos eso creen unos investigadores.
Ya hemos hablado anteriormente del aprendizaje automático, cuando un sistema informático “aprende” en vez de necesitar ser programado para cada tarea.
Por ejemplo, Google es la compañía más famosa que apuesta por este sector, para identificar los sujetos y objetos de una fotografía; en vez de escribir código que defina lo que es un “perro”, es mejor que la Inteligencia Artificial aprenda en base de varias fotografías con perros.
¿Y si aplicásemos el concepto del aprendizaje automático a la programación? Podríamos ahorrarnos tener que escribir miles de líneas de código para conseguir programas complejos.
Cómo la programación probabilística puede crear modelos 3D de imágenes
Ese es el objetivo de unos investigadores del MIT, que demostrará esta idea con un programa que pasa imágenes en dos dimensiones de caras de personas a modelos tridimensionales. En vez de escribir complicados algoritmos dependiendo de la cara, el código probabilístico sólo define de manera muy vaga algunos de los elementos comunes.
Por ejemplo, define los ojos como dos objetos distribuidos de manera simétrica, con dos objetos centrales debajo, la nariz y la boca; suena simple pero la idea es que con esa información y algunos ejemplos de imágenes 2D convertidas a modelos 3D el sistema pueda aprender y hacerlo sin necesidad de nada más. En la imagen, la fila intermedia es el resultado conseguido con este programa y la fila inferior lo que se podía conseguir antes.
En realidad esta conversión no es tan complicada, o al menos no en teoría; sólo es “el reverso” de lo que se hace actualmente cuando se renderizan imágenes tridimensionales, como por ejemplo en un videojuego o una película de Pixar, y se tienen en cuenta aspectos como la iluminación que se refleja en los objetos virtuales.
Todo apunta a que veremos el concepto de la programación probabilística y el aprendizaje automático aplicado a más sectores de la programación, aunque eso no significa que el trabajo de programador no tenga futuro; más bien al contrario, ya que desarrollar este tipo de Inteligencias Artificiales no será sencillo.