Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Guide

Cos'è EfficientNet? Una rapida panoramica

Scopri come EfficientNet usa il ridimensionamento composto, i blocchi MBConv e il meccanismo squeeze-and-excitation per bilanciare precisione ed efficienza nelle varianti da B0 a B7.

Abirami VinaAbirami Vina8 min di lettura
Panoramica sull'architettura di EfficientNet

Nel 2019, i ricercatori di Google AI hanno presentato EfficientNet, un modello all'avanguardia di visione artificiale progettato per riconoscere oggetti e schemi nelle immagini. È stato progettato principalmente per la classificazione delle immagini, che consiste nell'assegnare un'immagine a una tra diverse categorie predefinite. Oggi, tuttavia, EfficientNet funge anche da backbone per attività più complesse come il rilevamento degli oggetti, la segmentazione e l'apprendimento per trasferimento.

Prima di EfficientNet, questi modelli di machine learning e IA visiva cercavano di migliorare l'accuratezza aggiungendo più livelli o aumentandone le dimensioni. I livelli sono i passaggi di un modello di rete neurale, un tipo di modello di deep learning ispirato al cervello umano, che elaborano i dati per apprendere schemi e migliorare l'accuratezza.

Queste modifiche comportavano un compromesso: i modelli di IA tradizionali diventavano più grandi e lenti, mentre il miglioramento dell'accuratezza era spesso minimo rispetto al notevole aumento della potenza di calcolo richiesta.

EfficientNet ha adottato un approccio diverso. Ha aumentato insieme, in modo equilibrato, la profondità (il numero di livelli), la larghezza (il numero di unità in ogni livello) e la risoluzione dell'immagine (il livello di dettaglio delle immagini di input). Questo metodo si chiama scaling composto. Il risultato è un modello più piccolo e veloce, con prestazioni potenzialmente superiori a quelle di modelli precedenti come ResNet o DenseNet.

Oggi, i modelli di visione artificiale più recenti come Ultralytics YOLO11 e il suo successore, Ultralytics YOLO26, offrono maggiore accuratezza, velocità ed efficienza. Ciononostante, EfficientNet resta una tappa importante che ha influenzato la progettazione di molte architetture avanzate.

In questo articolo esamineremo EfficientNet in cinque minuti, illustrandone il funzionamento, le caratteristiche distintive e la sua importanza ancora attuale nella visione artificiale.

Che cos'è EfficientNet?#

Prima che venisse progettato EfficientNet, la maggior parte dei modelli di riconoscimento delle immagini migliorava l'accuratezza modificando i propri livelli o aumentando le dimensioni delle immagini di input per acquisire più dettagli. Sebbene queste strategie migliorassero i risultati, rendevano anche i modelli più pesanti e impegnativi. Ciò significava che erano necessari più memoria e hardware più potente.

Invece di modificare i singoli livelli, EfficientNet ridimensiona insieme profondità, larghezza e risoluzione delle immagini usando un metodo chiamato scaling composto. Questo approccio consente al modello di crescere in modo efficiente senza sovraccaricare un singolo aspetto.

L'architettura di EfficientNet elabora le immagini attraverso una serie di blocchi, ciascuno formato da moduli più piccoli. Il numero di moduli in ogni blocco dipende dalle dimensioni del modello.

I blocchi costitutivi di EfficientNet

Fig. 1. I blocchi costitutivi di EfficientNet. (Fonte)

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

Come funziona lo scaling composto#

Il metodo di scaling composto amplia profondità, larghezza e risoluzione delle immagini del modello, mantenendole però bilanciate. Ciò consente di sfruttare la potenza di calcolo in modo efficiente. La serie parte da un modello base più piccolo, chiamato EfficientNet-B0, che costituisce il fondamento di tutte le altre versioni.

A partire da B0, i modelli si ampliano in varianti più grandi, chiamate EfficientNet-B1 fino a EfficientNet-B7. A ogni passaggio, la rete aggiunge livelli, aumenta il numero di canali (unità usate per l'elaborazione) e gestisce immagini di input a risoluzione più elevata. L'entità della crescita a ogni passaggio è determinata da un parametro chiamato coefficiente composto, che garantisce che profondità, larghezza e risoluzione aumentino secondo proporzioni fisse anziché in modo indipendente.

Lo scaling composto aumenta larghezza, profondità e risoluzione delle immagini di un modello

Fig. 2. Lo scaling composto aumenta larghezza, profondità e risoluzione delle immagini di un modello. (Fonte)

Architettura di EfficientNet#

Ora diamo un'occhiata all'architettura di EfficientNet.

Si basa su MobileNetV2, un modello di computer vision leggero, ottimizzato per dispositivi mobili e integrati. Al suo centro troviamo 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 veloce e più efficiente nell'uso della memoria.

Ciascun blocco MBConv contiene un modulo squeeze-and-excitation (SE). Questo modulo regola l'intensità dei diversi canali della rete. Potenzia i canali essenziali e riduce l'intensità degli altri. Aiuta la rete a concentrarsi sulle caratteristiche più importanti di un'immagine, ignorando quelle restanti. Il modello EfficientNet usa anche una funzione di attivazione Swish (una funzione matematica che aiuta la rete ad apprendere schemi), che gli consente di individuare gli schemi nelle immagini meglio dei metodi precedenti.

Inoltre, usa DropConnect, una tecnica in cui alcune connessioni all'interno della rete vengono disattivate casualmente durante l'addestramento. Questo metodo di regolarizzazione stocastica, una tecnica di randomizzazione che impedisce al modello di memorizzare i dati di addestramento anziché generalizzare, riduce l'overfitting costringendo la rete ad apprendere rappresentazioni delle caratteristiche più robuste (schemi più solidi e generali nei dati), che si trasferiscono meglio ai dati mai visti.

Architettura di EfficientNet-B0

Fig. 3. Architettura di EfficientNet-B0 (Fonte)

Panoramica delle varianti del modello EfficientNet#

Ora che abbiamo compreso meglio come funzionano i modelli EfficientNet, parliamo delle diverse varianti.

I modelli EfficientNet vanno da B0 a B7: B0 è il modello di base che bilancia velocità e accuratezza. Ogni versione aumenta profondità, larghezza e risoluzione delle immagini, migliorando l'accuratezza. Tuttavia, richiede anche maggiore potenza di calcolo, passando dai modelli B1 e B2 fino ai modelli B6 e B7 ad alte prestazioni.

I modelli EfficientNet-B3 ed EfficientNet-B4 offrono un buon equilibrio per immagini più grandi, mentre B5 viene spesso scelto per dataset complessi che richiedono precisione. Il suo successore, EfficientNetV2, si addestra più velocemente ed è più efficiente in termini di parametri.

Applicazioni di EfficientNet#

EfficientNet può produrre risultati accurati usando meno memoria e potenza di elaborazione rispetto a molti altri modelli. Questo lo rende utile in numerosi ambiti, dalla ricerca scientifica ai prodotti utilizzati ogni giorno.

Analisi delle immagini mediche#

Le immagini mediche, come le TC dei polmoni, contengono spesso dettagli sottili, fondamentali per una diagnosi accurata. I modelli di IA possono aiutare ad analizzare queste immagini e a individuare schemi che potrebbero essere difficili da rilevare per gli esseri umani. Una variante di EfficientNet pensata per questo scopo è MONAI (Medical Open Network for AI) EfficientNet, progettata specificamente per l'analisi delle immagini mediche.

Sulla base dell'architettura di EfficientNet, i ricercatori hanno sviluppato anche Lung-EffNet, un modello che classifica le TC polmonari per rilevare i tumori. Può classificare le scansioni come benigne, maligne o normali e, in contesti sperimentali, ha raggiunto un'accuratezza dichiarata superiore al 99%.

Classificazione delle immagini dei tumori con Lung-EffNet

Fig. 4. Classificazione delle immagini dei tumori con Lung-EffNet. (Fonte)

Rilevamento degli oggetti in tempo reale#

Il rilevamento degli oggetti consiste nell'individuare gli oggetti in un'immagine e determinarne la posizione. È un elemento chiave di applicazioni come i sistemi di sicurezza, le auto a guida autonoma e i droni.

EfficientNet è diventato importante in questo ambito perché offriva un modo molto efficiente per estrarre caratteristiche dalle immagini. Il suo metodo di scaling di profondità, larghezza e risoluzione ha mostrato come i modelli potessero essere accurati senza diventare troppo pesanti o lenti. Per questo molti sistemi di rilevamento, come EfficientDet, usano EfficientNet come backbone.

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

Vantaggi e svantaggi di EfficientNet#

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

  • Alta accuratezza con meno parametri: EfficientNet può offrire un'accuratezza simile o superiore a quella di modelli precedenti come ResNet o DenseNet. Tuttavia, usa meno parametri, risultando più rapido da addestrare e più facile da distribuire.
  • Famiglia di modelli scalabile: con varianti dalla B0 alla B7, puoi scegliere quella più adatta al tuo hardware e ai requisiti di precisione senza modificare la rete di base.
  • Adatto all'apprendimento per trasferimento: EfficientNet può offrire prestazioni affidabili nell'apprendimento per trasferimento, un processo che consiste nel riaddestrare un modello preaddestrato per un'attività personalizzata. Può fungere da backbone per diverse attività di visione artificiale. Ha inoltre ottenuto ottimi risultati dopo l'affinamento. Per esempio, ha raggiunto un'accuratezza all'avanguardia su CIFAR-100, un set di dati ampiamente usato per la classificazione delle immagini, con un numero di parametri nettamente inferiore rispetto ai modelli precedenti.

Sebbene l'uso di EfficientNet offra molti vantaggi, ecco alcuni limiti da tenere presenti:

  • Richiede più memoria: versioni come EfficientNet-B6 ed EfficientNet-B7 richiedono molta memoria GPU.
  • Scaling ottimizzato per ImageNet: le impostazioni di scaling sono state progettate per il dataset ImageNet, quindi le prestazioni potrebbero diminuire su dataset molto diversi se non si esegue il fine-tuning. Questo vale soprattutto per i dataset di piccole dimensioni, poiché l'architettura e lo scaling di EfficientNet sono stati progettati per un dataset ampio e variegato come ImageNet, che fornisce dati sufficienti a giustificarne profondità e larghezza.
  • Più lento su alcuni hardware: EfficientNet usa livelli chiamati MBConv, progettati per essere efficienti sull'hardware moderno. Su GPU o CPU meno recenti, questi livelli potrebbero funzionare più lentamente.

Punti chiave#

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

Unisciti alla nostra community e al nostro repository GitHub per approfondire l'IA. Consulta le nostre pagine dedicate alle soluzioni per leggere informazioni sull'IA in ambito sanitario e sulla computer vision nel settore automobilistico. Scopri le nostre licenze e inizia oggi a creare con la computer vision!

Scritto da

Abirami Vina
Abirami Vina

Creatore di contenuti · Ultralytics

Dopo aver iniziato la sua carriera come ingegnera di visione artificiale, Abirami Vina ha costruito solide basi nell'IA visiva e nel machine learning. È creatrice di contenuti per Ultralytics e fondatrice e autrice principale di Scribe of AI, dove realizza contenuti tecnici di alta qualità per aziende specializzate in IA. Spinta dalla passione di rendere l'IA comprensibile e coinvolgente, con il suo lavoro colma il divario tra tecnologie all'avanguardia e impatto concreto.

Commenti

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning