Я пытаюсь понять эту статью, объясняя, как тренировать нейронную сеть, чтобы играть в игру в понг. https://cloud.github.com/downloads/inf0-warri0r/neural_pong/README.pdfКак тренировать нейронную сеть для игры в понг?
Я недавно начал изучать нейронную сеть, и я знаю концепцию Back Propagation. В этой статье Back Propagation используется для обучения нейронной сети.
В этой нейронной сети имеется пять входных нейронов.
- координату х шара (BX)
- координата у шара (по)
- скорости шара в направлении х (BVX)
- скорость шара в направлении у (BVY)
- Положение весла (py).
В скрытом слое есть десять нейронов и один нейрон в выходном слое, который выведет положение лопасти (py).
С этого момента у меня были некоторые сомнения, чтобы очистить.
Поскольку Back Propagation является контролируемым методом обучения, он должен иметь некоторый желаемый результат, из которого мы итеративно вычитаем текущий выход, чтобы найти ошибку в выходе и вычислить спуск градиента.
Теперь я не понимаю, что это был бы желаемый результат в этом случае. Может ли это быть расстоянием между положением, в котором мяч попадает в стену, и положением весла, которое мы должны сохранить ноль?
Я знаю, что контрольная весла будет жестко закодирована для синхронного перемещения с мячом, но как мы произвольно перемещаем другое весло во время обучения? Какие значения следует указывать во входном файле «py»?
В какой момент игры должны быть предоставлены все пять входов bx, by, bvx, bvy и py? Должны ли мы давать эти входы и выполнять одну эпоху инерции нейронной сети только тогда, когда мяч попадает в стену?