искусственный интеллект
В последние годы искусственный интеллект снова стал популярным под шумихой и освещением различных СМИ. С точки зрения широкой публики искусственный интеллект кажется всемогущим: автономное вождение, умные роботы, распознавание лиц, голосовой перевод и игры вроде го — не проблема.
Поскольку так называемый дилетант наблюдает за волнением, эксперт наблюдает за дверью.На самом деле, технологии, используемые в нынешнем искусственном интеллекте, в основном представляют собой некоторые алгоритмы машинного обучения, которые относятся к слабому искусственному интеллекту. Хотя он может достичь многих магических применений, он имеет большие ограничения.Только после четкого понимания механизма и принципов искусственного интеллекта он не может быть уведен преувеличенными сообщениями СМИ. В этой статье мы подробно рассмотрим, как ИИ может играть в игры самостоятельно.
машинное обучение
В общем, машинное обучение — это ветвь искусственного интеллекта и способ достижения искусственного интеллекта. Теория машинного обучения в основном изучает некоторые алгоритмы, которые позволяют машинам обучаться автоматически, автоматически изучая правила из выборок данных, а затем предсказывая неизвестные данные с помощью изученных правил.
Машинное обучение можно условно разделить на четыре категории:
- Обучение с учителем, обучение с учителем — это обучение с использованием размеченных образцов.
- Обучение без учителя, при котором обучение без учителя использует немаркированные образцы для обучения.
- При полууправляемом обучении в выборках данных есть только несколько помеченных выборок, а большинство выборок не размечены, и эти выборки используются для обучения.
- Обучение с подкреплением — это совершенно другой метод обучения, в нем нет регулярных обучающих образцов и меток, и в основном достигается цель обучения с помощью вознаграждений и наказаний.
маленькая игра
Есть небольшая игра, как показано на рисунке ниже.После входа в вход начальная позиция A, а заштрихованная часть представляет собой большой кан.Если вы войдете, вы умрете, и вам придется начинать все сначала. Если вы не знаете, где большие ямы, и позволяете вам играть в эту игру, как бы вы играли? У вас должно быть много способов пройти эту игру. А если это машина? Как машина может научиться играть в игру самостоятельно? Ответ — обучение с подкреплением!
обучение с подкреплением
У «Самого сильного мозга» когда-то был проект-вызов под названием «Сотовый лабиринт», и претендент продолжал пробовать и делать ошибки. Обучение с подкреплением аналогично, оно в основном содержит три понятия: состояние, действие и вознаграждение. Возьмем, к примеру, лабиринт. Позиция агента — это состояние, а шаг из определенной позиции в определенном направлении — это действие, например, влево и вправо или вверх и вниз, и каждый шаг будет приносить вознаграждение, например так как удары по стенам — это отрицательная награда, а хорошие действия — положительные. И не только обращайте внимание на текущую награду, но также обратите внимание на долгосрочную награду и изучите последовательность действий долгосрочного вознаграждения путем непрерывных проб и ошибок.
Агент изучает политику поведения из среды, то есть как использовать серию поведений в среде, чтобы максимизировать значение функции сигнала вознаграждения, то есть получить наибольшее кумулятивное вознаграждение. Обучение с подкреплением производит оценку качества генерируемых действий посредством сигналов, предоставляемых средой, и оно должно учиться на собственном опыте. Изучив модель, агент знает, какое действие предпринять в каком состоянии, и изучает отображение состояния среды на действие, которое называется политикой.
Как показано на рисунке ниже, агент взаимодействует со средой и изменяет среду с помощью определенной стратегии.Агент может получить состояние из среды, затем выполнить действие, затем получить немедленное вознаграждение и, наконец, перейти в следующее состояние. . Весь процесс можно резюмировать как поиск оптимального действия на основе текущего наблюдаемого значения состояния для максимизации вознаграждения.
Марковский процесс принятия решений
Прежде чем понять обучение с подкреплением, давайте сначала поймем, какую проблему мы пытаемся решить. По сути, процесс обучения с подкреплением представляет собой оптимизацию марковского процесса принятия решений, который состоит из математической модели, принимающей решения по случайным исходам под контролем агента.
Агент может выполнять определенные действия, такие как движение вверх, вниз, влево и вправо, и эти действия могут получать вознаграждение, которое может быть положительным или отрицательным, что приводит к изменению общего счета. Хотя действия могут изменить среду и вызвать новое состояние, агент может затем выполнить другое действие. Набор состояний, действий и вознаграждений, правил перехода и т. д. составляют марковский процесс принятия решений.
элементы, связанные с принятием решений
Во всем марковском процессе принятия решений задействованы следующие пять важных элементов.
- Набор состояний, все возможные состояния.
- Набор действий, всех действий, которые могут сделать переход из одного состояния в другое.
- Вероятность перехода состояния, распределение вероятностей выполнения различных действий в определенном состоянии.
- Функция вознаграждения, награда, которую вы получаете из одного состояния в другое.
- Коэффициент дисконтирования, используемый для определения важности будущих доходов.
Обучение с подкреплением в основном предназначено для расчета вознаграждения за различные действия в каждом состоянии, которое не выполняется мгновенно, а требует множества испытаний. Следующее состояние зависит от текущего состояния и действия, а состояние не зависит от предыдущего состояния, памяти нет и соответствует марковскому свойству.
Обучение с подкреплением — это итеративное взаимодействие между агентом и средой, и есть несколько моментов, которые следует учитывать:
- в состоянии, когда лицо, принимающее решение, выберет действие;
- Может случайным образом войти в новое состояние и ответить лицу, принимающему решение, соответствующей наградой;
- Действие, выбранное функцией перехода состояния, повлияет на выбор нового состояния;
Особенности обучения с подкреплением
- Это обучение методом проб и ошибок, потому что оно не имеет прямой направляющей информации, как контролируемое обучение, поэтому оно может только постоянно взаимодействовать с окружающей средой и продолжать методом проб и ошибок, чтобы получить лучшую стратегию.
- Его награды задерживаются, потому что он имеет тенденцию давать указания только в последнем состоянии, и эта проблема также усложняет распределение вознаграждений, т. Е. Как назначить положительные или отрицательные вознаграждения предыдущим состояниям.
модель обучения
После непрерывных проб и ошибок модель, наконец, изучается с помощью обучения с подкреплением. Модель может изучать качество каждого действия в каждом состоянии. На этом эта небольшая игра может быть завершена.
Общая идея процесса обучения такова: входите в подъезд, точка А имеет два направления, награды в начале нет, и случайным образом выбирается одно направление. Если он не работает, продолжайте идти вниз, не найдите пути после достижения B, получите отрицательную награду 100 и закончите. В следующий раз подойдите к вершине B и обновите свой собственный результат. Непрерывно обновляйтесь до последнего в A, возврат вниз -50, затем выберите право. После достижения D он также сначала является случайным, а затем обновляется значение вознаграждения сетки. Поскольку нам нужно смотреть с долгосрочной точки зрения, нам нужно смотреть на ожидаемую доходность n раз в будущем.Конечно, чем дальше доходность, тем больше она будет дисконтирована. В сумме возврат D вправо больше в n раз, поэтому он идет вправо, чтобы достичь F. Сетки на пути к G также имеют меньшую отдачу после итерации, а отдача к H больше до выхода.
Суммировать
Таким образом, принцип механизма искусственного интеллекта, играющего в игры, - это обучение с подкреплением.Машина будет пытаться совершать непрерывные пробы и ошибки, чтобы обобщить стратегию с долгосрочной отдачей, и с помощью этой стратегии игра может быть завершена. Фактически, многие области и приложения в настоящее время реализуются посредством обучения с подкреплением, например, управление полетом самолета, управление ходьбой робота, обучение играм, обучение управлению деньгами и инвестированию и так далее.
github
------------- Рекомендуем прочитать ------------
Зачем писать «Анализ проектирования ядра Tomcat»
2018 Алгоритмы структуры сводных данных
Сборник статей по машинному обучению за 2018 г.
Сводка статей о глубине Java за 2018 г.
Резюме по обработке естественного языка за 2018 г.
Резюме глубокого обучения за 2018 г.
Сводка статей об исходном коде JDK за 2018 г.
Обзор Java Concurrency Core за 2018 г.
Поговори со мной, задай мне вопросы:
Добро пожаловать, чтобы обратить внимание: искусственный интеллект, чтение и мысли, болтовня о математике, распределенное, машинное обучение, глубокое обучение, обработка естественного языка, алгоритмы и структуры данных, глубина Java, ядро Tomcat и другие статьи по теме