2

на основе моего последнего question Я построил 3D-игру, в которой два робота оружия играют в настольный теннис друг с другом. У роботов шесть степеней свободы.
В состоянии состоит из:Предложение для нейронной сети для настольного теннисного робота

  • х, у и г-положение мяча
  • 6 углов робота

Все значения нормированы, так что они принимают значение между [-1,1]. С 4 последовательными кадрами я получаю полный ввод 37 параметров.

Награды

  • +0,3, когда игрок ударяет мяч
  • +0.7, когда игрок выигрывает матч
  • -0.7, когда игрок проигрывает матч

Выход
Каждый из шести соединений робота может перемещаться с помощью определенная скорость, поэтому каждый сустав имеет возможность двигаться в положительном направлении, оставаться или двигаться в отрицательном направлении. В результате получается 3^6 = 729 выходов.

С помощью этих настроек нейронная сеть должна изучить обратную кинематику робота и играть в настольный теннис. Моя проблема в том, что моя сеть сходится, но, похоже, застряла в локальном минимуме и в зависимости от конфигурации, после этого начинает сходиться. Я сначала попробовал сети с двумя и тремя скрытыми слоями с 1000 узлами, и через несколько эпох сеть начала сходиться. Я понял, что 1000 узлов слишком много и опустили их до 100, в результате сеть ведет себя так, как описано, она сначала сходится, а затем немного расходится. Поэтому я решил добавить скрытые слои. В настоящее время я пытаюсь создать сеть с 6 скрытыми слоями, по 80 узлов. Текущие потери выглядят так: loss

Так что, как вы думаете, опытные специалисты по компьютерному обучению? Вы видите какие-либо проблемы с моей конфигурацией? Какой тип сети вы бы выбрали?
Я рад за каждое предложение.

ответ

2

У меня в прошлом была аналогичная проблема. Целью было изучение обратной кинематики для робототехники с нейроэволюционной структурой NEAT. На рисунке слева находится errorplot. В начале все работает нормально, сеть улучшается, но в определенной точке значение ошибки остается на одном значении, и даже после 30 минут вычисления никаких изменений не было. Я не думаю, что ваша нейронная сеть ошибочна или что число нейронов ошибочно. Я думаю, что нейронные сети вообще не способны изучать проблему обратной кинематики. Я также считаю, что знаменитая статья о глубоком воображении (игра в игры Atari с нейронной сетью) является фиктивной.

neural network inverse kinematics

Но вернемся к фактам. Сюжет в ОП (средний убыток) и мой сюжет (фитнес-уровень населения) показывают как улучшение в начале, так и через некоторое время стоп-кривую, которая не может быть улучшена, несмотря на то, что процессор работает на 100% для нахождение лучшего решения.Неясно, как долго нейронная сеть должна быть оптимизирована до тех пор, пока значительное улучшение не станет видимым и, возможно, даже после нескольких дней или лет постоянного расчета, лучшего решения не будет найдено. Взгляд в литературу показывает, что для каждой средней или тяжелой проблемы результат нормальный, и до сих пор не были созданы лучшие нейронные сети или алгоритм лучшего обучения. Основная проблема называется комбинаторным взрывом и означает, что существует много возможных решений для сетевых весов и что компьютер может сканировать только небольшое количество из них. Если проблема действительно проста, как «проблема xor», алгоритм обучения, такой как backpropagation или RPropMinus, найдет решение. На несколько более сложных проблемах, таких как перемещение в лабиринте, поиск обратной кинематики или задачи с привязкой, никакая текущая нейронная сеть не найдет решения.

+0

Большое спасибо за ваш ответ, это помогает. Учитывая комбинаторный взрыв, мой подход состоял бы в том, чтобы добавить больше вознаграждений, например, за расстояние между возможной позицией удара и положением весла или, во-первых, показать сети некоторые ходы хорошего игрока и позволить ей учиться потом. Почему, по-вашему, бумага фиктивная? Я довольно новичок в этой области и хотел бы услышать ваше мнение. Было бы здорово, если бы вы напишите мне сообщение или пришлите мне статью, в которой выражается ваше мнение. – Koanashi

 Смежные вопросы

  • Нет связанных вопросов^_^