Aprendizaje automático: una descripción general de alto nivel – Cortex Labs

Cuando trato de introducir el concepto de AI DApps, a menudo encuentro que es particularmente difícil cuando las personas carecen de una comprensión precisa de lo que es el aprendizaje automático. Hay una cantidad abrumadora de información en línea sobre aprendizaje automático dirigida a audiencias con diferentes niveles de experiencia técnica. En esta serie, presento el aprendizaje automático en diferentes niveles técnicos, con el objetivo de proporcionar un marco básico que lo ayude a comprender el aprendizaje automático, independientemente de sus antecedentes, comenzando en el nivel más alto.

En la programación tradicional, los programadores escriben programas, que están hechos de líneas de código que instruyen a las computadoras a realizar ciertas tareas. Por ejemplo, un programador puede escribir un programa para detectar si la palabra "libro" existe en un artículo de noticias. Cada programa tiene una entrada y salida, y en este caso, cuando ingresa el texto de un artículo de noticias, el programa emite si existe la palabra "libro".

Los programas de aprendizaje automático son como los programas de computadora tradicionales: le das una entrada, te da una salida. Como ejemplo típico, un programa de aprendizaje automático de reconocimiento de escritura a mano toma como entrada una imagen de un dígito escrito a mano, y le da como salida de qué dígito es (por ejemplo, 3).

Entonces, si los programas de aprendizaje automático son tan similares a los programas tradicionales, ¿por qué hay tanto entusiasmo por el aprendizaje automático? Donde esta la magia

La magia reside en el proceso de escribir programas de ML. Mientras que los programas tradicionales se escriben con un sistema basado en reglas, los programas de aprendizaje automático se escriben (entrenan) con probabilidad y estadísticas.

Como ejemplo simplificado, si queremos escribir un programa para reconocer a Ed Sheeran, en la programación tradicional, le diría a las computadoras: “Ok, Ed Sheeran tiene el pelo rojo, ojos verdes, piel pálida y boca ancha. Si ve estas características, es Ed Sheeran ".

En el aprendizaje automático, en lugar de decirle a las computadoras cómo se ve Ed Sheeran, le muestra a las computadoras algunas fotos de Ed Sheeran versus no Ed Sheeran; la computadora luego aprende a través de estadísticas sobre cómo se ve Ed Sheeran y cuando se le da una nueva imagen, puede decirle si es Ed Sheeran.

Como puede ver, en casos como este, el enfoque de aprendizaje automático es mucho más efectivo porque hay demasiados escenarios que debe enumerar para un sistema basado en reglas: ¿qué pasa si en esta imagen Ed Sheeran usa anteojos?

¿Y si tiene barba? Incluso si tenemos "cabello rojo, ojos verdes, piel pálida, boca ancha" en la imagen, ¿cómo sabemos que es Ed Sheeran en lugar de algunos tipos de jengibre al azar? Por otro lado, con el enfoque basado en estadísticas, puede entrenar a la computadora para que reconozca a Ed Sheeran mostrándole suficientes ejemplos de Ed Sheeran versus no Ed Sheeran.

Este nuevo paradigma de programación ha creado tanta expectación porque nos ha permitido crear programas que antes eran imposibles con el paradigma de programación tradicional: los ejemplos incluyen reconocimiento de voz, reconocimiento de objetos, conducción autónoma, etc.

En particular, las computadoras ahora pueden ser enseñadas / programadas para realizar tareas que tradicionalmente solo podían ser realizadas por humanos y, por lo tanto, reemplazar trabajos humanos: simplemente vaya a cualquier almacén de Amazon para presenciarlo usted mismo.

Tenga en cuenta que las personas a menudo combinan la ejecución (inferencia) de los programas de ML y la capacitación de los programas de ML. Esta distinción es bastante importante, especialmente para comprender conceptos como AI DApps.

Si bien el proceso de escribir un programa de ML es diferente de escribir un programa tradicional, en tiempo de ejecución, un programa de ML se comporta más o menos como un programa tradicional en el que da una entrada, le da una salida.

En el próximo artículo, entraré en más detalles sobre cómo exactamente una máquina puede aprender a través de estadísticas y probabilidad. ¡Manténganse al tanto!

Algunos matices se dejan de lado en aras de la legibilidad. Por favor, deje un comentario si encuentra ciertas partes confusas. A los efectos de este artículo, ML model = ML program; Inferencia ML = ejecución ML; escribir un programa de ML = entrenar un programa de ML

Artículo publicado originalmente en Hackernoon.