Я рассматриваю возможность использования нейронной сети для вождения своих врагов в космической шутерской игре, которую я создаю, и мне интересно; как вы тренируете нейронные сети, когда нет ни одного окончательного хорошего набора выходов для сети?Как использовать нейронные сети для решения «мягких» решений?
ответ
Я изучаю нейронные сети в настоящий момент, и они кажутся совершенно бесполезными без четких входных и выходных кодировок и они вообще не масштабируются до сложности (см. http://en.wikipedia.org/wiki/VC_dimension). поэтому исследования нейронной сети имели столь малое применение после первоначальной шумихи более 20-30 лет назад, в то время как основанный на семантическом/государственном искусстве AI взял на себя все интересы из-за его успеха в реальных приложениях.
- А так хорошее место для начала - это выяснить, как численно представить состояние игры в качестве входов для нейронной сети.
- Следующим шагом было бы выяснить, какой выход будет соответствовать действиям в игре.
- подумайте о структуре нейронной сети для использования. Чтобы получить интересное сложное поведение из нейронных сетей, сеть почти должна повторяться. Вам понадобится рекуррентная сеть, потому что у них есть «память», но помимо этого вам больше нечего делать дальше. Однако рекуррентные сети с любой сложной структурой действительно трудно обучить себя.
- Области, в которых успешные нейронные сети имеют тенденцию быть классифицированными (изображение, аудио, грамматика и т. Д.) И ограниченный успех в статистическом прогнозировании (какое слово мы ожидаем после этого слова, какова будет цена акций завтра?)
Короче говоря, для вас, вероятно, лучше использовать нейронные сети для небольшой части игры, а не для основного ИИ противника.
Я думаю, что могу использовать основные входы, такие как здоровье, текущую скорость и направление/расстояние для игроков, а затем иметь направление стрельбы, текущее значение стрельбы и либо вектор тяги, либо скорость поворота - значение ускорения/замедления. Кроме того, можете ли вы предоставить ссылку на дополнительную информацию о «повторяющихся» нейронных сетях? Они не знакомы с ними. – RCIX
Рекуррентная сеть означает, что выходы возвращаются в нейроны как входы. Существует множество различных типов нейронных сетей с различным поведением. некоторые простые - это сети elman http://wiki.tcl.tk/15206 и сети hopfield http://en.wikipedia.org/wiki/Hopfield_network Существует не так много общей информации о том, как они работают и что они " хорошо для вас, поэтому вам лучше искать в университетских лекциях и ученого-ученого для бумаг. Опять же, причина в том, что большая часть этого исследования не покинула академию, потому что так сложно использовать их для решения реальных проблем. –
Вы можете проверить AI Dynamic game difficulty balancing для различных методов ИИ и ссылок.
(ИМО, вы можете реализовать противника поведения, как «окружают врага», который будет действительно круто, не вникая в сложные понятия ИИ)
Edit: так как вы делаете космический шутер и вы хотите какой-то ИИ для своих врагов, я считаю, что вы найдете интересную ссылку: Steering Behaviors For Autonomous Characters
Это интересно. Похоже, я мог по крайней мере спроектировать игру, чтобы предложить динамическую сложность с нейронной сетью, выясняя, когда игроки веселятся. – RCIX
Считаете ли вы, что легко изменить FSM в ответ на стимулы? В конце концов, это всего лишь таблица чисел, вы можете хранить ее где-то в памяти и менять номера по мере их поступления. Я написал об этом немного в одном из моих блогов, которые заправляли доспехами, и это странно получило какое-то новостное место Game AI. Тогда парень, который построил г-жу Пакман AI, которая могла победить людей и получила настоящие новости, оставила комментарий в моем блоге со ссылкой на еще более полезную информацию.
вот мое сообщение в блоге с моими бессвязными бранями о какой-то идее I имел об использовании цепей маркова, чтобы постоянно адаптироваться к игровой среде и, возможно, накладывать и комбинировать то, что компьютер узнал о том, как игрок реагирует на игровые ситуации.
http://bustingseams.blogspot.com/2008/03/funny-obsessive-ideas.html
и вот ссылка на удивительный ресурс об обучении с подкреплением, что господин. smarty mcpacman отправлен для меня.
http://www.cs.ualberta.ca/%7Esutton/book/ebook/the-book.html
вот еще один крутой ссылку
http://aigamedev.com/open/architecture/online-adaptation-game-opponent/
Они не нейронная сеть подходы, но они адаптироваться и постоянно учиться, и, вероятно, лучше всего подходит для игр, чем нейронные сети.
Интересный подход, и я проверю эти ссылки – RCIX
Я отсылаю вас к двум книгам Мэтью Бакланда.
Вторая книга переходит в обратное распространении ИНС, которая является то, что большинство людей, когда они говорят о NN так или иначе.
Это, я думаю, первая книга более полезна, если вы хотите создать значимый игровой ИИ. Хорошая, мясистая секция по успешному использованию FSM (и да, легко сесть с FSM).
Ненавижу стрелять в вас, но конечные автоматы гораздо проще программировать и балансировать, обрабатывать необычные ситуации _better_ и общее решение для игры AI. См. Http://au.gamespy.com/pc/fear/698080p1.html –
К сожалению, я хотел бы связать вас с этой страницей - FEAR AI - как они это сделали (отлично читайте, по крайней мере, ищите идеи) http: //web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf –
Я уверен, что предпочел бы что-то другое, кроме FSM. Их можно легко перехитрить с достаточным количеством времени, тогда это действительно не забавно играть больше. С нейронной сетью, которая постоянно учится, она может адаптироваться к тактике врага. Помимо этого, вы все еще думаете, что это плохая идея, рассматривают его как академический вопрос. – RCIX