Я реалізував Q-навчання, як описано в,
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)
Q3, З мого розуміння цього методу з огляду на достатню кількість навчальних випадків, його слід зробити на карантині, щоб знайти оптимальну політику? Під час тренувань для XOR іноді він навчається після 2-х повторних ітерацій, іноді він не навчиться навіть після ітерацій 40k 50k.