Los modelos de inteligencia artificial no son intuitivos si no tienes un mínimo conocimiento de la disciplina. Parecen una caja negra que puede hacer de todo, pero en Checktobuild conocemos que tiene sus límites. En este blog buscaremos esclarecer las claves principales sobre como funcionan estos modelos.
Empecemos por ubicar las palabras más comunes: Inteligencia Artificial, Machine Learning y Deep Learning. Estas son las palabras más populares en reuniones de innovación, pero tienen una definición bastante difusa. Vamos a delimitar su alcance.
¿Qué es la inteligencia artificial?
Se denomina inteligencia artificial a cualquier sistema capaz de resolver un problema en base al conocimiento que se tiene del mismo, ya sea insuflado manualmente o aprendido de forma autónoma. Sí, en estos términos casi cualquier cosa puede ser llamada inteligencia artificial. El alcance es muy difuso. En este campo encontramos por ejemplo sistemas basados en reglas, lógica de primer orden, árboles de decisión, etc.
Sin embargo, Machine Learning ya es algo más estricto. Se trata de un subconjunto de las técnicas de IA que aprenden autónomamente a resolver un problema. Esto se diferencia del resto de técnicas de IA en que no puedes codificar el conocimiento manualmente, usando reglas o heurísticas por ejemplo. Para que puedan aprender necesitan “ejercicios resueltos” en cantidades masivas.
Esto es, grandes registros de datos históricos de entrada y su respuesta esperada, la solución que se daría al problema. En este ámbito se incluyen desde regresiones lineales de estadística tradicional (pero adaptadas para el aprendizaje) hasta redes neuronales artificiales.
Finalmente tenemos el Deep Learning. Esto es un subconjunto de las técnicas de Machine Learning que se basan únicamente en redes neuronales artificiales. En la siguiente imagen podemos ver gráficamente esta jerarquía.
Quisiera en este punto centrarme en modelos puramente definidos dentro del paraguas del Machine Learning. Es decir, modelos que aprenden, y aprenden de verdad. En este post de la mano de Checktobuild entenderemos qué aprenden y cómo aprenden.
¿Qué aprenden a resolver el modelo de Machine Learning?
Un modelo de Machine Learning aprende a resolver un problema particular y estrictamente bien definido a través de esas respuestas esperadas que comentábamos al principio. Podemos prepararlo para aprender una respuesta al problema más rica y compleja, pero no deja de ser un comportamiento empírico, no dará respuestas que nunca haya visto antes, no tiene imaginación. Pero esto aún es una definición muy difusa y de alto nivel.
¿Qué aprende exactamente?
Lo que realmente aprende el modelo de IA es una ecuación matemática que relaciona las variables de entrada (nuestra X) y la respuesta esperada (nuestra Y). En otras palabras, si nuestro problema es extrapolable a una función Y=f(X), nuestro modelo de Machine Learning aprende la f.
Para ello debe averiguar cómo se relacionan las variables de entrada (si se multiplican, se suman, etc) y el peso de cada una de ellas en el problema. O lo que es lo mismo, debe averiguar los coeficientes que multiplican a cada término de la ecuación.
Veamos un ejemplo simplificado, mi problema a resolver consiste en determinar el precio estimado de un coche nuevo en base a sus características (X1 = alto, X2= ancho, X3=largo, X4=volumen de maletero, X5=cilindrada). El modelo debe aprender la función matemática que relaciona las Xs (características) con la Y(precio). Supongamos que esta es la función final que tiene que averiguar:
f(X1, X2, X3, X4, X5)=8.2*X1 -2.1*X2 +16.5*X3 +0.01*X4 +4.1*X5 +5370
Una puntualización importante, esta función que tenemos arriba no deja de ser muy parecida a una regresión estadística normal, o lo que es lo mismo, una red neuronal artificial de una sola neurona.
Por supuesto este es un ejemplo explicado de forma resumida, pero involucra los conceptos fundamentales para entender qué está pasando dentro de un modelo de inteligencia artificial.
Como anticipamos, para su aprendizaje nuestro modelo tiene que aprender de una gran cantidad de ejemplos conformados por las variables de entrada y su respuesta esperada. Habitualmente, esto supondrá manejar uno o varios excels cuyas columnas son estas variables (X1, X2, X3, X4, X5, Y) de manera que sus filas nos otorgan información como la siguiente:
f(150, 180, 440, 450, 1500) = 19,636,5 €
También puede interesarte.
¿Cómo aprende a resolver el problema el modelo de Machine Learning?
Recapitulemos lo que tenemos, una función que no conocemos pero que define nuestro problema y una excel con un montón de ejemplos, de “ejercicios resultados” que le servirán al modelo de Machine Learning para aprender empíricamente de los datos y extraer sus relaciones.
Existen algoritmos que definen el procedimiento de cómo recorrer los datos y usarlos para averiguar la función objetivo (el valor de sus coeficientes). El más famoso de estos procedimientos es el algoritmo de Stochastic Gradient Descent (SGD) y se podría resumir en la siguiente estrategia.
En primer lugar partimos de una función aleatoria, relaciona las variables de entrada de forma aleatoria. A continuación vamos recorriendo los datos, aplicando la función sobre dicha entrada y calculando el error que comete. Para calcular este error existen muchos métodos, pero todos esencialmente hacen lo mismo, comparar la respuesta de la función con la respuesta esperada que tenemos de antemano.
Con ese error capturado, se actualizan los coeficientes en mayor o menor medida según lo grande o pequeño que sea el error en cada ejecución de datos. De esta manera, con los primeros datos de aprendizaje se cometerán grandes errores y por consecuencia grandes correcciones de los coeficientes. A medida que se vean más y más datos, los coeficientes asociados a cada variable se acercarán a los óptimos y el sistema empezara a fallar menos, habrá encontrado la función que resuelve el problema.
Esta es una interpretación muy conceptual del problema que se deja muchas cosas en el tintero. Sin embargo, acomete el objetivo que buscábamos al principio de este post, otorgar una visión de cuál es el enigma detrás de los modelos de inteligencia artificial, para que no se nos antojen por elemento mágico o de ciencia ficción. Además, hemos podido diferenciar entre IA y Machine Learning, así como esclarecer que problemas pretenden resolver y los mecanismos internos que sustentan el aprendizaje.