¿Qué es el aprendizaje automático?

El aprendizaje automático es un tipo de programa informático que puede aprender a realizar tareas sin instrucciones definidas.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir el aprendizaje automático
  • Explicar cómo funciona el aprendizaje automático
  • Diferenciar entre modelos y algoritmos de aprendizaje automático

Copiar enlace del artículo

¿Qué es el aprendizaje automático?

El aprendizaje automático se refiere a un tipo de algoritmo estadístico que puede aprender sin instrucciones definidas. Esto le permite realizar ciertas tareas, como la identificación de patrones, por sí sola, generalizando a partir de ejemplos. El aprendizaje automático es una parte de la inteligencia artificial (AI), que se refiere a la capacidad de un ordenador para duplicar la actividad cognitiva humana.

El aprendizaje automático tiene una amplia gama de usos, entre los que se incluyen:

  • Identificar el correo basura
  • Detectar la actividad de los bots
  • Recomendar contenidos a los usuarios en plataformas de streaming y aplicación de redes sociales
  • Proporcionar resultados en los motores de búsqueda
  • Reconocimiento de voz e imágenes
  • Bots de chat y traducción de idiomas
  • Investigación médica

Aprendizaje automático vs. AI

El aprendizaje automático y la AI no son exactamente lo mismo; para ser exactos, el aprendizaje automático, como disciplina, cae bajo el paraguas de la AI. Pero no toda la AI implica un aprendizaje automático, ya que la AI puede incluir también una serie de capacidades diferentes.

¿Cómo funciona el aprendizaje automático?

El aprendizaje automático se basa en entradas y salidas. Un algoritmo de aprendizaje automático recibe datos (entrada) que utiliza para producir un resultado (salida). Un modelo de aprendizaje automático "aprende" qué tipo de resultados debe producir, y puede hacerlo mediante tres métodos principales:

1. Aprendizaje supervisado

Para el tipo más básico de programa de aprendizaje automático, el programador elabora un conjunto de entradas de ejemplo y las salidas correctas. El algoritmo de aprendizaje automático intenta generalizar a partir de estos ejemplos para que, cuando se le alimente con una entrada por sí mismo, pueda producir la salida deseada.

Imagine a un chef al que se le da una cocina llena de ingredientes (el input) y un menú con un gran número de ejemplos de platos acabados del menú (el output). Combinando los ingredientes de distintas formas y comparando el producto final con los platos de ejemplo, el chef puede acabar desarrollando las recetas necesarias para crear los platos del menú. Del mismo modo, el aprendizaje supervisado permite que un algoritmo aprenda a producir los resultados correctos sin instrucciones programadas (o una receta).

2. Aprendizaje no supervisado

El aprendizaje no supervisado es cuando un algoritmo de aprendizaje automático más avanzado recibe datos brutos. A continuación, identifica patrones por sí mismo. Piense en un chef lo bastante hábil como para simplemente ver el menú e idear recetas para elaborar esos platos.

3. Aprendizaje por refuerzo

En este estilo de aprendizaje, el algoritmo de aprendizaje automático se entrena mediante la retroalimentación. Hay "salidas buenas" y "salidas malas", y aprende con el tiempo a evitar las salidas malas.

El aprendizaje por refuerzo es un proceso de ensayo y error. Imagine que el chef no tiene un menú para empezar, sino que todo lo que cocina es evaluado por un crítico gastronómico. Al final, el cocinero puede confeccionar una lista de platos que le gustan al crítico gastronómico, después de descartar todos los que no le gustan.

¿Qué es un modelo de aprendizaje automático?

Un algoritmo es un conjunto de pasos preprogramados; un modelo de aprendizaje automático es el resultado de aplicar un algoritmo a una colección de datos. A pesar de esta distinción, a veces se utilizan indistintamente los términos "modelo de aprendizaje automático" y "algoritmo de aprendizaje automático". Pero la diferencia es importante: dos modelos de aprendizaje automático pueden producir resultados diferentes aunque utilicen el mismo algoritmo, siempre que cada modelo haya sido alimentado con datos diferentes como punto de partida.

¿Qué es aprendizaje profundo?

El aprendizaje profundo es un tipo de aprendizaje automático. Utiliza redes neuronales para aprender a reconocer patrones y hacer asociaciones en datos brutos no estructurados. El aprendizaje profundo no está supervisado y puede realizar tareas extremadamente complejas. Suele utilizarse para el reconocimiento de voz, la conducción automatizada y otras aplicaciones avanzadas.

¿Qué es una red neuronal?

Una red neuronal es un método de aprendizaje automático que imita la estructura del cerebro humano. Las redes neuronales están formadas por nodos que se conectan entre sí. Estos nodos están repartidos en al menos tres capas: una capa de entrada, una capa de salida y una o varias capas ocultas.

Cada capa contiene varios nodos que se conectan entre sí. Si un nodo percibe los datos como significativos, los pasa al nodo siguiente.

Piense en el cocinero preparando platos en la cocina:

  • si el cocinero tiene que hacer un pastel, puede empezar examinando los ingredientes de la despensa; esto es como la capa de entrada de una red neuronal.
  • El chef selecciona ingredientes como harina, huevos, azúcar y cacao en polvo. En cambio, hay otros alimentos que no selecciona, como el caldo de pollo o el arroz. Esto es lo mismo que pasar datos estadísticamente significativos al siguiente nodo.
  • El cocinero combina los ingredientes de varias formas: mezclando la masa de la tarta, haciendo glaseado, etc. Piense en esto como en las capas ocultas de una red neuronal, con nodos que se pasan datos unos a otros.
  • Por último, el cocinero hornea, glasea y sirve el pastel; esto es como la capa de salida. Por el camino, se eliminaron los datos irrelevantes o incorrectos (como ingredientes innecesarios y combinaciones mal mezcladas).

¿Qué es una base de datos vectorial?

Una base de datos vectorial es un método para almacenar datos que mejora el aprendizaje automático. Las bases de datos vectoriales permiten realizar búsquedas por similitud e identificar elementos relacionados, a diferencia de las consultas de coincidencia exacta. Almacenar los datos de esta forma ayuda a los modelos de aprendizaje automático a comprender el contexto de las entradas que reciben.

Una base de datos vectorial almacena los elementos en una matriz con varias dimensiones, y con vectores que especifican la posición de cada elemento de datos a lo largo de esas dimensiones. Esto permite a los modelos de aprendizaje automático encontrar datos en relación con otros datos. Por ejemplo, una plataforma de streaming puede emparejar el aprendizaje automático con una base de datos vectorial para identificar qué películas recomendar a un espectador, basándose en su historial de visionado.

¿Cuáles son algunos de los retos a la hora de crear modelos de aprendizaje automático?

Salida de datos: incluso los modelos de aprendizaje profundo más avanzados requieren acceso a conjuntos de datos masivos para obtener resultados precisos. El almacenamiento en la nube es ideal para guardar estos conjuntos de big data, ya que la informática en la nube es escalable de forma casi infinita. Sin embargo, acceder a esos datos suele conllevar gastos de salida, como cargos de los proveedores de la nube por transferir datos desde el almacenamiento.

Potencia de cálculo e infraestructura: el aprendizaje automático, y especialmente el aprendizaje profundo, requiere mucha potencia de cálculo. Los modelos de aprendizaje automático requieren el uso de hardware o servicios en la nube especializados y caros, por ejemplo, varios servidores rápidos y con GPU (una GPU o unidad de procesamiento gráfico es más potente que una CPU tradicional).

¿Cómo ayuda Cloudflare a los desarrolladores a crear aprendizaje automático?

Cloudflare ofrece una colección de servicios para facilitar a cualquiera el uso del aprendizaje automático. Cloudflare Workers AI es una red global de GPU que los desarrolladores pueden utilizar para ejecutar tareas de AI generativa. Cloudflare Vectorize permite a los desarrolladores utilizar una base de datos vectorial distribuida globalmente. Además, Cloudflare R2 es un almacenamiento de objetos sin tasas de salida, lo que permite a los desarrolladores almacenar grandes conjuntos de datos en la nube y transferirlos gratuitamente. Más información sobre Cloudflare for AI.