Сеть хорошо тренируется на сетке формы N, но при оценке любого изменения не получается - PullRequest
1 голос
/ 19 апреля 2019

Для обучения я случайным образом генерирую сетку со значениями формы N, содержащими 0 и 1. Определены два действия [0,1], и я хочу обучить политике, используя DQN, выполнять действие 0, когда следующее число равно 1 ивыполните действие 1, когда следующее число в массиве равно 0.

Я использую DQN с Keras для создания моей сети

Example :
N=11
grid=[ 0,1,0,1,1,1,1,0,0,0,0]
Agent mark = 0.5
start point=0
current state =[ 0.5,1,0,1,1,1,1,0,0,0,0]
action=[0,1]

Предположим, что мы перемещаемся только справа от массива:На следующем шаге должно быть выполнено ДЕЙСТВИТЕЛЬНОЕ действие 0, приводящее к следующему состоянию:

Next state=[ 0,0.5,1,0,1,1,1,1,0,0,0]

Это выполняется посредством воспроизведения опыта.Он хорошо тренируется, и я достигаю 100% выигрыша (рассчитывается путем последовательного решения одного и того же лабиринта 10 раз. Теперь пришло время оценить его по вариации этой сетки:

[0,0,0,0,1,0,1,1,0,1,0]

, начиная с

[0.5,0,0,0,1,0,1,1,0,1,0] 

Сеть не может предсказать правильное допустимое действие, которое в данном случае равно 1.

Моя сеть выглядит следующим образом:

Dense
Relu
Dense
Relu
Dense (number_of_actions)

1 Ответ

0 голосов
/ 26 апреля 2019

Он научился предсказывать лучше с большей тренировкой.Первая оценка была сделана после 8 часов обучения.После почти 36-часового тренинга это предсказывает лучшие варианты!

...