Я будую дистанційно керований автомобіль для самостійного водіння для задоволення. Я використовую Raspberry Pi як бортовий комп'ютер; і я використовую різні плагіни, наприклад, камеру Raspberry Pi та датчики відстані, для зворотного зв’язку щодо оточення автомобіля. Я використовую OpenCV для перетворення відеокадрів у тензори, а я використовую TensorFlow від Google, щоб створити згорнуту нейронну мережу для вивчення меж дороги та перешкод. Головне моє запитання: чи слід використовувати наглядове навчання, щоб навчити автомобіль керувати автомобілем, чи слід передбачати цілі та покарання та вчитися підкріпленню (тобто добиратись до точки В якомога швидше, не зачепивши нічого і не залишаючись у межах дороги)? Нижче наведено список плюсів і мінусів, які я придумав.
Професійні методи навчання:
- Вхід до алгоритму навчання досить простий. Автомобіль вчиться асоціювати показання відстані тензора відеокадру та датчика з переміщенням вперед, назад та кутом колеса
- Я можу більш-менш навчити машину керувати автомобілем саме так, як я хочу (звичайно, без надягання)
- Раніше я робив багато проблем з навчанням під наглядом, і цей підхід, здається, зручно відповідає моєму наявному набору навичок
Контрольовані мінуси навчання:
- Незрозуміло, як навчити швидкості, а правильна швидкість є досить довільною, доки автомобіль не їде так швидко, що відхилиться від дороги. Я думаю, я міг би швидко їздити під час тренувань, але це здається грубим підходом. Можливо, я міг би вручну додати постійну змінну під час тренінгу, що відповідає швидкості цього навчального заняття, а потім, коли алгоритм навчання розгорнуто, я встановлю цю змінну відповідно до потрібної швидкості?
Плюси підвищення кваліфікації:
- Якщо я будую свій автомобіль з конкретною метою гонок на машинах, що самостійно керують людьми, здається, що навчання підкріплення є природним способом сказати моєму автомобілю «дістатися якомога швидше».
- Я читав, що RL іноді використовується для автономних безпілотників, тому теоретично в автомобілях повинно бути простіше, тому що мені не потрібно турбуватися про вгору і вниз
Мінуси для посилення навчання:
Я відчуваю, що для навчання для підкріплення потрібно багато додаткових датчиків, і, чесно кажучи, мій автомобіль, який триває пішки, не має стільки місця всередині, враховуючи, що йому також потрібно помістити акумулятор, Raspberry Pi і дошку
Автомобіль спочатку буде вести себе дуже хаотично, настільки, що, можливо, він руйнує себе. Також може знадобитися нерозумно багато часу, щоб навчитися (наприклад, місяці чи роки)
- Пізніше я не можу створити явні правила, наприклад, зупинитися на червоному вогні іграшки. Завдяки контрольованому навчанню я міг би включити численні алгоритми SL (наприклад, класифікатор Хаар Каскад для виявлення вибірок) в конфігураційну систему правил, яка оцінюється між кожним відеокадром. Таким чином, двигун правил міг би змінити алгоритм SL водіння, якби він побачив червону стійку, навіть якщо столевий вигляд не міг би бути частиною навчання алгоритму водіння. RL здається занадто нескінченним, щоб це зробити (тобто зупинятися тільки в термінальному стані)
- Я не маю багато досвіду застосування прикладного навчання підкріплення, хоча я, безумовно, хочу навчитися цьому незалежно