Как ИИ учатся действовать, когда проблемное пространство слишком велико

10

Я учусь лучше всего через эксперименты и пример. Я изучаю нейронные сети, и у меня есть (что я думаю) довольно хорошее понимание классификации и регрессии, а также обучения под наблюдением и без него, но я наткнулся на то, чего не могу понять;

Если бы я хотел обучить ИИ играть в сложную игру; Я имею в виду что-то вроде RTS (например, Age of Empires, Empire Earth и т. Д.). В играх такого типа обычно существует ряд объектов, контролируемых игроком (юниты, здания), каждый из которых обладает различными возможностями. Кажется, что проблема в том, что ИИ будет классифицировать (например, выбрать эту единицу и это действие), однако, поскольку количество единиц является переменной, как можно решить проблему классификации таким образом?

Единственное, о чем я могу думать, это несколько сетей, которые выполняют разные этапы (одна для общей стратегии, одна для управления этим типом подразделения, одна для этого типа здания и т. Д.); но похоже, что я усложняю проблему.

Есть ли хороший пример машинного обучения / нейронных сетей, обучающих сложным играм (не только RTS, но более сложный для Mario )?

FraserOfSmeg
источник
«ИИ РТС: проблемы и методы», webdocs.cs.ualberta.ca/~cdavid/pdf/ecgg15_chapter-rts_ai.pdf
Антон Тарасенко
Может быть полезным для ответа: ijcai.org/papers07/Papers/IJCAI07-168.pdf и обзор того же: aigamedev.com/open/review/transfer-learning-rts
Нил Слэйтер
Вы видели cs.toronto.edu/~vmnih/docs/dqn.pdf ?
xgdgsc

Ответы:

4

Это хороший вопрос, и многие ученые во всем мире задают то же самое. Ну, во-первых, такая игра, как Age of Empires, не считается действительно большой областью решений, вы не можете сделать так много вещей. То же самое и в играх, подобных Mario Bros. Проблема обучения в простых играх, таких как Atari, была решена ребятами из DeepMind (здесь статья ), которую приобрела Google. Они использовали реализацию «Укрепление обучения с глубоким обучением».

Возвращаясь к вашему вопросу. Действительно большая проблема заключается в том, как имитировать количество решений, которые человек принимает каждый день. Просыпайтесь, завтракайте, принимайте душ, выходите из дома ... Все эти действия требуют действительно высокого уровня интеллекта и множества действий для развития.

Есть много людей, работающих над этой проблемой, я один из них. Я не знаю решения, но могу сказать, как я выгляжу. Я следую теории Марвина Минского, он один из отцов ИИ. Эта книга, «Машина эмоций», дает очень хорошее представление о проблеме. Он предположил, что способ создать машину, которая имитирует поведение человека, заключается не в создании единой компактной теории искусственного интеллекта. Напротив, он утверждает, что наш мозг содержит ресурсы, которые конкурируют друг с другом для достижения разных целей в один и тот же момент. Они назвали это « Способ думать» .

hoaphumanoid
источник
1

Отличный вопрос Это сложный вопрос, и используемый вами подход будет зависеть от сложности проблемы. Любая проблема, которую мы пытаемся решить, будет иметь определенную степень сложности, в просторечии определенную как «количество взаимодействующих вещей или вещей, которые необходимо учитывать». В контролируемом и неконтролируемом обучении мы указываем именно то, что нужно учитывать.

Например, в множественной линейной регрессии мы сообщаем алгоритму обучения, сколько функций следует учитывать при подборе модели (количество столбцов в вашем обучающем наборе). Та же самая ситуация сохраняется для обучения без учителя; используется четко определенный обучающий набор с явным количеством функций (в данном случае без меток).

То, с чем вы сталкиваетесь, является ситуацией, не подходящей для классификации или регрессии, потому что вы не можете точно определить количество «вещей, которые нужно учитывать». Как вы говорите, ваше проблемное пространство чрезвычайно велико. Другой способ думать об этом с точки зрения набора обучения, необходимого для изучения модели; насколько сложно представить, как выглядит тренировочный набор? В твоем случае сложно. Что именно будут содержать столбцы моего набора?

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

Вот почему существует третий тип машинного обучения - обучение с подкреплением. Вместо того, чтобы использовать заранее определенный обучающий набор, он использует метод проб и ошибок. Постоянно копаясь в окружающей среде, он может выучить политику, которая работает в долгосрочной перспективе.

Таким образом, для небольших проблемных пространств, где у нас есть шанс определить тренировочный набор, мы используем контролируемое и неконтролируемое машинное обучение. Для больших проблемных пространств, где сложно определить тренировочный набор, мы используем обучение с подкреплением. Конечно, вы также можете сделать интересные комбинации всех вышеперечисленных подходов, но это все еще сводится к сложности.

кибернетический
источник