Dados sintéticos: por que vamos ouvir falar cada vez mais sobre eles
Conceito é fundamental em redes neurais como GANs e interessa à privacidade. Pode acelerar a Inteligência Artificial, mas também está no cerne de polêmicas como deep fakes.
Dados sintéticos são dados que replicam, estatisticamente ou programaticamente, na definição técnica, características de um conjunto de dados obtidos ou baseados no mundo real. Não se tratam de dados “falsos”, gerados aleatoriamente ou pseudo-aleatoriamente, sem conexão com a realidade, como faz o módulo random do Numpy, por exemplo. De outro modo: são dados artificiais, mas que possuem características e relacionamentos de dados reais.
Para um exemplo hipotético e rápido, digamos que uma cooperativa de crédito possui uma determinada base de dados de clientes, mas com uma parcela de clientes novos, sem histórico significante de transações. Para melhorar a concessão de crédito ou a redução de inadimplência, em vez de esperar anos para formar uma base madura, o negócio pode gerar dados sintéticos a partir dos que já possui, contando, assim, com um banco de dados mais robusto, pelo menos para fins de análise e exploração. É claro que há riscos e poréns envolvidos, mas o caso ajuda a entender o potencial do conceito.
O assunto não é novo, apesar de estar em alta em anos recentes. A proposição que inaugurou o termo data de 1993, quando o estatístico Donald B. Rubin publicou um artigo sugerindo a substituição de microdados reais de questionários (ou suas versões anonimizadas) por microdados gerados estatisticamente, considerados mais seguros. A preocupação, já na época, era com a “confidencialidade” — privacidade, em termos atuais — de informações pessoais, principalmente em áreas médicas e sociais, como os censos.
Quase 30 anos depois, dados sintéticos estão em destaque novamente, tanto na Ciência de Dados como em negócios, por causa de duas tendências bastante atuais:
geração de imagem em visão computacional ou, de forma mais ampla, deep learning, que requer grandes quantidades de dados para treinamento, os quais nem sempre são fáceis obter ou sequer existem;
privacidade de dados, agora regulamentada por dispositivos como o General Data Protection Regulation (GDPR), europeu, mas com abrangência global, e a Lei Geral de Proteção de Dados Pessoais (LGPD), brasileira.
Aposta para a privacidade
Vamos começar com a privacidade de dados. Dados sintéticos são de interesse da área porque podem ser solução mais viável e segura do que anonimização ou pseudonimização de dados (técnicas que removem, modificam ou ocultar informações que possam identificar uma pessoa), as quais já se demostrou serem passíveis de reversão.
Em organizações que lidam com grande quantidade de dados pessoais, e que precisam realizar análises e previsões sobre esses dados, a técnica pode ser uma saída barata e confortável tanto para governança e segurança da informação quanto para o trabalho de profissionais de dados, como data scientist e data analysts.
Onde a segurança é um fator crítico, como saúde, vigilância ou mobilidade urbana, dados sintéticos podem alavancar estudos. Clínicas ou departamentos de pesquisa médica podem usar técnicas estatísticas para criar novas e maiores bases de dados, originadas a partir de dados reais que já possuem, a fim de conduzir experimentos sobre doenças, formas de prevenção ou de tratamento. Considerando que seria difícil, senão impossível, contar com voluntariado para gerar dados reais no setor, dados sintéticos podem suprir a lacuna e possibilitar que mesmo pequenas empresas consigam investir em produção de conhecimento.
Tomando outro exemplo hipotético, poderíamos ter uma base de dados de saúde com dados que identificam um paciente (nome, idade etc.) associados a dados clínicos, como pressão arterial, batimentos cardíacos, sanguíneos (que podem revelar se o mesmo tem predisposição a alguma doença, o que pode ser um fator de preconceito em situações da vida). Em vez de anonimizar apenas os dados de identificação, o que poderia levar a uma reversão, com consequente quebra de privacidade, um algoritmo geraria uma nova base de dados, sintética, com nomes, idades e todos os dados de saúde de cada paciente estatisticamente similares aos dados reais, mas que não representam nenhuma pessoa real.
É claro que tudo não é tão fácil e simples. Há estudos que procuram comprovar que não há tanta garantia de segurança como o mercado tenta vender. Em um deles, de 2020, do Reino Unido, pesquisadores demonstraram que dados sintéticos permitem, sim, inferência de atributos, como ocorre nos dados anonimizados, e que as características replicadas de outras bases podem permitir a reconstrução de informações privadas de indivíduos. O estudo chega a afirmar que “modelos generativos (veremos mais sobre eles a seguir) nunca serão uma solução apropriada para preservar a privacidade”.
Por outro lado, como faz parte da ciência comprovar ou refutar achados, há quem mantenha o otimismo. Um grupo do MIT lançou e mantém um sistema de código aberto chamado Synthetic Data Vault (SDV), capaz de gerar dados sintéticos a partir de dados relacionais, tabulares e até de séries temporais.
A iniciativa também gerou um artigo científico, em 2016. Os pesquisadores explicam que o sistema itera sobre as relações possíveis de qualquer conjunto de dados, criando um novo modelo, que permite sintetizar dados por amostragem de qualquer parte do banco de dados original.
O interessante é que após formular todo o trabalho conceitual e de implementação, o SDV foi posto à prova junto a cientistas de dados que desenvolvem modelos preditivos no mercado. A conclusão foi de que não houve diferença significativa entre o uso de dados reais e o de dados sintéticos, ou seja, um ponto a favor da proposta.
Também há outras questões, menos técnicas e mais “humanas”, como preconceito ou receio infundado no uso de dados sintéticos. Em muitas organizações, é provável que ainda se tenha mais confiança em um modelo ineficiente baseado em dados reais do que em um modelo eficiente baseado em dados sintéticos.
Prós e contras à parte, dados sintéticos estão impulsionando pesquisas em relação à privacidade e pode ser questão de tempo para descobertas como essas se tornarem soluções robustas.
Visão computacional sintética
No campo da geração de imagem e visão computacional, dados sintéticos são ainda mais importantes, pelas possibilidades que permitem e pelas polêmicas que têm gerado. Visão computacional, de fato, é um universo à parte, quase uma indústria à parte, com questões éticas e políticas muito mais profundas do que a Ciência de Dados.
O marco inaugural desse movimento são as Redes Adversárias Generativas (Generative Adversarial Networks ou GANs), um tipo de rede neural proposto em 2014 por Ian Goodfellow, ex-Google, atualmente na Apple, e outros. GANs são responsáveis por uma explosão de avanços e estudos em deep learning, especificamente em campos como visão computacional, processamento de linguagem natural, música e outros, os quais dependem de quantidades massivas de dados para treinamento.
Um modelo desse tipo conta com duas redes: uma rede discriminatória, a adversária, que é treinada com base em dados reais e uma rede generativa, que gera dados novos, sintéticos — ou fakes, de onde vêm os deep fakes. Os dados sintéticos gerados são avaliados pelo discriminador, que diz se eles se parecem com os dados reais de treinamento ou não. À medida que a rede aprende, aprimora-se nesse processo de gerar novos dados e classificá-los, conseguindo resultados que parecem “mágicos”, apesar de ser só matemática e poder computacional mesmo.
Para ficar mais visual, o resultado são criações que enganam perfeitamente bem, como estas imagens de pessoas, gatos ou cavalos. Ou este (e muitos outros) vídeos de Obama falando o que nunca disse. Nada disso existe na vida real, nem as pessoas, gatos e cavalos das fotos, nem, em conjunto, as palavras de Obama, suas expressões faciais e movimentos labiais. Os resultados foram criados artificialmente, “sinteticamente”, por GANs.
Sobre as imagens fotorrealistas, o estudo que as propôs é de 2019. O modelo se chama StyleGAN, tem vídeos explicativos no Youtube e código no Github.
Tudo isso está vastamente documentado na web e continua avançando como campo da Inteligência Artificial. O que nos interessa aqui é a relação do deep learning com dados sintéticos. E a questão toda não está em dados que modelos do tipo GANs geram, mas nos dados usados para treinamento do discriminador, a parte “adversária” da rede. É para onde a indústria passou a olhar mais seriamente em relação ao assunto.
Vamos tomar um dos exemplos mais citados, o dos carros autônomos. Como dispor de dados do mundo real em abundância para treinar esses veículos? Colocaríamos carros desse tipo para rodar em cada cidade do mundo, a fim de adquirirem aprendizado sobre o plano urbano, o traçado das ruas e particularidades do trânsito, com todos os custos e riscos envolvidos?
Frente à inviabilidade de tal saída, descobriu-se outras formas de treinar os modelos que fazem estes carros rodarem sem motoristas. Uma delas: video games. Não se acoplou um Playstation no carro, obviamente, mas se passou a usar ambientes tridimensionais simulados de cidades para injetar dados e acelerar o aprendizado dos algoritmos. Um estudo do Intel Labs feito por pesquisadores da Alemanha mostra uma dessas tentativas. A combinação de uma parte de dados do mundo real com outra de dados sintéticos 3D aumenta “significativamente” a precisão e reduz o trabalho tedioso de rotular imagens e cenários para que o computador aprenda, segundo os pesquisadores.
Outros experimentos seguem na mesma linha, buscando facilitar a conexão de engines populares de jogos e simulação, como Unity e UnrealCV, à visão computacional, para acelerar o aprendizado de máquina e reduzir seus custos.
Um dos melhores exemplos de aplicação desse tipo de dado sintético na prática é relatado pela Neuromation, empresa que fornece soluções de IA. Seu departamento de pesquisa tinha o desafio de criar um sistema de reconhecimento de objetos que facilitasse a inspeção de produtos em prateleiras de supermercados — uma tarefa interessantíssima, considerando-se que um único produto, uma lata, por exemplo, pode ser exibido de várias formas (frente, verso, topo, inclinado), que há vários produtos de diferentes numa prateleira, que são várias prateleiras de grupos de produtos a serem verificadas e que as prateleiras não seguem um padrão entre um supermercado e outro.
Como seria bastante custoso (praticamente impossível) dispor de fotos reais de todos os produtos em tais cenários — a empresa calculou que, para rotular 170 mil itens de um varejo russo, seria necessário mais de um milhão de fotos —, a saída foi recorrer a modelos 3D dos produtos, ou seja, algo parecido com o simulador de cidades para treinamentos de carros autônomos. No caso, houve necessidade, ainda, de aplicar a chamada transfer learning (aprendizado por transferência), comum nesses processos, para aplicar os dados das renderizações às imagens de produtos reais. A estratégia também rendeu uma vantagem competitiva à parte: as renderizações 3D de produtos ficaram tão boas que parceiros varejistas passaram a usá-las em materiais publicitários. O artigo completo que descreve o case trata, ainda (é seu enfoque, na verdade), como foi processar todas essas imagens em GPUs, o que acabou dando outra ideia à empresa: dispor de “fazendas de mineração” de dados, similares às do Bitcoin, para processamento massivo.
Além das GANs originais, famosas pelo sensacionalismo em torno dos deep fakes, outros modelos também fazem parte da explosão de interesse sobre dados sintéticos. Entram no rol, por exemplo:
Bidirectional GANs (BiGANs), que não apenas geram dados a serem avaliados, mas possuem um codificador que permitem fazer um caminho inverso, melhorando o aprendizado;
Variational Autoencoders (VAEs), que tentam aprender não por discriminação, mas como os dados são gerados; e
Generative Teaching Networks (GTNs), em que o aprendizado é colaborativo e não competitivo, como nas GANs, como explica o Uber, propositor da técnica;
Variações das GANs, como TGANs e CopulaGANs (o nome vem da Teoria da Probabilidade), também podem ser encontradas.
Soluções para testar
Para quem gosta de código, alguns pacotes e bibliotecas, a maioria em Python, podem ser uma introdução ao mundo dos dados sintéticos. O pacote pydbgen é bastante citado em artigos na web, com vários tutoriais no Medium. Ele gera bancos de dados categóricos sintéticos, mas que se parecem com dados reais de clientes, localizações ou outros tipos de registros, que podem ser inseridos em bancos de dados relacionais ou mesmo serem importados diretamente como DataFrame no Pandas ou transpostos a uma planilha do Excel. Aqui há uma introdução a respeito.
O Scikit-Learn, biblioteca para machine learning muito utilizada em data science, possui geradores de diversos tipos de dados, para problemas de classificação ou de regressão, por exemplo. Este artigo, no Towards Data Science (portal de conteúdos sobre Ciência de Dados), fornece uma visão geral de casos. Este outro fornece alguns casos práticos, com códigos e visualização.
O sistema SDV (Synthetic Data Vault), citado anteriormente, também é um exemplo que pode ajudar em estudos e na prática. Ele permite gerar dados sintéticos tabulares e de séries temporais. O portal tem toda a parte científica da proposição, bem como tutoriais, vídeos e referências técnicas. Para um conhecimento mais aprofundado, vale um mergulho na documentação. Os guias são bastante didáticos, à primeira vista. A biblioteca SymPy, para matemática simbólica, também é sugerida para geração de dados sintéticos, mas é mais complexa e voltada para desafios específicos relacionados a modelos de machine learning.
É claro que, até em reverência à parte da “ciência” existente na Ciência de Dados, soluções e conceitos de dados sintéticos devem ser sempre adotados com algum grau de ceticismo. Não necessariamente significam solução para vários problemas de machine learning ou de deep learning. Também não são soluções plug-and-play, em que basta apertar um botão para obter dados de qualidade sem custo nem esforço. A utilização requer um bom conhecimento dos algoritmos usados em cada caso e dos problemas de negócio que eles tentam resolver. Ou seja, requer um grau mais avançado de conhecimento na área. Às vezes, conforme estudos e cases citados, eles podem gerar bons resultados e serem uma alternativa viável se aliados a uma base de dados reais. Às vezes, se aplicados sem conhecimento dos detalhes, podem gerar classificações bastante falhas em relação ao mundo real, o que pode ser um desastre para negócios.
Tendência
O Gartner já havia colocado dados sintéticos como tendência em 2019, e estima que, até 2025, 60% dos dados usados em IA serão sintéticos e, até 2025, 10% dos governos usarão dados sintéticos para simular comportamentos de cidadãos na elaboração de políticas públicas, por causa das restrições de privacidade. Futurologia ou não, é interessante observar tais tendências pelas oportunidades que representam ao mercado.
Não será nada revelador se em pouco tempo grandes players do mundo de dados, como os serviços de nuvem (Amazon AWS, por exemplo, para ficar num dos maiores), ofereçam soluções prontas de dados sintéticos para treinamento de modelos, à medida que mais e mais dados artificiais são criados, armazenados e, sobretudo, padronizados para várias aplicações.
Profissionais de dados deverão conhecer a tendência, tanto para saber como aplicá-la e tirar proveito dela quanto para ajudar o negócio a saber o que funciona ou não, e evitar, assim, que a empresa caia em soluções sedutoras, mas pouco eficientes.
Mais: o avanço do deep learning, principalmente da visão computacional, dos deep fakes e da NLP (natural language processing), irá alavancar “dados sintéticos” como um termo cada vez mais presente em relatórios de tendências e prometem inundar áreas críticas, como:
saúde e medicina (simulações de dados do corpo humano, úteis para pesquisas ou estudos de intervenções, por exemplo);
governo (simulações de comportamento de cidadãos, como aglomerações, úteis em contextos como o atual, de epidemia);
mobilidade (veículos autônomos e dispositivos robóticos de forma geral);
outros setores onde obter dados da realidade é dificultoso (exploração espacial, mercado financeiro, lançamento de produtos inovadores).
Além disso, previsões mais futuristas incluem um potencial imenso para um campo que lida primordialmente com as emoções humanas: a da indústria cultural. Produção e processamento de dados sintéticos estão no cerne de uma possível onda de apresentadores, atores, cantores e músicos, influenciadores, até atores pornô (melhor não pensar em “avatars” oficiais de governantes), feitos de bits e não de carne e osso, mas tão carismáticos ou intrigantes quanto. Se em termos éticos, de privacidade e de “verdade” (se é que isso ainda faz sentido) tais novidades podem levar a infindáveis debates, para o mercado é um potencial enorme, o que deixa a questão mais complexa.
Dados sintéticos podem se tornar matéria-prima principal da realidade futura e é interessante que profissionais da indústria que constrói essa nova realidade (da tecnologia, dos dados e da IA) estejam cientes dos benefícios, riscos, euforias e implicações que a tendência carrega.
Artigo escrito por Rogério Kreidlow, jornalista, que gosta de observar a tecnologia em relação a temas amplos, como política, economia, história e filosofia.