O que é a EfficientNet? Uma visão geral rápida.

Abirami Vina

6 min. de leitura

29 de agosto de 2025

Compreenda a arquitetura do EfficientNet e a sua magia de escalonamento composto! Explore o EfficientNet B0-B7 para uma classificação de imagens de alto nível e eficiência de segmentação.

Em 2019, os investigadores da Google AI apresentaram o EfficientNet, um modelo de visão computacional de última geração criado para reconhecer objectos e padrões em imagens. Foi concebido principalmente para a classificação de imagens, que envolve a atribuição de uma imagem a uma de várias categorias predefinidas. No entanto, atualmente, o EfficientNet também serve como espinha dorsal para tarefas mais complexas, como a deteção de objectos, a segmentação e a aprendizagem por transferência.

Antes da EfficientNet, esses modelos de aprendizagem automática e de IA de visão tentavam melhorar a precisão adicionando mais camadas ou aumentando o tamanho dessas camadas. As camadas são as etapas de um modelo de rede neural (um tipo de modelo de aprendizagem profunda inspirado no cérebro humano) que processa dados para aprender padrões e melhorar a precisão. 

Estas alterações criaram um compromisso, tornando os modelos tradicionais de IA maiores e mais lentos, enquanto a precisão adicional era frequentemente mínima em comparação com o aumento significativo da potência de computação necessária.

A EfficientNet adoptou uma abordagem diferente. Aumentou a profundidade (número de camadas), a largura (número de unidades em cada camada) e a resolução da imagem (o nível de pormenor das imagens de entrada) de forma equilibrada. Este método, designado por escalonamento composto, utiliza de forma fiável todo o poder de processamento disponível. O resultado final é um modelo mais pequeno e mais rápido que pode ter um desempenho melhor do que modelos mais antigos como o ResNet ou o DenseNet.

Atualmente, os modelos de visão por computador mais recentes, como o Ultralytics YOLO11, oferecem maior precisão, velocidade e eficiência. Mesmo assim, a EfficientNet continua a ser um marco importante que influenciou a conceção de muitas arquitecturas avançadas. 

Neste artigo, vamos analisar o EfficientNet em cinco minutos, explicando como funciona, o que o torna único e porque é que ainda é importante na visão por computador. Vamos começar!

O que é a EfficientNet?

Antes de o EfficientNet ser concebido, a maioria dos modelos de reconhecimento de imagem melhorava a precisão ajustando as suas camadas ou aumentando o tamanho da imagem de entrada para captar mais pormenores. Embora estas estratégias tenham melhorado os resultados, também tornaram os modelos mais pesados e mais exigentes. Isto significava que precisavam de mais memória e melhor hardware. 

Em vez de alterar camadas individuais, o EfficientNet dimensiona a profundidade, a largura e a resolução da imagem em conjunto, utilizando um método designado por dimensionamento composto. Esta abordagem permite que o modelo cresça de forma eficiente sem sobrecarregar qualquer aspeto individual.

A arquitetura EfficientNet processa imagens através de uma série de blocos, cada um construído a partir de módulos mais pequenos. O número de módulos em cada bloco depende do tamanho do modelo. 

Fig. 1. Os blocos de construção da EfficientNet.(Fonte)

As versões mais pequenas utilizam menos módulos, enquanto as versões maiores repetem os módulos com maior frequência. Este design flexível permite que o EfficientNet ofereça uma elevada precisão e eficiência numa vasta gama de aplicações, desde dispositivos móveis a sistemas de grande escala.

Como funciona o escalonamento composto

O método de escalonamento composto expande a profundidade, a largura e a resolução de imagem de um modelo, mas mantém-nas em equilíbrio. Isto torna possível a utilização eficiente da capacidade de computação. A série começa com um modelo de base mais pequeno chamado EfficientNet-B0, que serve de base para todas as outras versões.

A partir de B0, os modelos são escalonados em variantes maiores, denominadas EfficientNet-B1 a EfficientNet-B7. Em cada etapa, a rede ganha camadas adicionais, aumenta o número de canais (unidades usadas para processamento) e lida com imagens de entrada de maior resolução. A quantidade de crescimento em cada etapa é determinada por um parâmetro chamado coeficiente composto, que garante que a profundidade, a largura e a resolução aumentem em proporções fixas e não de forma independente.

Fig. 2. O escalonamento composto aumenta a largura, a profundidade e a resolução da imagem de um modelo.(Fonte)

Arquitetura EfficientNet

Em seguida, vamos analisar a arquitetura da EfficientNet. 

Baseia-se no MobileNetV2, um modelo leve de visão por computador optimizado para dispositivos móveis e incorporados. No seu núcleo está o bloco Mobile Inverted Bottleneck Convolution (MBConv), uma camada especial que processa dados de imagem como uma convolução padrão, mas com menos cálculos. Este bloco torna o modelo rápido e mais eficiente em termos de memória.

Dentro de cada um dos blocos MBConv existe um módulo de compressão e excitação (SE). Este módulo ajusta a força de diferentes canais na rede. Ele aumenta a força de canais essenciais e reduz a força de outros. O módulo ajuda a rede a concentrar-se nas caraterísticas mais importantes de uma imagem, ignorando as restantes. O modelo EfficientNet também utiliza uma função de ativação Swish (uma função matemática que ajuda a rede a aprender padrões), que a ajuda a detetar padrões nas imagens melhor do que os métodos mais antigos. 

Para além disso, utiliza DropConnect, em que algumas ligações dentro da rede são desligadas aleatoriamente durante o treino. Este método de regularização estocástica (uma técnica de aleatorização para evitar que o modelo memorize os dados de treino em vez de generalizar) reduz o sobreajuste, forçando a rede a aprender representações de caraterísticas mais robustas (padrões mais fortes e mais gerais nos dados) que se transferem melhor para dados não vistos.

Fig 3. Arquitetura da EfficientNet-B0(Fonte)

Uma breve descrição das variantes do modelo EfficientNet

Agora que compreendemos melhor o funcionamento dos modelos EfficientNet, vamos analisar as diferentes variantes do modelo. 

Os modelos EfficientNet são escalonados de B0 a B7, começando com B0 como a linha de base que equilibra velocidade e precisão. Cada versão aumenta a profundidade, a largura e a resolução da imagem, melhorando a precisão. No entanto, também exigem mais poder computacional, desde o B1 e B2 até aos B6 e B7 de elevado desempenho. 

Enquanto os modelos EfficientNet-B3 e EfficientNet-B4 atingem um equilíbrio para imagens maiores, o B5 é frequentemente escolhido para conjuntos de dados complexos que exigem precisão. Para além destes modelos, o modelo mais recente, EfficientNet V2, pode melhorar a velocidade de formação, lidar melhor com conjuntos de dados pequenos e está optimizado para hardware moderno.

Aplicações da EfficientNet

O EfficientNet pode produzir resultados exactos utilizando menos memória e capacidade de processamento do que muitos outros modelos. Isto torna-o útil em muitos domínios, desde a investigação científica até aos produtos que as pessoas utilizam diariamente.

Análise de imagens médicas

As imagens médicas, como as tomografias computorizadas dos pulmões, contêm frequentemente pormenores subtis que são essenciais para um diagnóstico preciso. Os modelos de IA podem ajudar a analisar estas imagens para descobrir padrões que podem ser difíceis de detetar pelos humanos. Uma adaptação da EfficientNet para este fim é a MONAI (Medical Open Network for AI) EfficientNet, que foi especificamente concebida para a análise de imagens médicas.

Com base na arquitetura da EfficientNet, os investigadores desenvolveram também a Lung-EffNet, um modelo que classifica as tomografias computorizadas dos pulmões para detetar tumores. Consegue classificar os tumores como benignos, malignos ou normais, alcançando uma exatidão superior a 99% em ambientes experimentais.

Fig. 4. Classificação de imagens de tumores utilizando a Lung-EffNet.(Fonte)

Deteção de objectos em tempo real

A deteção de objectos é o processo de encontrar objectos numa imagem e determinar a sua localização. É uma parte fundamental de aplicações como sistemas de segurança, carros autónomos e drones.

A EfficientNet tornou-se importante nesta área porque oferecia uma forma muito eficiente de extrair caraterísticas das imagens. O seu método de escalonamento da profundidade, largura e resolução mostrou como os modelos podiam ser precisos sem serem demasiado pesados ou lentos. É por isso que muitos sistemas de deteção, como o EfficientDet, utilizam o EfficientNet como espinha dorsal.

Os modelos mais recentes, como o Ultralytics YOLO11, partilham o mesmo objetivo de combinar velocidade com precisão. Esta tendência para modelos eficientes foi fortemente influenciada por ideias de arquitecturas como a EfficientNet.

Prós e contras da EfficientNet

Eis algumas vantagens da utilização do EfficientNet em projectos de visão por computador:

  • Elevada precisão com menos parâmetros: O EfficientNet pode fornecer uma precisão semelhante ou melhor do que os modelos mais antigos, como o ResNet ou o DenseNet. No entanto, utiliza menos parâmetros, tornando-o mais rápido de treinar e mais fácil de implementar.
  • Família de modelos escaláveis: Variando de B0 a B7, pode escolher uma versão que corresponda aos seus requisitos de hardware e precisão sem alterar a rede de base.
  • Bom para aprendizagem por transferência: O EfficientNet pode proporcionar um desempenho fiável do modelo para a aprendizagem por transferência, que é um processo de reciclagem de um modelo pré-treinado para uma tarefa personalizada. Pode funcionar como uma espinha dorsal para uma variedade de tarefas de visão computacional. Também apresentou bons resultados quando ajustado com precisão. Por exemplo, alcançou a precisão mais avançada no CIFAR-100, um conjunto de dados de classificação de imagens muito utilizado, com um número de parâmetros significativamente inferior ao dos modelos anteriores.

Embora existam muitos benefícios relacionados com a utilização do EfficientNet, eis algumas das limitações do EfficientNet a ter em conta:

  • Requer mais memória: Versões como EfficientNet-B6 e EfficientNet-B7 requerem muita memória de GPU.
  • Escalonamento ajustado para o ImageNet: As definições de escalonamento foram concebidas para o conjunto de dados ImageNet, pelo que o desempenho pode diminuir em conjuntos de dados muito diferentes sem um ajuste fino. Isto é especialmente verdadeiro para pequenos conjuntos de dados, uma vez que a arquitetura e o dimensionamento do EfficientNet foram concebidos para um conjunto de dados grande e diversificado como o ImageNet, que fornece dados suficientes para justificar a sua profundidade e largura.
  • Mais lento em alguns hardwares: O EfficientNet usa camadas chamadas MBConv que são projetadas para eficiência em hardware moderno. Em GPUs ou CPUs mais antigas, essas camadas podem ser executadas mais lentamente.

Principais conclusões

A EfficientNet mudou a forma como os modelos de visão por computador crescem, mantendo a profundidade, a largura e a resolução da imagem em equilíbrio. Continua a ser um modelo importante e influenciou também as arquitecturas mais recentes. Em particular, ocupa um lugar significativo na história da visão por computador.

Junte-se à nossa comunidade e ao repositório GitHub para explorar mais sobre a IA. Consulte as nossas páginas de soluções para ler sobre a IA nos cuidados de saúde e a visão por computador no sector automóvel. Descubra nossas opções de licenciamento e comece a construir com visão computacional hoje mesmo!

Vamos construir juntos o futuro
da IA!

Comece a sua viagem com o futuro da aprendizagem automática

Comece gratuitamente
Ligação copiada para a área de transferência