Introdução ao Aprendizado de Máquina Online
A cada dia, a geração de dados no mundo cresce, com a previsão de atingir 163 zettabytes (1 trilhão de gigabytes) até o fim de 2025.
Com a disponibilidade desse vasto volume de dados em um fluxo cada vez maior, negócios em todas as indústrias estão migrando do processamento de dados em lote para o processamento de dados em streaming.
O aprendizado de máquina tradicional é ineficaz nesse cenário, dando origem a uma nova abordagem chamada Aprendizado de Máquina Online (ou Aprendizado de Máquina com Dados em Streaming), que alimenta os modelos de forma incremental.
Neste primeiro artigo, apresentarei uma visão superficial do aprendizado de máquina online, explorando os principais conceitos básicos.
Aprendizado de Máquina Online vs. Aprendizado de Máquina Offline
Aprendizado de Máquina Offline
Quando se fala sobre Aprendizado de Máquina Offline, está-se referindo à abordagem tradicional na qual o modelo aprende com todos os dados de uma vez, carregados na memória. Essa abordagem apresenta algumas desvantagens ao trabalhar com dados em streaming, incluindo:
- Modelo não aprende incrementalmente
- Usa muitos recursos de processamento e de memória
- Leva muito tempo para executar quando o volume de dados é muito grande
- É necessário treinar o modelo do zero sempre que novos dados chegam
Aprendizado de Máquina Online
O aprendizado de máquina online, também conhecido como aprendizado de máquina com dados em streaming, pode ser encontrado na Internet com esses dois nomes, e a verdade é que não parece haver um consenso sobre a nomenclatura. No entanto, o segundo nome demonstra claramente sua orientação para trabalhar com dados em streaming, possuindo muitas vantagens em comparação com modelos offline, incluindo:
- O modelo é alimentado continuamente sempre que os dados chegam da fonte
- Economiza recursos de processamento e memória (pois os dados não são todos carregados de uma única vez)
- Sempre que novos dados chegam, não é necessário treinar o modelo do zero
- Previne desvios de conceitos (falarei mais sobre isso em outro artigo)
Casos de Uso para Aprendizado de Máquina Online
Como acontece com toda tecnologia, não é suficiente apenas aplicá-la sem analisar criticamente as demandas dos seus problemas de negócio. O aprendizado de máquina online possui muitas vantagens ao abordar problemas em que:
- Os dados são sem fim e efetivamente contínuos
- Os dados são sensíveis ou privados e não podem ser armazenados
- Há uma impossibilidade lógica (requisitos de negócio como os do item anterior) ou física (espaço de armazenamento limitado ou rede indisponível) para armazenar ou transferir os dados
- A quantidade de dados é grande demais para caber na memória para o treinamento.
Além disso, deve-se considerar antes de implementar um modelo online:
- Como lidar com os altos volumes de dados em tempo real
- A velocidade de criação, de distribuição e de coleta dos dados
- A variedade dos dados (texto, vídeo, imagem, áudio, etc.)
Conclusão
Se este conteúdo lhe interessou, não esqueça de avaliá-lo de alguma forma e de me seguir para acompanhar os próximos artigos. Dúvidas, sugestões ou correções são muito bem-vindas na seção de comentários abaixo. No próximo artigo, apresentarei uma biblioteca em Python para lidar com modelos de aprendizado de máquina online. Obrigado pela atenção.