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.

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!
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.
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.
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.
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.
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.
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.
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.
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.
Eis algumas vantagens da utilização do EfficientNet em projectos de visão por computador:
Embora existam muitos benefícios relacionados com a utilização do EfficientNet, eis algumas das limitações do EfficientNet a ter em conta:
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!