
Cuando hablamos de términos como machine learning o aprendizaje automático, está implícita la idea de que los modelos —esos conjuntos de algoritmos que componen la inteligencia artificial— tienen la capacidad de aprender. Un modelo de machine learning es capaz de recibir un grupo de datos que nunca antes procesó y de detectar patrones en él que le permitan tomar distintos tipos de decisiones sin intervención humana. Sin embargo, para llegar a este punto, el modelo primero tiene que haber sido entrenado.
Y de allí surge naturalmente la pregunta ¿cómo se entrena a un modelo? ¿Qué es necesario para llegar a un punto en que pueda tomar decisiones por sí solo? (y, en general, de forma bastante atinada). La respuesta es que hay varias técnicas y entenderlas nos permite comprender un poco mejor qué podemos esperar de un modelo y cómo y cuándo usarlo. Así que repasemos, brevemente, las principales técnicas de entrenamiento de machine learning.
1. Aprendizaje supervisado
La principal característica de este tipo de entrenamiento es que usa un dataset o grupo de datos de entrenamiento previamente etiquetado. Es decir, si queremos un modelo capaz de identificar imágenes de gatos, los datos de entrenamiento incluirán imágenes de gatos etiquetadas como tales.
En términos humanos, pensá en cómo, a pesar de jamás haber visto un dragón en la vida real, sos capaz de identificarlos cuando aparecen en la pantalla, sin importar si están ilustrados de forma realista, simplificados en una caricatura para niños o en el estilo antiguo de la portada de este artículo. Esto se debe a que a lo largo de tu vida has visto muchas imágenes variadas de dragones que se te han presentado como tales. Inconscientemente, pudiste detectar patrones y, en tu cabeza, hay una abstracción de lo que son los dragones que te permite identificarlos, incluso en imágenes «sin etiquetar» que nunca viste antes.
Volviendo al ámbito de machine learning, un modelo podría recibir imágenes varias, intentar identificarlas y verificar sus etiquetas para determinar si las clasificó correctamente. Según el resultado, ajustará sus parámetros internos para lograr una identificación más precisa y repetirá este proceso hasta obtener resultados consistentes. A partir de allí, podrá prescindir de datos de entrenamiento etiquetados y será capaz de procesar nuevas imágenes e identificarlas con un alto porcentaje de precisión.
Los modelos de clasificación como el que describimos son solo un tipo de modelo de aprendizaje supervisado. Se trata de buscar que el modelo produzca un resultado dentro de un conjunto predeterminado de posibilidades como, por ejemplo, las etiquetas «dragón» o «no dragón». En términos matemáticos, el modelo busca identificar variables discretas.
Sin embargo, puede ocurrir que, en lugar de producir uno de un conjunto de valores, necesitemos que nuestro modelo produzca una variable continua, es decir, que produzca un valor cualquiera dentro de un rango. En ese caso, en lugar de un modelo de clasificación, buscaríamos un modelo de regresión. Un ejemplo práctico sería un modelo que es entrenado con descripciones de propiedades inmobiliarias e intenta predecir su valor de venta. Los datos de entrenamiento incluirán propiedades y sus valores, pero los valores que prediga el modelo no necesariamente tienen que estar entre los de su dataset, simplemente deberán ser números positivos.
2. Aprendizaje no supervisado
Si el aprendizaje supervisado parte de un entrenamiento con datos etiquetados, es de esperar que el aprendizaje no supervisado haga lo contrario y trabaje con datos sin etiquetar. Pero, si no tiene etiquetas para verificar sus predicciones, ¿cómo aprende? Para entenderlo, hay que entender que el objetivo del aprendizaje no supervisado es un poco distinto: lo que busca es explorar los datos para descubrir patrones, estructuras o agrupaciones internas. El énfasis está en descubrir, ya que muchas veces se busca encontrar nuevas relaciones que no se conocían previamente, entre los datos.
En general, estas técnicas se aplican a cantidades descomunales de datos —tantos que etiquetarlos todos sería extremadamente costoso— o a datos que se quiere entender un poco mejor. Por ejemplo, imagina un negocio que quiere entender las tendencias de los cientos de miles de compras que ha recibido durante el año, para poder entender mejor a sus clientes y maximizar sus ventas. En ese caso, probablemente lo mejor sea usar técnicas de aprendizaje no supervisado.
Al igual que con el aprendizaje supervisado, los modelos no supervisados pueden usar distintos tipos de algoritmos según lo que se desee hacer con ellos. Un uso muy común es el de clustering o agrupación. Supongamos que tenés una colección de animales mitológicos, muchos de los cuales no has visto antes. De hecho, no sabrías cómo agrupar estas imágenes para ordenarlas. Un modelo no supervisado podría analizarlas y agruparlas en función de sus similitudes visuales: podría poner juntos a los que tienen alas, en otro grupo a los que tienen cuatro patas y cuernos y así sucesivamente. No sabe lo que está agrupando, pero detecta patrones. Vos ni siquiera necesitás decirle qué criterios usar, él los puede descubrir y definir por su cuenta.
En los modelos no supervisados es un poco más difícil de discernir el concepto de entrenamiento, ya que no refinan sus resultados según resultados «modelo» (como sucede en el aprendizaje supervisado), sino de acuerdo a reglas más abstractas. En el caso de los algoritmos de agrupación, el entrenamiento se rige por reglas matemáticas que le indican al modelo cuándo ha llegado a una agrupación óptima.
Otro tipo de modelo no supervisado, en el que es más fácil visualizar el entrenamiento, es el de los GAN —en inglés, Generative Adversarial Networks—. Este tipo de modelo, además, es muy usado en modelos generativos, por lo que vale la pena entender cómo funciona. Un GAN está compuesto por dos redes neuronales (estructuras matemáticas inspiradas en el cerebro humano): una generadora, que intenta crear datos artificiales que se parezcan a los reales, y una discriminadora, que intenta detectar si los datos son reales o generados. Ninguna de las dos tiene etiquetas externas: se corrigen entre ellas. La red generadora va ajustando sus parámetros para engañar a la red discriminadora, acercándose cada vez más al resultado esperado. Cuando la última ya no puede discernir entre datos reales y generados, se podría decir que el aprendiz ha superado al maestro.
Bonus: aprendizaje semisupervisado
Nada es blanco y negro en este mundo, ni siquiera cuando de modelos algorítmicos se trata. Tanto el aprendizaje supervisado como el no supervisado tienen sus ventajas y desventajas:
- En tareas comparables, el entrenamiento supervisado produce modelos más precisos, el no supervisado es más susceptible a cometer errores.
- El entrenamiento supervisado es bastante acotado, los modelos no supervisados pueden realizar tareas más amplias.
- El entrenamiento supervisado precisa menos datos, pero a su vez deben estar etiquetados, lo cual es costoso.
Por supuesto, los desarrolladores de IA se dieron cuenta de esto y buscaron formas de quedarse con lo mejor de los dos mundos. El aprendizaje semisupervisado es un enfoque que combina una pequeña cantidad de datos etiquetados con una gran cantidad de datos sin etiquetar. Es útil cuando etiquetar todo el dataset es costoso, lento o inviable, pero se cuenta, al menos, con una parte anotada correctamente.
Por ejemplo, podríamos tener mil imágenes de dragones y dinosaurios, pero solo cien de ellas con etiquetas. Un modelo semisupervisado puede usar esas cien imágenes como punto de partida y luego aplicar lo que aprenda para generar hipótesis sobre el resto de los datos proporcionados.
3. Aprendizaje reforzado
El aprendizaje reforzado es una tercera técnica que toma un enfoque un tanto más pavloviano. En este caso, los modelos no tienen etiquetas ni ejemplos a seguir: aprenden por estímulos. Siguiendo los sueños de los viejos psicólogos conductistas, estos modelos aprenden exclusivamente por la experiencia.
Cuando un modelo obtiene un resultado deseado, recibe una recompensa y cuando produce un resultado incorrecto, recibe una sanción. Ante esto, el modelo está programado para tender a la acumulación máxima de sus recompensas, para lo que va refinando sus resultados.
Este tipo de aprendizaje puede entenderse mejor cuando se usa en juegos o situaciones con múltiples pasos y consecuencias. Por ejemplo, al principio, un modelo que aprende a jugar a un videojuego no sabe qué hacer: prueba cosas al azar y si eso lo lleva a ganar puntos, tenderá a repetir esas acciones. Si pierde vidas, aprenderá a evitarlas.
A final de cuentas, son tres formas muy distintas de aprender, pero, como vimos con el aprendizaje semisupervisado, no son mutuamente excluyentes. En cualquier caso, entender cómo aprenden estos modelos debería ayudarnos a entender por qué y cómo se equivocan y, en consecuencia, informar nuestras decisiones al utilizarlos. Nos guste o no la idea, si la inteligencia artificial es la herramienta del futuro, no está mal comenzar a comprenderla.
Deja un comentario