Программирование линии следования робота с обучением подкрепления

15

Я рассматриваю программирование линии следования робота с использованием алгоритмов обучения подкрепления. Вопрос, над которым я размышляю, состоит в том, как я могу получить алгоритм обучения навигации по любому произвольному пути?

Перейдя по Sutton & Барто книгу для обучения с подкреплением, я решить проблему тренировки с участием ипподрома , где в машине агенте научился не идти с трассой и регулировать его скорость. Однако эта проблема с упражнениями заставила агента научиться ориентироваться на дорожке, на которой он тренировался.

Находится ли в области обучения подкреплению, чтобы робот управлял произвольными путями? Есть ли агент совершенно иметь карту гоночной трассы или пути? Какие параметры я могу использовать для своего пространства состояний?

Лорд лох
источник
1
Я не знаю как, но я уверен, что его можно научить держать себя на пути, независимо от его формы. Цель обучения в этом случае должна заключаться в том, какое локальное решение принимает робот на основе его непосредственных данных (или, возможно, некоторой истории). Таким образом, не имеет значения, какова форма пути, поскольку все решения являются локальными.
Шахбаз
@Shahbaz - Что бы вы предложили мне использовать для пространства состояний?
Лорд Ло.
Я на самом деле не уверен. Несмотря на то, что я изучал искусственный интеллект в университете, это никогда не было моей областью работы / исследований. Ответ, который вы приняли, кажется разумным!
Шахбаз
Вы используете ответ для проверки уценки? Вы можете просто написать, что вы хотите, и увидеть немедленный рендеринг под ним, а затем не публиковать его.
Шахбаз

Ответы:

8

Одной из ключевых мер любого алгоритма машинного обучения является его способность обобщать (то есть применять то, что он изучил, к ранее невиданным сценариям). Учащиеся с подкреплением (RL) могут хорошо обобщать, но эта способность частично является функцией формулировки пространства состояний в моем опыте. Это означает, что если вы сможете найти правильную настройку, то ученику RL не понадобится карта трассы.

Это оставляет вопрос о том, какие параметры использовать. Не зная больше о датчиках, доступных на вашем роботе, я могу только догадываться. Мое первое желание состоит в том, чтобы попытаться закодировать относительную ориентацию линии и робота (то есть является ли робот движущимся вправо, влево или просто движущимся параллельно линии). Это приведет к хорошему маленькому пространству состояний. Хотя это и не является строго необходимым, это обеспечит быструю и простую реализацию. Кроме того, если робот не будет двигаться с постоянной скоростью, это может помочь кодировать скорость робота, поскольку роботу нужно будет реагировать быстрее при движении на более высоких скоростях.

DaemonMaker
источник
Без карты пространство состояний - это то, что робот может почувствовать с его непосредственного положения. Так что в определенной степени карта - это просто способ «заглянуть в будущее». Выученное поведение в сценарии без карт будет, по сути, «делать то же самое, что и раньше, но идти медленнее, потому что мы не знаем, где сейчас повороты». (Предположительно, вы сможете сказать, где находятся края трассы.)
Ян
Политика говорит нам, какой контроль применять в данном государстве. Если пространство состояний хорошо сформулировано для агента RL, то совершенно разные сценарии могут выглядеть одинаково в пространстве состояний и приводить к одинаковому поведению. Это называется обобщением и желательно, когда все сделано правильно. У робота будет максимальная скорость, основанная на скорости его контура управления. Выученное поведение не обязательно будет замедляться. Если награда обратно пропорциональна продолжительности пробега, то агент будет склонен максимизировать свою скорость относительно скорости своего цикла управления.
DaemonMaker
0

Я не уверен, какой у вас робот, но я уже несколько лет занимаюсь спасением роботов. Я пришел к выводу, что если вы хотите хорошо следовать линии, PID - хороший вариант. Позвольте мне остановиться на этом. Если вы представите два световых датчика по обе стороны линии, вы бы хотели, чтобы они были одинакового значения, чтобы линия находилась посередине. Затем вы можете использовать разницу между значениями двух датчиков, чтобы изменить процент поворота робота. С помощью этой техники можно заставить робота следовать по линии с необычайной скоростью. я просто хотел, чтобы вы научились роботу учиться совершенствовать свои способности слежения за линиями. Я пришел к выводу, что начальные значения ПИД-регулятора выше, чем вы хотите, и используйте гироскопический датчик для измерения частоты колебаний робота, когда он отслеживает линию. Оттуда вы можете создать свою собственную функцию, чтобы определить, на сколько снизить ваши значения, чтобы получить стабильную систему, это не совсем искусственный интеллект, больше похожий на алгоритм автоматизации оптимизации, но эй, мне 18, и я узнал, как кодировать из интернет. Надеюсь, это поможет. Если у вас есть какие-либо вопросы, напишите мне, это не мой основной адрес электронной почты, поэтому я не буду проверять его регулярно. 69darkeagle@sigaint.org

Омар Куэй
источник