Strona głównaAI i uczenie maszynoweSterownik klimatu w szklarni — Q-Learning na żywo

🌱 Sterownik klimatu w szklarni — Q-Learning na żywo

Obserwuj, jak prawdziwy agent uczenia się przez wzmacnianie Q-learning uczy się na żywo sterować ogrzewaniem i wentylacją symulowanej szklarni, rzeczywiście aktualizując swoją tabelę Q na podstawie informacji zwrotnej o nagrodzie temperaturowej w każdym epizodzie.

AI i uczenie maszynowe3DZaawansowany60 FPS
ai-greenhouse-climate-control ↗ Otwórz samodzielnie

O Sterowniku klimatu w szklarni

Prawdziwe szklarnie żonglują dwoma sprzecznymi celami przez każdą godzinę dnia: utrzymywać powietrze blisko idealnej temperatury i wilgotności dla uprawy oraz nie marnować przy tym energii. Ta symulacja trenuje prawdziwego tabelarycznego agenta Q-learning do rozwiązania dokładnie tego problemu. Stan to zdyskretyzowany (przedział temperatury × przedział wilgotności × przedział pory dnia) odczyt prostego modelu termiczno-wilgotnościowego szklarni reagującej na dobowy cykl temperatury zewnętrznej, zysk słoneczny i transpirację roślin. Przestrzeń działań to cztery kombinacje grzejnik/wentylacja. Każdy epizod treningowy rozgrywa 24 symulowane godziny, gromadzi nagrodę, która karze za wyjście poza pasmo komfortu i karze za zużycie energii przez grzejnik, i wykonuje prawdziwą aktualizację Bellmana Q(s,a) ← Q(s,a) + α[r + γ·max Q(s′,a′) − Q(s,a)] po każdym pojedynczym kroku — nic w krzywej uczenia nie jest wyreżyserowane.

🔬 Co pokazuje

Na żywo, niewyreżyserowaną krzywą uczenia nagrody epizodu wyprodukowaną przez tysiące prawdziwych epizodów treningowych, politykę eksploracji epsilon-greedy, która zanika w tych epizodach, oraz 3D szklarnię, której odcień szkła zmienia się od zimnego błękitu przez docelową zieleń do gorącej czerwieni wraz ze zmianą temperatury wewnętrznej, z jarzącym się grzejnikiem i zawiasową klapą wentylacyjną, która otwiera się i zamyka zgodnie z rzeczywistymi działaniami wybranymi przez agenta.

🎮 Jak korzystać

Dostosuj suwaki współczynnika uczenia α, współczynnika dyskontowania γ i zanikania epsilon, następnie naciśnij Trenuj i obserwuj, jak krzywa nagrody rośnie. Użyj Resetuj tabelę Q, aby zacząć agenta od czystej karty, oraz Obserwuj agenta / Obserwuj termostat, aby odtworzyć jeden pełny 24-godzinny epizod dowolnego sterownika wewnątrz sceny 3D, z odczytami temperatury, wilgotności, grzejnika i wentylacji na żywo.

💡 Czy wiesz, że?

Naiwny punkt odniesienia termostatu wykorzystuje dokładnie tę samą fizykę i funkcję nagrody co agent Q-learning — po prostu reaguje na bieżącą temperaturę i wilgotność ze stałymi progami. Ponieważ nie może warunkować na porze dnia tak, jak potrafi wytrenowany agent, dobrze wytrenowany agent Q-learning zwykle kończy z zauważalnie wyższą średnią nagrodą epizodu, gdy jego wskaźnik eksploracji zaniknie.

Najczęściej zadawane pytania

Czym jest Q-learning i czym różni się od uczenia nadzorowanego?

Q-learning to bezmodelowy algorytm uczenia się przez wzmacnianie: agent wchodzi w interakcję ze środowiskiem, podejmuje działania i uczy się wyłącznie na podstawie liczbowej nagrody, jaką otrzymuje, nigdy nie widząc "poprawnego" działania dla danej sytuacji. Uczenie nadzorowane natomiast trenuje na oznaczonych przykładach poprawnych par wejście-wyjście. Tutaj sterownik szklarni nigdy nie słyszy "włącz teraz grzejnik" — sam odkrywa tę politykę, próbując działań, obserwując, czy wynikająca z nich temperatura i wilgotność przyniosły dobrą czy złą nagrodę, i aktualizując swoją tabelę Q odpowiednio przez tysiące symulowanych dni.

Jak polityka epsilon-greedy równoważy eksplorację i eksploatację?

Na każdym kroku agent wybiera losowe działanie z prawdopodobieństwem ε (eksploracja) lub działanie o najwyższej znanej wartości Q z prawdopodobieństwem 1−ε (eksploatacja). Na początku treningu ε zaczyna od 1,0, więc agent zachowuje się niemal losowo i zbiera szerokie doświadczenie tego, co dzieje się przy każdej kombinacji grzejnik/wentylacja. Po każdym epizodzie ε jest mnożone przez współczynnik zanikania (np. 0,985) i ma dolny próg minimalny, więc eksploracja stopniowo słabnie, podczas gdy agent coraz bardziej wykorzystuje wyuczoną politykę — dokładnie krzywa zanikania epsilon, którą możesz dostosować i obserwować na żywo.

Co dokładnie kontrolują współczynnik uczenia (α) i współczynnik dyskontowania (γ)?

Aktualizacja Bellmana to Q(s,a) ← Q(s,a) + α·[r + γ·max Q(s′,a′) − Q(s,a)]. Alfa (współczynnik uczenia) kontroluje, jak bardzo każde nowe doświadczenie nadpisuje istniejącą wartość Q — wysoka α adaptuje się szybko, ale może być niestabilna i zaszumiona, niska α jest płynniejsza, ale wolniej zbiega. Gamma (współczynnik dyskontowania) kontroluje, jak bardzo agent dba o przyszłe nagrody w porównaniu z bieżącą: γ bliska 0 czyni go krótkowzrocznym, podczas gdy γ bliska 1 sprawia, że planuje na cały cykl 24-godzinny.

Dlaczego dyskretyzować temperaturę i wilgotność na przedziały dla przestrzeni stanów?

Tabelaryczny Q-learning wymaga skończonej liczby stanów, aby Q(s,a) mogło być przechowywane i aktualizowane jako zwykła tabela przeglądowa. Ta symulacja dzieli temperaturę szklarni na przedziały co 2°C, wilgotność na przedziały co 10%, a porę dnia na cztery 6-godzinne bloki, dając 1000 dyskretnych stanów i 4 dyskretne działania. Grubsze przedziały uczą się szybciej, ale sterują mniej precyzyjnie; drobniejsze przedziały sterują precyzyjniej, ale wymagają więcej epizodów, aby wypełnić każdą wartość Q — klasyczny kompromis rozdzielczości przestrzeni stanów, który motywuje też aproksymację funkcji (głębokie sieci Q) w większych problemach.

Jak zaprojektowana jest funkcja nagrody, aby odzwierciedlać rzeczywiste cele eksploatacji szklarni?

Nagroda na każdym kroku jest ujemna: karze za odchylenie kwadratowe temperatury poza pasmem tolerancji ±2,5°C wokół 22°C, mniejszą karę kwadratową za wilgotność poza pasmem ±12% wokół 60%, oraz stały koszt energii, gdy grzejnik jest włączony. Podnoszenie odchylenia do kwadratu karze duże wychylenia znacznie mocniej niż małe, podczas gdy stały koszt grzejnika powstrzymuje agenta przed ciągłym maksymalnym grzaniem. Maksymalizacja sumy tych nagród w 24-godzinnym epizodzie jest matematycznie równoważna utrzymaniu komfortu w szklarni przy minimalizacji zużycia energii.

Dlaczego porównywać wytrenowanego agenta z termostatem o stałym progu jako punktem odniesienia?

Prosty termostat włącza grzejnik poniżej progu niskiej temperatury i otwiera wentylację powyżej progu wysokiej temperatury lub wysokiej wilgotności — dokładnie taki rodzaj sterowania opartego na regułach, jaki znajduje się w tanich rzeczywistych sterownikach. Przepuszczenie tej samej stałej reguły przez identyczną fizykę i funkcję nagrody daje uczciwy, porównywalny wzorzec. Ponieważ agent Q-learning może warunkować swoje działanie łącznie na porze dnia i wilgotności, dobrze wytrenowany agent zazwyczaj pokonuje średnią nagrodę epizodu naiwnego termostatu, gdy epsilon wystarczająco zaniknie, aby mógł wykorzystać to, czego się nauczył.

Czy agent nadal się uczy, jeśli zmienię α, γ lub zanikanie epsilon w trakcie treningu?

Tak. Trzy suwaki są odczytywane bezpośrednio przez działającą pętlę treningową w każdym epizodzie, więc ich przesunięcie odnosi skutek natychmiast przy następnej aktualizacji Bellmana — nie ma ukrytego restartu. Podkręcenie α bardzo wysoko sprawi, że krzywa nagrody będzie wyraźnie bardziej zaszumiona, podczas gdy spowolnienie zanikania epsilon utrzyma agenta w eksploracji (i jego krzywa nagrody będzie płaska) dłużej, zanim ustabilizuje się w wykorzystywaniu swojej polityki.

⚙ Jak to działa

Tabelaryczny agent Q-learning trenuje na symulowanym modelu termiczno-wilgotnościowym szklarni, rzeczywiście aktualizując Q(s,a) za pomocą równania Bellmana z polityką epsilon-greedy, która zanika w kolejnych epizodach, i jest porównywany na żywo z termostatem o stałym progu.

Q-LearningReinforcement LearningEpsilon-GreedyReward ShapingGreenhouse

3D · silnik Three.js / WebGL · cel 60 FPS · działa w pełni po stronie klienta, bez instalacji

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)