Connect with us

Inteligência artificial

O que é Dados Sintéticos?

mm

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 os 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, mas sim gerados por 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éticos?

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

Para ser útil para um classificador de aprendizado de máquina, os dados sintéticos devem 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. 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 tornado mais fácil ou mais difícil de acordo com os requisitos do problema. Enquanto isso, para uma tarefa de regressão, processos gerativos não lineares podem ser empregados para gerar os dados.

Por que Usar Dados Sintéticos?

À medida que as estruturas de aprendizado de máquina, como TensorfFlow e PyTorch, se tornam mais fáceis de usar e os modelos pré-projetados para visão computacional e processamento de linguagem natural se tornam mais ubíquos e poderosos, o principal problema que os cientistas de dados devem enfrentar é a coleta e manipulação de dados. As empresas muitas vezes têm dificuldade em adquirir grandes quantidades de dados para treinar um modelo preciso dentro de um prazo determinado. A rotulagem manual de dados é uma forma 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 desenvolver modelos de aprendizado de máquina confiáveis de forma mais rápida.

Existem várias vantagens em usar dados sintéticos. A forma mais óbvia pela qual o uso de dados sintéticos beneficia a ciência de dados é que 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 período de tempo. Isso é especialmente verdadeiro para eventos que raramente ocorrem, pois se um evento raramente ocorre na natureza, mais dados podem ser simulados a partir de algumas amostras de dados genuínos. Além disso, os dados podem ser rotulados automaticamente à medida que são gerados, reduzindo drasticamente a quantidade de tempo necessária para rotular os dados.

Os dados sintéticos também podem ser úteis para obter dados de treinamento para casos de bordo, que são instâncias que podem ocorrer com pouca frequência, mas são críticas para o sucesso do seu IA. Casos de bordo são eventos que são muito semelhantes ao alvo principal de um IA, mas diferem de maneiras importantes. Por exemplo, objetos que estão apenas parcialmente visíveis podem ser considerados casos de bordo ao projetar um classificador de imagens.

Finalmente, os conjuntos de dados sintéticos podem minimizar as preocupações de privacidade. As tentativas de anonimizar os dados podem ser ineficazes, pois mesmo que as variáveis sensíveis/identificadoras sejam removidas do conjunto de dados, outras variáveis podem atuar como identificadores quando combinadas. Isso não é um problema com os dados sintéticos, pois eles nunca foram baseados em uma pessoa real ou em um evento real, para começar.

Casos de Uso para Dados Sintéticos

Os dados sintéticos têm uma ampla variedade de usos, pois podem ser aplicados a quase 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 fraude e saúde.

Um dos primeiros casos de uso para dados sintéticos foi o de veículos autônomos, pois os dados sintéticos são usados para criar dados de treinamento para carros em condições em que é difícil ou perigoso obter dados de treinamento reais. Os dados sintéticos também são úteis para a criação de dados usados para treinar sistemas de reconhecimento de imagens, como sistemas de vigilância, de forma muito mais eficiente do que coletar e rotular manualmente um monte de dados de treinamento. Os sistemas de robótica podem ser lentos para treinar e desenvolver com métodos tradicionais de coleta e treinamento de dados. Os dados sintéticos permitem que as empresas de robótica testem e engenhariam sistemas de robótica por meio de simulações. Os sistemas de proteção contra fraude podem se beneficiar dos 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 os dados sintéticos são usados. No campo da saúde, os dados sintéticos podem ser usados para projetar classificadores de saúde que sejam precisos, mas preservem a privacidade das pessoas, pois os dados não serão baseados em pessoas reais.

Desafios dos Dados Sintéticos

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

Quando os dados sintéticos são criados, eles muitas vezes carecem de valores atípicos. Os valores atípicos 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 realmente confiáveis. Além disso, a qualidade dos dados sintéticos pode ser altamente variável. Os dados sintéticos são muitas vezes gerados com um dado de entrada, ou semente, e, portanto, a qualidade dos dados pode depender da qualidade do dado 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 algum tipo de controle de saída/qualidade. Eles precisam ser verificados contra dados anotados por humanos ou contra dados autênticos de alguma forma.

Como os Dados Sintéticos São Criados?

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 técnicas de aprendizado profundo. Os requisitos para os dados sintéticos influenciarão que 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 que são altamente correlacionados com os dados de treinamento originais. Para instâncias em que a distribuição típica dos 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 gerar dados sintéticos geralmente fazem uso de um autoencoder variacional (VAE) ou uma rede adversária gerativa (GAN). Os VAEs são modelos de aprendizado de máquina não supervisionados que usam codificadores e decodificadores. A parte codificadora de um VAE é responsável por comprimir os dados em uma versão mais simples e compacta do conjunto de dados original, que o decodificador então analisa e usa para gerar uma representação dos dados base. Um VAE é treinado com o objetivo de ter uma relação ótima entre os dados de entrada e saída, uma em que ambos os dados de entrada e saída sejam extremamente semelhantes.

Quando se trata de modelos GAN, eles são chamados de “redes adversárias” devido ao fato de que os GANs são, na verdade, duas redes que competem uma com a outra. 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 reais e tentando determinar quais dados são falsos. Quando o discriminador detecta dados falsos, o gerador é notificado disso e faz alterações para tentar obter um novo lote de dados que passe pelo discriminador. Em troca, o discriminador se torna melhor e melhor em detectar falsos. As duas redes são treinadas uma contra a outra, com os falsos se tornando cada vez mais realistas.

Blogueiro e programador com especialidades em Machine Learning e Deep Learning tópicos. Daniel espera ajudar os outros a usar o poder da IA para o bem social.