Destilação de Conhecimento em Aprendizagem Profunda

Por que confiar em nós

A destilação de conhecimento (KD – do Inglês, Knowledge distillation) é um processo de compressão de aprendizagem automática (ML – do Inglês, machine learning) que transfere o conhecimento de um modelo grande de aprendizagem profunda (DL – do Inglês, deep learning) para um modelo menor e mais eficiente. Assim, saiba como funciona e o que é Destilação de Conhecimento em Aprendizagem Profunda no artigo abaixo.

O que é destilação de conhecimento?

Nesse contexto, o conhecimento se refere aos padrões e ao comportamento que o modelo original aprendeu durante o treinamento.

A Techopedia explica Destilação de Conhecimento em Aprendizagem Profunda

O objetivo da destilação do conhecimento é reduzir o espaço ocupado na memória, os requisitos de computação e os custos de energia de um modelo grande, para que ele possa ser usado em um ambiente com restrição de recursos sem sacrificar significativamente o desempenho.

A destilação do conhecimento é uma maneira eficaz de melhorar a precisão de um modelo de ML relativamente pequeno. O processo em si é às vezes chamado de aprendizado professor/aluno. O modelo grande é o professor, e o modelo pequeno é o aluno.

Como funciona a destilação de conhecimento

Durante o processo de destilação, o modelo do professor (um modelo de base grande e pré-treinado) gera rótulos flexíveis nos dados de treinamento. Os rótulos flexíveis, que são essencialmente distribuições de probabilidade de saída, são usados para treinar o modelo do aluno.


  • Os rótulos rígidos ou hard labels informam o que é algo. Dada uma imagem de uma tabela, por exemplo, a saída do modelo do professor deve ser “tabela”.
  • Os rótulos flexíveis ou soft labels são distribuições de probabilidade de saída que indicam as pontuações de confiança do modelo entre os rótulos. Para essa mesma imagem, a saída do modelo do professor pode ser 90% “mesa”, 8% “escrivaninha” e 2% “cadeira”.

Aqui está um exemplo muito simples de como a destilação de conhecimento pode ser usada para treinar um modelo de aluno:

  1. Treinar o modelo do professor em um conjunto de dados.
  2. Gerar rótulos flexíveis do modelo do professor para o mesmo conjunto de dados.
  3. Treine o modelo do aluno no mesmo conjunto de dados com os rótulos flexíveis.
  4. Faça o ajuste fino do modelo do aluno no conjunto de dados com rótulos rígidos. (Observação: as etapas três e quatro podem ser combinadas de alguma forma).
  5. Avalie o desempenho do modelo do aluno em termos de uma função de perda que quantifica o quanto as previsões do modelo correspondem aos resultados desejados.

Se o nível de desempenho do modelo do aluno for aceitável, o modelo do aluno poderá ser implantado. Se o nível de desempenho do modelo do aluno for inaceitável, o modelo do aluno poderá ser treinado novamente com dados adicionais ou otimizado ajustando-se os hiperparâmetros, as taxas de aprendizado e/ou a temperatura de destilação.

Uma temperatura mais alta torna as distribuições de probabilidade mais suaves (com menos picos), enquanto uma temperatura mais baixa as torna mais nítidas (com mais picos e mais próximas dos rótulos rígidos).

Técnicas de otimização de destilação de conhecimento

  • Transferência de atenção

A transferência de atenção é uma técnica em que o modelo do aluno é treinado para imitar os mapas de atenção gerados pelo modelo do professor. Os mapas de atenção destacam as regiões importantes em uma imagem ou em uma sequência de palavras.

  • FitNets

FitNets é uma técnica na qual o modelo do aluno é treinado para corresponder às representações intermediárias do modelo do professor. As representações intermediárias são as camadas ocultas do modelo que capturam os recursos subjacentes dos dados de entrada.

  • Destilação baseada em similaridade

Nessa técnica, o modelo do aluno é treinado para corresponder à matriz de similaridade do modelo do professor. A matriz de similaridade mede as semelhanças de pares entre várias amostras de entrada.

  • Destilação baseada em dicas

A destilação baseada em dicas é uma técnica em que o modelo do aluno é treinado para prever a diferença entre as saídas do modelo do professor e do modelo do aluno. Essa diferença é chamada de dica.

  • Destilação de entropia cruzada

O modelo do aluno é treinado usando uma função de perda que combina a perda de classificação padrão com uma perda de destilação que mede a diferença entre as probabilidades de saída do modelo do professor e do aluno.

Casos de uso

A destilação do conhecimento é uma técnica importante para criar modelos leves de aprendizado de máquina. Esses modelos destilados são especialmente benéficos para sistemas de recomendação e dispositivos de ponta de IoT (do Inglês, Internet of Things) que têm restrições computacionais.

Ao usar a destilação de conhecimento, dispositivos como câmeras de segurança, sistemas domésticos inteligentes e assistentes digitais virtuais podem executar uma ampla gama de tarefas complexas localmente, incluindo:


  • Classificação: Atribuição de dados de entrada a uma das várias categorias predefinidas.
  • Processamento de linguagem natural (NLP): Processamento e análise de grandes quantidades de dados de linguagem natural para tarefas como análise de sentimentos e reconhecimento de entidades nomeadas.
  • Detecção de objetos: Identificação e classificação de objetos em imagens ou vídeos.
  • Reconhecimento de fala: Conversão de linguagem falada em texto.
  • Tradução automática: Tradução de texto ou fala de um idioma para outro.

Vantagens e desvantagens

Uma das principais vantagens da destilação de conhecimento é que ela permite a criação de modelos menores e mais rápidos que funcionam bem em dispositivos de ponta da Internet das Coisas (IoT).

Deve-se observar, no entanto, que a destilação do conhecimento geralmente envolve lidar com uma compensação entre o tamanho e um nível aceitável de precisão.

Importância da compactação

Um dos maiores desafios no desenvolvimento de aplicativos business-to-consumer (B2C) que usam inteligência artificial (IA) é que os dispositivos de computação de ponta, como telefones celulares e tablets, têm recursos limitados de armazenamento e processamento.

Isso deixa os engenheiros de aprendizado de máquina com uma opção se quiserem executar um modelo grande em um dispositivo de ponta: reduzir o tamanho do modelo com técnicas de compactação, como poda de rede neural, quantização, fatoração de baixo nível e destilação de conhecimento.


  • Poda: Isso envolve a remoção de determinados neurônios artificiais ou pesos da rede que contribuem menos para o desempenho do modelo. Após a poda, o tamanho do modelo é reduzido sem uma queda significativa na precisão.
  • Quantização: Isso envolve a redução da precisão dos pesos de um modelo (e, às vezes, das ativações) usando 16 ou 8 bits para representar um peso, por exemplo, em vez de usar 32 bits. Isso reduz o tamanho do modelo e também pode acelerar a inferência, especialmente em hardware otimizado para cálculos de baixa precisão.
  • Fatoração de baixo ranque: Isso envolve a aproximação das matrizes de peso em uma rede neural com matrizes de classificação mais baixa. A ideia é que as informações contidas nas matrizes de peso geralmente podem ser capturadas usando menos parâmetros.
  • Destilação do conhecimento: Envolve o treinamento de um modelo de aprendizado de máquina menor e mais leve para replicar o comportamento de um modelo maior e com mais recursos.

Destilação de conhecimento vs. aprendizagem por transferência

A destilação de conhecimento às vezes é chamada de um tipo de aprendizagem por transferência, mas os dois conceitos têm finalidades diferentes.

O objetivo da destilação de conhecimento é criar um modelo de aprendizado de máquina menor que possa resolver a mesma tarefa que um modelo maior.

Em contrapartida, o objetivo da aprendizagem por transferência é reduzir o tempo necessário para treinar um modelo grande para resolver uma nova tarefa usando o conhecimento obtido em uma tarefa aprendida anteriormente.

Destilação de conhecimento vs. Destilação de dados

A destilação de dados e a destilação de conhecimento são processos de compactação, mas têm como alvo componentes diferentes. A destilação de dados concentra-se nos próprios dados de treinamento. Seu objetivo é obter um subconjunto menor dos dados que ainda represente o grande conjunto de dados original.

Por outro lado, a destilação do conhecimento se concentra em reduzir o tamanho de um modelo sem perder a eficiência e a precisão.

Margaret Rouse
Technology Specialist
Margaret Rouse
Especialista em Tecnologia

Margaret é uma premiada redatora e professora conhecida por sua habilidade de explicar assuntos técnicos complexos para um público empresarial não técnico. Nos últimos vinte anos, suas definições de TI foram publicadas pela Que em uma enciclopédia de termos tecnológicos e citadas em artigos do New York Times, Time Magazine, USA Today, ZDNet, PC Magazine e Discovery Magazine. Ela ingressou na Techopedia em 2011. A ideia de Margaret de um dia divertido é ajudar os profissionais de TI e de negócios a aprenderem a falar os idiomas altamente especializados uns dos outros.