O que é aprendizado de máquina?

Aprendizado de máquina é um tipo de programa de computador que pode aprender a executar tarefas sem instruções definidas.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir aprendizado de máquina
  • Explicar como funciona o aprendizado de máquina
  • Diferenciar entre algoritmos e modelos de aprendizado de máquina

Copiar o link do artigo

O que é aprendizado de máquina?

Aprendizado de máquina se refere a um tipo de algoritmo estatístico que consegue aprender sem instruções definidas. Isso permite que execute por conta própria determinadas tarefas, como a identificação de padrões, ao generalizá-las a partir de exemplos. Aprendizado de máquina é uma parte da inteligência artificial (IA) que se refere à capacidade que um computador tem de reproduzir as atividades cognitivas humanas.

O aprendizado de máquina tem uma ampla gama de usos, incluindo:

  • Identificação de e-mails de spam
  • Detecção da atividade de bots
  • Recomendação de conteúdo para usuários em plataformas de streaming e aplicativos de rede social
  • Fornecimento de resultados de mecanismos de pesquisa
  • Reconhecimento de voz e imagem
  • Chatbots e tradução de idiomas
  • Pesquisas médicas

Aprendizado de máquina x IA

Aprendizado de máquina e IA não são exatamente a mesma coisa; na verdade, como disciplina, o aprendizado de máquina está incluído no âmbito da IA, mas nem toda IA envolve aprendizado de máquina, já que a IA também pode incluir uma série de outras habilidades.

Como funciona o aprendizado de máquina?

O aprendizado de máquina é baseado em entradas e saídas. Um algoritmo de aprendizado de máquina é alimentado com dados (entrada) que são usados para produzir um resultado (saída). Um modelo de aprendizado de máquina "aprende" qual tipo de resultados deve produzir e pode fazer isso por meio de três métodos principais:

1. Aprendizado supervisionado

Para o tipo mais básico de programa de aprendizado de máquina, o programador seleciona um conjunto de exemplos de entradas e as saídas corretas. O algoritmo de aprendizado de máquina tenta generalizar a partir desses exemplos para que, quando for alimentado com uma entrada isolada, consiga produzir a saída desejada.

Imagine um chef que recebe uma cozinha cheia de ingredientes (a entrada) e um cardápio com um grande número de exemplos de pratos prontos (o resultado). Ao combinar os ingredientes de diferentes maneiras e comparar o produto final aos exemplos de pratos, o chef conseguirá, eventualmente, desenvolver as receitas necessárias para criar os itens do cardápio. Da mesma forma, o aprendizado supervisionado permite que um algoritmo aprenda como produzir os resultados corretos sem instruções programadas (ou uma receita).

2. Aprendizado não supervisionado

O aprendizado não supervisionado ocorre quando um algoritmo de aprendizado de máquina mais avançado é alimentado com dados brutos e, em seguida, identifica os padrões por conta própria. Pense em um chef que seja habilidoso o suficiente para simplesmente olhar um cardápio e criar as receitas para preparar esses itens.

3. Aprendizado por reforço

Nesse estilo de aprendizado, o algoritmo de aprendizado de máquina é treinado por meio de feedback. Existem "saídas" boas e "saídas" ruins e com o tempo, o algoritmo aprende a evitar as saídas ruins.

O aprendizado por reforço é um processo de tentativa e erro. Imagine que o chef não tem um cardápio para começar, mas, em vez disso, tudo o que ele cozinha é avaliado por um crítico de gastronomia. Eventualmente, o chef será capaz de selecionar uma lista de pratos que o crítico de gastronomia aprecia, depois de descartar todos os itens dos quais o crítico não gosta.

O que é um modelo de aprendizado de máquina?

Um algoritmo é um conjunto de etapas pré-programadas; um modelo de aprendizado de máquina é o resultado da aplicação de um algoritmo a uma coleção de dados. Apesar dessa distinção, os termos "modelo de aprendizado de máquina" e "algoritmo de aprendizado de máquina" são às vezes usados como sinônimos. Mas a diferença é importante: dois modelos de aprendizado de máquina podem produzir resultados diferentes mesmo que usem o mesmo algoritmo, desde que cada modelo tenha sido alimentado com dados diferentes como ponto de partida.

O que é aprendizado profundo?

Aprendizado profundo é um tipo de aprendizado de máquina que usa redes neurais para aprender a reconhecer padrões e fazer associações em dados brutos e não estruturados. O aprendizado profundo não é supervisionado e pode realizar tarefas extremamente complexas, sendo frequentemente utilizado para reconhecimento de fala, dirigir carros autônomos e outros aplicativos avançados.

O que é uma rede neural?

Uma rede neural é um método de aprendizado de máquina que imita a estrutura do cérebro humano. As redes neurais são compostas de nós que se conectam entre si. Esses nós estão distribuídos por pelo menos três camadas: uma camada de entrada, uma camada de saída e uma ou mais camadas ocultas.

Cada camada contém vários nós que se conectam entre si. Se um nó perceber que alguns dados são significativos, irá repassá-lo para o próximo nó.

Pense mais uma vez no chef preparando pratos na cozinha:

  • Se precisar fazer um bolo, ele poderia começar examinando os ingredientes na despensa, o que seria como a camada de entrada de uma rede neural.
  • O chef seleciona ingredientes como farinha, ovos, açúcar e chocolate em pó. Ingredientes como caldo de galinha ou arroz, por sua vez, não são selecionados, e esse processo seria como repassar dados estatisticamente significativos para o próximo nó.
  • O chef combina seus ingredientes de várias maneiras, batendo uma massa de bolo, preparando uma cobertura e assim por diante. Pense nisso como as camadas ocultas de uma rede neural, com os nós transmitindo dados entre si.
  • Para terminar, o chef assa o bolo, coloca a cobertura e serve o bolo, o que seria como a camada de saída. Ao longo do caminho, dados irrelevantes ou incorretos (como ingredientes desnecessários e combinações incorretas) foram eliminados.

O que é um banco de dados vetorial?

Um banco de dados vetorial é um método de armazenamento de dados que aprimora o aprendizado de máquina. Os bancos de dados vetoriais permitem pesquisas por similaridade e a identificação de itens relacionados, em vez de consultas por correspondência exata. Armazenar os dados dessa forma ajuda os modelos de aprendizado de máquina a entenderem o contexto das inserções que recebem.

Um banco de dados vetorial armazena itens em uma matriz com várias dimensões, com vetores especificando a posição de cada item de dados ao longo dessas dimensões. Isso permite que os modelos de aprendizado de máquina localizem dados relacionados a outros dados. Por exemplo, uma plataforma de streaming pode combinar o aprendizado de máquina com um banco de dados vetorial para identificar quais filmes recomendar a um espectador com base em seu histórico de exibição.

Quais são alguns dos desafios da criação de modelos de aprendizado de máquina?

Saída de dados: mesmo os modelos de aprendizado profundo mais avançados requerem acesso a conjuntos de dados gigantescos para obter resultados precisos. O armazenamento em nuvem é ideal para salvar esses conjuntos de big data, já que a computação em nuvem pode ser ampliada quase infinitamente. No entanto, o acesso a esses dados costuma resultar em tarifas de saída, isto é, os provedores de nuvem cobram pela transferência de dados do armazenamento.

Infraestrutura e poder computacional: o aprendizado automático, especialmente o aprendizado profundo, requer muito poder computacional. Os modelos de aprendizado de máquina requerem o uso de hardware ou serviços de nuvem especializados e caros — como, por exemplo, vários servidores rápidos alimentados por GPU. (Uma GPU, ou unidade de processamento gráfico, é mais poderosa do que uma CPU tradicional.)

Como a Cloudflare ajuda os desenvolvedores a criarem o aprendizado de máquina?

A Cloudflare oferece uma coleção de serviços para facilitar o uso do aprendizado de máquina por qualquer pessoa. O Cloudflare Workers AI é uma rede global de GPUs que os desenvolvedores podem usar para executar tarefas de IA generativa. O Cloudflare Vectorize permite que os desenvolvedores usem um banco de dados vetorial distribuído globalmente. Além disso, temos o Cloudflare R2, um armazenamento de objetos sem tarifas de saída, permitindo que os desenvolvedores armazenem grandes conjuntos de dados em nuvem e os transfiram gratuitamente. Saiba mais sobre a Cloudflare para IA.