Я строю автомобиль с дистанционным управлением для удовольствия. Я использую Raspberry Pi в качестве бортового компьютера; и я использую различные плагины, такие как камера Raspberry Pi и датчики расстояния, для обратной связи по окружению автомобиля. Я использую OpenCV, чтобы превратить видеокадры в тензоры, и я использую TensorFlow от Google, чтобы построить извилистую нейронную сеть, чтобы изучать границы и препятствия на дорогах. Мой главный вопрос заключается в том, должен ли я использовать контролируемое обучение, чтобы научить машину управлять автомобилем, или я должен предусмотреть цели и штрафы и провести обучение с подкреплением (т. Е. Как можно быстрее добраться до точки B, не нажимая ни на что и оставаясь в пределах границ дороги)? Ниже приведен список плюсов и минусов, которые я придумал.
Курирующиеся плюсы обучения:
- Входные данные для алгоритма обучения довольно просты. Автомобиль учится связывать показания тензора и расстояния от видеокадра до прямого, обратного и углового смещения колес.
- Я могу более или менее научить машину ездить именно так, как я хочу (не перегружая, конечно)
- Я уже делал кучу контролируемых проблем с обучением, и этот подход, кажется, удобно подходит для моего существующего набора навыков.
Ученые минусы обучения:
- Непонятно, как учить скорости, и правильная скорость довольно произвольна, если автомобиль не едет так быстро, что отклоняется от дороги. Полагаю, я мог бы быстро ездить во время тренировок, но это кажется грубым подходом. Может быть, я мог бы вручную добавить постоянную переменную во время обучения, которая соответствует скорости для этой тренировки, а затем, когда алгоритм обучения развернут, я установил эту переменную в соответствии со скоростью, которую я хочу?
Укрепление обучения плюсы:
- Если я строю свой автомобиль с конкретной целью гонок на автомобилях других людей, самообучение, кажется, естественным способом сказать моей машине, чтобы «добраться как можно быстрее»
- Я читал, что RL иногда используется для автономных дронов, поэтому в теории это должно быть проще в автомобилях, потому что мне не нужно беспокоиться о взлетах и падениях
Укрепление обучения минусы:
Я чувствую, что для обучения усилению потребуется много дополнительных датчиков, и, честно говоря, в моем автомобиле длиной в фут не хватает места, учитывая, что для него также нужно установить аккумулятор, Raspberry Pi и макетную плату.
Поначалу машина будет вести себя очень беспорядочно, настолько, что, возможно, она сама себя разрушит. Также может потребоваться неоправданно много времени для обучения (например, месяцы или годы)
- Позже я не могу ввести четкие правила, например, остановиться на игрушечном красном свете. С контролируемым обучением я мог бы включить многочисленные алгоритмы SL (например, классификатор Хаара Каскада для определения стоп-сигналов) в настраиваемый механизм правил, который оценивается между каждым видеокадром. Таким образом, механизм правил мог бы переопределить алгоритм SL вождения, если бы он видел красный стоп-сигнал, даже если он не был частью обучения алгоритма вождения. RL кажется слишком непрерывным, чтобы сделать это (т.е. останавливаться только в состоянии терминала)
- У меня нет большого опыта применения прикладного обучения подкреплению, хотя я определенно хочу изучать его независимо от того,
источник
Ответы:
Я бы предложил вам попробовать гибридный подход:
источник