lenguaje-programacion

lenguaje-programacion

Tecnología

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:00

Noticias relacionadas

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.

programacion probabilistica

programacion probabilistica

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.