5 razões pelas quais você precisa de dados sintéticos

5 razões pelas quais você precisa de dados sintéticos

Nó Fonte: 1942868

5 razões pelas quais você precisa de dados sintéticos
Dados sintéticos gerados a partir de Kubric
 

Para treinar um modelo de aprendizado de máquina, você precisa de dados. As tarefas de ciência de dados geralmente não são uma competição Kaggle, onde você tem um grande conjunto de dados curado que vem pré-rotulado. Às vezes você precisa coletar, organizar e limpar seus próprios dados. Este processo de recolha e rotulagem de dados no mundo real pode ser demorado, complicado, caro, impreciso e, por vezes, perigoso. Além disso, no final deste processo, você pode acabar com os dados que encontrou no mundo real, não sendo necessariamente os dados que você gostaria em termos de qualidade, diversidade (por exemplo, desequilíbrio de classe) e quantidade. Abaixo estão problemas comuns que você pode encontrar ao trabalhar com dados reais: 

  • A coleta e rotulagem de dados reais não são escaláveis
  • Rotular manualmente dados reais às vezes pode ser impossível
  • Dados reais têm problemas de privacidade e segurança
  • Dados reais não são programáveis
  • Um modelo treinado exclusivamente em dados reais não tem desempenho suficiente (por exemplo, velocidade de desenvolvimento lenta)

Felizmente, problemas como estes podem ser resolvidos com dados sintéticos. Você pode estar se perguntando, o que são dados sintéticos? Os dados sintéticos podem ser definidos como dados gerados artificialmente, normalmente criados através de algoritmos que simulam processos do mundo real, desde o comportamento de outros utentes da estrada até ao comportamento da luz à medida que interage com as superfícies. Esta postagem aborda as limitações dos dados do mundo real e como os dados sintéticos podem ajudar a superar esses problemas e melhorar o desempenho do modelo. 

Para conjuntos de dados pequenos, geralmente é possível coletar e rotular manualmente os dados; no entanto, muitas tarefas complexas de aprendizado de máquina exigem grandes conjuntos de dados para treinamento. Por exemplo, modelos treinados para aplicações em veículos autônomos precisam de grandes quantidades de dados coletados de sensores acoplados a carros ou drones. Esse processo de coleta de dados é lento e pode levar meses ou até anos. Depois que os dados brutos são coletados, eles devem ser anotados manualmente por seres humanos, o que também é caro e demorado. Além disso, não há garantia de que os dados rotulados que retornam serão benéficos como dados de treinamento, uma vez que podem não conter exemplos que informem as atuais lacunas de conhecimento do modelo. 

[conteúdo incorporado][conteúdo incorporado]

A rotulagem desses dados geralmente envolve rótulos desenhados à mão por humanos sobre os dados do sensor. Isso é muito caro, pois equipes de ML bem pagas geralmente gastam grande parte de seu tempo certificando-se de que os rótulos estão corretos e enviando erros de volta aos rotuladores. Um dos principais pontos fortes dos dados sintéticos é que você pode gerar quantos dados perfeitamente rotulados desejar. Tudo que você precisa é de uma forma de gerar dados sintéticos de qualidade. 

Software de código aberto para gerar dados sintéticos: Kubric (vídeos multiobjetos com máscaras de segmentação, mapas de profundidade e fluxo óptico) e SDV (dados tabulares, relacionais e de série temporal).

Algumas (de muitas) empresas que vendem produtos ou constroem plataformas que podem gerar dados sintéticos incluem Gretel.ai (conjuntos de dados sintéticos que garantem a privacidade dos dados reais), NVIDIA (omniverso) e Domínio Paralelo (veículos autônomos). Para mais, veja a lista de 2022 de empresas de dados sintéticos

5 razões pelas quais você precisa de dados sintéticos
Imagem da Domínio Paralelo
 

Existem alguns dados que os humanos não conseguem interpretar e rotular totalmente. Abaixo estão alguns casos de uso em que os dados sintéticos são a única opção: 

  • Estimativa precisa de profundidade e Fluxo optico de imagens únicas
  • Aplicativos autônomos que utilizam dados de radar que não são visíveis ao olho humano 
  • Gerando deep fakes que podem ser usados ​​para testar sistemas de reconhecimento facial

5 razões pelas quais você precisa de dados sintéticos
Imagem por Michael Galarnyk
 

Os dados sintéticos são altamente úteis para aplicações em domínios onde não é possível obter facilmente dados reais. Isto inclui alguns tipos de dados de acidentes de carro e a maioria dos tipos de dados de saúde que têm restrições de privacidade (por exemplo, registros eletrônicos de saúde). Nos últimos anos, pesquisadores de saúde têm se interessado em prever a fibrilação atrial (ritmo cardíaco irregular) usando sinais de ECG e PPG. O desenvolvimento de um detector de arritmia não é apenas um desafio, uma vez que a anotação destes sinais é tediosa e dispendiosa, mas também devido a restrições de privacidade. Esta é uma das razões pelas quais existe pesquisa na simulação desses sinais

É importante enfatizar que a recolha de dados reais não só exige tempo e energia, como também pode ser perigosa. Um dos principais problemas das aplicações robóticas, como os carros autônomos, é que elas são aplicações físicas de aprendizado de máquina. Você não pode implantar um modelo inseguro no mundo real e travar devido à falta de dados relevantes. Aumentar um conjunto de dados com dados sintéticos pode ajudar os modelos a evitar esses problemas. 

A seguir estão algumas empresas que usam dados sintéticos para melhorar a segurança das aplicações: Toyota, Waymo e Cruzeiro.

5 razões pelas quais você precisa de dados sintéticos
Imagem da Domínio Paralelo
 

Imagem sintética de uma criança oclusa em uma bicicleta saindo de trás de um ônibus escolar e andando de bicicleta pela rua em um ambiente suburbano ao estilo da Califórnia.

As aplicações de veículos autônomos geralmente lidam com eventos relativamente “incomuns” (em relação às condições normais de condução), como pedestres à noite ou ciclistas andando no meio da estrada. Os modelos geralmente precisam de centenas de milhares ou até milhões de exemplos para aprender um cenário. Um grande problema é que os dados do mundo real recolhidos podem não ser o que procuramos em termos de qualidade, diversidade (por exemplo, desequilíbrio de classes, condições meteorológicas, localização) e quantidade. Outro problema é que, para carros e robôs autônomos, você nem sempre sabe de quais dados precisa, ao contrário das tarefas tradicionais de aprendizado de máquina com conjuntos de dados e benchmarks fixos. Embora algumas técnicas de aumento de dados que alteram imagens de forma sistemática ou aleatória sejam úteis, essas técnicas podem apresentar seus próprios problemas

É aqui que entram os dados sintéticos. APIs de geração de dados sintéticos permitem projetar conjuntos de dados. Essas APIs podem economizar muito dinheiro, pois é muito caro construir robôs e coletar dados no mundo real. É muito melhor e mais rápido tentar gerar dados e descobrir os princípios de engenharia usando a geração de conjuntos de dados sintéticos.

A seguir estão exemplos que destacam como os dados sintéticos programáveis ​​ajudam os modelos a aprender: prevenção de transações fraudulentas (American Express), melhor detecção de ciclistas (domínio paralelo) e análise e revisão de cirurgia (Hutom.io).

5 razões pelas quais você precisa de dados sintéticos
Fases do Ciclo de Desenvolvimento do Modelo | Imagem de Jules S. Damji 
 

Na indústria, existem muitos fatores que afetam a viabilidade/desempenho de um projeto de aprendizado de máquina tanto no desenvolvimento quanto na produção (por exemplo, aquisição de dados, anotação, treinamento de modelo, dimensionamento, implantação, monitoramento, retreinamento de modelo e velocidade de desenvolvimento). Recentemente, 18 engenheiros de aprendizado de máquina participaram de um estudo de entrevista que tinha o objetivo de compreender práticas e desafios comuns de MLOps em organizações e aplicações (por exemplo, veículos autônomos, hardware de computador, varejo, anúncios, sistemas de recomendação, etc.). Uma das conclusões do estudo foi a importância da velocidade de desenvolvimento, que pode ser definida aproximadamente como a capacidade de prototipar e iterar ideias rapidamente.

Um fator que afeta a velocidade de desenvolvimento é a necessidade de ter dados para fazer o treinamento e avaliação inicial do modelo bem como reciclagem frequente do modelo devido à deterioração do desempenho do modelo ao longo do tempo devido ao desvio de dados, desvio de conceito ou até mesmo distorção do serviço de treinamento do trem. 

 

5 razões pelas quais você precisa de dados sintéticos
Imagem da Evidentemente IA
 

O estudo também relatou que esta necessidade levou algumas organizações a criar uma equipe para rotular os dados ao vivo com frequência. Isso é caro, demorado e limita a capacidade de uma organização de retreinar modelos com frequência. 

 

5 razões pelas quais você precisa de dados sintéticos
Imagem da Gretel.ai
 

Observe que este diagrama não cobre como os dados sintéticos também podem ser usados ​​para coisas como Teste de MLOps em recomendadores.

Os dados sintéticos têm o potencial de serem usados ​​com dados do mundo real no ciclo de vida do aprendizado de máquina (foto acima) para ajudar as organizações a manter o desempenho de seus modelos por mais tempo. 

A geração de dados sintéticos está se tornando cada vez mais comum em fluxos de trabalho de aprendizado de máquina. Na verdade, Gartner prevê que, até 2030, os dados sintéticos serão usados ​​muito mais do que os dados do mundo real para treinar modelos de aprendizado de máquina. Se você tiver alguma dúvida ou opinião sobre esta postagem, sinta-se à vontade para entrar em contato nos comentários abaixo ou através Twitter.
 
 
Michael Galarnyk é um profissional de ciência de dados e trabalha em relações com o desenvolvedor na Anyscale.
 

Carimbo de hora:

Mais de KDnuggetsGenericName