Werawoolf
@Werawoolf
Frontend Engineer

Как прочитать, что происходит в данной реализации DQN алгоритма на TensorFlowJS?

Привет,

Я нашел несколько примеров реализации DQN, но, поскольку я не эксперт по TensorFlow или Машинному обучению, я немного запутался. https://dumpz.org/c77HNAA4XxGF вот один из них.

Я понимаю что, в 73-й строке мы берем некоторый кусок данных: [{state, action, reward, newState, done}] если быть точным, затем получаем currentStates, который равен [[state1, state2, ...]], затем на 75 мы используем модель для получения currentQs, которые равны, насколько я понимаю, [[act1, act2, ...]], потому что наша модель используется для получения действия от состояния среды. То же самое происходит с newCurrentStates и futureQs.

Но затем на 88 мы видим let maxFutureQ = Math.max (futureQs);. Что здесь происходит? futureQs - это массив массивов с вероятностями действий для каждого futureState? И тогда maxFutureQ должен быть вероятностью действия, почему тогда мы складываем это с наградой? Эта часть меня сбивает с толку.

Также я не могу понять, почему нам нужно делать currentQ [action] = newQ; на 94. Мы же в итоге все равно потеряем эту часть, нет?

Может кто-нибудь помочь мне понять, что здесь происходит и, может быть, оставить комментарии к строкам?

Заранее спасибо.
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы