HomeIA e Machine LearningControllore del Clima della Serra — Q-Learning dal Vivo

🌱 Controllore del Clima della Serra — Q-Learning dal Vivo

Osserva un vero agente di reinforcement learning Q-learning imparare a controllare dal vivo il riscaldamento e la ventilazione di una serra simulata, aggiornando genuinamente la sua Q-table dal feedback di ricompensa sulla temperatura a ogni episodio.

IA e Machine Learning3DAvanzata60 FPS
ai-greenhouse-climate-control ↗ Apri standalone

Informazioni sul Controllore del Clima della Serra

Le vere serre bilanciano due obiettivi in conflitto ogni ora del giorno: mantenere l'aria vicino a una temperatura e umidità ideali per la coltura, e non sprecare energia nel farlo. Questa simulazione addestra un vero agente Q-learning tabellare a risolvere esattamente quel problema. Lo stato è una lettura discretizzata (fascia di temperatura × fascia di umidità × fascia oraria) di un semplice modello termico/di umidità di una serra che risponde a un ciclo giorno/notte della temperatura esterna, al guadagno solare e alla traspirazione delle piante. Lo spazio delle azioni è di quattro combinazioni riscaldatore/prese d'aria. Ogni episodio di addestramento si svolge in 24 ore simulate, accumula una ricompensa che penalizza l'uscita dalla fascia di comfort e penalizza il consumo energetico del riscaldatore, ed esegue il vero aggiornamento di Bellman Q(s,a) ← Q(s,a) + α[r + γ·max Q(s′,a′) − Q(s,a)] dopo ogni singolo passo — nulla nella curva di apprendimento è scriptato.

🔬 Cosa mostra

Una curva di apprendimento della ricompensa per episodio dal vivo e non scriptata, prodotta da migliaia di veri episodi di addestramento, una politica di esplorazione epsilon-greedy che decade attraverso quegli episodi, e una serra 3D la cui tinta del vetro passa dal blu freddo al verde obiettivo al rosso caldo mentre la temperatura interna cambia, con un riscaldatore luminoso e un'apertura d'aria a cerniera che si apre e chiude con le azioni effettivamente scelte dall'agente.

🎮 Come si usa

Regola i cursori del tasso di apprendimento α, del fattore di sconto γ e del decadimento epsilon, poi premi Addestra e osserva la curva di ricompensa salire. Usa Reimposta Q-table per far ripartire l'agente da zero, e usa Osserva agente / Osserva termostato per riprodurre un episodio completo di 24 ore di ciascun controllore all'interno della scena 3D, con letture dal vivo di temperatura, umidità, riscaldatore e prese d'aria.

💡 Lo sapevi?

Il termostato di riferimento ingenuo usa esattamente la stessa fisica e funzione di ricompensa dell'agente Q-learning — reagisce semplicemente alla temperatura e umidità correnti con soglie fisse. Poiché non può condizionare la fascia oraria come può fare l'agente addestrato, un agente Q-learning ben addestrato finisce tipicamente con una ricompensa media per episodio notevolmente più alta una volta che il suo tasso di esplorazione è decaduto.

Domande frequenti

Che cos'è il Q-learning e in cosa differisce dall'apprendimento supervisionato?

Il Q-learning è un algoritmo di reinforcement learning model-free: un agente interagisce con un ambiente, intraprende azioni, e impara puramente dalla ricompensa numerica che riceve, senza che gli venga mai mostrata l'azione "corretta" per una data situazione. L'apprendimento supervisionato invece addestra su esempi etichettati di coppie input-output corrette. Qui al controllore della serra non viene mai detto "accendi ora il riscaldatore" — scopre quella politica da solo provando azioni, osservando se la temperatura e umidità risultanti hanno ottenuto una ricompensa buona o cattiva, e aggiornando di conseguenza la sua Q-table su migliaia di giorni simulati.

Come bilancia la politica epsilon-greedy esplorazione e sfruttamento?

A ogni passo l'agente sceglie un'azione casuale con probabilità ε (esplorazione) oppure l'azione con il valore Q noto più alto con probabilità 1−ε (sfruttamento). All'inizio dell'addestramento ε parte da 1,0, quindi l'agente si comporta quasi casualmente e raccoglie ampia esperienza di cosa succede sotto ogni combinazione riscaldatore/prese d'aria. Dopo ogni episodio ε viene moltiplicato per un fattore di decadimento (ad es. 0,985) e limitato a un piccolo minimo, così l'esplorazione si riduce gradualmente mentre l'agente sfrutta sempre più la politica che ha appreso — esattamente la curva di decadimento epsilon che puoi regolare e osservare aggiornarsi dal vivo.

Cosa controllano effettivamente il tasso di apprendimento (α) e il fattore di sconto (γ)?

L'aggiornamento di Bellman è Q(s,a) ← Q(s,a) + α·[r + γ·max Q(s′,a′) − Q(s,a)]. Alpha (il tasso di apprendimento) controlla quanto ogni nuova esperienza sovrascrive il valore Q esistente — un α alto si adatta velocemente ma può essere rumoroso e instabile, un α basso è più fluido ma più lento a convergere. Gamma (il fattore di sconto) controlla quanto l'agente si preoccupa delle ricompense future rispetto a quella immediata: un γ vicino a 0 lo rende miope, mentre un γ vicino a 1 lo fa pianificare per l'intero ciclo di 24 ore.

Perché discretizzare temperatura e umidità in fasce per lo spazio degli stati?

Il Q-learning tabellare ha bisogno di un numero finito di stati così che Q(s,a) possa essere memorizzato e aggiornato come una semplice tabella di lookup. Questa simulazione raggruppa la temperatura della serra in fasce di 2°C, l'umidità in fasce del 10%, e l'ora del giorno in quattro blocchi di 6 ore, dando 1.000 stati discreti e 4 azioni discrete. Fasce più grossolane imparano più velocemente ma controllano meno precisamente; fasce più fini controllano più precisamente ma richiedono più episodi per riempire ogni valore Q — il classico compromesso di risoluzione dello spazio degli stati che motiva anche l'approssimazione di funzione (deep Q-network) nei problemi più grandi.

Come è progettata la funzione di ricompensa per riflettere i veri obiettivi operativi di una serra?

La ricompensa di ogni passo è negativa: penalizza la deviazione al quadrato della temperatura al di fuori di una fascia di tolleranza di ±2,5°C attorno a 22°C, una penalità al quadrato minore per l'umidità al di fuori di una fascia di ±12% attorno al 60%, e un costo energetico fisso ogni volta che il riscaldatore è acceso. Elevare al quadrato la deviazione punisce le grandi escursioni molto più di quelle piccole, mentre il costo costante del riscaldatore impedisce all'agente di tenerlo semplicemente sempre acceso al massimo. Massimizzare la somma di queste ricompense su un episodio di 24 ore è matematicamente equivalente a mantenere la serra confortevole minimizzando al contempo il consumo energetico.

Perché confrontare l'agente addestrato con un termostato di riferimento a soglia fissa?

Un semplice termostato accende il riscaldatore sotto una soglia di bassa temperatura e apre le prese d'aria sopra una soglia di alta temperatura o alta umidità — esattamente il tipo di controllo basato su regole presente nei controllori economici del mondo reale. Far girare quella stessa regola fissa attraverso la fisica e la funzione di ricompensa identiche fornisce un confronto equo, a parità di condizioni. Poiché l'agente Q-learning può condizionare la propria azione congiuntamente su fascia oraria e umidità, un agente ben addestrato tipicamente batte la ricompensa media per episodio del termostato ingenuo una volta che epsilon è decaduto abbastanza da permettergli di sfruttare ciò che ha appreso.

L'agente continua ad apprendere se cambio α, γ o il decadimento epsilon a metà addestramento?

Sì. I tre cursori vengono letti direttamente dal ciclo di addestramento in esecuzione a ogni episodio, quindi spostarli ha effetto immediato sul prossimo aggiornamento di Bellman — non c'è alcun riavvio nascosto. Portare α molto alto renderà la curva di ricompensa visibilmente più rumorosa, mentre rallentare il decadimento epsilon mantiene l'agente in esplorazione (e la sua curva di ricompensa più piatta) più a lungo prima che si stabilizzi nello sfruttamento della sua politica.

⚙ Come funziona

Un agente Q-learning tabellare si addestra contro un modello termico/di umidità di serra simulato, aggiornando genuinamente Q(s,a) tramite l'equazione di Bellman con una politica epsilon-greedy che decade attraverso gli episodi, ed è confrontato dal vivo con un termostato a soglia fissa.

Q-LearningReinforcement LearningEpsilon-GreedyReward ShapingGreenhouse

3D · renderer Three.js / WebGL · target 60 FPS · funziona interamente lato client, senza installazione

Cosa hai trovato?

Aggiungi i passaggi per riprodurre il problema (opzionale)