O que é a destilação de conjuntos de dados? Uma visão geral rápida
Aprende como a destilação de conjuntos de dados acelera o treino de modelos e reduz os custos computacionais, substituindo grandes conjuntos de dados por um pequeno conjunto otimizado de amostras sintéticas.

Treinar modelos pode parecer a parte mais demorada do trabalho de um cientista de dados. Mas a maior parte do tempo, muitas vezes 60% a 80%, é dedicada a preparar os dados: recolhê-los, limpá-los e organizá-los para a modelagem. À medida que os datasets crescem, esse tempo de preparação também aumenta, atrasando as experiências e dificultando a iteração.
Para resolver esse problema, os investigadores passaram anos a procurar formas de simplificar o treino. Abordagens como dados sintéticos, compressão de datasets e métodos de otimização melhores procuram reduzir o custo e a complexidade de trabalhar com datasets de grande escala, além de acelerar os fluxos de trabalho de machine learning.
Uma questão importante que isto levanta é se podemos reduzir drasticamente um dataset e, ainda assim, obter o mesmo desempenho que ao treinar um modelo com todos os dados. A destilação de datasets é uma resposta promissora.
Cria uma versão compacta de um grande dataset de treino, preservando os padrões essenciais de que o modelo precisa para aprender eficazmente. Oferece um caminho para um treino mais rápido, menores necessidades computacionais e experiências mais eficientes. Podes pensar nela como uma folha de consulta para estudar, um pequeno conjunto de exemplos de dados sintéticos concebidos para ensinar os mesmos padrões fundamentais que o dataset completo.
Neste artigo, vamos explorar como funciona a destilação de datasets e como apoia o machine learning e o deep learning escaláveis em aplicações do mundo real. Vamos começar!
Compreender a destilação de datasets#
A destilação de datasets é um processo em que um grande dataset de treino é condensado num conjunto de dados muito menor, que continua a ensinar a um modelo quase a mesma informação que o dataset original. Muitos investigadores também se referem a este processo como condensação de datasets, porque o objetivo é capturar os padrões essenciais presentes em todo o dataset.
Um dataset destilado é diferente de dados sintéticos gerados aleatoriamente ou da simples seleção de um subconjunto menor de imagens reais. Não é um dataset falso aleatório nem uma cópia reduzida do original.
Em vez disso, é otimizado deliberadamente para capturar os padrões mais importantes. Durante este processo, cada píxel e cada característica são ajustados e otimizados para que uma rede neural treinada com os dados destilados aprenda quase como se tivesse sido treinada com o dataset completo.
Esta ideia surgiu pela primeira vez num artigo de 2018 no arXiv, escrito por Tongzhou Wang, Jun-Yan Zhu, Antonio Torralba e Alexei A. Efros. Os primeiros testes utilizaram datasets simples como MNIST e CIFAR-10, o que facilitou demonstrar que algumas amostras destiladas podiam substituir milhares de imagens reais.

Fig. 1. Utilização da destilação de datasets para dados de imagem (Fonte)
Desde então, trabalhos posteriores levaram a destilação de datasets mais longe, incluindo métodos publicados na ICML e na ICLR que tornam a condensação mais eficiente e escalável.
A importância da destilação de datasets#
A destilação de datasets melhora a eficiência do treino e acelera os ciclos de desenvolvimento. Ao reduzir a quantidade de dados de que um modelo precisa para aprender, diminui os requisitos computacionais.
Isto é especialmente útil para a aprendizagem contínua, em que os modelos são atualizados ao longo do tempo; para a pesquisa de arquiteturas neurais, em que são testados muitos designs de modelos; e para o treino na periferia, em que os modelos são executados em dispositivos pequenos com memória e energia limitadas. No geral, estes benefícios tornam a destilação de datasets uma excelente opção para inicialização rápida, fine-tuning veloz e criação de protótipos iniciais em muitos fluxos de trabalho de machine learning.
Uma visão geral de como funciona a destilação de datasets#
A destilação de datasets cria amostras de treino sintéticas, ou geradas artificialmente. Estas amostras ajudam um modelo a aprender de uma forma muito semelhante ao treino com dados reais. O processo acompanha três fatores principais durante o treino normal.
O primeiro é a função de perda, que corresponde à pontuação de erro do modelo e mostra o grau de incorreção das suas previsões. O segundo são os parâmetros do modelo, os pesos internos da rede que são atualizados à medida que esta aprende.
O terceiro é a trajetória de treino, que descreve como o erro e os pesos mudam passo a passo ao longo do tempo. As amostras sintéticas são então otimizadas para que, quando um modelo treina com elas, o seu erro diminua e os seus pesos sejam atualizados da mesma forma que seriam com o dataset completo.
Uma análise passo a passo da destilação de datasets#
Vejamos mais de perto como funciona o processo de destilação de datasets:
- Passo 1 - Inicializar os píxeis sintéticos: O processo começa com imagens sintéticas que funcionam como entradas treináveis. Inicialmente, estas imagens têm pouca estrutura e parecem telas em branco. Com o tempo, são otimizadas até se tornarem exemplos informativos.
- Passo 2 - Otimizar com correspondência de gradientes e retropropagação: À medida que o modelo treina com estas imagens sintéticas, produz gradientes que indicam como cada píxel deve mudar para corresponder melhor ao comportamento de treino dos dados reais. A retropropagação é o método que a rede utiliza para aprender com os erros. Envia o erro para trás através do modelo para descobrir que píxeis e pesos o causaram e, em seguida, atualiza-os ligeiramente. Utilizando esses gradientes, a retropropagação ajusta as imagens sintéticas passo a passo, tornando-as mais informativas para o treino.
- Passo 3 - Corresponder o comportamento ao longo dos passos de treino: O método também corresponde às trajetórias de treino, ou seja, às mudanças passo a passo pelas quais o modelo passa enquanto aprende. Isto garante que o dataset destilado orienta o modelo por um percurso de aprendizagem semelhante ao que seguiria com o dataset completo.
- Passo 4 - Validação e generalização: Por fim, o dataset destilado é avaliado com dados reais de validação para verificar o desempenho do modelo treinado em novos exemplos. Isto confirma que os dados sintéticos ensinam padrões amplos e funcionais, em vez de fazerem o modelo memorizar amostras específicas.

Fig. 2. Uma análise da destilação de datasets (Fonte)
Principais metodologias de destilação de datasets#
Todos os métodos de destilação de datasets assentam na mesma ideia fundamental, mesmo que utilizem algoritmos diferentes para a concretizar. A maioria das abordagens enquadra-se em três categorias: correspondência de desempenho, correspondência de distribuição e correspondência de parâmetros.
Em seguida, vejamos cada uma e como funciona.
Correspondência de desempenho#
A correspondência de desempenho na destilação de datasets centra-se na criação de um conjunto de treino pequeno e otimizado que permite a um modelo alcançar quase a mesma precisão que alcançaria se fosse treinado com o dataset original completo. Em vez de selecionar um subconjunto aleatório, as amostras destiladas são otimizadas para que um modelo treinado com elas obtenha previsões semelhantes, um comportamento de perda semelhante durante o treino ou uma precisão final semelhante à de um modelo treinado com o dataset original.
A aprendizagem meta é um método comum utilizado para melhorar este processo. O dataset destilado é atualizado através de episódios de treino repetidos, tornando-se eficaz em muitas situações possíveis.
Durante estes episódios, o método simula a forma como um modelo aluno aprende com as amostras destiladas atuais, verifica o desempenho desse aluno em dados reais e ajusta então as amostras destiladas para que sejam melhores professores. Com o tempo, o conjunto destilado aprende a apoiar uma aprendizagem rápida e uma forte generalização, mesmo quando o modelo aluno começa com pesos iniciais diferentes ou utiliza uma arquitetura diferente. Isto torna o dataset destilado mais fiável e não dependente de uma única execução de treino.

Fig. 3. O processo de meta-aprendizagem (Fonte)
Técnicas de correspondência de distribuição#
Entretanto, a correspondência de distribuição gera dados sintéticos que correspondem aos padrões estatísticos do dataset real. Em vez de se concentrar apenas na precisão final de um modelo, esta abordagem foca-se nas características internas que uma rede neural gera durante a aprendizagem.
Em seguida, vejamos as duas técnicas que orientam a correspondência de distribuição.
Correspondência de distribuição numa única camada#
A correspondência de distribuição numa única camada concentra-se numa só camada de uma rede neural e compara as características que esta produz para dados reais e sintéticos. Essas características, também chamadas ativações, capturam o que o modelo aprendeu nesse ponto da rede.
Ao fazer com que os dados sintéticos produzam ativações semelhantes, o método incentiva o dataset destilado a refletir os mesmos padrões importantes que o dataset original. Na prática, as amostras sintéticas são atualizadas repetidamente até que as ativações nessa camada escolhida correspondam de perto às das imagens reais.
Esta abordagem é relativamente simples porque alinha apenas um nível de representação de cada vez. Pode funcionar especialmente bem em datasets menores ou em tarefas nas quais não é necessário corresponder hierarquias de características profundas e em várias etapas. Ao alinhar claramente um espaço de características, a correspondência numa única camada fornece um sinal estável e significativo para a aprendizagem com o dataset destilado.
Correspondência de distribuição em várias camadas#
A correspondência de distribuição em várias camadas baseia-se na ideia de comparar dados reais e sintéticos, fazendo-o em várias camadas de uma rede neural em vez de apenas numa. Camadas diferentes capturam tipos diferentes de informação, desde arestas e texturas simples nas camadas iniciais até formas e padrões mais complexos nas camadas profundas.
Ao corresponder as características entre estas camadas, o dataset destilado é orientado para refletir o que o modelo aprende em vários níveis. Como alinha as características ao longo de toda a rede, esta abordagem ajuda os dados sintéticos a preservar sinais mais ricos nos quais o modelo se baseia para distinguir classes.
Isto é especialmente útil em visão computacional, ou seja, em tarefas nas quais os modelos aprendem a compreender imagens e vídeos, porque os padrões úteis estão distribuídos por muitas camadas. Quando as distribuições de características correspondem bem em várias profundidades, o dataset destilado funciona como um substituto mais forte e fiável para os dados de treino originais.
Métodos de correspondência de parâmetros#
Outra categoria importante na destilação de datasets é a correspondência de parâmetros. Em vez de corresponder a precisão ou às distribuições de características, este método corresponde à forma como os pesos de um modelo mudam durante o treino. Ao fazer com que o treino no dataset destilado produza atualizações de parâmetros semelhantes às do treino com dados reais, o modelo segue um percurso de aprendizagem quase idêntico.
Em seguida, vamos analisar os dois principais métodos de correspondência de parâmetros.
Correspondência num único passo#
A correspondência num único passo compara o que acontece aos pesos de um modelo após apenas um passo de treino com dados reais. O dataset destilado é então ajustado para que um modelo treinado com ele durante um passo produza uma atualização de pesos muito semelhante. Como se concentra apenas nesta atualização única, o método é simples e rápido de executar.
A desvantagem é que um único passo não representa o processo completo de aprendizagem, especialmente em tarefas mais difíceis, nas quais o modelo precisa de muitas atualizações para criar características mais ricas. Por isso, a correspondência num único passo tende a funcionar melhor em problemas mais simples ou datasets menores, nos quais os padrões úteis podem ser aprendidos rapidamente.
Correspondência de parâmetros em vários passos#
Em contraste, a correspondência de parâmetros em vários passos analisa como os pesos de um modelo mudam ao longo de vários passos de treino, e não apenas de um. Esta sequência de atualizações é a trajetória de treino do modelo.
O dataset destilado é criado para que, quando um modelo treina com as amostras sintéticas, a sua trajetória siga de perto aquela que seguiria com dados reais. Ao corresponder a um período de aprendizagem mais longo, o conjunto destilado captura uma maior parte da estrutura do processo de treino original.
Como reflete a forma como a aprendizagem evolui ao longo do tempo, a correspondência em vários passos costuma funcionar melhor em datasets maiores ou mais complexos, nos quais os modelos precisam de muitas atualizações para aprender padrões úteis. Requer mais computação, pois tem de acompanhar vários passos, mas geralmente produz datasets destilados que generalizam melhor e oferecem um desempenho superior ao da correspondência num único passo.
Como funcionam a geração e a otimização de datasets sintéticos#
Com uma melhor compreensão das principais abordagens de destilação, podemos agora analisar como os dados sintéticos são criados. Na destilação de datasets, as amostras sintéticas são otimizadas para capturar o sinal de aprendizagem mais importante, permitindo que um conjunto pequeno substitua um dataset muito maior.
Em seguida, veremos como estes dados destilados são gerados e avaliados.
Criação e avaliação de imagens destiladas#
Durante a destilação de datasets, os píxeis sintéticos são atualizados ao longo de muitos passos de treino. A rede neural aprende com as imagens sintéticas atuais e envia feedback baseado em gradientes, mostrando como cada píxel deve mudar para corresponder melhor aos padrões do dataset real.
Isto funciona porque o processo é diferenciável (o que significa que cada passo é suave e tem gradientes bem definidos, fazendo com que pequenas alterações nos píxeis conduzam a mudanças previsíveis na perda), permitindo ao modelo ajustar suavemente os dados sintéticos durante a descida do gradiente.
À medida que a otimização prossegue, as imagens sintéticas começam a formar uma estrutura significativa, incluindo formas e texturas que o modelo reconhece. Estas imagens sintéticas refinadas são frequentemente utilizadas em tarefas de classificação de imagens, porque capturam as pistas visuais fundamentais de que um classificador precisa para aprender.
Os datasets destilados são avaliados treinando modelos com eles e comparando os resultados com os de modelos treinados com dados reais. Os investigadores medem a precisão de validação e verificam se o conjunto sintético preserva as características discriminativas (os padrões ou sinais nos quais o modelo se baseia para distinguir uma classe de outra) necessárias para separar classes. Também testam a estabilidade e a generalização em diferentes execuções ou configurações de modelos, para garantir que os dados destilados não conduzem a overfitting.
Aplicações reais da destilação de dados#
Em seguida, analisaremos mais de perto exemplos que mostram como os datasets destilados aceleram o treino e reduzem os custos computacionais, mantendo um desempenho sólido mesmo quando os dados são limitados ou altamente especializados.
Utilização da destilação de datasets em aplicações de visão computacional#
No caso da visão computacional, o objetivo é treinar modelos para compreender dados visuais, como imagens e vídeos. Estes modelos aprendem padrões como arestas, texturas, formas e objetos e utilizam-nos em tarefas como classificação de imagens, deteção de objetos ou segmentação. Como os problemas de visão apresentam frequentemente uma grande variação na iluminação, nos fundos e nos pontos de vista, os sistemas de visão computacional costumam precisar de datasets grandes para generalizar bem, o que torna o treino dispendioso e lento.

Fig. 4. Um exemplo de destilação de datasets (Fonte)
Em casos de utilização de classificação de imagens, como exames médicos, monitorização da vida selvagem ou deteção de defeitos em fábricas, os modelos enfrentam frequentemente um compromisso difícil entre precisão e custo de treino. Estas tarefas envolvem normalmente datasets enormes.
A destilação de datasets pode comprimir o conjunto de treino original num pequeno número de imagens sintéticas que ainda contêm as pistas visuais mais importantes para o classificador. Em benchmarks grandes como o ImageNet, foi demonstrado que conjuntos destilados que utilizam apenas cerca de 4,2% das imagens originais mantêm uma forte precisão de classificação. Isto significa que um pequeno substituto sintético pode substituir milhões de amostras reais com muito menos computação.
Pesquisa de arquiteturas neurais#
A pesquisa de arquiteturas neurais, ou NAS, é uma técnica que explora automaticamente muitos designs possíveis de redes neurais para encontrar o que funciona melhor para uma tarefa. Como a NAS precisa de treinar e avaliar um grande número de modelos candidatos, executá-la com datasets completos pode ser lento e exigir muitos recursos computacionais.
A destilação de datasets ajuda ao criar um pequeno conjunto de treino sintético que ainda contém o principal sinal de aprendizagem dos dados originais, permitindo testar cada arquitetura candidata muito mais rapidamente. Isto permite à NAS comparar designs de forma eficiente, mantendo as classificações entre arquiteturas boas e más razoavelmente fiáveis e reduzindo o custo da pesquisa sem sacrificar grande parte da qualidade final do modelo.
Aprendizagem contínua e implementação na periferia#
Os sistemas de aprendizagem contínua, ou seja, modelos que continuam a ser atualizados à medida que chegam novos dados em vez de serem treinados apenas uma vez, precisam de atualizações rápidas e eficientes em termos de memória. Dispositivos de periferia, como câmaras, telemóveis e sensores, enfrentam limitações semelhantes, pois têm orçamentos reduzidos de computação e armazenamento.
A destilação de datasets ajuda em ambos os casos ao comprimir um grande conjunto de treino num conjunto sintético muito pequeno, permitindo que os modelos se adaptem ou sejam novamente treinados utilizando um pequeno conjunto de repetição em vez do dataset completo. Por exemplo, um trabalho sobre meta-aprendizagem baseada em kernels mostrou que apenas 10 amostras destiladas podem alcançar mais de 64% de precisão no CIFAR-10, um benchmark padrão de classificação de imagens. Como o conjunto de repetição é tão compacto, as atualizações tornam-se muito mais rápidas e práticas, sobretudo quando os modelos precisam de ser atualizados frequentemente.
A destilação de datasets também pode funcionar em conjunto com a destilação de conhecimento para grandes modelos de linguagem. Um pequeno dataset destilado pode preservar os sinais de tarefa mais importantes do modelo professor, permitindo treinar ou atualizar um modelo aluno comprimido de forma mais eficiente sem perder muito desempenho. Como estes datasets são pequenos, são especialmente úteis para utilização na periferia ou no dispositivo, onde o armazenamento e a computação são limitados, mas ainda queres que o modelo mantenha a precisão após as atualizações.
Vantagens e desvantagens da destilação de dados#
Eis algumas vantagens da utilização da destilação de datasets:
- Excelente para experiências rápidas. Podes testar novas arquiteturas, funções de perda ou hiperparâmetros sem voltar a treinar sempre com um dataset enorme.
- Potencial vantagem de privacidade. Partilhar amostras sintéticas destiladas pode ser mais seguro do que partilhar dados reais de utilizadores, uma vez que os exemplos originais não são expostos diretamente.
- Frequentemente superior à simples seleção de subconjuntos. Em vez de apenas selecionar exemplos, a destilação otimiza-os ativamente para serem tão informativos quanto possível.
Embora a destilação de datasets ofereça várias vantagens, há algumas limitações a ter em conta:
- Overfitting: Os dados destilados costumam funcionar melhor para a arquitetura utilizada durante a destilação e podem transferir-se mal para modelos muito diferentes.
- Sensível aos hiperparâmetros. Os resultados podem depender bastante de fatores como a taxa de aprendizagem, a inicialização ou o número de passos de destilação.
- Mais difícil de escalar para a complexidade do mundo real. Os métodos que funcionam bem em benchmarks podem perder precisão em datasets grandes, desorganizados ou de alta resolução.
Principais conclusões#
A destilação de datasets permite que um pequeno conjunto de amostras sintéticas ensine um modelo quase tão eficazmente como um dataset completo. Isto torna o machine learning mais rápido, eficiente e fácil de escalar. À medida que os modelos crescem e precisam de mais dados, os datasets destilados oferecem uma forma prática de reduzir os custos computacionais sem sacrificar a precisão.
Junta-te à nossa comunidade e consulta o nosso repositório no GitHub para descobrires mais sobre AI. Se procuras criar o teu próprio projeto de AI para visão, consulta as nossas opções de licenciamento. Explora mais sobre aplicações como AI na área da saúde e AI para visão no retalho visitando as nossas páginas de soluções.









