La portada de mañana
Acceder
Feijóo confía en que los jueces tumben a Sánchez tras asumir "los números"
Una visión errónea de la situación económica lleva a un freno del consumo
OPINIÓN | La jeta y chulería de Ábalos la paga la izquierda, por Antonio Maestre

El aprendizaje automático y el aprendizaje profundo de las máquinas: ¿qué es y para qué sirve?

La Tercera ley de Clarke dice lo siguiente: “Cualquier tecnología lo suficientemente avanzada es totalmente indistinguible de la magia”. De los tres enunciados formulados por el creador de 2001: Una odisea en el espacio, este quizás sea el más mentado por los científicos e investigadores del mundo. El aprendizaje automático (Machine Learning, en inglés), el aprendizaje profundo (Deep Learning) y la Inteligencia Artificial (Artificial Intelligence), aunque no sean un truco de Houdini, sí son lo suficientemente cautivadores para el común de los mortales.

De los tres conceptos, el más extendido es el último. La Inteligencia Artificial es el nombre que damos a cualquier cosa inteligente, lo que no quiere decir que en realidad lo sea. La mayoría de los algoritmos que existen actualmente se basan en grandes paquetes de datos, que una vez convertidos al lenguaje de la máquina, tratados e introducidos en ella resultan en la interpretación a gran escala que haga el sistema de los mismos. Dicho de otro modo: cuantos más datos coma el ordenador, más conocimiento acumulará y, por tanto, más sabrá.

Que una máquina sepa hacer algo muy bien no significa que sea muy lista. O sí, pero solo lo será en el terreno para el que fue entrenada. No hay que esperar que las máquinas razonen, piensen y sientan como los humanos, al menos no en los próximos años. De momento solo pueden hacer una cosa, aquella para la que fueron diseñadas: por ejemplo, un modelo neuronal de un sistema que detecte perros en fotografías solo servirá para eso. Pero si cogemos ese modelo y lo reentrenamos, podremos conseguir que también detecte caballos, cebras o jirafas.

Una vez más, todo dependerá del paquete de datos con el que fue alimentado. Así que su inteligencia no depende de lo mucho o poco que sepa: sino de la cantidad de material con el que fue cebado.

Capas de neuronas, procesamiento y profundidad

Raúl Arrabales, CEO de la empresa de inteligencia artificial aplicada a los negocios Serendeepia, hace una división entre las redes profundas y las no profundas. Pensemos en los tres conceptos del principio como si fueran unas matrioshkas rusas: el aprendizaje profundo estaría contenido dentro del aprendizaje automático, que a su vez se encuentra dentro de la Inteligencia Artificial. Por tanto, todo el aprendizaje automático está relacionado de uno u otro modo con la inteligencia artificial, pero no todas las inteligencias artificiales se construyen a partir del aprendizaje automático.

Unas de las características principales de las redes neuronales profundas es que incluyen múltiples capas ocultas. Funcionan con inputs (entradas) que resultan en outputs (salidas), pero en el proceso existen multitud de capas intermedias, de ahí lo de ser profundas. “Cuando solo hay una capa intermedia, que es el enfoque tradicional, no se habla de deep learning. Cuando se habla de deep learning es porque hay múltiples etapas de procesamiento distribuidas en capas de neuronas”, explica Arrabales.

Ya explicamos que la forma más sencilla que se nos ocurrió a los humanos para representar este tipo de modelos fue imitando nuestro cerebro humano. Tenemos miles de terminaciones nerviosas, lo que se traduce en múltiples capas de procesamiento. Raúl Arrabales pone un ejemplo para que lo entendamos mejor: “A nivel visual por ejemplo, la retina sería la capa de entrada donde los conos y los bastones son las neuronas que toman los datos de los píxeles ([en la vista humana] en vez de píxeles son longitudes de onda de fotones en la luz) y a partir de ahí empiezan a pasar por diferentes etapas de procesamiento, y eso es lo que se llama deep learning”, continúa el cofundador de Serendeepia.

De manera similar a como nuestro ojo capta la luz y a través de las neuronas, la información viaja al cerebro donde se procesa; las redes neuronales harían lo propio con una imagen, extrayendo la información a partir de los píxeles y jerarquizándola en distintas capas. Siguiendo con el ejemplo de Arrabales, “la primera capa de neuronas estaría en los diferentes colores, los bordes y las sombras. Y a partir de ahí pasaría a otra segunda capa que ya no usa píxeles como entrada, sino los colores, los bordes y la sombras”. Y de esos detalles se van sacando a su vez subcategorías que se convierten en nuevas capas que analizar. 

Las RNNs, GANs y las CNNs

Explicada la diferencia entre las redes neuronales profundas y las no profundas, el de Serendeepia nos hace una aproximación a tres tipos de redes neuronales, los más utilizados actualmente.

En primer lugar, las redes neuronales recurrentes, RNNs en inglés, también funcionan por capas, solo que en vez de ser consecutivas, la red es capaz de combinar detalles analizados en distintos momentos para generar nuevas subcateogrías, “lo que genera bucles que a su vez generan unos tipos de memoria (a largo plazo, a corto plazo...)”, explica el investigador.

En la página web thispersondoesnotexist se generan caras aleatorias que no existen. Está construida a partir de redes neuronales antagónicas, también llamadas GANs. Están compuestas de dos partes, un generador y un discriminador. El primero se encarga de crear imágenes nuevas a partir de las reales con las que ha sido alimentado, mientras que el discriminador, como su propio nombre indica, tiene que identificar si esas imágenes generadas son reales o falsas. El objetivo, tras miles de intentos, es engañar al discriminador: cuando este no consiga diferenciar entre una imagen artificial y otra real, entonces, las GANs funcionan al 100%.

En último lugar, Arrabales nos explica los mecanismos básicos de las redes convolucionales: “Hablando rápidamente, una convolución sería una multiplicación de matrices”. El de Serendeepia recuerda los filtros de Photoshop como el emboss o el shovel, “esos que detectan bordes, por ejemplo. Están haciendo operaciones sobre los píxeles, que los transforman”, dice. Las CNNs se encargan de convolucionar píxeles y modificarlos a la vez que extraen ciertas características únicas. Son las redes neuronales favoritas de los que pretenden modificar imágenes. Valgan como ejemplo los últimos avances que ha presentado Nvidia: han conseguido crear paisajes fotográficos desde bocetos o generar mundos virtuales a partir de vídeos del mundo real.

“La convolución es una operación que se presta muy bien a extraer características de la imagen mientras que las redes recurrentes se prestan mejor a hacer análisis del lenguaje, porque el lenguaje es secuencial y entonces esa recurrencia ayuda a modelar las características que aparecen ahí, ya que las palabras van ordenadas”, concluye Arrabales.

¿Cómo crea caras la web thispersondoesnotexist?

Todo empieza a partir de un paquete de datos, que en este caso son imágenes. Primero se le enseñan, por ejemplo, 10.000 fotos de las cuales la mitad (5.000) son de caras y la otra mitad, de objetos. “Le presento esa entrada y la red empieza contestando aleatoriamente, está programada para que diga si es una cara o no, o lo que es lo mismo, solo tiene dos salidas: 1 y 0. La primera vez acertará un 50%, es puro azar”, dice Arrabales. “Después de miles y miles de iteracciones de prueba y error en las que recibe premios y castigos cada vez que acierta o falla, va ajustando los pesos, lo que genera dentro, en sus capas ocultas, el patrón de lo que es ser una cara”, continúa.

Exactamente la red genera el patrón del píxel, de lo que es una cara, y que generalmente está oculto. “Cuando funciona al 99% de aciertos, esa red ya ha aprendido”, dice el investigador. Hasta ahora lo que tenemos es un reconocedor de caras, pero recuerden que queremos una IA que cree caras. Por eso, “hay que darle la vuelta”, según Arrabales: si antes las entradas de la red eran píxeles (en forma de imágenes de caras y objetos), ahora serán las salidas, o sea, queremos que la red genere píxeles. Como ya sabe cómo es una cara (tiene el patrón) habrá que hacer iteracciones hasta que cree rostros. “Si haces eso y ya está, te saca caras muy raras porque la red no está entrenada para estar al revés, está entrenada para reconocer, no para generar. Luego se le añade el discriminador para ajustarla y que genere caras muy realistas”, explica el de Serendeepia.

Ninguna de estas caras existe