Как можно реализовать движение объекта в 2d пространстве к еде с помощью нейросети?
Вознаграждение за "еду" не забыл добавить? Ближайшую еду не надо передавать, достаточно координаты любой еды или "всех едов". На самом деле, нужно всё игровое поле передавать или регион, в котором находится объект. Ведь движение будет не в пустом пространстве, в итоге надо будет обходить препятствия и "врагов".
Штраф за каждое передвижение, большое вознаграждение за кушание еды. И учить, учить, учить... Нейросеть сама научится выбирать ближайшую цель и двигаться к ней.
Например задать "здоровье" объекта равное числу клеток на игровом поле. За каждый шаг здоровье снижается на 1 и объект умирает, когда здоровье равно нулю. Такой подход гарантирует, что объект не сможет топтаться на одном месте и ходить кругами, а выживут только те, кто или будет бегать по всему полю и случайно наткнётся на еду и те, кто будет целенаправленно бежать к еде. В процессе отбора последние, скорее всего, останутся последними выжившими.
Ну и множитель корректировки не дожен быть слишком большим или слишком маленьким, количество слоёв должно быть не слишком маленьким и не слишком большим, топология сети должна быть... какая-то.
Это простая игровая логика и ее можно реализовывать без нейросетей. Тогда собственно в чем вопрос?

Есть цикл видосов где один человек решает очень похожую задачу не на нейсросетях а на генетических
алгоритмах. Он строит целые миры со своими правилами и у него там живут существа похожие на 
инфузории. 

Насчет координат. Да. Нужно передавать не абсолютные а относительные координаты к еде. И для упрощения
самой формулы - сразу отбрасывать все лишнее и передавать только ближайшую еду. Иначе клетка как Буриданов
осёл застрянет между двумя источниками еды и так и сдохнет от голода.