Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Обучаю ездить машинку q-обучением... [H E L P]

ne loh Ученик (134), на голосовании 1 год назад
надеюсь, на фотке чего-нибудь видно.
в общем, можно совершать 4 действия: вперед, назад, поворот влево, вправо.
входные данные: расстояния до стенок (для этого лучи), координаты машины (координатная сетка).
как видно, надеюсь, есть еще награждающие поинты.
Code Bullet делал такое, я хочу попробовать повторить:).
https://www.youtube.com/watch?v=Bu5fhfdqCyA (перевод) можете посмотреть, прикольно

и так, есть q-таблица содержащая координаты каждой клетки, и ценность (или как правильней назвать) действий у каждой позиции.

так вот, у меня пара вопросов, помогите на них ответить, пожалуйста...
1 - достаточно ли у меня входных данных?
2 - когда нужно обновлять q-таблицу?при каждом перемещении машины, то есть обновлении среды?
3 - где и как в формуле учитывать эти самые входные данные?=)
вот в этой формуле

q(a, s)=t * (r + g * max q(a1, s1) ) + q(a, s)

q(a, s) - новое значение среды
t - скорость обучения
r - награда за данное дейсвтие
g - гамма, вроде для того что бы уменьшать какие-то награды... не помню точно
max q(a1, s1) - оптимальное действие для новой среды, полученной путем выполнения выбранного действия для текущей среды.

если и формулу я неправильно написал, поправите или дополните, прошу(.

буду очень благодарен за помощь)
Голосование за лучший ответ
user49913 Просветленный (38737) 1 год назад
1 - на этот вопрос нельзя ответить "да" или "нет", нужно просто попробовать что-то обучить и посмотреть, устраивает ли тебя качество получившегося алгоритма; на глазок данных вроде бы должно хватать
2 - да, ванильный q learning подразумевает обновление при каждом тике
3 - если я понял вопрос верно, входные данные это s и s1, вот туда их берёшь и подставляешь... q learning в основе своей табличный алгоритм, так что тебе или придётся придумать, как эти лучи дискретизировать, или практиковаться на более подходящей задаче, или сразу переходить к DQN
d sasМастер (1034) 1 год назад
спасибо), но на счет третьего вопроса... есть вот формула, есть алгоритм для выбора оптимального хода. при выборе действия, мы выбираем действие с наибольшим показателем. но я не совсем понимаю, например возьмем эти же расстояния до стен, где они учитываются при выборе действия и корректировке таблички?:) то есть где и на что они влияют, что именно мне с ними делать - никак не допрет. извини за весьма глупый вопрос)
user49913 Просветленный (38737) тебе нужно дискретизировать эти расстояния, потому что q learning работает только с конечным числом состояний например, взять какой-то порог X и по каждому лучу взять два варианта: либо расстояние до стены меньше X, либо больше, тогда на 12 лучей получится 2^12=4096 возможных состояний, следовательно, таблица Q будет размера 4096х4 можно взять несколько порогов, можно придумать что-то ещё... лично я считаю, что для табличного q learning-а эта задача херовая, но можно попробовать, может, чего и обучится...
d sasМастер (1034) 1 год назад
что ж, спасибо большое) помог. буду разбираться.
Похожие вопросы