Необходимо вычислить эти Q значения, однако агент не может видеть будущее и не может присвоить уникальное значение Q каждому из состояний. Для этого, как было сказано ранее, на помощь приходят нейронные сети, которые будут предсказывать наши Q значения. В RL на начальном этапе нет размеченных данных и информация об окружении отсутствует. Таким образом, в RL создается свой собственный постоянно меняющийся набор данных, так как выбор действия сети напрямую влияет на то, каких состояний она достигнет, и сеть генерирует свои собственные целевые значения. Чтобы этого достичь, мы дублируем нейронную сеть или ‘target network’, чтобы сгенерировать целевые значения, и используем оригинальную нейронную сеть или ‘online network’, чтобы сгенерировать оценки. Тренируется только online network, но нужно достаточно часто копировать её веса в ‘target network’, чтобы освежить её более оптимизированными параметрами. Также мы используем ‘experience buffer’ – датасет прошлого опыта агента, который характеризуется набором (s, a, r, t, s’), где s (state), a (action), r (reward) – представляет их прошлые значения, t – это булевое значение, которое говорит, завершилась ли игра, s’ – это состояние после s (state), когда агент предпринял действие. Таким образом, агент просто перемещается по экрану на основе своего прошлого опыта и добавляет все свои знания в ‘experience buffer’. Затем можно извлечь опыт из хранилища и предпринять более эффективные действия в будущем.