Che cos'è EfficientNet? Una rapida panoramica.

Abirami Vina

6 minuti di lettura

29 agosto 2025

Scoprite l'architettura di EfficientNet e la sua magia di scalabilità composta! Esplorate EfficientNet B0-B7 per un'efficienza di classificazione e segmentazione delle immagini di altissimo livello.

Nel 2019, i ricercatori di Google AI hanno presentato EfficientNet, un modello di computer vision all'avanguardia costruito per riconoscere oggetti e modelli nelle immagini. È stato progettato principalmente per la classificazione delle immagini, che prevede l'assegnazione di un'immagine a una delle diverse categorie predefinite. Tuttavia, oggi EfficientNet funge anche da spina dorsale per compiti più complessi come il rilevamento di oggetti, la segmentazione e l'apprendimento per trasferimento.

Prima di EfficientNet, questi modelli di apprendimento automatico e Vision AI cercavano di migliorare l'accuratezza aggiungendo altri livelli o aumentandone le dimensioni. I livelli sono le fasi di un modello di rete neurale (un tipo di modello di apprendimento profondo ispirato al cervello umano) che elabora i dati per apprendere modelli e migliorare la precisione. 

Questi cambiamenti hanno creato un compromesso, rendendo i modelli di IA tradizionali più grandi e più lenti, mentre l'accuratezza aggiuntiva era spesso minima rispetto al significativo aumento della potenza di calcolo richiesta.

EfficientNet ha adottato un approccio diverso. Ha aumentato la profondità (numero di strati), la larghezza (numero di unità in ogni strato) e la risoluzione dell'immagine (il livello di dettaglio delle immagini in ingresso) in modo equilibrato. Questo metodo, chiamato compound scaling, utilizza in modo affidabile tutta la potenza di elaborazione disponibile. Il risultato finale è un modello più piccolo e più veloce, in grado di fornire prestazioni migliori rispetto a modelli più vecchi come ResNet o DenseNet.

Oggi, modelli di computer vision più recenti, come Ultralytics YOLO11, offrono maggiore precisione, velocità ed efficienza. Tuttavia, EfficientNet rimane un'importante pietra miliare che ha influenzato la progettazione di molte architetture avanzate. 

In questo articolo spiegheremo EfficientNet in cinque minuti, spiegando come funziona, cosa lo rende unico e perché è ancora importante nella computer vision. Iniziamo!

Che cos'è EfficientNet?

Prima della progettazione di EfficientNet, la maggior parte dei modelli di riconoscimento delle immagini migliorava l'accuratezza regolando i livelli o aumentando le dimensioni dell'immagine di input per catturare più dettagli. Se da un lato queste strategie miglioravano i risultati, dall'altro rendevano i modelli più pesanti e impegnativi. Ciò significava che avevano bisogno di più memoria e di un hardware migliore. 

Invece di modificare i singoli livelli, EfficientNet scala insieme profondità, larghezza e risoluzione dell'immagine utilizzando un metodo chiamato compound scaling. Questo approccio consente al modello di crescere in modo efficiente senza sovraccaricare alcun aspetto.

L'architettura EfficientNet elabora le immagini attraverso una serie di blocchi, ognuno dei quali è costituito da moduli più piccoli. Il numero di moduli di ciascun blocco dipende dalle dimensioni del modello. 

Figura 1. Gli elementi costitutivi di EfficientNet.(Fonte)

Le versioni più piccole utilizzano un minor numero di moduli, mentre le versioni più grandi ripetono i moduli più spesso. Questo design flessibile consente a EfficientNet di offrire elevata precisione ed efficienza in un'ampia gamma di applicazioni, dai dispositivi mobili ai sistemi su larga scala.

Come funziona la scalatura composta

Il metodo di scalatura composta espande la profondità, la larghezza e la risoluzione dell'immagine di un modello, ma le mantiene in equilibrio. In questo modo è possibile utilizzare la potenza di calcolo in modo efficiente. La serie inizia con un modello di base più piccolo, chiamato EfficientNet-B0, che funge da base per tutte le altre versioni.

A partire da B0, i modelli si evolvono in varianti più grandi, denominate EfficientNet-B1 fino a EfficientNet-B7. A ogni passo, la rete acquisisce ulteriori livelli, aumenta il numero di canali (unità utilizzate per l'elaborazione) e gestisce immagini di ingresso a risoluzione più elevata. La quantità di crescita ad ogni passo è determinata da un parametro chiamato coefficiente composto, che assicura che la profondità, la larghezza e la risoluzione aumentino in proporzioni fisse anziché indipendentemente.

Figura 2. La scalatura composta aumenta la larghezza, la profondità e la risoluzione dell'immagine di un modello.(Fonte)

Architettura EfficientNet

Diamo quindi un'occhiata all'architettura di EfficientNet. 

Si basa su MobileNetV2, un modello di computer vision leggero e ottimizzato per dispositivi mobili ed embedded. Il suo cuore è il blocco Mobile Inverted Bottleneck Convolution (MBConv), un livello speciale che elabora i dati delle immagini come una convoluzione standard, ma con meno calcoli. Questo blocco rende il modello più veloce e più efficiente in termini di memoria.

All'interno di ciascuno dei blocchi MBConv è presente un modulo squeeze-and-excitation (SE). Questo modulo regola la forza dei diversi canali della rete. Aumenta la forza dei canali essenziali e riduce quella degli altri. Il modulo aiuta la rete a concentrarsi sulle caratteristiche più importanti di un'immagine, trascurando il resto. Il modello EfficientNet utilizza anche una funzione di attivazione Swish (una funzione matematica che aiuta la rete ad apprendere i modelli), che la aiuta a individuare i modelli nelle immagini meglio dei metodi precedenti. 

Inoltre, utilizza DropConnect, in cui alcune connessioni all'interno della rete vengono disattivate a caso durante l'addestramento. Questo metodo di regolarizzazione stocastica (una tecnica di randomizzazione che impedisce al modello di memorizzare i dati di addestramento invece di generalizzare) riduce l'overfitting costringendo la rete ad apprendere rappresentazioni di caratteristiche più robuste (modelli più forti e generali nei dati) che si trasferiscono meglio ai dati non visti.

Figura 3. Architettura di EfficientNet-B0(Fonte)

Una breve panoramica delle varianti di modello di EfficientNet

Ora che abbiamo capito meglio come funzionano i modelli EfficientNet, parliamo delle diverse varianti di modello. 

I modelli EfficientNet vanno da B0 a B7, partendo da B0 come base di partenza per bilanciare velocità e precisione. Ogni versione aumenta la profondità, la larghezza e la risoluzione dell'immagine, migliorando la precisione. Tuttavia, richiedono anche una maggiore potenza di calcolo, da B1 e B2 alle performanti B6 e B7. 

Mentre i modelli EfficientNet-B3 ed EfficientNet-B4 raggiungono un equilibrio per le immagini più grandi, il modello B5 viene spesso scelto per insiemi di dati complessi che richiedono precisione. Oltre a questi modelli, il modello più recente, EfficientNet V2, è in grado di migliorare la velocità di addestramento, di gestire meglio i piccoli insiemi di dati e di essere ottimizzato per l'hardware moderno.

Applicazioni di EfficientNet

EfficientNet è in grado di produrre risultati accurati utilizzando meno memoria e potenza di elaborazione rispetto a molti altri modelli. Questo lo rende utile in molti campi, dalla ricerca scientifica ai prodotti di uso quotidiano.

Analisi delle immagini mediche

Le immagini mediche, come le scansioni TC dei polmoni, contengono spesso dettagli sottili che sono fondamentali per una diagnosi accurata. I modelli di intelligenza artificiale possono aiutare ad analizzare queste immagini per scoprire schemi che potrebbero essere difficili da individuare per l'uomo. Un adattamento di EfficientNet a questo scopo è MONAI (Medical Open Network for AI) EfficientNet, progettato specificamente per l'analisi delle immagini mediche.

Basandosi sull'architettura di EfficientNet, i ricercatori hanno anche sviluppato Lung-EffNet, un modello che classifica le scansioni TC dei polmoni per individuare i tumori. È in grado di classificare i tumori come benigni, maligni o normali, raggiungendo un'accuratezza superiore al 99% in contesti sperimentali.

Figura 4. Classificazione di immagini di tumori mediante Lung-EffNet.(Fonte)

Rilevamento degli oggetti in tempo reale

Il rilevamento degli oggetti è il processo di individuazione degli oggetti in un'immagine e di determinazione della loro posizione. È una parte fondamentale di applicazioni come i sistemi di sicurezza, le auto a guida autonoma e i droni.

EfficientNet è diventato importante in questo settore perché ha offerto un metodo molto efficiente per estrarre le caratteristiche dalle immagini. Il suo metodo di scalare profondità, larghezza e risoluzione ha dimostrato come i modelli possano essere accurati senza essere troppo pesanti o lenti. Per questo motivo molti sistemi di rilevamento, come EfficientDet, utilizzano EfficientNet come struttura portante.

I modelli più recenti, come Ultralytics YOLO11, condividono lo stesso obiettivo di combinare velocità e precisione. Questa tendenza verso modelli efficienti è stata fortemente influenzata dalle idee di architetture come EfficientNet.

Pro e contro di EfficientNet

Ecco alcuni vantaggi dell'uso di EfficientNet nei progetti di computer vision:

  • Elevata precisione con un minor numero di parametri: EfficientNet è in grado di fornire un'accuratezza simile o migliore rispetto ai modelli più vecchi, come ResNet o DenseNet. Tuttavia, utilizza un numero inferiore di parametri, rendendolo più veloce da addestrare e più facile da implementare.
  • Famiglia di modelli scalabili: Da B0 a B7, è possibile scegliere la versione più adatta alle proprie esigenze di hardware e precisione senza modificare la rete di base.
  • Ottimo per l'apprendimento per trasferimento: EfficientNet è in grado di fornire prestazioni affidabili del modello per il transfer learning, ovvero il processo di riqualificazione di un modello pre-addestrato per un compito personalizzato. Può funzionare come struttura portante per una serie di compiti di computer vision. Ha anche mostrato ottimi risultati quando è stato messo a punto. Ad esempio, ha ottenuto un'accuratezza all'avanguardia su CIFAR-100, un dataset di classificazione delle immagini molto utilizzato, con un numero di parametri significativamente inferiore rispetto ai modelli precedenti.

Sebbene i vantaggi legati all'utilizzo di EfficientNet siano numerosi, ecco alcune limitazioni di EfficientNet da tenere a mente:

  • Richiede più memoria: Versioni come EfficientNet-B6 ed EfficientNet-B7 richiedono molta memoria della GPU.
  • Scalatura regolata per ImageNet: Le impostazioni di scalatura sono state progettate per il set di dati ImageNet, quindi le prestazioni possono diminuire su set di dati molto diversi senza una regolazione fine. Ciò è particolarmente vero per i piccoli set di dati, poiché l'architettura e il ridimensionamento di EfficientNet sono stati progettati per un set di dati ampio e diversificato come ImageNet, che fornisce dati sufficienti a giustificare la sua profondità e larghezza.
  • Più lento su alcuni hardware: EfficientNet utilizza i livelli chiamati MBConv, progettati per garantire l'efficienza sull'hardware moderno. Su GPU o CPU più vecchie, questi livelli possono essere eseguiti più lentamente.

Punti di forza

EfficientNet ha cambiato il modo in cui i modelli di computer vision crescono mantenendo in equilibrio profondità, larghezza e risoluzione dell'immagine. È ancora un modello importante e ha influenzato anche le architetture più recenti. In particolare, occupa un posto significativo nella storia della computer vision.

Unitevi alla nostra comunità e al repository GitHub per saperne di più sull'IA. Consultate le nostre pagine dedicate alle soluzioni per scoprire l'IA nel settore sanitario e la computer vision nel settore automobilistico. Scoprite le nostre opzioni di licenza e iniziate a costruire con la computer vision oggi stesso!

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti