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

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

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

Многие общие практические случаи - это проблемы, которые описываются хорошо известными уравнениями, но не имеют решения в замкнутой форме, например x (t) = f (начальные условия), потому что эволюция системы во времени и взаимодействие между ее компонентами слишком сложны для решения или потому, что эти уравнения зависят от данных, которые частично неизвестны. Назову несколько примеров:

  1. Допустим, вы хотите запустить спутник на орбиту вокруг Земли и хотите жестко запрограммировать команды управления ракетой перед запуском. Теоретически вы могли бы это сделать, потому что движение вашей ракеты описывается хорошо известными уравнениями классической механики, термодинамики расширяющегося топлива и аэродинамики. Но на практике мы не знаем, как полностью выразить позицию ракеты, просто используя начальные условия. По этой причине мы задаем ему запрограммированную траекторию, но также оснащаем его дорогими датчиками (IMU - блок инерциальной навигации и другие типы), чтобы иметь точные измерения, на которые автомобиль может реагировать, управляя рулем.
  2. Определить качество антенны только по ее форме и материалам, из которых она сделана, - непростая задача, которую можно решить, просто решив набор уравнений, даже несмотря на то, что теория электромагнетизма сформулирована очень хорошо. Когда форма становится неправильной, очень быстро становится невозможно точно решить уравнения, и нам нужно либо аппроксимировать части антенны как« блоки , взаимодействующие друг с другом», либо смоделировать волну, проходящую через антенну, решить для определенного момента в время, постепенно увеличивая время и снова решая уравнения. - Более сложная версия проблемы - которая подводит нас к третьему типу проблем, когда у вас есть набор ограничений для антенны, скажем так, производительности. в заданном диапазоне частот, размеров, материала и т. д., и вам нужно придумать дизайн. Можете ли вы сформулировать мыслительный процесс?

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

  1. Определение того, принадлежит ли лицо на фотографии вашему другу или объект перед вами - лошадь,
  2. Определение рукописных цифр в почтовом индексе для сортировки,
  3. Как найти лучший перевод абзаца с английского на французский
  4. Формулировка правил, позволяющих двуногому роботу ходить. Трудно сформулировать точное движение и реакцию, требуемые каждую секунду, учитывая точную позу, скорость и местность, а также поддержание баланса при этом! И мы, люди, делаем это от рождения!
  5. Разработка новой антенны с учетом ряда ограничений.

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

Введите AI.

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

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