Я внедрил Q-Learning, как описано в
http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf
Для того, чтобы ок. Q (S, A) Я использую структуру нейронной сети, как показано ниже,
- Активация сигмовидной кишки
- Входы, количество входов + 1 для нейронов действия (все входы масштабируются 0-1)
- Выходы, один выход. Значение Q-
- N количество M скрытых слоев.
- Метод исследования случайный 0 <rand () <propExplore
На каждой итерации обучения, используя следующую формулу,
Я вычисляю значение Q-Target, а затем вычисляю ошибку, используя
error = QTarget - LastQValueReturnedFromNN
и обратно распространять ошибку через нейронную сеть.
Q1, я на правильном пути? Я видел несколько работ, в которых реализован NN с одним выходным нейроном для каждого действия.
Q2, Моя функция вознаграждения возвращает число от -1 до 1. Можно ли возвращать число от -1 до 1, когда функция активации имеет сигмовидную форму (0 1)
В3. Из моего понимания этого метода, учитывая достаточное количество обучающих примеров, следует поместить его в карантин, чтобы найти оптимальный политический курс? При обучении XOR иногда он изучает его после 2 000 итераций, иногда не учится даже после 40 000 итераций.