¿En qué se parece un caballo a una IA?
Durante milenios, hemos seleccionado equinos para servir mejor a nuestros propósitos, modificando con ello su genética y creando nuevas razas. ¿Y si los algoritmos, en lugar de aprender, tuvieran que evolucionar?
Uno de los pasatiempos favoritos de la aristocracias europeas fueron tradicionalmente (y aún lo son) las carreras de caballos, donde ser poseedor del animal más veloz otorgaba al dueño fama, prestigio, y por qué no decirlo, jugosos ingresos. De hecho, aunque la cría de caballos ya era un arte muy depurado en todo el mundo, a principios del siglo XVIII la nobleza inglesa comenzó a importar caballos árabes, deslumbrados por su capacidad de recorrer a gran velocidad distancias cortas en la arena del desierto. En las cuadras de uno de los hijos del rey Jorge II nacería en 1764 un animal de nombre Eclipse (llamado así por haber nacido durante un evento tal), el cual alcanzaría fama internacional por su imbatibilidad, al punto de casi arruinar al hipódromo real. ¡Nadie apostaba por ninguno de sus competidores! Su descendencia sería lo que hoy conocemos como el Pura Sangre Inglés, la raza más veloz que existe.
En las carreras, cuanto más rápido sea capaz de correr un animal, mayores serán sus probabilidades de ganar. En otras palabras, la velocidad es la métrica a optimizar. Lograr un espécimen especialmente rápido es el resultado no sólo de un entrenamiento diario, sino de un esfuerzo dirigido de selección y cruce entre los ejemplares más destacados de la especie durante generaciones. Con ello, el ser humano ha logrado mejorar el crecimiento muscular, la capacidad pulmonar o el intelecto de los animales con respecto a generaciones anteriores de las especies domesticadas. En última instancia, logramos caballos que se ajustan cada vez mejor a las exigencias de velocidad que les imponemos gracias a que los padres especialmente seleccionados transmiten sus genes – una vasta colección de secuencias de Ácido Desoxirribonucleico (ADN) – a su descendencia. Estos genes encapsulan desde el momento de la concepción de un ser vivo toda la información relativa al desarrollo futuro del mismo, y marcan en gran medida los límites de lo que es capaz de hacer. La casi infinita multiplicidad de especies de animales son testigo del éxito de esta estrategia de adaptación. Pero, si se trata de un mecanismo de adaptación tan potente, ¿por qué no crear Inteligencias Artificiales (IAs) que operen bajo estos mismos principios?
Un mecanismo de transmisión de características
Figura 1. Esquema simplificado de la relación entre un organismo, cada una de sus células y los cromosomas donde se compacta la información genética contenida en las secuencia de ADN.
Para 1952 la teoría de la evolución ya era ampliamente aceptada, pese a que quedaban huecos por completar. Uno de esos misterios aún incomprendidos era entender cómo se codificaba la información relativa a las características de los progenitores de tal manera que se mezclara y transmitiera a la descendencia. Un artículo en Nature firmado por James D. Watson (Chicago, 1928 ) y Francis Crick (1916 – 2004) un año después daría la respuesta final, presentando al mundo la estructura de doble hélice del ADN[1]. El ADN es un compuesto formado por dos cadenas de nucleótidos enfrentadas, donde cada nucleótido está formado por una molécula de azúcar, un grupo fosfato y una base nitrogenada – adenina (A), guanina (G), timina (T) o citosina (C).
El ADN se agrupa en bloques llamados genes, que contienen las instrucciones precisas para que el organismo lleve a cabo la síntesis de proteínas y mantenga todos los procesos celulares y metabólicos necesarios para su supervivencia. De manera implícita, los genes determinan en gran medida atributos como la altura, la configuración física, la inteligencia, nuestra capacidad de digerir el gluten… Los genes son por tanto las unidades funcionales de la herencia y la variación genética. Mientras que dos gemelos idénticos compartirán exactamente la misma secuencia de genes, pequeñas variaciones en un mismo gen entre dos personas pueden explicar que una tenga los ojos azules y otra los tenga marrones. Estas posibles versiones de un mismo gen se denominan alelos.
Los genes a su vez, durante la reproducción celular, se condensan y agrupan en cromosomas, estructuras con forma de cruz cuya función principal es facilitar la compartición y distribución de la información genética. En los humanos, las células normales tienen 46 cromosomas organizados en 23 pares. Los caballos en cambio tiene 32 pares, y por tanto 64 cromosomas. Cada especie tiene un número fijo determinado, y existen enfermedades (como el síndrome de Down) que pueden identificarse como alteraciones en puntos concretos de algunos cromosomas. Durante la división celular, los cromosomas se duplican y se dividen equitativamente entre las células hijas, lo que asegura la herencia de la información genética. Así, los genes de ambos progenitores se mezclan de forma aleatoria, dando lugar a descendientes cuya información genética es similar pero no igual.
Este mecanismo permite a las especies adaptarse de manera progresiva, generación a generación, a los desafíos que el entorno le presenta. Aquellos individuos que se ajusten mejor a las métricas impuestas (escapar de los depredadores o encontrar comida en la naturaleza, o ser más veloz en una carrera) disfrutan de mayor probabilidad de reproducirse, y por ende de que su información genética se transmita a la siguiente generación, la cual estará sujeta a las mismas condiciones. El resultado es una población de individuos cada vez más especializados, expresándose esto en estrategias de supervivencia como el cuello de las jirafas, los colmillos de los lobo o el intelecto humano. Todos ejemplos de adaptaciones codificadas en los genes, transmitidas y desarrolladas mediante cambios muy pequeños a lo largo de incontables generaciones.
Traducido a un algoritmo
De manera general, podemos describir las IAs como conjuntos de operaciones matemáticas, que reciben estímulos de entrada (por ejemplo, píxeles de una imagen) y devuelven salidas numéricas (probabilidad de que la imagen corresponda a un caballo). El éxito de un modelo de IA se expresará, en términos generales, como el porcentaje de acierto en la tarea que se le asigne. Sin embargo, uno de los principales rasgos definitorios de lo que llamamos IA, en oposición al software tradicional o a otros modelos de corte estadístico, es que en una IA las operaciones a desarrollar para resolver la tarea se estiman de manera automática a partir de datos.
Fue J.H. Holland (1929 – 2015) quien en 1992 propuso por primera vez los algoritmos genéticos (GA por sus siglas en inglés) como una potencial vía para encontrar la mejor combinación de dichas operaciones (siendo más estrictos, encontrar los parámetros que permiten optimizar el funcionamiento de un modelo de IA)[2]. Bajo este esquema, reconocemos una serie de elementos básicos directamente inspirados en la biología: una población inicial de individuos,la representación de la información en forma de cromosomas, la selección de los candidatos más aptos en base a una métrica de nuestra elección, y la creación de descendientes mediante el cruzamiento de genes y la mutación.
Población inicial, o primera generación. Se dispone desde el inicio de un conjunto de propuestas de solución al problema que enfrentemos. Dichas soluciones, consideradas en conjunto, conforman nuestro “espacio de soluciones”. Cada solución, o individuo, se define por una secuencia de números binarios (unos y ceros) que conforma su genotipo, o conjunto de genes. Cada elemento de una secuencia responde a una pregunta relativa al problema. Así, quisiéramos responder a la pregunta anterior de si una imagen se corresponde con un caballo, una posible pregunta de respuesta binaria “Sí/No” podría ser “¿tiene cuatro patas?”, o “¿tiene pezuñas?”. En ambos casos la respuesta debiera ser “Sí” (uno) para poder decir que efectivamente se trata de un caballo.
Cromosomas. En el caso más simple, recibe este nombre la secuencia de unos y ceros que define a cada individuo, y que es diferente para cada uno. A partir de ellos podemos estimar la adecuación de un individuo al desafío que se plantee a la IA en términos de una métrica de nuestra elección. Para problemas más complejos, el cromosoma de los individuos no es sólo una secuencia binaria, sino una secuencia de secuencias numéricas.
Selección de individuos. Para cada uno de los individuos existentes en la generación, se calcula su adecuación a la tarea como un número. Ya hemos mencionado la velocidad para los caballos de carreras, o el porcentaje de error en los clasificadores de imágenes, pero realmente podemos extender esta idea a otras esferas, como por ejemplo minimizar el tiempo de un repartidor en una ruta urbana. Los individuos que mejor puntúen se considerarán los más aptos, los cuales se reproducirán entre ellos para dar lugar a la siguiente generación de soluciones. Aquellos individuos del espacio de soluciones que no se reproduzcan a la siguiente generación se dice que mueren. Eligiendo sólo aquellos genotipos que demuestran mejores perfiles para la tarea, estamos siguiendo un criterio similar al de los criadores de caballos de la Inglaterra colonial.
Figura 2. Ejemplo de un GA para una población inicial de 4 individuos con cromosomas de longitud 10. Sucesivas generaciones, combinación de los genes de sus progenitores, convergen hacia soluciones con tasas de éxito superiores, ocasionalmente gracias a mutaciones aleatorias.
Cruzamiento. Este proceso implica tomar dos padres, que son dos individuos de la generación anterior, y combinar sus secuencias binarias para crear uno o más hijos. Para ello, se eligen uno o varios puntos de corte en los cromosomas de ambos progenitores. En cada punto de corte, de manera aleatoria, de intercambiarán los fragmentos correspondientes entre las secuencias de los padres. Obtenemos así una nueva generación de individuos que son el fruto de la combinación de las características de los individuos mejor adaptados, y por ende obtenemos mejores soluciones al problema. Iterando sobre sucesivas generaciones, obtenemos de manera gradual cadenas binarias que representan cuáles son los mejores parámetros para que un modelo de IA resuelva la tarea.
Mutación. Ya desde su origen, la teoría de la evolución advertía del papel fundamental que las mutaciones jugaban en el proceso de supervivencia de una población. El problema, al que tendremos que acostumbrarnos al tratar con IAs, es el del equilibrio entre exploración y explotación. Es decir, decidir si preferimos no arriesgar y explotar aquellas soluciones que ya conocemos, aunque sean subóptimas, o ir más allá y tratar de buscar opciones que, de vez en cuando, resulten ser mucho mejores que lo que ya conocíamos. En los GAs, las mutaciones tienen lugar de forma paralela al cruzamiento, modificando el valor de algunos de los elementos para convertir un cero en un uno, o al contrario. Aunque las tasas de mutación son generalmente muy bajas, la mutación ocasional puede ser crucial para evitar la convergencia prematura hacia soluciones subóptimas y permitir que el algoritmo continúe buscando soluciones más óptimas en cada generación. Es un mecanismo importante que imita la variabilidad genética y la adaptación biológica en la evolución natural.
¿Y qué problemas reales resuelve?
De manera deliberada hemos tratado esta técnica de optimización, los GAs, dejando de lado su vertiente matemática y simplificando el escenario a uno en que cada individuo se describe como un conjunto limitado de ceros y unos. Sin embargo, podríamos imaginar escenarios en los cuales cada individuo no sea una secuencia, sino modelos complejos de IA, como redes neuronales o árboles de decisión. Al combinarlos y filtrarlos por su rendimiento en una tarea de manera iterativa, terminaremos obteniendo generaciones de IAs que se habrán adaptado a resolver de manera óptima la tarea que se les propuso[3].
Con esta metodología, por ejemplo, se han logrado métodos de mejora de la calidad de imagen en teléfonos móviles[4] o en restauración fotográfica[5]. En el dominio médico, algunos GAs han sido capaces de igualar la capacidad de médicos humanos para detectar nódulos pulmonares a partir de de imágenes de escáneres CT[6]. También dentro de la industria farmacéutica, se han empleado GAs para tratar de anticipar efectos adversos de nuevos medicamentos antes de lanzarlos al mercado[7], ahorrando con ellos incontables sumas de dinero y sufrimiento para los pacientes. Presentes en sistemas planificación de agricultura de precisión[8], diseño de rutas de reparto[9], o protocolos de ahorro energético[10], los GAs han demostrado que el tándem conformado por un mecanismo de selección de individuos y la recombinación genética pueden, siempre que se disponga del tiempo necesario para desarrollar cientos de generaciones diferentes, proporcionar respuestas exitosas a (casi) cualquier problema.
Referencias
[1]: Watson, J., Crick, F. Molecular Structure of Nucleic Acids: A Structure for Deoxyribose Nucleic Acid. Nature 171, 737–738 (1953).
[2]: Holland, J.H. Genetic Algorithms. Scientific American 267, 66–73 (1992).
[3]: Jiang S, Chin K-S, Wang L, Qu G, Tsui KL. Modified genetic algorithm-based feature selection combined with pre-trained deep neural network for demand forecasting in outpatient department. Expert Syst Appl 82:216–230 (2017).
[4]: Dhal KP, Ray S, Das A, Das S. A survey on nature-inspired optimization algorithms and their application in image enhancement domain. Archives of Computational Methods in Engineering 5:1607–1638 (2018).
[5]: Alaoui A, Adamou-Mitiche ABH, Mitiche L. Effective hybrid genetic algorithm for removing salt and pepper noise. IET Image Process 14(2):289–296 (2020).
[6]: G. Li et al. Study on the Detection of Pulmonary Nodules in CT Images Based on Deep Learning. IEEE Access, vol. 8, pp. 67300-67309 (2020).
[7]: Ghaheri A, Shoar S, Naderan M, Hoseini SS. The applications of genetic algorithms in medicine. CJ 30:406–416 (2015).
[8]: Peerlinck A, Sheppard J, Pastorino J, Maxwell B. Optimal Design of Experiments for precision agriculture using a genetic algorithm. IEEE Congress on Evolutionary Computation (2019).
[9]: Kandavanam G, Botvich D, Balasubramaniam S, Jennings B. A hybrid genetic algorithm/variable neighborhood search approach to maximizing residual bandwidth of links for route planning. Artificial evolution. Springer, In, pp 49–60 (2010).
[10]: de Ocampo ALP, Dadios EP. Energy cost optimization in irrigation system of smart farm by using genetic algorithm. 2017IEEE 9th international conference on humanoid. Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM), Manila, pp 1–7 (2020).
Súmate a Foro de Foros
Educational Pitch de Foro de Foros
Nuestro principal objetivo es dotar de conocimiento a la sociedad civil siendo puente para el diálogo