¿Cómo aprenden las máquinas?

Comenzamos una apasionante serie donde exploramos (y mostramos) cómo podemos hacer que nuestros programas en Python aprendan

Esta es la primera parte de una serie donde explicaremos cómo podemos crear algoritmos que "aprenden" a hacer una tarea. Nos sumergiremos en los fundamentos de la Inteligencia Artificial y del Aprendizaje Automático para comprender la moda de estos días: ChatGPT y los Grandes Modelos de Lenguaje (LLM).Para comenzar, analizaremos la pregunta "¿Qué es aprender?" y sobre todo "¿Qué es aprender para un algoritmo?".

El aprendizaje

Definir y conocer cada detalle del proceso de aprendizaje de los humanos (y otros animales) es tarea de neurocientíficos y psicólogos. Los procesos cognitivos que ocurren en nuestro cerebro son muy difíciles de estudiar y aún hoy muchos de ellos constituyen un misterio. Esto es, en gran medida, por lo que construir máquinas que se comporten como humanos es tan complicado.

No obstante, estamos presenciando una nueva revolución de la Inteligencia Artificial. Podemos tener "conversaciones" con algoritmos, pedirles que nos escriban nuestros emails, que nos ayuden a estudiar o que nos generen imágenes a partir de descripciones que les proporcionamos. ¿Cómo hemos podido llegar hasta este punto sin conocer cómo realmente ocurre el aprendizaje en nuestro propio cerebro?

Con la Inteligencia Artificial ha pasado como con los aviones. En un inicio intentamos imitar a las aves para crear máquinas que nos permitieran volar por los cielos. No fue hasta que desechamos la idea de imitar a las aves que se logró finalmente crear una aeronave. También sucedió que dejar de intentar imitar la inteligencia humana nos permitió crear algoritmos que aprendieran y que resolvieran tareas específicas incluso con mayor precisión y calidad que los propios humanos.

Pero entonces, ¿qué es lo que aprenden las máquinas?

La escuela de máquinas

Nos valdremos de una analogía con el propio sistema educativo por el que a menudo pasamos los humanos desde nuestra infancia para adquirir los conocimientos que hoy poseemos. Comencemos por la parte más complicada: los exámenes.

Los exámenes

¿Para qué sirven los exámenes? En teoría (lamentablemente no siempre es el caso), los exámenes sirven para comprobar que sabemos lo que debemos saber luego de pasar un determinado curso. En la Inteligencia Artificial también tenemos exámenes para comprobar cuánto ha aprendido nuestro algoritmo realmente.

Por ejemplo, imaginemos que creamos un algoritmo para identificar dígitos escritos a mano a partir de imágenes. Nuestro algoritmo recibe la imagen como entrada y nos dice qué dígito se encuentra en dicha imagen. Un posible exámen pude ser mostrarle varias imágenes y contar cuántas veces acierta y cuántas se equivoca. De esta forma tenemos una calificación para nuestro algoritmo.

Abstrayéndonos sólo un poco podemos decir que este exámen no es más que una medida del desempeño del algoritmo. Una función que, dada la tarea que se tiene que realizar, nos da un número (una calificación) que representa cuán bien nuestro algoritmo resuelve la tarea.

El curso

Los algoritmos pasan algo parecido a nuestros cursos en el colegio. En el mundo de la Inteligencia Artificial lo llamamos experiencia. La experiencia es un conjunto de datos con los cuáles el algoritmo puede aprender a hacer una determinada tarea.

Siguiendo el ejemplo del identificador de dígitos escritos a mano, la experiencia en este caso pueden ser un conjunto de imágenes de dígitos junto con el dígito correcto que se representa en cada imagen. O sea, tenemos una imagen con un uno (1), y la información de que en esa imagen hay realmente un uno. De esta forma el algoritmo logra asociar determinadas características de la imagen con el hecho de que contiene el dígito uno.

Por tanto, podemos decir que un algoritmo aprende a realizar una tarea a partir de una experiencia, cuando se aprecia una mejora en su calificación al realizar la tarea luego de recibir la experiencia. Esta calificación viene dada por una medida de desempeño preestablecida.

¡Y ya está! Hemos establecido cómo aprende una máquina. Quizás creas que no es gran cosa, pero esta es la base de todos los avances en Inteligencia Artificial de las últimas décadas.

El reconocedor de dígitos

Si recibes nuestra newsletter semanal ya sabes que estamos ofertando gratis una introducción práctica a la Inteligencia Artificial con Python. Lo que hacemos en esta introducción es construir, precisamente, este reconocedor de dígitos escritos a mano desde cero y usando Python.

Este breve tutorial contiene varios contenidos que estaremos analizando durante esta serie:

  • Redes Neuronales

  • Construcción de Modelos

  • Entrenamiento

  • Evaluación

  • Y mucho más

Para acceder a él debes llenar una muy breve encuesta sobre nuestro curso gratuito El Videojuego Snake en 7 días. Por supuesto, debiste haber pasado ese curso anteriormente para llenar la encuesta (y para llevarte nuestra introducción a la IA). Si no has pasado el curso pero aún quieres obtener la Introducción a la IA, contáctanos respondiendo a cualquiera de los emails de nuestra newsletter, comentando en Substack o a través del formulario al final de nuestra página web https://codexlacademy.com.

COMPLETAR LA ENCUESTA

ACCEDER A VIDEOJUEGO SNAKE EN 7 DIAS

Conclusión

Este artículo es el comienzo de una emocionante serie sobre Inteligencia Artificial y Aprendizaje Automático. En este primer post definimos qué es aprender en el mundo de las máquinas. Esta es la base de todos los avances en materia de Aprendizaje Automático. Recuerda que puedes acceder a una Introducción Práctica a la Inteligencia Artificial con Python completando una breve encuesta sobre nuestro curso gratuito de Python. Y también recuerda que siempre estaremos encantados de escucharte así que no dudes en comentar aquí, dejarnos tu reacción y responder a nuestros emails.

Esperamos que este post te haya sido útil y recuerda que también te puede interesar:

¡Muchas gracias por leernos!

Did you find this article valuable?

Support Blog CodeXL by becoming a sponsor. Any amount is appreciated!