toco O que são dados sintéticos? - Unite.AI
Entre em contato

AI 101

O que são dados sintéticos?

mm
Atualização do on

O que são dados sintéticos?

Os dados sintéticos são uma tendência em rápida expansão e uma ferramenta emergente no campo da ciência de dados. O que são exatamente dados sintéticos? A resposta curta é que os dados sintéticos são compostos por dados que não são baseados em nenhum fenômeno ou evento do mundo real, em vez disso, é gerado por meio de um programa de computador. No entanto, por que os dados sintéticos estão se tornando tão importantes para a ciência de dados? Como os dados sintéticos são criados? Vamos explorar as respostas a essas perguntas.

O que é um conjunto de dados sintético?

Tal como o termo “sintético” sugere, os conjuntos de dados sintéticos são gerados através de programas de computador, em vez de serem compostos através da documentação de eventos do mundo real. O objetivo principal de um conjunto de dados sintético é ser versátil e robusto o suficiente para ser útil no treinamento de modelos de aprendizado de máquina.

Para ser útil para um classificador de aprendizado de máquina, os dados sintéticos deve ter certas propriedades. Embora os dados possam ser categóricos, binários ou numéricos, o comprimento do conjunto de dados deve ser arbitrário e os dados devem ser gerados aleatoriamente. Os processos aleatórios usados ​​para gerar os dados devem ser controláveis ​​e baseados em várias distribuições estatísticas. O ruído aleatório também pode ser colocado no conjunto de dados.

Se os dados sintéticos estiverem sendo usados ​​para um algoritmo de classificação, a quantidade de separação de classes deve ser personalizável, para que o problema de classificação possa ser facilitado ou dificultado de acordo com os requisitos do problema. Enquanto isso, para uma tarefa de regressão, processos generativos não lineares podem ser empregados para gerar os dados.

Por que usar dados sintéticos?

À medida que estruturas de aprendizado de máquina como TensorfFlow e PyTorch se tornam mais fáceis de usar e modelos pré-projetados para visão computacional e processamento de linguagem natural se tornam mais onipresentes e poderosos, o principal problema que os cientistas de dados devem enfrentar é a coleta e o manuseio de dados. As empresas muitas vezes têm dificuldade em adquirir grandes quantidades de dados para treinar um modelo preciso dentro de um determinado período de tempo. Rotular dados manualmente é uma maneira cara e lenta de adquirir dados. No entanto, a geração e o uso de dados sintéticos podem ajudar os cientistas de dados e as empresas a superar esses obstáculos e a desenvolver modelos confiáveis ​​de aprendizado de máquina de maneira mais rápida.

Há uma série de vantagens em usar dados sintéticos. A maneira mais óbvia de o uso de dados sintéticos beneficiar a ciência de dados é que ele reduz a necessidade de capturar dados de eventos do mundo real e, por esse motivo, torna-se possível gerar dados e construir um conjunto de dados muito mais rapidamente do que um conjunto de dados dependente de eventos do mundo real. Isso significa que grandes volumes de dados podem ser produzidos em um curto espaço de tempo. Isso é especialmente verdadeiro para eventos que raramente ocorrem, como se um evento raramente acontecesse na natureza, mais dados podem ser simulados de algumas amostras de dados genuínos. Além disso, os dados podem ser rotulados automaticamente à medida que são gerados, reduzindo drasticamente o tempo necessário para rotular os dados.

Os dados sintéticos também podem ser úteis para obter dados de treinamento para casos extremos, que são instâncias que podem ocorrer com pouca frequência, mas são essenciais para o sucesso de sua IA. Os casos extremos são eventos muito semelhantes ao alvo primário de uma IA, mas diferem em aspectos importantes. Por exemplo, objetos que estão apenas parcialmente à vista podem ser considerados casos extremos ao projetar um classificador de imagem.

Finalmente, conjuntos de dados sintéticos pode minimizar as preocupações com a privacidade. As tentativas de tornar os dados anônimos podem ser ineficazes, pois mesmo que as variáveis ​​sensíveis/de identificação sejam removidas do conjunto de dados, outras variáveis ​​podem atuar como identificadores quando são combinadas. Isso não é um problema com dados sintéticos, pois nunca foi baseado em uma pessoa real ou evento real, em primeiro lugar.

Casos de uso para dados sintéticos

Os dados sintéticos têm uma grande variedade de usos, pois pode ser aplicado a praticamente qualquer tarefa de aprendizado de máquina. Casos de uso comuns para dados sintéticos incluem veículos autônomos, segurança, robótica, proteção contra fraudes e assistência médica.

Um dos casos de uso iniciais para dados sintéticos foram os carros autônomos, pois os dados sintéticos são usados ​​para criar dados de treinamento para carros em condições em que obter dados reais de treinamento na estrada é difícil ou perigoso. Os dados sintéticos também são úteis para a criação de dados usados ​​para treinar sistemas de reconhecimento de imagem, como sistemas de vigilância, com muito mais eficiência do que coletar e rotular manualmente um monte de dados de treinamento. Os sistemas robóticos podem ser lentos para treinar e desenvolver com coleta de dados tradicional e métodos de treinamento. Os dados sintéticos permitem que as empresas de robótica testem e criem sistemas de robótica por meio de simulações. Os sistemas de proteção contra fraude podem se beneficiar de dados sintéticos, e novos métodos de detecção de fraude podem ser treinados e testados com dados que são constantemente novos quando dados sintéticos são usados. No campo da saúde, dados sintéticos podem ser usados ​​para projetar classificadores de saúde precisos, mas que preservam a privacidade das pessoas, pois os dados não serão baseados em pessoas reais.

Desafios de dados sintéticos

Embora o uso de dados sintéticos traga muitas vantagens, também traz muitos desafios.

Quando dados sintéticos são criados, geralmente faltam outliers. Os outliers ocorrem naturalmente nos dados e, embora muitas vezes sejam descartados dos conjuntos de dados de treinamento, sua existência pode ser necessária para treinar modelos de aprendizado de máquina verdadeiramente confiáveis. Além disso, a qualidade dos dados sintéticos pode ser altamente variável. Os dados sintéticos geralmente são gerados com uma entrada, ou semente, dados e, portanto, a qualidade dos dados pode depender da qualidade dos dados de entrada. Se os dados usados ​​para gerar os dados sintéticos forem tendenciosos, os dados gerados podem perpetuar esse viés. Os dados sintéticos também requerem alguma forma de controle de saída/qualidade. Ele precisa ser verificado em relação aos dados anotados por humanos ou, caso contrário, os dados autênticos são de alguma forma.

Como são criados os dados sintéticos?

Os dados sintéticos são criados programaticamente com técnicas de aprendizado de máquina. Técnicas clássicas de aprendizado de máquina, como árvores de decisão, podem ser usadas, assim como as técnicas de aprendizado profundo. Os requisitos para os dados sintéticos influenciarão o tipo de algoritmo usado para gerar os dados. Árvores de decisão e modelos de aprendizado de máquina semelhantes permitem que as empresas criem distribuições de dados não clássicas e multimodais, treinadas em exemplos de dados do mundo real. A geração de dados com esses algoritmos fornecerá dados altamente correlacionados com os dados de treinamento originais. Para instâncias em que a distribuição típica de dados é conhecida, uma empresa pode gerar dados sintéticos por meio do uso de um método de Monte Carlo.

Os métodos baseados em aprendizado profundo para geração de dados sintéticos normalmente usam um autoencoder variacional (VAE) or uma rede adversária generativa (GAN). VAEs são modelos de aprendizado de máquina não supervisionados que usam codificadores e decodificadores. A parte do codificador de um VAE é responsável por compactar os dados em uma versão mais simples e compacta do conjunto de dados original, que o decodificador analisa e usa para gerar uma representação dos dados básicos. Um VAE é treinado com o objetivo de ter um relacionamento ideal entre os dados de entrada e saída, onde os dados de entrada e os dados de saída são extremamente semelhantes.

Quando se trata de modelos GAN, eles são chamados de redes “adversárias” devido ao fato de que as GANs são na verdade duas redes que competem entre si. O gerador é responsável por gerar dados sintéticos, enquanto a segunda rede (o discriminador) opera comparando os dados gerados com um conjunto de dados real e tenta determinar quais dados são falsos. Quando o discriminador captura dados falsos, o gerador é notificado disso e faz alterações para tentar obter um novo lote de dados do discriminador. Por sua vez, o discriminador torna-se cada vez melhor na detecção de falsificações. As duas redes são treinadas uma contra a outra, com falsificações cada vez mais realistas.