Inteligencia artificial y aprendizaje automático, IA, qué es, para que sirve, que ventajas y limitaciones tiene: un breve resumen.
Últimamente, y con esto me refiero generosamente al último año y pico, ha habido bastante foco mediático en lo que popularmente se conoce como IA, o inteligencia artificial.
Corren rumores de las virtudes y peligros de esta tecnología, y no faltan embustes y gente preparada para aprovecharse de la situación, así que hoy haremos un breve, brevísimo repaso de en qué consiste esta tecnología e intentar esclarecer un par de malentendidos ampliamente difundidos.
¡Vamos a ello!
¿A que viene tanto revuelo?
Parece que la IA está en boca de todos, y acontecimientos recientes han despertado controversia sobre todo entorno el uso de la inteligencia artificial generativa con herramientas tales como ChatGPT para escribir automáticamente trabajos en universidades y colegios, lo cual, obviamente va completamente en contra del objetivo de dichos trabajos, ya que lo importante no es el documento redactado en sí, sino los conocimientos recabados y el entendimiento generado durante su elaboración por parte del estudiantado:
Otra controversia radica en el uso de otras IAs generativas, pero esta vez de imágenes, como midjourney, stable diffusion o dall-e (esta moda de poner nombres “chistosos” a los programas nunca la entenderé), el uso de las cuales fue vehemente rechazado por colectivos de artistas en internet, al entender que estaban siendo entrenadas con sus obras, sin compensación ni consentimiento:
Existen IAs para casi cualquier cosa, ya sea para generar texto, imagen, audio o video, por lo que la protección laboral frente al uso de estas tecnologías incluso fue parte de las negociaciones de la huelga de Hollywood de este verano.
Está claro que es un tema que preocupa a los sectores artísticos, pero su uso no está limitado a la generación de contenidos, también se emplea en otras industrias, como en la ingeniería o la programación, aunque claro está, se encuentra más limitado, ya que, al contrario de como ocurre en aplicaciones de campos sociales, en temas técnicos debe ser explícitamente correcto, algo que no alcanza a conseguir ni puede llegar a demostrar (expandiremos este último punto más adelante.
¿Que es la IA?
Nos hemos puesto en antecedentes con respecto al revuelo que ha estado causando la inteligencia artificial estos últimos años, pero profundicemos más en el tema: ¿Qué exactamente es la “IA”?
La inteligencia artificial no es más que el nombre que se le ha dado popularmente al aprendizaje automático, o “machine learning” como es comúnmente conocido en el mundo anglosajón, que podría definirse como la ciencia o el campo dedicado a conseguir que los ordenadores aprendan a actuar sin haber sido programados explícitamente para comportarse de una manera u otra ante un estímulo.
En otras palabras, en lugar de programar una lógica secuencial basada en el entendimiento del programador acerca del problema en cuestión (cuando veas esto, haz aquello), nos basamos en darle muchos ejemplos al ordenador de lo que queremos que identifique y el resultado deseado y dejamos que cree asociaciones entre ambas partes, de manera que lo que se acaba programando es un aproximador universal de funciones, que, si está bien diseñado, nos acercará mucho al comportamiento deseado.
Tom Mitchell define el aprendizaje dentro de un programa de la siguiente manera:
Se dice que un programa informático aprende de una experiencia E con respecto a una tarea T y una medida de rendimiento P si su rendimiento en T, medido a partir de P, mejora con la experiencia E.
Ventajas y desventajas
Esta metodología tiene unas ventajas importantes con respecto a la programación más tradicional, la más importante siendo que es capaz de obtener buenos resultados cuando las especificaciones lógicas del programa son muy difíciles de determinar, ya sea porque nos falta información, podemos no conocer todos los detalles de un proceso, o porque la cantidad de variación a la que está expuesto el fenómeno que queremos identificar es muy grande: ¿Cómo programar que un programa que determine si una persona padece una enfermedad a partir de radiografías cuando no conocemos todos los signos que pueden indicarlo? O ¿cómo hacer un programa que detecte tigres en fotos tomadas desde diferentes ángulos y terrenos? Es posible programar estos casos a mano, pero el aprendizaje automático será más eficaz.
Claro está, el aprendizaje automático también tiene sus inconvenientes, derivados sobre todo de su arquitectura y de la manera en la cual “aprende” (la tendencia a antropomorfizar la tecnología es preocupante, pero ese es otro tema). Básicamente, necesita de muchos datos y su estructura lógica (trataremos sobre todo de las famosas redes neuronales) no es compacta ni eficiente, lo cual ha retrasado su aplicación a gran escala hasta hace poco, aunque se trate de una tecnología del siglo pasado, hasta que hemos podido acceder tanto a hardware potente como a ingentes cantidades de datos, lo conocido como “Big Data”, sobretodo chupando de internet (de ahí las quejas por parte de la gente de cuyos datos se han nutrido estos modelos).
Tipos de aprendizaje automático
En cuanto a tipos de aprendizaje automático, se suelen dividir en tres grandes segmentos:
- Aprendizaje automático supervisado;
- aprendizaje automático no supervisado;
- y aprendizaje automático por refuerzo.
El supervisado es el que hemos comentado anteriormente, del que trataremos en este artículo, el que se programa con pares de pregunta-respuesta, ajustando el comportamiento del programa según si responde correcta o incorrectamente. El aprendizaje no supervisado no cuenta con respuestas correctas para aprender relaciones específicas, sino que su objetivo es el de encontrar patrones interesantes en conjuntos de datos. Por último, el aprendizaje por refuerzo se diferencia de los dos anteriores por basarse en una interacción explícita con algún tipo de entorno del cual extrae su propia información, es decir, aprende la experiencia, el más difícil y más interesante a mi parecer.
Nos falta un último concepto para acabar este repaso de principios, el de los diferentes algoritmos utilizados en el aprendizaje automático. Existe una multitud de diferentes algoritmos, empleados en diferentes contextos y para diferentes tipos de aprendizaje automático, como el k-nearest neighbours, las máquinas de vectores de soporte, kmeans… etc., pero el que nos interesa, y el más famoso, es sin duda el de las redes neuronales.
Una red neuronal no es más que una serie de elementos que tienen como entrada unas señales ponderadas, que agrupan en una única variable que después modifican por medio de una función de activación para después pasar el resultado de esta operación a más elementos (neuronas), por medio de conexiones ponderadas, como las entradas que ellas recibieron.
Su éxito radica en que, al organizarse en capas, (lo cual convierte el algoritmo en una red neuronal profunda al tener más de dos capas), son capaces de modificar los pesos con los cuales ponderan las conexiones al darles la respuesta correcta y comparar esta con la salida de la última capa, corrigiendo estos pesos para que la red acabe aproximando la función deseada, ya sea la predicción de cuando necesitará un mantenimiento preventivo un reactor o a identificar fotos de gatos.
¿Qué es la IA generativa?
Ahora que ya conocemos la teoría, podemos entrar en materia. La IA generativa se basa en los mismos conceptos que hemos explicado anteriormente del aprendizaje automático y las redes neuronales profundas, solo que podemos imaginar que le han dado la vuelta a estas redes.
En lugar de darles, por ejemplo, una imagen y pedir que identifiquen que contiene, se les da una lista de lo que contiene y estas producen una imagen. El principio es el mismo: la red ha sido entrenada previamente para identificar, mediante los correctos pesos entre las conexiones de sus neuronas, los elementos invariantes entre todos los ejemplos con los que se le ha entrenado, y son capaces de generar una imagen a partir de la mezcla y remezcla de los elementos comunes de todas las obras que han consumido con anterioridad.
Con el caso del texto y ChatGPT u otras herramientas de generación de código, pasa exactamente lo mismo: se les suministra ahora con un texto de inicio y la red se pone a trabajar en que texto puede generar que este asociado estadísticamente al texto de entrada.
La inteligencia artificial no es inteligente
Quizá te parezca poco, pero eso es realmente todo lo que hace. Y es muy importante remarcar este punto. La inteligencia artificial real actual no tiene ningún parecido con Skynet, SHODAN, HAL 9000 o GLaDOS; ChatGPT es mucho más parecido al texto predictivo de tu móvil que a nada más.
La IA no piensa, no es consciente y no razona, no hay más que ver qué pasa cuando le pides que conteste a preguntas de razonamiento basadas en problemas novedosos:
Únicamente se limita a regurgitar material que ha absorbido previamente, razón por la cual se le dan tan bien materias como la generación de imágenes (siempre que no sean manos), respuestas de historia, literatura o ley. Es la misma razón por la que no es posible fiarse de los resultados de una IA: son meramente un conglomerado de resultados parecidos ante el mismo estímulo, no hay validación ni razonamiento alguno que los respalde.
Problemas importantes
Íntimamente relacionado con el punto anterior, la inteligencia artificial suele confundir la correlación con la causalidad, al no poseer de habilidad de raciocinio alguno. Véase el caso de una red neuronal encargada de identificar casos de riesgo con pacientes de neumonía que llegó a la conclusión de que los pacientes asmáticos padecían menos riesgo que el resto de los pacientes. ¿La razón? Estos pacientes de alto riesgo se internaban directamente, lo cual reducía el número de complicaciones futuras con respecto la población general, lo cual llegó a causar una conclusión muy peligrosa de haberse seguido el consejo de esta red neuronal:
Este problema se acentúa aún más si se junta con el hecho de que estas redes neuronales no son auditables, es decir, la información en la cual basan sus resultados se encuentra codificada en miles o millones de pesos, una matriz de números sin sentido lógico alguno de la cual es extremadamente difícil o incluso imposible llegar a averiguar por qué se tomó una decisión en lugar de otra. Esto las hace impracticables para aplicaciones críticas, en las que un error sea grave.
Conclusiones
Ahora que tienes un entendimiento general (aunque muy superficial) del tema, podrás seguir el discurso mediático con un poco más de criterio, recuerda alejarte del “hype” y hacer tu propia investigación si un tema te interesa, sobre todo si se trata de algo que están exagerando en los medios de comunicación.
¡Espero haberte podido ser de ayuda y agradezco como siempre que leas Ardumaster!