Glossario

Algoritmi evolutivi

Scoprite come gli algoritmi evolutivi ottimizzano le soluzioni di IA e ML, dalla regolazione degli iperparametri alla robotica, utilizzando strategie ispirate alla natura.

Gli algoritmi evolutivi (EA) sono un affascinante sottoinsieme dell'intelligenza artificiale e dell'apprendimento automatico che utilizza i principi dell'evoluzione biologica per risolvere problemi di ottimizzazione complessi. Ispirati alla selezione naturale darwiniana, questi algoritmi affinano iterativamente una popolazione di soluzioni candidate per trovare il miglior risultato possibile. Invece di utilizzare un'unica soluzione, gli EA mantengono un insieme diversificato di risposte potenziali, che consente loro di esplorare un ampio spazio di ricerca e di evitare di rimanere bloccati in soluzioni subottimali, un problema comune ad altri algoritmi di ottimizzazione.

Come funzionano gli algoritmi evolutivi

Il processo centrale di un'EA imita l'evoluzione naturale attraverso diverse fasi chiave:

  1. Inizializzazione: L'algoritmo inizia creando una popolazione iniziale di soluzioni candidate casuali.
  2. Valutazione del fitness: Ogni soluzione della popolazione viene valutata con una funzione di fitness che misura la sua capacità di risolvere il problema. Per esempio, nell'addestramento di un modello di computer vision, il fitness potrebbe essere misurato dall'accuratezza del modello.
  3. Selezione: Gli individui "più adatti" vengono selezionati per diventare "genitori" della generazione successiva. Questa fase è analoga alla "sopravvivenza del più adatto".
  4. Riproduzione (Crossover e Mutazione): I genitori selezionati creano la prole. Il crossover combina parti di due soluzioni genitoriali per crearne una nuova, mentre la mutazione introduce piccole modifiche casuali a una soluzione. Queste operazioni introducono nuove variazioni nella popolazione, stimolando la ricerca di soluzioni migliori.
  5. Terminazione: Questo ciclo si ripete per molte generazioni fino a quando non viene trovata una soluzione soddisfacente o non viene soddisfatto un criterio di arresto predefinito (come il numero di generazioni).

I tipi più comuni di EA includono gli algoritmi genetici (GA), la programmazione genetica, le strategie di evoluzione (ES) e l'evoluzione differenziale (DE).

Applicazioni del mondo reale

Gli EA sono molto versatili e vengono utilizzati per affrontare problemi in cui lo spazio di ricerca è ampio, complesso o poco conosciuto.

Algoritmi evolutivi e concetti correlati

È utile differenziare le EA da altri paradigmi di IA correlati:

  • Intelligenza di sciame (SI): Entrambi sono metodi ispirati alla natura e basati sulla popolazione. Tuttavia, gli EA si concentrano sul miglioramento generazionale tramite selezione, crossover e mutazione. Al contrario, la SI modella il comportamento collettivo di agenti decentralizzati (come uno stormo di uccelli o una colonia di formiche) che interagiscono all'interno di una singola generazione per risolvere i problemi.
  • Apprendimento per rinforzo (RL): L'RL prevede che un singolo agente apprenda una politica ottimale interagendo con un ambiente e ricevendo ricompense o penalità. Le EA, invece, sono tecniche di ricerca basate sulla popolazione che non richiedono necessariamente un ambiente interattivo o un segnale di ricompensa esplicito allo stesso modo.
  • Ottimizzazione basata sul gradiente: Algoritmi come Stochastic Gradient Descent (SGD) e Adam si basano sul calcolo del gradiente della funzione di perdita per aggiornare i parametri del modello. Gli EA sono privi di gradiente, il che li rende molto efficaci per i problemi non differenziabili, discontinui o che presentano molti optima locali.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti