Що таке навчання з підкріпленням? Розбираємо теорію і реальні кейси 8 Що таке навчання з підкріпленням? Розбираємо теорію і реальні кейси 9 Що таке навчання з підкріпленням? Розбираємо теорію і реальні кейси 10

Навчання з підкріпленням у машинному навчанні

#Машинне навчання #Нейронні мережі

Що таке навчання з підкріпленням, або Reinforcement learning? Майже те ж саме, що й навчання з учителем, але в ролі "вчителя" виступає справжнє або віртуальне середовище. Давайте "на пальцях": пам'ятайте популярний спосіб навчити плавати? Вивезти в човні на середину озера і викинути на глибину з повчанням: «Жити хочеш - випливеш».

Цей самий принцип діє в навчанні з підкріпленням: робота кидають в якийсь лабіринт, з якого він сам повинен знайти вихід. У процесі пошуку робот отримує від зовнішнього середовища інформацію про те, де виходу немає, таким чином вивчає навколишній світ і вчиться знаходити шлях до виходу.

PacmanDQN

Нагородою за успішно виконане завдання є можливість взятися за нове, а також набрані в процесі виконання бали. Чим ефективніше виконана задача, тим більше нараховується балів.

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

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

Навчання з підкріпленням: дві основні мети навчання

Наприклад, на дорозі – у випадку з безпілотним автомобілем. У навчанні безпілотних автомобілів у машини немає завдання запам'ятати детальну карту міста, країни, континенту, всі вулиці та повороти. Але вона обов'язково повинна зрозуміти шаблони повторюваних ситуацій і узагальнити їх.

Перша мета робота в навчанні з підкріпленням – мінімізувати помилки. Машина вчиться аналізувати інформацію перед кожним наступним ходом. Наприклад, безпілотний автомобіль під час навчання вчиться вчасно реагувати на сигнал світлофора, зупинитися перед пішоходом на переході, пропустити автомобіль, що швидко рухається або спецтранспорт справа. Щоб досягти кращого результату, машина навчається у віртуальній моделі міста з випадковими пішоходами та іншими учасниками дорожнього руху.

Друга мета робота в Reinforcement learning – отримати від виконання завдання максимальну вигоду. Сама вигода при цьому повинна бути запрограмована заздалегідь: максимально швидкий час проходження маршруту, оптимальне витрачання ресурсів підприємства, обслуговування якомога більшої кількості відвідувачів

Де застосовується навчання з підкріпленням - надихаючі приклади

Навчання з підкріпленням застосовується там, де потрібно порівняти відкладену вигоду – мету – з ситуативним прийняттям рішення. Цей вид навчання вирішує складне завдання співвіднесення негайних дій із відстроченою віддачею, яку вони продукують. Як і людям, алгоритмам підкріплення навчання іноді доводиться чекати, щоб побачити плоди своїх рішень. У таких випадках часто буває складно зрозуміти, яка дія призводить до якого результату.

Області практичного застосування reinforcement learning:

    • Постановка цілей
    • Планування
    • Системи сприйняття
    • Боти для комп'ютерних ігор
    • Трейдингові боти
    • Чат боти, які навчаються від діалогу до діалогу

Давайте подивимося описи та відео кількох надихаючих прикладів.

Навчання бота для гри в packman

На відео нижче ви можете подивитися результат бота, навченого по грі в Packman. Мета навчання – максимізувати набрані балі, при цьому уникати "небезпеки" і, як наслідок, програшу.

Код проекту можна знайти на GitHub.

Навчання з підкріпленням для маніпуляторів роботів

На наступному відео можна побачити, як робот учиться відкривати двері. Якщо ви не пов'язані з робототехнікою, вам може бути не до кінця зрозуміло, чому не можна просто запрограмувати алгоритм "тягни або штовхай". Але в кінці відео наводиться пояснення, навіщо потрібні такі складності. У випадку, якщо, наприклад, двері тримають з того боку, чи коли незрозуміло - треба тягти двері на себе чи штовхати від себе, "простий" алгоритм не працюватиме. А алгоритм, заснований на нейронній мережі, навченій методом із підкріпленням, працювати буде.

Трейдинговий бот і навчання з підкріпленням

Автоматична програма, яка генерує постійний прибуток – просто мрія кожного практикуючого гравця біржового ринку. В роботі Financial Trading as a Game: A Deep Reinforcement Learning Approach запропонували модель Марківського процесу прийняття рішень (MDP), яка підходить для завдання фінансової торгівлі, з сучасним алгоритмом з глибокою рекуррентною Q-мережею (DRQN).

Творці навчили алгоритм торгівлі валютними парами та отримали позитивну статистику торгів.

Трейдинговый бот

Деталі можна почитати в оригінальній роботі: https://arxiv.org/abs/1807.02787.

Навчання безпілотного автомобіля

Подивіться приклад академічного проекту курсу машинного навчання в Римському університеті La Sapienza. У ньому застосовується нейронна мережа, яка використовує Reinforcement Learning, щоб навчитися водити машину, використовуючи тільки три датчики на передній частині автомобіля.

Думаємо, цих кількох прикладів достатньо для розуміння де і яким чином можна застосовувати навчання з підкріпленням.

Про інші види машинного навчання читайте в наших статтях: "Штучний інтелект, машинне навчання та нейромережі. Як це працює","Класичне навчання як різновид машинного навчання","Ансамблі алгоритмів у машинному навчанні","Нейромережі в машинному навчанні".

18.01.2019
Зображення, використані в статті, були взяті з відкритих джерел і використовуються як ілюстрації.
Хочете обговорити ваш проект або замовити розробку?
Надіслати
Цей сайт є українською мовою. Ви можете переключити мову у меню, або зробити це зараз.