YOLO Vision 2026:
Guide

Cos'è EfficientNet? Una rapida panoramica

Comprendi l'architettura EfficientNet e la magia del suo compound scaling! Esplora EfficientNet B0-B7 per un'efficienza di classificazione e segmentazione delle immagini di alto livello.

ABAbirami Vina6 min read
Una panoramica dell'architettura EfficientNet

Nel 2019, i ricercatori di Google AI hanno introdotto EfficientNet, un modello di computer vision all'avanguardia creato per riconoscere oggetti e pattern nelle immagini. È stato progettato principalmente per la classificazione delle immagini, che consiste nell'assegnare un'immagine a una di diverse categorie predefinite. Tuttavia, oggi EfficientNet serve anche da backbone per compiti più complessi come object detection, segmentazione e transfer learning.

Prima di EfficientNet, tali modelli di machine learning e vision AI cercavano di migliorare l'accuratezza aggiungendo più livelli o aumentando le dimensioni di tali livelli. I livelli sono i passaggi in un modello di rete neurale (un tipo di modello di deep learning ispirato al cervello umano) che elaborano i dati per apprendere pattern e migliorare l'accuratezza.

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

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

Oggi, i modelli di computer vision più recenti come Ultralytics YOLO11 offrono maggiore accuratezza, velocità ed efficienza. Ciononostante, EfficientNet rimane un importante traguardo che ha influenzato la progettazione di molte architetture avanzate.

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

Cos'è EfficientNet?#

Prima che EfficientNet venisse progettato, la maggior parte dei modelli di riconoscimento delle immagini migliorava l'accuratezza regolando i propri livelli o aumentando le dimensioni dell'immagine di input per catturare maggiori dettagli. Sebbene queste strategie migliorassero i risultati, rendevano anche i modelli più pesanti e più esigenti. Ciò significava che necessitavano di più memoria e hardware migliore.

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

L'architettura EfficientNet elabora le immagini attraverso una serie di blocchi, ognuno costruito da moduli più piccoli. Il numero di moduli in ogni blocco dipende dalla dimensione del modello.

I mattoncini di EfficientNet

Fig 1. I mattoncini di EfficientNet. (Fonte)

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

Come funziona il compound scaling#

Il metodo di compound scaling espande la profondità, la larghezza e la risoluzione dell'immagine di un modello, ma le mantiene in equilibrio. Ciò rende 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.

Da B0, i modelli scalano verso varianti più grandi chiamate da EfficientNet-B1 a EfficientNet-B7. Ad ogni passaggio, la rete guadagna livelli aggiuntivi, aumenta il numero di canali (unità utilizzate per l'elaborazione) e gestisce immagini di input a risoluzione più elevata. La quantità di crescita ad ogni passaggio è determinata da un parametro chiamato coefficiente composto, che garantisce che profondità, larghezza e risoluzione aumentino in proporzioni fisse piuttosto che in modo indipendente.

Il compound scaling aumenta la larghezza, la profondità e la risoluzione dell'immagine di un modello

Fig 2. Il compound scaling aumenta la larghezza, la profondità e la risoluzione dell'immagine di un modello. (Fonte)

Architettura di EfficientNet#

Successivamente, diamo un'occhiata all'architettura di EfficientNet.

Si basa su MobileNetV2, un modello di computer vision leggero ottimizzato per dispositivi mobili ed embedded. Al suo centro c'è il blocco Mobile Inverted Bottleneck Convolution (MBConv), un livello speciale che elabora i dati dell'immagine come una convoluzione standard ma con meno calcoli. Questo blocco rende il modello sia veloce che più efficiente dal punto di vista della memoria.

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

Oltre a questo, utilizza DropConnect, dove alcune connessioni all'interno della rete vengono disattivate in modo casuale durante l'addestramento. Questo metodo di regolarizzazione stocastica (una tecnica di randomizzazione per impedire al modello di memorizzare i dati di addestramento invece di generalizzare) riduce l'overfitting forzando la rete ad apprendere rappresentazioni di caratteristiche più robuste (pattern più forti e più generali nei dati) che si trasferiscono meglio su dati non visti.

Architettura di EfficientNet-B0

Fig 3. Architettura di EfficientNet-B0 (Fonte)

Una breve panoramica delle varianti del modello EfficientNet#

Ora che abbiamo una migliore comprensione di come funzionano i modelli EfficientNet, parliamo delle diverse varianti del modello.

I modelli EfficientNet scalano da B0 a B7, iniziando con B0 come base che bilancia velocità e accuratezza. Ogni versione aumenta profondità, larghezza e risoluzione dell'immagine, migliorando l'accuratezza. Tuttavia, richiedono anche maggiore potenza di calcolo, dai modelli B1 e B2 fino ai performanti B6 e B7.

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

Applicazioni di EfficientNet#

EfficientNet può 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 che le persone usano quotidianamente.

Analisi di immagini mediche#

Le immagini mediche, come le TAC dei polmoni, contengono spesso dettagli sottili che sono critici per una diagnosi accurata. I modelli di IA possono aiutare ad analizzare queste immagini per scoprire pattern che potrebbero essere difficili da rilevare per gli esseri umani. Un adattamento di EfficientNet a questo scopo è MONAI (Medical Open Network for AI) EfficientNet, progettato specificamente per l'analisi di immagini mediche.

Basandosi sull'architettura di EfficientNet, i ricercatori hanno sviluppato anche Lung-EffNet, un modello che classifica le TAC polmonari per rilevare i tumori. Può categorizzare i tumori come benigni, maligni o normali, raggiungendo un'accuratezza dichiarata superiore al 99% in contesti sperimentali.

Classificazione delle immagini di tumori tramite Lung-EffNet

Fig 4. Classificazione delle immagini di tumori tramite Lung-EffNet. (Fonte)

Object detection in tempo reale#

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

EfficientNet è diventato importante in questo settore 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 essere troppo pesanti o lenti. Ecco perché molti sistemi di detection, come EfficientDet, usano EfficientNet come backbone.

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

Pro e contro di EfficientNet#

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

  • Alta accuratezza con meno parametri: EfficientNet può fornire un'accuratezza simile o superiore ai vecchi modelli come ResNet o DenseNet. Tuttavia, utilizza meno parametri, rendendolo più veloce da addestrare e più facile da implementare.
  • Famiglia di modelli scalabili: Spaziando da B0 a B7, puoi scegliere una versione che corrisponda ai tuoi requisiti di hardware e precisione senza modificare la rete di base.
  • Ottimo per il transfer learning: EfficientNet può offrire prestazioni del modello affidabili per il transfer learning, ovvero il processo di riaddestramento di un modello pre-addestrato per un compito personalizzato. Può funzionare come backbone per una varietà di compiti di computer vision. Ha anche mostrato ottimi risultati quando viene fatto il fine-tuning. Ad esempio, ha raggiunto un'accuratezza allo stato dell'arte su CIFAR-100, un dataset di classificazione delle immagini ampiamente utilizzato, con un numero di parametri significativamente inferiore rispetto ai modelli precedenti.

Sebbene ci siano molti vantaggi relativi all'utilizzo di EfficientNet, ecco alcune limitazioni di EfficientNet da tenere a mente:

  • Richiede più memoria: Versioni come EfficientNet-B6 e 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 calare su dataset molto diversi senza un fine-tuning. Questo vale soprattutto per i piccoli dataset, poiché l'architettura e lo scaling di EfficientNet sono stati progettati per un dataset ampio e diversificato come ImageNet, che fornisce abbastanza dati da giustificarne la profondità e la larghezza.
  • Più lento su alcuni hardware: EfficientNet utilizza livelli chiamati MBConv che sono progettati per l'efficienza sull'hardware moderno. Su GPU o CPU meno recenti, questi livelli potrebbero essere più lenti.

Punti chiave#

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.

Unisciti alla nostra community e al nostro repository GitHub per scoprire di più sull'IA. Dai un'occhiata alle pagine delle nostre soluzioni per leggere informazioni su IA nella sanità e computer vision nell'automotive. Scopri le nostre opzioni di licenza e inizia a sviluppare con la computer vision oggi stesso!

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning