Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Ricerca di Architetture Neurali (NAS)

Scopri come la ricerca dell'architettura neurale (NAS) automatizza la progettazione dei modelli di deep learning. Scopri i suoi meccanismi fondamentali ed esplora modelli ottimizzati come Ultralytics .

La ricerca dell'architettura neurale (NAS) è una tecnica sofisticata nell'ambito dell' apprendimento automatico (AutoML) che automatizza la progettazione di reti neurali artificiali. Tradizionalmente, la progettazione di architetture di deep learning (DL) ad alte prestazioni richiedeva una vasta esperienza umana, intuizione e lunghi processi di prova ed errore. NAS sostituisce questo processo manuale con strategie algoritmiche che esplorano sistematicamente una vasta gamma di topologie di rete per scoprire la struttura ottimale per un compito specifico. Testando varie combinazioni di livelli e operazioni, NAS è in grado di identificare architetture che superano significativamente i modelli progettati dall'uomo in termini di precisione, efficienza computazionale o velocità di inferenza.

Meccanismi fondamentali della NAS

Il processo di scoperta di un'architettura superiore comporta generalmente tre dimensioni fondamentali che interagiscono per trovare la migliore rete neurale (NN):

  1. Spazio di ricerca: definisce l'insieme di tutte le possibili architetture che l'algoritmo può esplorare. Funziona come una libreria di elementi costitutivi, quali filtri di convoluzione, livelli di pooling e varie funzioni di attivazione. Uno spazio di ricerca ben definito limita la complessità per garantire che la ricerca rimanga computazionalmente fattibile, consentendo al contempo una flessibilità sufficiente per l'innovazione.
  2. Strategia di ricerca: invece di testare ogni possibilità (forza bruta), il NAS impiega algoritmi intelligenti per navigare in modo efficiente nello spazio di ricerca. Gli approcci comuni includono l'apprendimento per rinforzo, in cui un agente impara a generare architetture migliori nel tempo, e gli algoritmi evolutivi, che mutano e combinano i modelli più performanti per generare candidati superiori.
  3. Strategia di stima delle prestazioni: addestrare ogni rete candidata da zero è eccessivamente lento. Per accelerare questo processo, il NAS utilizza tecniche di stima, come l'addestramento su un numero inferiore di epoch, l'utilizzo di set di dati proxy a risoluzione inferiore o l'impiego della condivisione dei pesi, per classificare rapidamente il potenziale di un'architettura candidata .

Applicazioni nel mondo reale

Il NAS è diventato fondamentale nei settori in cui i vincoli hardware o i requisiti di prestazione sono rigorosi, spingendo i confini della visione artificiale (CV) e di altri domini dell'IA .

  • Edge Computing efficiente: l'implementazione dell'IA sui dispositivi mobili richiede modelli leggeri e veloci. Il NAS è ampiamente utilizzato per scoprire architetture come MobileNetV3 ed EfficientNet che riducono al minimo la latenza di inferenza mantenendo un'elevata precisione. Ciò è fondamentale per le applicazioni di IA edge, come l'analisi video in tempo reale su telecamere intelligenti o droni autonomi.
  • Imaging medico: nell' analisi delle immagini mediche, l'accuratezza è fondamentale. Il NAS può personalizzare le reti per detect anomalie detect nelle radiografie o nelle scansioni MRI, trovando spesso nuovi percorsi di estrazione delle caratteristiche che gli ingegneri umani potrebbero trascurare. Ciò porta a strumenti più affidabili per identificare condizioni come tumori cerebrali o fratture con maggiore sensibilità.

NAS vs. Concetti correlati

Per comprendere il ruolo specifico del NAS, è utile distinguerlo da tecniche di ottimizzazione simili:

  • NAS vs. Ottimizzazione degli iperparametri: Sebbene entrambi comportino l'ottimizzazione, l' ottimizzazione degli iperparametri si concentra sulla regolazione delle impostazioni di configurazione (come il tasso di apprendimento o la dimensione del batch) per un'architettura fissa. Al contrario, il NAS modifica la struttura fondamentale del modello stesso, come il numero di livelli o il modo in cui i neuroni sono collegati.
  • NAS vs. Transfer Learning: Il Transfer Learning prende un modello esistente e pre-addestrato e adatta i suoi pesi a un nuovo compito. Il NAS crea l'architettura del modello da zero (o cerca una struttura migliore) prima dell'inizio dell'addestramento.

Utilizzo di modelli derivati dal NAS

Sebbene l'esecuzione di una ricerca NAS completa richieda notevoli risorseGPU , gli sviluppatori possono facilmente utilizzare modelli creati tramite NAS. Ad esempio, l' architettura YOLO è stata scoperta utilizzando questi principi di ricerca per ottimizzare le attività di rilevamento degli oggetti.

Il seguente Python mostra come caricare e utilizzare un modello NAS pre-ricercato utilizzando il ultralytics pacchetto:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")

# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")

# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")

Per chi desidera addestrare modelli all'avanguardia senza la complessità del NAS, Ultralytics offre un'architettura altamente ottimizzata e pronta all'uso, che incorpora gli ultimi progressi della ricerca. È possibile gestire facilmente i set di dati, l'addestramento e l' implementazione di questi modelli utilizzando la Ultralytics , che semplifica l'intero ciclo di vita MLOps.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora