В наши дни области, связанные с искусственным интеллектом, такие как Data Science и Machine Learning, стали мейнстримом. Практически каждый теперь может стать специалистом по данным. Это, конечно, хорошо, но, к сожалению, люди забывают о том, что такое система искусственного интеллекта. Я предпочитаю идею Патрика Уинстона из Массачусетского технологического института:

Искусственный интеллект (или интеллектуальный агент) - это система, основанная на математической модели, которая оптимально действует в среде с определенными ограничениями.

В этой статье я хотел бы подробнее рассказать о моделях.

Так что же делает модель хорошей?

Короче говоря, хорошая модель (на мой взгляд, каждая хорошая модель) должна хорошо отражать проблему. Или, другими словами, он должен:

  • Сделайте отличительные черты явными.
  • Выявите ограничения.

К сожалению, из-за таких платформ, как Kaggle, которые предоставляют данные в красивых обложках и простых таблицах, большинство людей думают об ИИ как о задаче поиска некоторой функции для предсказания класса или непрерывного значения, иногда находя объект на изображениях. Но теперь я хотел бы показать пример другой проблемы в области ИИ, которая, к сожалению, не рассматривается как пример ИИ.

Проблема 8 ферзей

Задача 8 ферзей формулируется следующим образом: агент должен разместить 8 ферзей на шахматном столе таким образом, чтобы ни один ферзь не напал на других ферзей.

Чтобы решить эту проблему, нам нужно сначала сформулировать математическое описание проблемы. Итак, давайте сформулируем это как задачу оптимизации:

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

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

Итак, какая модель лучше описывает расстановку шахматного стола без изменения количества ферзей во время кроссинговера? Что описывает место ферзей на столе?
Конечно, координаты! Итак, описывая хромосомы как список координат ферзей. Но мутации реализуются как случайное изменение координат матки.

Выводы

В качестве своего последнего слова я хотел бы дать вам совет. Если вы хотите стать исследователем искусственного интеллекта или инженером искусственного интеллекта, я действительно рекомендую вам не придерживаться таких технологий, как машинное обучение и нейронные сети, особенно таких фреймворков, как sklearn или Keras. Учитесь создавать свои собственные, как это делаем мы в Sigmoid. И самое главное научиться формулировать проблемы и модели для их решения.

БОНУС: Реализация на питоне.

Дополнительные ресурсы:

Курс MIT AI: лекция 14