Glossário

Poda

Descobre como a poda optimiza os modelos de IA, reduzindo o tamanho e mantendo a precisão, permitindo um desempenho mais rápido e eficiente para aplicações do mundo real.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A poda é uma técnica de aprendizagem automática utilizada para reduzir o tamanho das redes neurais, removendo pesos desnecessários ou neurónios inteiros que contribuem minimamente para o desempenho do modelo. Esse processo ajuda a simplificar o modelo, tornando-o mais eficiente em termos de computação, memória e consumo de energia, ao mesmo tempo que mantém níveis aceitáveis de precisão.

Porque é que a poda é importante?

A poda é essencial em cenários em que os recursos computacionais são limitados, como dispositivos de ponta, aplicações móveis ou sistemas incorporados. Ao concentrar-se nos componentes mais críticos de um modelo, a poda permite uma inferência mais rápida, reduz os requisitos de armazenamento e minimiza o consumo de energia. Esses benefícios são particularmente valiosos para a implantação de modelos em aplicações em tempo real, como as alimentadas por Ultralytics YOLO para deteção de objectos.

A poda também desempenha um papel importante na otimização de modelos, uma vez que pode complementar técnicas como a quantização de modelos e a afinação de hiperparâmetros para melhorar o desempenho sem necessitar de dados adicionais ou de uma nova formação a partir do zero.

Como funciona a poda

Normalmente, a poda envolve a avaliação da importância dos pesos, neurónios ou camadas de uma rede neuronal. Métricas como a magnitude do peso, a contribuição para a saída ou a sensibilidade à perda são usadas para identificar componentes que podem ser removidos com segurança. Uma vez concluída a poda, o modelo pode ser ajustado para recuperar quaisquer pequenas perdas de precisão causadas pela remoção de elementos.

Existem três abordagens comuns para a poda:

  • Poda de peso: Remove pesos individuais dentro das camadas que têm impacto mínimo nas previsões do modelo. Esse método é altamente granular e pode ser aplicado em toda a rede.
  • Poda de neurônios: Elimina neurônios ou canais inteiros, analisando sua contribuição para a saída da rede. Essa abordagem é menos granular, mas simplifica a estrutura da rede.
  • Poda estruturada: Concentra-se na remoção de componentes maiores, como camadas inteiras ou mapas de caraterísticas, para obter reduções mais significativas no tamanho do modelo, mantendo a interpretabilidade.

Aplicações da poda

A poda tem encontrado aplicações em vários sectores e casos de utilização, incluindo:

  1. Carros autónomos: Os modelos podados são utilizados em sistemas de deteção e seguimento de objectos em tempo real, garantindo uma tomada de decisões rápida e precisa em veículos autónomos. Sabe mais sobre a IA em veículos autónomos.

  2. Cuidados de saúde: Os modelos podados são implementados em ferramentas de imagiologia médica para tarefas como a deteção de tumores, em que a eficiência computacional é fundamental para fornecer diagnósticos atempados. Explora esta questão em IA nos cuidados de saúde.

  3. Agricultura inteligente: A poda permite que modelos leves sejam executados em drones ou dispositivos IoT para monitorização de culturas e deteção de pragas. Vê como isto funciona com a IA na agricultura.

  4. Eletrónica de consumo: Dispositivos como os smartphones aproveitam modelos podados para funcionalidades como o reconhecimento facial ou assistentes de voz, que exigem um processamento rápido no dispositivo.

Poda em aplicações IA/ML do mundo real

Exemplo 1: Melhorar o desempenho da IA do Edge

Em ambientes de computação de ponta, como drones ou sistemas de vigilância, os modelos podados são inestimáveis. Por exemplo, a utilização de técnicas de poda em modelosUltralytics YOLO pode reduzir significativamente o tamanho do modelo, mantendo a sua precisão, permitindo uma deteção mais rápida de objectos diretamente nos dispositivos sem depender de recursos da nuvem.

Exemplo 2: Aplicações móveis

Os modelos podados são amplamente utilizados em aplicações móveis em que a eficiência energética e as interações rápidas com o utilizador são prioritárias. Por exemplo, as aplicações móveis que empregam IA para realidade aumentada ou tradução em tempo real utilizam versões podadas de modelos de aprendizagem profunda para garantir um desempenho sem problemas.

Poda vs. técnicas relacionadas

Embora a poda se concentre na redução do tamanho de um modelo treinado, difere de técnicas relacionadas, como a quantização do modelo ou a destilação do conhecimento. A quantização reduz a precisão dos pesos do modelo (por exemplo, convertendo de 32 bits para 8 bits), enquanto a destilação de conhecimento transfere o conhecimento de um modelo grande para um menor. Estas técnicas podem ser combinadas com a poda para maximizar a eficiência.

Começar a podar

A poda pode ser efectuada manualmente ou com ferramentas automatizadas integradas em estruturas de aprendizagem automática como PyTorch. Para os utilizadores que pretendem experimentar a poda, plataformas como Ultralytics HUB fornecem ferramentas intuitivas para treinar e otimizar modelos, facilitando a otimização dos fluxos de trabalho.

Ao incorporar a poda no seu pipeline de aprendizagem automática, pode desbloquear o potencial de implementação de modelos de IA de elevado desempenho e eficientes em termos de recursos em diversas aplicações.

Lê tudo