ГоловнаШІ та Машинне навчанняРегулятор клімату теплиці — Q-навчання наживо

🌱 Регулятор клімату теплиці — Q-навчання наживо

Спостерігайте, як справжній агент навчання з підкріпленням Q-навчання вчиться керувати опаленням і вентиляцією симульованої теплиці наживо, справді оновлюючи свою Q-таблицю за зворотним зв’язком температура-винагорода щоразу.

ШІ та Машинне навчання3DПросунутий60 FPS
ai-greenhouse-climate-control ↗ Відкрити окремо

Про Регулятор клімату теплиці

Реальні теплиці щогодини балансують дві суперечливі цілі: підтримувати повітря близько до ідеальної температури й вологості для культури і не витрачати марно енергію на це. Ця симуляція тренує справжнього табличного агента Q-навчання розв'язувати саме цю задачу. Стан — це дискретизоване (кошик температури × кошик вологості × кошик часу доби) зчитування простої тепло-вологісної моделі теплиці, що реагує на денний/нічний цикл зовнішньої температури, сонячний приплив і транспірацію рослин. Простір дій — чотири комбінації обігрівач/вентиляція. Кожен тренувальний епізод програє 24 симульовані години, накопичує винагороду, що штрафує вихід за межі комфортного діапазону й енергоспоживання обігрівача, і виконує справжнє оновлення Беллмана Q(s,a) ← Q(s,a) + α[r + γ·max Q(s′,a′) − Q(s,a)] після кожного кроку — нічого в кривій навчання не сценарізовано.

🔬 Що показано

Жива, несценарізована крива навчання винагороди за епізод, отримана з тисяч справжніх тренувальних епізодів, ε-жадібна політика дослідження, що згасає протягом цих епізодів, і 3D-теплиця, скло якої змінює відтінок від холодного синього через цільовий зелений до гарячого червоного зі зміною внутрішньої температури, зі світним обігрівачем і навісною заслінкою вентиляції, що відкривається й закривається відповідно до реальних обраних дій агента.

🎮 Як користуватися

Налаштуйте повзунки швидкості навчання α, коефіцієнта дисконтування γ і згасання ε, потім натисніть «Тренувати» й спостерігайте, як крива винагороди зростає. Використовуйте «Скинути Q-таблицю», щоб почати агента з чистого аркуша, і «Переглянути агента» / «Переглянути термостат», щоб відтворити один повний 24-годинний епізод кожного контролера всередині 3D-сцени з живими показниками температури, вологості, обігрівача й вентиляції.

💡 А чи знали ви?

Наївний базовий термостат використовує точно ту саму фізику й функцію винагороди, що й агент Q-навчання, — він просто реагує на поточну температуру й вологість фіксованими порогами. Оскільки він не може враховувати час доби так, як навчений агент, добре навчений агент Q-навчання зазвичай отримує помітно вищу середню винагороду за епізод, щойно його рівень дослідження згасне.

Часті питання

Що таке Q-навчання і чим воно відрізняється від навчання з учителем?

Q-навчання — це алгоритм навчання з підкріпленням без моделі: агент взаємодіє із середовищем, виконує дії й вчиться виключно з числової винагороди, яку отримує, без будь-якого показу "правильної" дії для певної ситуації. Натомість навчання з учителем тренується на позначених прикладах правильних пар вхід-вихід. Тут регулятору теплиці ніколи не кажуть "увімкни обігрівач зараз" — він самостійно відкриває цю політику, пробуючи дії, спостерігаючи, чи отримана температура й вологість заслужили хорошу чи погану винагороду, та відповідно оновлюючи свою Q-таблицю протягом тисяч симульованих днів.

Як ε-жадібна політика балансує дослідження та використання?

На кожному кроці агент обирає випадкову дію з імовірністю ε (дослідження) або дію з найвищим відомим Q-значенням з імовірністю 1−ε (використання). На початку навчання ε починається з 1.0, тож агент поводиться майже випадково й накопичує широкий досвід того, що відбувається за кожної комбінації обігрівач/вентиляція. Після кожного епізоду ε множиться на коефіцієнт згасання (наприклад, 0.985) і обмежується знизу невеликим мінімумом, тож дослідження плавно згасає, поки агент дедалі більше використовує вивчену політику — це і є крива згасання ε, яку можна налаштувати й спостерігати наживо.

Що насправді контролюють швидкість навчання (α) і коефіцієнт дисконтування (γ)?

Оновлення Беллмана: Q(s,a) ← Q(s,a) + α·[r + γ·max Q(s′,a′) − Q(s,a)]. Альфа (швидкість навчання) контролює, наскільки кожен новий досвід перезаписує наявне Q-значення — висока α адаптується швидко, але може бути шумною й нестабільною, низька α плавніша, але повільніше збігається. Гамма (коефіцієнт дисконтування) контролює, наскільки агент турбується про майбутні винагороди порівняно з негайною: γ, близька до 0, робить його короткозорим, тоді як γ, близька до 1, змушує його планувати весь 24-годинний цикл.

Чому температуру й вологість дискретизують на кошики для простору станів?

Табличному Q-навчанню потрібна скінченна кількість станів, щоб Q(s,a) можна було зберігати й оновлювати як звичайну таблицю пошуку. Ця симуляція розбиває температуру теплиці на кошики по 2°C, вологість на кошики по 10%, а час доби на чотири 6-годинні блоки, даючи 1000 дискретних станів і 4 дискретні дії. Грубіші кошики вчаться швидше, але керують менш точно; дрібніші кошики керують точніше, але потребують більше епізодів для заповнення кожного Q-значення — класичний компроміс роздільної здатності простору станів, який також мотивує апроксимацію функції (глибокі Q-мережі) у більших задачах.

Як функція винагороди спроєктована, щоб відображати реальні цілі роботи теплиці?

Винагорода кожного кроку від'ємна: вона штрафує квадрат відхилення температури за межі допуску ±2.5°C навколо 22°C, менший квадратичний штраф за вологість за межами діапазону ±12% навколо 60%, і фіксовану енергетичну вартість щоразу, коли обігрівач увімкнено. Піднесення відхилення до квадрата карає великі відхилення набагато сильніше за малі, тоді як постійна вартість обігрівача заважає агенту просто безперервно вмикати обігрів. Максимізація суми цих винагород протягом 24-годинного епізоду математично еквівалентна підтримці комфорту в теплиці за мінімізації споживання енергії.

Чому порівнювати навченого агента з базовим термостатом фіксованого порогу?

Простий термостат вмикає обігрівач нижче порогу низької температури й відкриває вентиляцію вище порогу високої температури чи вологості — саме такий тип керування на основі правил, який зустрічається в дешевих реальних контролерах. Прогін того самого фіксованого правила через ідентичну фізику та функцію винагороди дає чесний, порівнюваний еталон. Оскільки агент Q-навчання може узгоджувати свою дію одночасно з часом доби та вологістю, добре навчений агент зазвичай перевершує середню винагороду наївного термостата за епізод, щойно ε згасне достатньо, щоб він міг використовувати вивчене.

Чи продовжує агент навчатися, якщо я змінюю α, γ чи згасання ε під час навчання?

Так. Три повзунки зчитуються безпосередньо циклом навчання, що виконується, на кожному епізоді, тож їх переміщення набуває чинності негайно на наступному оновленні Беллмана — прихованого перезапуску немає. Значне підвищення α зробить криву винагороди помітно шумнішою, а уповільнення згасання ε тримає агента в режимі дослідження (з пласкішою кривою винагороди) довше, перш ніж він перейде до використання вивченої політики.

⚙ Під капотом

Табличний агент Q-навчання тренується проти симульованої тепло-вологісної моделі теплиці, справді оновлюючи Q(s,a) через рівняння Беллмана з ε-жадібною політикою, що згасає протягом епізодів, і порівнюється наживо з термостатом фіксованого порогу.

Q-LearningReinforcement LearningEpsilon-GreedyReward ShapingGreenhouse

3D · рушій Three.js / WebGL · ціль 60 FPS · працює повністю на клієнті, без встановлення

Що ви знайшли?

Додати кроки відтворення (необов'язково)