Investigadores de la Facultad de Ciencias Experimentales de la Universidad de Almería desarrollan un lenguaje de programación probabilística que facilita el desarrollo de las máquinas inteligentes y populariza esta tecnología de última generación.
Un proverbio chino dice que si regalas un pescado a un hombre le darás alimento para un día, pero si le enseñas a pescar lo alimentarás para el resto de su vida.
Esta frase ha sido recurrente a lo largo de la historia, como una manera de mostrar lo importante que resulta aprender a resolver tareas o problemas. Y ahora se aplica al mundo de la informática, gracias a un nuevo paradigma de programación, que está dejando antiguos los postulados utilizados hasta la fecha.
Programación probabilística y aprendizaje autónomo
Se trata de la programación probabilística, base de lo que se conoce como aprendizaje autónomo o machine learning, y en el que la Facultad de Ciencias Experimentales de la Universidad de Almería (UAL) se está abriendo paso, gracias a proyectos nacionales e internacionales, en los que se aplican conocimientos del mundo de la estadística al desarrollo de lenguajes de programación.
El nuevo paradigma de programación ha llegado para resolver tareas en las que está presente la incertidumbre. Y representa una forma totalmente diferente de entender un ordenador. De manera que pasa de ser un instrumento que recibe órdenes y las ejecuta, a convertirse en una máquina capaz de generar sus propias reglas a partir de la experiencia.
Aquí entran en juego conceptos que superan al mundo de las matemáticas e informática, y entran en postulados cercanos a los de la filosofía y a las teorías del aprendizaje. Con formas de resolución de problemas diferentes, más cercanas a las de los seres humanos, con máquinas inteligentes, capaces de aprender y de crear sus propias reglas.
Máquinas inteligentes
Se abren las puertas a una informática y una electrónica nuevas, con máquinas dotadas de una capacidad de aprendizaje reservada hasta ahora a los seres humanos. Que multiplicará la presencia de dispositivos tecnológicos en nuestra vida diaria, ya que se trata de una tecnología que facilitará tareas de todo tipo, desde las más complejas y especializadas, hasta las más banales.
Este nuevo paradigma de programación, explica el investigador de la Facultad de Ciencias Experimentales de la UAL, Andrés Masegosa, da un paso más con respecto a la resolución de problemas en informática clásica.
Hasta ahora, los ordenadores funcionaban muy bien en tareas automáticas, donde la incertidumbre era muy reducida o, directamente, no existía.
Estamos hablando de funciones mecánicas como extraer los datos personales e introducirlos en una base de datos, para obtener respuestas a preguntas muy concretas.
Machine learning
“El paradigma clásico ha sido muy útil, por ejemplo, en tareas del tipo cógeme el dni, me lo guardas en tal campo de la base de datos y me extraes la dirección asociada a este dni o me extraes a todas las personas con un determinado nombre…”, aclara Andrés Masegosa.
Una forma de trabajar que no funciona en la etapa actual, marcada por el aprendizaje automático o machine learning.
En esta nueva etapa de la informática ya no se programa una máquina para una tarea específica, sino que se le proporcionan un conjunto de ejemplos de la realidad a analizar, para que sea capaz de extraer las reglas o de construir el programa que resuelve la tarea a la que se enfrenta.
La máquina aprende de su experiencia
Andrés Masegosa pone como ejemplo el caso de una máquina que tenga que reconocer niños en una serie de fotografías. En el paradigma clásico, lo que se hace es analizar la imagen y proporcionarle al ordenador las características propias de los niños para que los reconozca en las fotografías: estatura, forma de la cara, tipo de ropa… Sin embargo, en la informática probabilística se le darían un conjunto de imágenes de niños, para que aprendiera las características que los definen. Es decir, aprendería igual que lo hacemos los seres humanos.
Y aquí es donde intervienen los investigadores de la Facultad de Ciencias Experimentales almeriense, en el desarrollo de un algoritmo que, en vez de resolver la tarea, será capaz de generar un nuevo programa con el que solucionará las cuestiones concretas que se le soliciten.
Estos investigadores trabajan en un modelo de aprendizaje automático basado en la teoría de la probabilidad, y más concretamente, la estadística bayesiana. Un lenguaje adecuado para “manejar la incertidumbre” a la que se enfrentan las máquinas.
Estadística bayesiana
Con la teoría de la probabilidad están dando lugar a un lenguaje de programación avanzado y que da respuesta a los problemas que suele plantear el aprendizaje automático.
“La cuestión es que la máquina sea capaz de actualizar el conocimiento a partir de nuevos datos, que se corresponden a variables de la realidad a analizar. Y todo, sin olvidar el conocimiento que ya tenía aprendido previamente”, explica el investigador de la Facultad de Ciencias Experimentales almeriense.
La programación probabilística en la que trabajan estos investigadores resulta una herramienta fundamental en la sociedad llena de datos en la que nos ha tocado vivir. Para construir, como dice Masegosa, “máquinas capaces de aprender de la experiencia, en este caso, de los datos”.
Un aprendizaje basado en el de los humanos
Con un funcionamiento basado en la manera en que aprendemos las personas, que partimos con un conjunto de visiones preestablecidas que vamos renovando a partir de las nuevas experiencias. Que expresado en términos matemáticos vendría a ser un “proceso de actualización recursiva bayesiana de la información”.
Andrés Masegosa trabaja en el grupo de investigación Análisis de Datos y cuenta con fondos del Ministerio del Economía y Empresa para el desarrollo de un lenguaje de programación probabilística, más acorde a los nuevos tiempos y a la gestión de variables e incertidumbre.
Con este lenguaje se podrá de establecer una distribución de probabilidad de los valores que pueda tener la variable manejada en la resolución del problema. Y se va a poner mucho énfasis en el tratamiento de flujos de datos y en la integración de las redes neuronales.
Este proyecto, explica, viene motivado por la alta demanda de especialistas en estos nuevos algoritmos. Como se trata de algo relativamente nuevo, hay mucha más demanda que especialistas, lo que ha provocado que solamente las grandes corporaciones se puedan permitir tener en su plantilla a este tipo especialistas. En definitiva, se trata de una investigación que hará más accesible la tecnología punta y los nuevos postulados de la informática.