Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Ricerca di Architetture Neurali (NAS)

Scopri come Neural Architecture Search (NAS) automatizza la progettazione di reti neurali per prestazioni ottimizzate nel rilevamento di oggetti, nell'IA e altro ancora.

La ricerca di architetture neurali (NAS) è una tecnica sofisticata nel campo del apprendimento automatico delle macchine (AutoML) che automatizza la progettazione di reti neurali artificiali. Tradizionalmente, la progettazione di architetture ad alte prestazioni richiedeva una profonda esperienza di dominio e un'ampia serie di tentativi ed errori manuali. NAS rivoluziona questo processo, utilizzando algoritmi per esplorare sistematicamente un vasto numero di possibili topologie di rete, alla ricerca della struttura ottimale che massimizza le metriche di prestazione, quali topologie di rete, alla ricerca della struttura ottimale che massimizza le metriche di prestazione, come l'accuratezza o l'efficienza. precisione o l'efficienza. Questa automazione non solo accelerare lo sviluppo di modelli di modelli di deep learning, ma democratizza anche l'accesso all'IA di ultima generazione, riducendo la dipendenza dall'intuizione umana per la progettazione delle reti.

Componenti principali del NAS

Il processo NAS è generalmente composto da tre elementi fondamentali che lavorano insieme per scoprire la migliore architettura del modello. architettura del modello:

  1. Spazio di ricerca: Definisce l'insieme di tutte le possibili architetture che l'algoritmo può esplorare. Esso specifica gli elementi di base, come i tipi di strati (ad es, convoluzione, pooling), funzioni di attivazione e come come possono essere collegati tra loro. Uno spazio di ricerca ben progettato è fondamentale perché limita la complessità e garantisce la fattibilità dei modelli risultanti. fattibilità dei modelli risultanti.
  2. Strategia di ricerca: È il metodo utilizzato per navigare nello spazio di ricerca. Invece di un approccio a forza bruta forza bruta, NAS impiega strategie intelligenti come l'apprendimento per rinforzo, algoritmi evolutivi o metodi metodi basati sul gradiente (come DARTS). Queste strategie guidano la ricerca verso architetture più promettenti in base al feedback delle iterazioni precedenti.
  3. Strategia di stima delle prestazioni: Valutare ogni architettura candidata addestrandola da zero è è costoso dal punto di vista computazionale. Per accelerare questo processo, NAS utilizza strategie di stima come la condivisione dei pesi, l'addestramento su un sottoinsieme di dati o l'addestramento per un numero inferiore di epoche. su un sottoinsieme dei dati o l'addestramento per un numero inferiore di epoche. Questo Questo permette all'algoritmo di classificare rapidamente i candidati e di concentrare le risorse sui progetti più promettenti.

Applicazioni nel mondo reale

La NAS ha contribuito alla creazione di alcuni dei modelli più efficienti e potenti dell'IA moderna.

  • Visione artificiale: In compiti come rilevamento di oggetti e classificazione delle immagini, la NAS ha generato architetture che superano le controparti progettate dall'uomo. La famiglia EfficientNet è un esempio lampante, in cui NAS è stato usato per trovare una rete di base che è stata poi scalata per raggiungere con un numero significativamente inferiore di parametri. Allo stesso modo, modelli come YOLO utilizzano questi principi per ottimizzare sia la velocità e precisione.
  • Edge AI e distribuzione mobile: Il NAS è ampiamente utilizzato per progettare modelli leggeri su misura per l'edge computing. edge computing. Incorporando i vincoli hardware vincoli hardware (come la latenza e il consumo consumo energetico) direttamente nell'obiettivo di ricerca, NAS può scoprire architetture che funzionano in modo efficiente sui dispositivi mobili senza sacrificare le prestazioni. dispositivi mobili senza sacrificare troppo le prestazioni. Questo aspetto è fondamentale per le applicazioni veicoli autonomi e IoT.

Regolazione del NAS e dell'iperparametro

È importante distinguere la ricerca dell'architettura neurale dalla regolazione degli iperparametri, in quanto entrambe implicano l'ottimizzazione ma ottimizzazione, ma riguardano aspetti diversi di un modello.

  • La ricerca dell'architettura neurale (NAS) si concentra sulla ricerca della struttura ottimale della rete neurale stessa. rete neurale stessa, determinando il numero di strati, il tipo di operazioni e le connessioni tra i neuroni.
  • La messa a punto degli iperparametri si concentra sull'ottimizzazione delle impostazioni di configurazione di un'architettura fissa, come il tasso di apprendimento, la velocità di apprendimento e la velocità di apprendimento. architettura, come il tasso di apprendimento, dimensione del batch o il tipo di ottimizzatore.

Mentre la NAS costruisce la struttura del "cervello", la messa a punto degli iperparametri insegna al cervello come apprendere in modo più efficacemente. Entrambi sono spesso utilizzati in tandem all'interno di una pipeline AutoML per ottenere i migliori risultati possibili.

Utilizzo dei modelli derivati dalla NAS

Mentre l'esecuzione di un processo NAS completo può richiedere molte risorse, gli sviluppatori possono facilmente sfruttare i modelli pre-addestrati che sono stati scoperti con il NAS. sono stati scoperti utilizzando il NAS. La libreria Ultralytics supporta il caricamento e l'esecuzione di queste architetture ottimizzate, come YOLO-NAS. YOLO, consentendo agli utenti di trarre vantaggio dalla ricerca NAS senza dover disporre delle risorse computazionali necessarie per eseguire la ricerca. ricerca.

L'esempio seguente mostra come caricare un modello derivato da NAS usando Python:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model discovered via architecture search
model = NAS("yolo_nas_s.pt")

# Display the model's architecture information
model.info()

# Validate the model's performance on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Unitevi alla comunità di Ultralytics

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

Iscriviti ora