Часть 2: Объяснение методов искусственного интеллекта
Чтобы «демистифицировать» искусственный интеллект (ИИ) и каким-то образом привлечь к нему больше людей, мы публикуем серию статей, объясняющих мир ИИ, подробно рассказывая о связанных с ним методах, наиболее привлекательных из них. бизнес-приложения и возможные проблемы.
Гвидо Дипен и Хишам эль Буаззауи — 14 апреля 2017 г.
В нашей первой статье в блоге мы объяснили некоторые из наиболее часто используемых определений ИИ.Теперь мы обсудим некоторые фундаментальные методы ИИ: эвристики, машины опорных векторов, нейронные сети, марковский процесс принятия решений и обработку естественного языка.
1. Эвристика
Предположим, у нас есть монеты следующих номиналов: 5 центов, 4 цента, 3 цента и 1 цент, и нам нужно определить минимальное количество монет, чтобы получить сумму в 7 центов. Чтобы решить эту проблему, мы можем использовать технику под названием «Эвристика».
Вебстер 1 определяет термин Эвристика как «вовлечение или помощь в обучении, открытии или решении проблем экспериментальными методами и особенно методами проб и ошибок». На практике это означает, что всякий раз, когда проблемы становятся слишком сложными для поиска гарантированно наилучшего возможного решения с использованием точных методов, эвристика служит для применения практического метода поиска решения, оптимальность которого не гарантируется, но достаточно для непосредственных целей. .
Для некоторых проблем могут быть разработаны специальные эвристики, которые используют структуру проблемы. Примером такой адаптированной эвристики может быть жадная эвристика для вышеупомянутой задачи размена монет. Мы говорим о жадной эвристике, когда всегда выбираем максимально возможный номинал и повторяем это до тех пор, пока не получим желаемое значение 7. В нашем примере это означает, что мы начнем с выбора монеты в 5 центов. Для оставшихся 2 центов самый большой номинал, который мы можем выбрать, составляет 1 цент, оставляя нас в ситуации, когда нам все еще нужно покрыть 1 цент, для которого мы снова используем 1 цент.
Таким образом, наша жадная эвристика дает нам решение из 3 монет (5, 1, 1), чтобы получить значение 7 центов. Конечно, существует другое, лучшее решение, состоящее всего из 2 монет, с использованием монет в 3 и 4 цента. Хотя жадная эвристика для задачи о размене монет не дает наилучшего решения для этого конкретного случая, в большинстве случаев она приводит к приемлемому решению.
Помимо таких специализированных эвристик для конкретных задач, также существуют определенные общие эвристики.Как и нейронные сети, некоторые из этих общих эвристик основаны на процессах, происходящих в природе. Двумя примерами таких общих эвристик являются оптимизация муравьиной колонии 2 и генетические алгоритмы 3 . Первый основан на том, как простые муравьи могут работать вместе для решения сложных проблем; последний основан на принципе выживания наиболее приспособленных.
Типичной проблемой, в которой эвристика применяется для быстрого поиска приемлемых решений, является маршрутизация транспортных средств, цель которой состоит в том, чтобы найти маршруты для одного или нескольких транспортных средств, посещающих несколько мест.
2. Машины опорных векторов
Вопрос о том, является ли электронное письмо спамом, является примером проблемы классификации. В задачах такого типа цель состоит в том, чтобы определить, принадлежит ли данная точка данных к определенному классу или нет. После первого обучения модели классификатора на точках данных, для которых известен класс (например, набор электронных писем, помеченных как спам или не спам), вы можете использовать модель для определения класса новых невидимых точек данных. Мощным методом для таких задач является метод опорных векторов 4 (SVM).
Основная идея SVM заключается в том, что вы пытаетесь найти границу, разделяющую два класса, но таким образом, чтобы линия границы создавала максимальное разделение между классами. Чтобы продемонстрировать это, мы будем использовать следующие простые данные для нашей задачи классификации:
В этом примере зеленые кружки и красные квадраты могут представлять два разных сегмента в общем наборе клиентов (например, с высоким потенциалом и с низким потенциалом) на основе всех видов свойств каждого из клиентов. Любая линия, которая сохраняет зеленые круги слева и красные квадраты справа, считается допустимой границей для задачи классификации. Таких линий можно провести бесконечное количество. Ниже представлены четыре различных примера:
Как указывалось ранее, SVM помогает вам найти граничную линию, которая максимизирует разделение между двумя классами.В представленном примере это можно изобразить следующим образом:
Две пунктирные линии — это две параллельные разделительные линии с наибольшим расстоянием между ними. Фактически используемая граница классификации будет сплошной линией точно посередине двух пунктирных линий.
Название «Машина опорных векторов» происходит от точек данных, которые находятся непосредственно на любой из этих линий. Эти поддерживающие векторы. В нашем примере опорных векторов было три.
Если любая из других точек данных (т. е. не опорный вектор) немного сдвинется, пунктирные граничные линии не пострадают. Однако, если положение любого из вспомогательных векторов немного измениться (например, точка данных 1 сместится немного влево), положение пунктирных граничных линий изменится, и, следовательно, положение сплошной линии классификации также изменится.
В реальной жизни данные не так просты, как в этом упрощенном примере. Обычно мы работаем с более чем двумя измерениями. Помимо прямых разделительных линий, базовая математика для SVM также позволяет выполнять определенные типы вычислений или ядра что приводит к нелинейным граничным линиям.
Модели классификации SVM также можно найти в распознавании изображений, например. распознавание лиц или когда рукописный текст преобразуется в текст.
3. Искусственные нейронные сети
Животные способны обрабатывать (визуальную или другую) информацию из окружающей среды и адаптироваться к изменениям. Они используют свою нервную систему для выполнения такого поведения. Их нервная система может быть смоделирована и смоделирована, и должно быть возможно (воспроизвести) подобное поведение в искусственных системах. Искусственные нейронные сети (ИНС) можно описать как устройства обработки, которые в общих чертах смоделированы по образцу нейронной структуры мозга. Самая большая разница между ними заключается в том, что ИНС может иметь сотни или тысячи нейронов, тогда как нейронная структура мозга животного или человека насчитывает миллиарды.
Рисунок 1: Графическое представление биологического нейрона (слева) и искусственного нейрона (справа)
Основной принцип нейронной структуры заключается в том, что каждый нейрон с определенной силой связан с другими нейронами. На основе входных данных, полученных с выходных данных других нейронов (также с учетом силы связи), генерируется выходной сигнал, который может снова использоваться в качестве входных данных другими нейронами, см. Рисунок 1 (слева). Эта основная идея была перенесена в искусственную нейронную сеть с использованием весов для обозначения силы связи между нейронами. Кроме того, каждый нейрон будет принимать выходные данные подключенных нейронов в качестве входных данных и использовать математическую функцию для определения своего вывода. Затем этот выход снова используется другими нейронами.
В то время как обучение состоит в укреплении или ослаблении связей между различными нейронами в биологическом мозге, в ИНС обучение состоит в изменении весов между нейронами. Предоставляя нейронной сети большой набор обучающих данных с известными функциями, можно рассчитать наилучшие веса между искусственными нейронами (то есть силу связи), чтобы убедиться, что нейронная сеть лучше всего распознает функции.
Нейроны ИНС могут быть структурированы в несколько слоев 5 . На рис. 2 показана иллюстративная схема такого наслоения. Эта сеть состоит из входного слоя, где все входные данные принимаются, обрабатываются и преобразуются в выходные данные для следующих слоев. Скрытые слои состоят из одного или нескольких слоев нейронов, каждый из которых проходит через входы и выходы. Наконец, выходной слой получает входные данные последнего скрытого слоя и преобразует их в выходные данные для пользователя.
Рисунок 2: Схема подключенной ИНС
На рис. 2 показан пример сети, в которой все нейроны одного слоя связаны со всеми нейронами следующего слоя. Такая сеть называется от корки до корки связано. В зависимости от типа проблемы, которую вы хотите решить, доступны различные схемы подключения.Для целей распознавания изображений, как правило, Сверточные сети используются, при которых только группы нейронов одного слоя соединяются с группами нейронов следующего слоя. Для целей распознавания речи обычно используются рекуррентные сети, которые допускают циклы от нейронов в более позднем слое обратно к более раннему слою.
4. Марковский процесс принятия решений
Марковский процесс принятия решений (MDP) представляет собой основу для моделирования принятия решений, где в некоторых ситуациях результат является частично случайным и частично основан на входных данных лица, принимающего решения. Еще одним приложением, в котором используется MDP, является оптимизированное планирование. Основная цель MDP — найти политику для лица, принимающего решения, указывающую, какие конкретные действия должны быть предприняты в каком состоянии.
Модель MDP состоит из следующих частей 6 :
- Набор возможных состояний: например, это может относиться к сетке мира робота или состояниям двери (открыта или закрыта).
- Набор возможных действий: фиксированный набор действий, которые, например. робот может взять, например, на север, налево, юг или запад. Или по отношению к двери, закрывая или открывая ее.
- Вероятности перехода: это вероятность перехода из одного состояния в другое. Например, какова вероятность того, что дверь будет закрыта после того, как было выполнено действие по закрытию двери?
- Награды: они используются для управления планированием. Например, робот может захотеть двигаться на север, чтобы добраться до места назначения. На самом деле движение на север приведет к более высокой награде.
После определения MDP политику можно обучить с помощью «итерации значения» или «итерации политики». Эти методы используются для расчета ожидаемых вознаграждений для каждого из состояний. Затем политика отображает наилучшее действие, которое можно предпринять в каждом состоянии.
В качестве примера мы определим сетку, которую можно рассматривать как идеальный конечный мир для робота 7 . Этот пример сетки показан на рисунке 3.
Рис. 3: Пример — сетчатый мир робота
Робот может двигаться (действовать) из каждой позиции сетки (состояния) в четырех направлениях, то есть на север, влево, вправо и на юг. Вероятность того, что робот пойдет в желаемом направлении, равна 0,7 и 0,1, если он движется в любом из трех других направлений. Награда -1 (т. е. штраф) дается, если робот врезается в стену и не двигается. Также есть дополнительные награды и штрафы, если робот достигает ячеек, окрашенных в зеленый и красный цвет соответственно. На основе вероятностей и вознаграждений может быть реализована политика (функция), использующая начальное и конечное состояния.
Другим примером использования MDP является проблема планирования запасов: кладовщик или менеджер должен решить, сколько единиц товара нужно заказывать каждую неделю. Планирование запасов можно смоделировать как MDP, где состояния можно рассматривать как положительные запасы и дефицит. Возможные действия, например, заказ новых единиц или перенос на следующую неделю. Вероятности перехода можно рассматривать как действие, которое будет предпринято на основе спроса и запасов на текущей неделе. Вознаграждения — или, в данном случае, затраты — обычно представляют собой стоимость единичного заказа и стоимость запасов.
5. Обработка естественного языка
Обработка естественного языка (NLP) используется для обозначения всего, от распознавания речи до генерации языка, каждая из которых требует различных методов. Несколько важных методов будут объяснены ниже, например, тегирование частей речи, распознавание именованных объектов и синтаксический анализ.
Давайте рассмотрим предложение «Джон ударил банку». Одним из первых шагов НЛП является лексический анализ с использованием метода, называемого тегированием частей речи (POS). С помощью этого метода каждое слово помечается так, чтобы оно соответствовало категории слов с аналогичными грамматическими свойствами на основе его связи с соседними и родственными словами. Помечаются не только слова, но и абзацы и предложения.Маркировка частей речи в основном выполняется с помощью статистических моделей, которые приводят к вероятностным результатам вместо жестких правил «если-то» и поэтому используются для обработки неизвестного текста. Кроме того, они могут справиться с возможностью нескольких возможных ответов вместо одного. Метод, который часто используется для маркировки, — это скрытая марковская модель (HMM). HMM похож на марковский процесс принятия решений, где каждое состояние является частью речи, а результатом процесса являются слова предложения. HMM «запоминают» последовательности слов, которые были раньше. Основываясь на этом, они могут лучше оценить, какой частью речи является слово. Например: «can» в «the can» скорее будет существительным, чем глаголом. Конечным результатом является то, что слова помечены следующим образом: «Джон» как существительное (N), «ударить» как глагол (V), «the» как определитель (D) и «can» как существительное (N). ) также.
Распознавание именованных объектов или NER аналогично тегированию POS. Вместо того, чтобы помечать слова функцией слова в предложении (POS), слова помечаются типом сущности, которую представляет слово. Этими объектами могут быть, например. лица, компании, время или место. Но также и более специализированные объекты, такие как ген или белок. Хотя HMM также можно использовать для NER, предпочтительным методом является рекуррентная нейронная сеть (RNN). RNN — это другой тип нейронной сети, как обсуждалось ранее, но он принимает последовательности в качестве входных данных (количество слов в предложении или полные предложения) и запоминает выходные данные из предыдущего предложения 8 . В рассматриваемом нами предложении он распознает Джона как сущность «человек».
Последний метод, который мы обсудим, называется разбором (синтаксическим анализом) — анализом грамматики текста и того, как расположены слова, чтобы прояснить взаимосвязь между словами. Тег Part-of-Speech из лексического анализа используется, а затем группируется в небольшие фразы, которые, в свою очередь, также можно комбинировать с другими фразами или словами, чтобы получить немного более длинную фразу.Это повторяется до тех пор, пока не будет достигнута цель: использовано каждое слово в предложении. Правила того, как слова могут быть сгруппированы, называются грамматикой и могут принимать такую форму: D+N = NP, которая гласит: определитель + существительное = существительное. Окончательный результат изображен на рисунке.
Вывод
Методы, используемые в области искусственного интеллекта, на самом деле являются просто продвинутыми формами статистических и математических моделей. Все эти умело собранные вместе модели предоставляют нам инструменты для выполнения задач, которые ранее считались предназначенными для людей. В последующих блогах мы углубимся в бизнес-приложения, некоторые связанные с ними технологические тенденции и 5 основных рисков и проблем.
Больше информации об искусственном интеллекте?
Хотите узнать больше об искусственном интеллекте? Пожалуйста, свяжитесь с Насером, используя контактную информацию, указанную ниже.