(hey, type here for great stuff)

access to tools for the beginning of infinity

"Machine learning": entrenar algoritmos (no escribir código)

Más allá de si en las últimas décadas ha habido o no falta de innovación en áreas ajenas a la tecnológica, la evolución de las computadoras augura un mundo capaz de acelerar el progreso, tanto si la informática cuántica se materializa como si no.

El físico David Deutsch se sirve de las matemáticas y de la mentalidad de la Ilustración para aventurar que nos sumergimos, sin darnos cuenta, en “el principio de lo infinito”, o la fase en que el progreso tecnológico se acelerará gracias a la computación (para Deutsch, la vida en la tierra no deja de ser un tipo de computación a base de proteínas, ARN y ADN). 

Pero, como ocurre con el infinito, a medida que aumente nuestro conocimiento, lo hará también nuestra conciencia de lo poco que sabemos (una intuición presente ya en Sócrates).

Lo que se aprende del ensayo y error

Deutsch, físico independiente asociado a la Universidad de Oxford y autor de ensayos de divulgación sobre progreso humano, física cuántica y teorías sobre múltiples universos, cree en la aceleración del progreso porque, a diferencia de la “programación” en la naturaleza (un lento proceso de ensayo y error aleatorio que condiciona las mutaciones y evolución de especies, ecosistemas y la propia biosfera), la inteligencia artificial puede acelerar dichos experimentos. 

Al poder avanzar en menos tiempo, la inteligencia artificial podría refutar, de este modo, la concepción -arraigada todavía en el mundo científico- de que la genialidad (y cualquier avance tecnológico) consiste, según el inventor Thomas Edison, en un 99% de transpiración y un 1% de inspiración.

Edison, dice David Deutsch, malinterpretó su propia experiencia como inventor ilustrado, meticuloso con la comprobación de conjeturas a través de experimentos, pues los ensayos que no ofrecen los resultados deseados aportan experiencia e información relevantes.

Todavía encallados en el test ideado por Alan Turing en 1950 para establecer la llegada de un hito de la -entonces en ciernes- computación (a saber: la capacidad de una máquina para convencer a un ser humano de que habla con otra persona, a través de un cuestionario improvisado), es fácil perder la perspectiva sobre los auténticos avances actuales en computación. 

Aplicaciones que simulan (y aceleran) el aprendizaje

Si bien los algoritmos siguen siendo rudimentarios con el lenguaje natural o la percepción del humor o las metáforas humanas, el aprendizaje automático (“machine learning”) se aplicaciones y procesos se integra cada vez más en nuestras vidas sin que siquiera prestemos importancia al fenómeno.

El aprendizaje automático es una rama de la inteligencia artificial que no debemos esperar en el futuro, pues sus principios se integran en productos y procesos que usamos a diario, de manera consciente o inconsciente. 

No hablamos sólo de los asistentes personales (Apple Siri, Google Now, Microsoft Cortana, Amazon Alexa) a los nuevos dispositivos de comando de voz que se sirven del trabajo previo en este tipo de asistentes (Amazon Echo y sus futuros competidores, como Google Home y probables alternativas de Microsoft o Apple, entre otros), sino de la tecnología que propulsa los servicios de búsqueda de Google o la información (y anuncios) que Facebook sirve a cada usuario, que alimenta sus proyectos de inteligencia artificial.

Aprendizaje de máquinas

Además de usarla para gestionar la información y los anuncios que presenta a cada usuario, Facebook se sirve de técnicas de inteligencia artificial para corregir y traducir 2.000 millones de comentarios diarios, dirimiendo si éstos son formales o informales, identificando palabras normativas y en jerga coloquial en múltiples idiomas.

Los nuevos algoritmos que profundizan en el aprendizaje de máquinas (y subprocesos como el aprendizaje profundo -“deep learning”- o algoritmos con abstracciones que permiten la mejora autónoma a partir del análisis y la acumulación de información sobre la marcha sin que sea necesaria la injerencia humana), dan la razón a la hipótesis emergentista de David Deutsch sobre la computación: el emergentismo se refiere a la disciplina por qué el resultado de procesos surgidos de un sistema son más complejos (tienen más información, propiedades distintas, etc.) que la suma individual de sus partes.

Del mismo modo que un hormiguero es más “inteligente” que la suma individual de sus hormigas (fenómeno que también explicaría por qué no podemos conocer la temperatura ambiente en una instancia estudiando una de sus moléculas flotando en el ambiente), los algoritmos actuales crean rutinas que superan en “inteligencia” la suma de sus componentes, el inicio acelerado de lo que David Deutsch cree que es un proceso de la información que imita a la vida.

Lo que intuyó Arthur Schopenhauer

El físico británico cree que la vida (o la “voluntad de vivir” existente en las cosas, que estimula su compleja organización desde el mineral al cristal, y desde éste a las estructuras que preceden la vida, en términos filosóficos de Arthur Schopenhauer) no ha hecho durante miles de millones de años más que seguir procesos de computación capaces de replicarse a sí mismos y a evolucionar en un proceso de ensayo y error. 

La vida (y el ADN que la compone) sigue los principios de la máquina de computación universal imaginada por Alan Turing. Décadas después de que Turing y John von Neumann sentaran las bases de la computación tal y como la conocemos (y sus limitaciones de diseño, como la dependencia del sistema binario, que sólo podría ser superado con un ordenador cuántico y sus qubits), el aprendizaje de las máquinas es una realidad y mejorará con rapidez.

De hecho, la mejora será tan radical y en tan poco tiempo que ya entrevemos las consecuencias, por ejemplo, regulatorias de tal avance: la Unión Europea pregunta en estos momentos cuestiones técnicas concernientes a los servicios de búsqueda de Google que los propios empleados de Google no están en condiciones de responder de manera inequívoca, pues los algoritmos de la empresa de búsqueda recaban información y se adaptan a ésta sobre la marcha, en función de infinidad de parámetros.

Emergentismo: cuando el todo es más que la suma de las partes

En síntesis, la informática ha abandonado definitivamente el predecible y reduccionista mundo de la predictibilidad (derivada de procesos de computación surgidos de instrucciones precisas, sin “aprendizaje” ni “evolución”), para adentrarse en una fase “emergentista”.

En términos filosóficos y científicos, el emergentismo permite la autoorganización (para mejorar, para sobrevivir, etc.) de sistemas cuya complejidad no puede explicarse con la suma de sus componentes: el todo es más que la suma de las partes.

A medida que queda patente que los nuevos algoritmos  aprenden sobre la marcha, gracias a la flexibilidad y adaptabilidad de sus parámetros y con autonomía de órdenes o supervisión humanas, el emergentismo computacional pasa del campo de la especulación al núcleo de la investigación -y negocio- de centros de inteligencia artificial en universidades y en empresas como Google, Facebook o Amazon.

La programación evolucionará como la vida (pero más rápido)

En paralelo con los avances en aprendizaje automático (y de sus arquitecturas múltiples de “aprendizaje profundo”), entramos en una nueva fase de lo que hay bajo la superficie de un mundo de algoritmos, aplicaciones, servicios bajo demanda y aparatos interconectados: la propia programación, sus lenguajes y programas marco (“frameworks”).

Del mismo modo que cualquiera puede crear su propio blog o página sin tener conocimientos de HTML, Javascript o administración de sistemas, pronto cualquiera será capaz de adaptar “lenguajes” de programación flexibles para ajustarlos a circunstancias particulares.

Actualmente, las aplicaciones y servicios que usamos en cualquier dispositivo y situación dependen de código programado por especialistas en alguno de los lenguajes de programación disponibles:

  • unos concentran información y comportamiento deseado en “objetos” que pueden personalizarse –programación orientada a objetos, POO-, favoreciendo la flexibilidad; 
  • mientras otros lenguajes se sirven de funciones para establecer el comportamiento deseado, invocando a la información sólo cuando es necesario (programación funcional).

Generación Minecraft (elogio de los bloques de madera)

Se puede argumentar que la programación orientada a objetos es, tanto conceptualmente como en la práctica, más flexible, fácil de aprender y aplicar que la -más académica y dependiente de funciones matemáticas- programación funcional, pero ni siquiera los lenguajes de POO más asequibles demuestran su utilidad potencial a un usuario medio hasta que éste ha profundizado lo suficiente.

Gracias al avance del “machine learning” (el ya comentado aprendizaje automático), la programación del futuro dependerá cada vez menos de tareas técnicas y repetitivas como escribir, mantener y reciclar líneas de código aquí y allá, sino que los propios algoritmos se ocuparán de eso, mientras que cualquiera podrá modificar su comportamiento gracias a un proceso que ha permitido al ser humano crear instrucciones que evolucionan de manera autónoma: probando conjeturas a partir del ensayo y error.

Gracias al aprendizaje de máquinas, la programación del futuro será conceptualmente más parecida a lanzar un cubo repleto de piezas lego idénticas y edificar lo que imaginemos a continuación (siempre y cuando entendamos las normas básicas del juego: el ensamblaje entre bloques y las leyes básicas de la física, que incidirán sobre el equilibrio de lo que ensamblemos), o en su defecto a jugar a Minecraft (según explica con acierto Clive Thompson en The New York Times, el videojuego más parecido a los juegos de construcción con bloques escandinavos), que a la compleja programación actual.

Pronto no programaremos, sino que entrenaremos algoritmos

La programación orientada a objetos, la programación funcional y la administración de sistemas, entre otras especialidades, mantendrán su carácter estratégico en la industria tecnológica de la que ya dependen todos los sectores (haciendo válida la afirmación de Marc Andreessen de que el software está engullendo al mundo), al mismo tiempo que emergerá una programación intuitiva con un comportamiento más parecido al juego de legos o al ensayo y error que tiene lugar en la naturaleza, pero acelerado varios factores.

Si hoy en día no hay que saber HTML ni programar una base de datos para ensamblar una página web, pronto no será necesario estudiar ciencia computacional durante años para convertirse en un experto en aprendizaje de máquinas. 

O, como explica Jason Tanz en un artículo para Wired, pronto no programaremos ordenadores, sino que “los entrenaremos”. Como si fueran delfines, o perros… o humanos. Conceptualmente, ofrecer a cualquier ser humano la posibilidad de programar cualquier algoritmo equiparará la potencialidad de semejante herramienta con el apoderamiento que sintieron nuestros antepasados al perfeccionar la construcción de herramientas (como señaló en su momento el antropólogo Leon Festinger) tras su encuentro con el arqueólogo francés Jacques Tixier.

Lo inevitable

A medida que el aprendizaje de máquinas depende menos de la programación y más de su propio aprendizaje (conocimiento adquirido acelerando los mismos procesos de ensayo y error que, como indica David Deutsch, propulsan el conocimiento y el progreso humanos), nos adentramos en un momento tecnológico que se acelera y que -recalca el pionero tecnológico Kevin Kelly, colaborador de Whole Earth Catalog y cofundador de Wired– es inevitable.

Las fuerzas tecnológicas que se integrarán en servicios y acciones de nuestro futuro, explica Kevin Kelly en su último ensayo (The Inevitable: Understanding the 12 Technological Forces That Will Shape Our Future) son el resultado de un largo proceso que se manifiesta en distintas expresiones y tecnologías, desde la realidad virtual al aprendizaje de máquinas y todos los procesos destinados a “aumentar” las capacidades humanas (ordenador personal, Internet ubicua, teléfonos inteligentes, etc.) partiendo de la visión optimista de que el ser humano siempre ha multiplicado sus capacidades con herramientas, pero este proceso se ha acelerado. 

Pero las tecnologías con algoritmos diseñados para mejorar, enmendar errores o replicarse cuando es necesario, topan con un mundo de viejas instituciones y regulaciones, pensado para legislar sobre acciones humanas y, por tanto, desprovisto de códigos éticos sobre fenómenos que ya afrontamos: resultados de búsqueda y privacidad, motores de búsqueda de imágenes que reconocen patrones y personas y mejoran con el uso, traductores simultáneos que evolucionan con los hablantes, sistemas de conducción autónoma que deberán elegir en situaciones límite sobre el menor de dos males, etc. 

Experimentos autogestionados: ¿futuro Blockchain?

Los mismos algoritmos de aprendizaje profundo que propulsan los principales proyectos de inteligencia artificial han inspirado la primera “empresa autónoma”, The Dao, una corporación financiada con micromecenazgo que se rige según unos estatutos “escritos” en código y un funcionamiento descentralizado que emula el esquema de Bitcoin, en la que cualquier participante puede realizar sus propuestas, que tendrán su cabida en los algoritmos de la firma, que evolucionará según las interacciones entre los participantes.

La realidad se acerca con rapidez de la ficción: hace un año escribí una novela de ciencia ficción, El valle de las adelfas fosforescentes, en la que imagino un microestado, sito en el Valle de Santa Clara, que se rige con el mismo sistema P2P con protocolos similares a blockchain, o base de datos imborrable que anota todos los registros de transacciones realizadas en Bitcoin.

En el libro, establezco las reglas del Estado P2P y luego asisto a los logros, riesgos y conflictos que pueden surgir en un Estado regido de manera indirecta por todos y ninguno de sus ciudadanos, ya que el algoritmo de inteligencia de máquinas en su núcleo asume su papel en pos de la salubridad del conjunto del sistema, asumiendo decisiones que la ética humana no analizará del mismo modo. Me divertí comprobando qué ocurría (escribir una novela de ciencia ficción es como crear un videojuego: llega un punto en que la historia se hace autónoma, pues debe seguir derroteros plausibles, que tengan una coherencia en el mundo creado).

Ética de las máquinas

Más allá de la ética que acabe regulando servicios como los motores de búsqueda, los asistentes digitales, el uso de drones, la producción de bienes bajo demanda en impresoras 3D o la conducción autónoma, los usuarios participarán en el “entrenamiento”.

El editor, inversor y conferenciante Tim O’Reilly se pregunta qué habrá sido de la programación informática tal y como la conocemos hoy cuando los niños actuales entren en el mercado de trabajo. La programación tradicional no desaparecerá (su labor seguirá siendo esencial durante mucho tiempo, dice O’Reilly), pero poco a poco evolucionará hacia una meta-habilidad, una manera de crear “la estructura” dentro de la cual la inteligencia de máquinas puede operar. 

Una vez creada la estructura, los usuarios con conocimientos variopintos, una sólida formación en humanidades, espíritu crítico, etc., tendrán tantas o más oportunidades de combinar sus habilidades con “machine learning” que los expertos de hoy.

Evitar las “cajas negras” en algoritmos

En la misma línea que optimistas de lo que puede aportar el aprendizaje de máquinas al desarrollo humano tales como los mencionados David Deutsch, Kevin Kelly o Tim O’Reilly, el artículo de Jason Tanz para Wired sobre la programación del futuro, relativiza los riesgos de procesos de inteligencia artificial que, al crear nuevas realidades más ricas que la suma de sus partes (el mencionado fenómeno “emergentista”), abandonan la supervisión de sus propios creadores.

Los algoritmos del futuro serán menos HAL 9000 y más aplicaciones cuyo comportamiento, si bien no podrá abarcarse de manera sencilla, podrá analizarse y regularse a expensas de lo que creadores, usuarios y supervisores decidan. 

Pero si la tendencia será crucial para el progreso humano, los nuevos algoritmos de “deep learning” también afrontarán intentos de trucaje, ya se deban a faltas inconscientes o a un cálculo deliberado. Un ejemplo: hay razones para creer que el software que usa Estados Unidos para predecir la peligrosidad de personas detenidas -el cual incluye estadísticas y reconocimiento facial-, discrimina a la población con rasgos afroamericanos (los inicios de la criminología moderna -con campos como la antropología criminal– deberían recordarnos que el aspecto no lo es todo).

Entrenar el código con datos

Otras autoridades científicas menos optimistas, tales como Stephen Hawking, Elon Musk o Bill Gates, creen que el aprendizaje de máquinas debe ser tutelado para evitar derivas que acaben atentando contra los derechos de las personas. Hawking ha declarado: “Uno puede imaginar tales tecnologías superando a los mercados financieros, inventando más que los investigadores humanos, manipulando a líderes humanos, o desarrollando armas que ni siquiera podríamos entender”.

Jason Tanz recuerda que lo fácil es dejarse llevar por el rechazo tradicional a la última tecnología con potencial transformador en llegar, como ha ocurrido históricamente. Lo que ocurre, dice Tanz, es que “simplemente estamos aprendiendo las normas de uso de una nueva tecnología”, para la cual se desarrollan nuevas maneras de visualización de sus algoritmos evolutivos.

“En el futuro -prosigue Tanz-, no nos preocuparemos tanto de las fuentes subyacentes de su comportamiento, sino que aprenderemos a centrarnos en el propio comportamiento. El código será menos importante que los datos que usaremos para entrenarlo”. 

Crispr es una nueva mascota

En otras palabras, cualquiera tendrá oportunidad de “entrenar” sus servicios de inteligencia artificial, en un proceso con el que somos más familiares de lo que pensamos: el entrenamiento del código con información es un proceso que el ser humano a comprendido desde sus inicios, al convertir objetos de su entorno inmediato en herramientas y domesticar especies de plantas o animales para lograr el máximo rédito posible del proceso.

Gracias a la capacidad de computación actual y a posibles aceleraciones futuras como la informática cuántica, estos procesos de “entrenamiento” o domesticación se producirán con rapidez inusitada: el ser humano tiene una capacidad muy limitada para extraer información relevante de una secuencia de ADN, pero técnicas de edición como Crispr, que se sirven de inteligencia de máquinas para acelerar el proceso, logran en menor tiempo y con menos margen de error lo que conseguiría un experto humano entrenado en la tarea.

En última instancia, todos estaremos familiarizados con técnicas básicas de programación y estrategias para ajustar algoritmos de “machine learning”, actividades que no serán más complejas ni menos naturales que, por ejemplo, cuidar de un jardín o entrenar a una mascota.

“Machine learning” y conductismo: el perro de Pavlov

La filosofía de la ciencia que más se aproxima a este proceso de entrenamiento de algoritmos es el conductismo. Como recuerda Jason Tanz, el aprendizaje de máquinas se basa en los primeros experimentos conductistas de Ivan Pavlov, que logró estimular la salivación de su perro no a través de una comprensión profunda del hambre, sino simplemente repitiendo una secuencia de eventos una y otra vez, hasta que el animal relacionaba determinadas rutinas con la llegada de la comida.

En esencia, Ivan Pavlov proporcionaba nueva información hasta que la conducta del perro se reescribió. La esencia del animal (su “código”) no había cambiado, pero sí su aprendizaje. Este proceso de adaptación a partir del ensayo y error explicaría por qué la diferencia genética entre un ser unicelular y un ser humano es mucho más reducida que su distancia evolutiva.

Expertos en inteligencia artificial como Sebastian Thrun, ex profesor de Stanford que trabaja ahora en el vehículo autónomo de Google, creen que el aprendizaje de máquinas tendrá un efecto democratizador a largo plazo: “uno no necesitará un doctorado para acceder al increíble poder del ‘deep learning’”. 

Código y comportamiento (o comportamiento y código)

Todo el mundo podrá programar y las habilidades pasarán del conocimiento técnico de lenguajes de programación actual a la capacidad para “entrenar” algoritmos.

Con el aprendizaje de máquinas, la visión experta y determinista de la computación (un experto escribe código y después la máquina lo reproduce), basada en reglas estrictas que situaban el valor del producto en sus instrucciones superficiales, deja paso a un nuevo paradigma bidireccional:

Con el aprendizaje de máquinas, el código determina el comportamiento, pero el comportamiento también determina el código. La programación se convierte poco a poco en una versión acelerada y personalizable del sistema de programación de la vida sobre la tierra (proteínas, ARN, ADN, etc.).

O, en palabras del genetista Craig Venter: “Una célula es una máquina para convertir la experiencia en biología”.

David Deutsch podría tener razón cuando insiste en que nos encontramos en el principio de lo infinito.