ГоловнаСтаттіГлибока Q-мережа: Навчання грати за допомогою пікселів

Глибока Q-мережа: Навчання грати за допомогою пікселів

У 2015 році алгоритм під назвою DQN навчився грати в десятки ігор Atari безпосередньо з пікселів екрану, часто краще, ніж люди, не маючи жодних правил — важлива подія, яка започаткувала сучасну глибоку навчання з підкріпленням.

mysimulator teamОновлено — червень 2026≈ 8 хв читання▶ Відкрити симуляцію

Основная идея: Обучение ценности действий

Q-learning основан на функции стоимости действия, Q(s, a), которая оценивает общую будущую награду, которую агент может получить, если предпримет действие a в состоянии s и затем будет действовать оптимально после этого. Классически эта функция хранилась как огромная таблица поиска: одна запись для каждой пары состояние-действие, обновляемая по мере исследования агентом. Это работает нормально для небольших дискретных миров, таких как лабиринт с сеткой, но полностью рушится для чего-то вроде экрана Atari, где сырые пиксельные данные определяют астрономическое количество возможных состояний. Просто недостаточно ячеек таблицы или опыта, чтобы посетить каждое состояние хотя бы один раз.

Заміна столу нейронною мережею

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

Дві хитрості, які зробили це дійсно ефективним

Навчання нейронної мережі на необроблених даних з підкріплювального навчання є відомим своїм нестабільністю, тому DQN представив дві ключові стабілізуючі методи. Експериментальні сховища зберігають минулі переходи (стан, дія, винагорода, наступний стан) у буфер пам'яті та навчаються на випадкових партіях, вилучених з нього, що руйнує сильні кореляції між послідовними кадрами, які в іншому випадку дестабілізували б навчання. Віддільний, повільно оновлюваний цільовий мережевий шар надає цільові значення Q-значень, що використовуються для навчання, таким чином, «ціль», яку переслідує основна мережа, не змінюється з кожним окремим оновленням. Разом ці дві ідеї перетворили нестабільну концепцію на надійно навчальний алгоритм.

Від Breakout до епохи глибокого навчання з підкріпленням

У Nature у 2015 році опублікована стаття про DQN, «Досягнення людського рівня керування за допомогою глибокого навчання з підкріпленням», показала, як одна архітектура та набір гіперпараметрів навчали 49 різних ігор Atari 2600 лише з пікселів, досягаючи або перевершуючи результати людей у більшості з них. Ця робота широко вважається початком сучасної хвилі досліджень у галузі глибокого навчання з підкріпленням, надихаючи наступники, такі як Double DQN, Dueling DQN та, зрештою, системи, як AlphaGo. Проте DQN все ще має певні обмеження: він відомий своєю низькою ефективністю щодо кількості зразків, може бути нестабільним або розходитися під час навчання, а його стандартна форма обробляє лише дискретні простори дій, тому пізніші алгоритми розширили його для управління безперервними просторами.

Frequently asked questions

Що означає «Q» у Deep Q-Network?

«Q» означає «якість», посилаючись на якість або очікувану майбутню винагороду за виконання певного дії в певному стані. Значення Q (Q(s, a)) є основною величиною, яку агент намагається навчитися та з якою він діє максимально раціонально, вибираючи ту дію, яка зараз має найвищу оцінену величину Q.

Чому replay experience так важливий для DQN?

Без нього мережа навчалася б на поточному потоці високо корельованих послідовних кадрів з однієї гри, що спотворювало та стабілізувало оновлення градієнтів. Зберігаючи тисячі попередніх переходів і випадковим чином вибираючи їх, replay experience руйнує цю кореляцію, ефективніше використовує дані та забезпечує значно більш плавне та стабільне навчання.

Чи можна використовувати DQN для реальної робототехніки або безперервного керування?

Не безпосередньо. Стандартний DQN виводить лише значення Q для фіксованого, дискретного набору дій, як-от кілька рухів джойстиком в грі Atari, тому він не може за своєю природою обирати з безперервного діапазону моментів чи кутів повороту. Безперервні задачі керування зазвичай потребують інших сімейств алгоритмів, таких як DDPG, SAC або PPO, які були розроблені частково у відповідь на цю обмеженість.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Deep Q-Network: Learning to Play from Pixels і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Deep Q-Network: Learning to Play from Pixels

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

Додати кроки відтворення (опційно)