Искусственный интеллект
Шрифт:
Нечёткий вывод тоже основан на правилах ModusPonens и ModusTollens, но они несколько модифицированы. Первое выглядит как: «Если есть правило, что из некоторого факта А следует заключение Б, и при этом имеется некоторый факт А*, не совсем совпадающий с фактом А, то можно сделать вывод, что заключение Б должно принять вид Б*». В качестве примера можно рассмотреть такой вывод. Пусть есть правило «Если температура окружающей среды низкая, то длительность прогулки короткая». На вход нечёткой машине вывода подаётся факт: «Температура окружающей среды очень низкая», – и при помощи имеющегося правила и этого факта машина вывода делает вывод: «Длительность прогулки очень короткая». Это довольно тривиальный пример, который тем не менее показывает, что нечёткий вывод при помощи небольшого количества правил охватывает огромное число возможностей, в том числе и таких, которые вообще не были ранее предусмотрены разработчиком базы знаний с
Другим важным классом формальных логик являются так называемые модальные логики. Это довольно обширный класс, и даже простейшая аристотелева логика может быть представлена в виде модальной. Но формализм модальных логик хорош тем, что при помощи него можно обобщать различные понятия и отношения объективной реальности. В частности, такая частная логика, как темпоральная, позволяет формально рассуждать о вопросах, связанных со временем. В этой логике высказывания также имеют временную привязку – некоторые могут происходить одновременно, другие следовать друг за другом. Другой важной модальной логикой является пространственная логика, которая так же, как и темпоральная, имеет средства выражения пространственных отношений между объектами и высказываниями. Такие высказывания, как «Красный куб находится ближе синего цилиндра», просто формализуются при помощи пространственной логики и очень сложно при помощи аристотелевой. Существуют логики и иных модальностей, но не каждая из них общеприменима, а некоторые эффективны только для каких-либо узких проблемных областей.
Описанные модальные логики имеют важнейшее практическое применение в рамках так называемого пространственно-временного вывода. Чаще всего этот вариант машинного вывода используется в робототехнике, поскольку именно роботы (не только человекоподобные автономные, но и производственные манипуляторы) должны ориентироваться в пространстве и времени. Но также пространственно-временной вывод используется в сложных проблемных областях, в которых требуются рассуждения о том, что было или будет. Чаще всего такие проблемные области относятся к динамическим системам различной природы. В качестве примера можно привести медицину – динамика развития заболевания должна рассматриваться через призму временных отношений, а потому использование временной модальной логики неизбежно.
Важнейшим свойством символьных вычислений является возможность объяснить вывод, полученный при помощи них. Если есть начальные факты, есть последовательность рассуждений и есть множество правил вывода, то можно объяснить, почему из начальных фактов были получены такие-то результаты. Это очень важное свойство интеллектуальных систем, и оно в большей мере соответствует нисходящему подходу в построении искусственного интеллекта.
Раздел 2.2. Искусственные нейронные сети
Искусственная нейронная сеть – это в первую очередь математическая модель машинного обучения, которая решает задачи примерно по тем же принципам, что и биологические нейронные сети, состоящие из нервных клеток. Искусственные нейронные сети имеют программную или аппаратную реализацию, поэтому чисто абстрактная математическая модель воплощена в действительности в виде вычислительной системы. В то же самое время искусственные нейронные сети представляют собой самую широко распространённую модель машинного обучения и одновременно с этим являются типичным подходом в рамках восходящего искусственного интеллекта.
Искусственная нейросеть состоит из множества взаимодействующих друг с другом искусственных нейронов, чаще всего собранных в слои так, что нейроны одного слоя получают информацию только от нейронов предыдущего слоя и передают информацию на следующий слой. Сам по себе искусственный нейрон представляет собой очень упрощённую модель биологического нейрона. У искусственного нейрона есть множество входов, один выход, а также две функции: суммирования и активации. Впрочем, существуют и другие типы искусственных нейронов, в том числе и таких, работа которых зависит от времени. Фактически каждый искусственный нейрон решает задачу простой логистической регрессии (в случае если его функция активации представляет собой сигмоиду).
Первую модель искусственного нейрона предложили Мак-Каллок и Питтс в 1943 году. Эта модель выглядит следующим образом.
Чаще всего в качестве упрощения считается, что входные переменные x1, x2…, xn
Результат функции суммирования передаётся на вход функции активации. В свою очередь, её результат является выходом нейрона y, который передаётся на вход следующим нейронам. Обычно, как уже было указано, функцию активации подбирают так, чтобы область её значений лежала в интервале [0, 1], хотя это и необязательно. В первых реализациях искусственных нейронных сетей функция активации вообще была дискретной с областью определения {0, 1}, и такие нейросети неплохо справлялись с задачами классификации. Сегодня в сетях глубокого обучения могут использоваться разные функции активации у разных нейронов, но обычно все они входят в класс сигмоид – это и логистическая функция, и гиперболический тангенс, и функция Гаусса, и многие другие. Выбор функции активации зависит от многих параметров задачи, и часто архитектор, проектирующий искусственную нейросеть, должен проявить для этого немалый уровень творчества.
Со времён, когда первые разработчики искусственных нейронных сетей сделали свои первые искусственные нейросети, были созданы многочисленные модификации модели, которые подходят для решения более специфичных задач. Конечно, для погружения в теорию искусственных нейросетей необходимо читать специализированную литературу и изучать курсы, но здесь можно кратко охарактеризовать многие интересные модели и решаемые ими задачи. Так что начнём…
Несомненно, первой реализованной моделью искусственной нейронной сети был перцептрон Ф. Розенблатта, который тот предложил в 1957 году. Эта модель была реализована «в железе», первым в мире «нейрокомпьютером» стал компьютер Марк-1, построенный под руководством Розенблатта в 1960 году. Перцептрон – это простая нейронная сеть с тремя слоями: входным, скрытым и выходным. Таким образом, перцептрон реализует простейшую кибернетическую машину с сенсорами (слой входных нейронов), управляющим устройством (слой скрытых нейронов) и аффекторами (слой выходных нейронов). В перцептроне используется пороговая передаточная функция и прямое распространение сигнала. Как математическая модель перцептрон уже был достаточно мощным формализмом для решения большого количества задач, поскольку он на основе обучения позволял классифицировать, кластеризовать и прогнозировать, т. е. решать большинство классических задач машинного обучения. Впрочем, после публикации книги М. Минского и С. Паперта «Перцептроны», в которой авторы показали принципиальную невозможность для перцептрона решить некоторые задачи (сюрприз – задача «XOR», традиционно включаемая в класс нерешаемых перцептроном, на самом деле к таковым не относится), постепенно интерес к перцептрону снизился, и большее внимание стала получать нисходящая парадигма в искусственном интеллекте, при этом сам Марвин Минский был её оппонентом. Тем не менее сегодня с развитием математического аппарата и средств вычислительной техники интерес к перцептрону и его расширениям вновь вырос.
Однослойный перцептрон
Классический перцептрон
Необходимо отметить, что в процессе развития перцептронов появились некоторые расширения первоначальной модели, предложенной Ф. Розенблаттом. Самый простой классификатор основан на подсчёте слоёв в перцептроне: однослойный, с одним скрытым слоем (классический) и многослойный. Все эти типы были в своё время описаны Розенблаттом. Другая авторская классификация включала: элементарный перцептрон, простой перцептрон, перцептрон с последовательными связями, перцептрон с перекрёстными связями, перцептрон с обратными связями, перцептрон с переменными связями. Первые три класса были описаны самим автором, а следующие три развиты в дальнейшем при детальной проработке модели искусственных нейронных сетей.