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

Искусственный интеллект

Искусственный интеллект (ИИ) сейчас на пике популярности. В большинстве случаев шумиха связана с конкретным подклассом ИИ, известным как узкий ИИ. Его называют узким, поскольку он применяется в сокращенной (узкой) среде. Представьте шахматную партию. Есть четко определенные ходы, правила и ситуации выигрыша/проигрыша.

Узкий агент ИИ будет стремиться максимизировать вероятность победы в игре. Чтобы контролировать среду и гарантировать принятие правильных решений (таких, которые максимизируют шансы на победу), пространство решений обычно отображается в представление, на основе которого алгоритм может выполнять вычисления. В большинстве случаев это дерево решений, закодированное таким образом, что алгоритм может анализировать его и манипулировать им, чтобы найти максимизирующий значение путь к узлу конечной игры (например, конфигурация доски для выигрыша в игре может иметь значение 100 и менее предпочтительная доска указывает более низкое значение). В этом примере мир узкого ИИ-агента представляет собой древовидное представление шахматной доски. Это больше ничего. Это похоже на то, что вы родились только для того, чтобы играть в шахматы, и ваш мир — это шахматная доска, вы должны действовать на основе заранее установленных правил, и ваша единственная цель существования — предсказать свой следующий ход на основе расчета, максимизирует ли он заданное значение. Это довольно узкий мир, в котором вы работаете. Однако он сложен. Трудно представить, насколько это сложно.

Чтобы полностью понять ваш мир (шахматную игру), вам нужно иметь представление о каждом возможном состоянии доски и о каждом возможном ходе, который можно сделать. Полный обзор всех возможностей в вашем мире. Теоретически вы могли бы точно предсказать, какой результат будет иметь каждый из ваших ходов в игре в целом. Даже если это математически возможно, это непрактично, а значит, и неэкономично. Алгоритму потребовалось бы слишком много времени для разбора всех состояний, а предварительная компиляция всего дерева также была бы очень сложной и дорогостоящей. Чтобы преодолеть эту проблему, узкий ИИ может научиться приближать результаты. По сути, делайте обоснованные предположения на основе информации, доступной в определенный момент времени. Этот подход известен как машинное обучение. Прежде чем обсуждать его, мы сначала должны упомянуть класс ИИ, более связанный с научной фантастикой, известный как общий ИИ.

В этом вся суть фильма «Матрица», и она связана со всеми разговорами о том, что машины заберут вашу работу и когда-нибудь заменят нас, людей (здесь часто упоминается слово «сингулярность», означающее момент, когда машина будет столь же разумна, как и человек). За общим ИИ стоят интересные более глубокие философские дебаты. Узкие агенты ИИ основаны на известных ситуациях, известных данных и имеют ограниченные возможности адаптации к новым ситуациям. Сравнение этого с человеческими способностями (что означало бы общий ИИ) фактически означает, что обычному агенту ИИ потребуется какая-то более высокая когнитивная модель, которая представляет собой самосознание и чувство цели.

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

Машинное обучение

Тема машинного обучения существует уже давно. Основная идея о том, что машины могут обучаться посредством математического представления, восходит к 17 веку. Возможно, самая влиятельная работа исходит от Алана Тьюринга и его статьи, в которой обсуждается, могут ли машины думать (http://www.loebner.net/Prizef/TuringArticle.html). Короче говоря, машинное обучение можно рассматривать как искусство применения статистических подходов для прогнозирования исхода «неизвестной» ситуации. Машинное обучение является частью узкого ИИ и основано на сопоставлении данных. Вы берете «много» данных, которые помечены определенным результатом. Например, данные о погоде за последние 50 лет. Вы отмечаете каждый день результатом, например, «Солнечно» или «Дождь». Затем вы выбираете набор переменных (также известных как функции), таких как количество дождя, количество солнечных часов, направление и скорость ветра и так далее. В этом упрощенном примере эти наблюдения образуют матрицу с числовыми значениями (точками данных) для каждой характеристики (например, 3 часа солнца, 150 мг дождя, скорость ветра 3 мили в час), в которой каждая строка представляет один день из последних 50 лет, относящихся к наблюдаемый результат (метка), например Солнечно или дождливо. Эти данные теперь становятся вашими тренировочными данными — вашей основной истиной. Теперь вам нужно выбрать вероятностную модель, которая представляет ваши данные и поможет вам сопоставить новые «неизвестные» точки данных с прогнозируемым результатом.

В машинном обучении выбор «модели» — довольно большое дело. Это поможет вам преодолеть такие проблемы, как переоснащение, которое просто означает, что ваш подход к моделированию слишком хорош. Это может показаться нелогичным, но слишком хорошая (переобученная) модель может хорошо работать только с прогнозированием результатов (на основе новых «неизвестных» данных), которые очень похожи на данные, на которых она обучалась. Поэтому интересным аспектом машинного обучения является то, что вы хотите использовать подход, допускающий погрешность. Именно допустив эту ошибку, машина может научиться. Например, когда ваша модель идентифицирует новые данные и не уверена в них (высокий уровень ошибок), она может добавить их к обучающим данным и попытаться обработать их в базовой модели/опыте. Типичными моделями являются деревья решений, наивные байесовские и глубокие нейронные сети.

Теперь вы можете подумать, что в этом такого? Почему все так воодушевлены машинным обучением?

Две причины: 1) данные и 2) мощность компьютера. Чтобы сделать весь прогноз с разумной точностью, вам нужно иметь достаточно данных. Погода интересная. В этом примере мы использовали только несколько функций. Система прогнозирования погоды может иметь миллионы функций, которые учитывают все, от температуры океана до угла земной оси и температуры Гольфстрима. Это требует большой мощности компьютера. Или взять беспилотный автомобиль. Во-первых, вам понадобится много обучающих данных, чтобы автомобиль научился разумно реагировать на все возможные ситуации. Оставаясь на этом примере, очень сложно понять количество переменных (функций), на которых должна обучаться модель беспилотного автомобиля. Есть кошки и собаки, переходящие дорогу, перекрестки, падающие деревья, разные поверхности, разный трафик, разные машины и так далее. На практике беспилотный автомобиль работает на тысячах по-разному обученных моделей машинного обучения. Один для типа дороги, один для типа погоды и так далее. Все работают вместе, чтобы доставить вас домой в целости и сохранности. Сложность на этом уровне можно вычислить, только если у вас есть доступ к большой мощности компьютера. Чем сложнее среда, в которой работает агент машинного обучения, тем больше данных требуется для расчета моделей прогнозирования.

Когнитивные технологии

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

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

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