Файл: Конспект лекций по дисциплине прикладные компьютерные технологии Направление подготовки 09. 03. 01 Информатика и вычислительная техника.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.03.2024
Просмотров: 72
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Под гибридной интеллектуальной системой (ГиИС) принято понимать систему, в которой для решения задачи используется более одного метода имитации интеллектуальной деятельности человека
Нейронные сети и их вариации. Представляют собой сеть взаимосвязанных элементов, которые являются математической моделью нейронов мозга. Используются для определения априорно неизвестных сложных функциональных зависимостей на основании статистических данных. Существует несколько основных, базовых направлений в разработке ИИ, но на текущий момент, наиболее эффективны алгоритмы на основе CNN (сверточная нейронная сеть) и RNN (рекуррентная нейронная сеть). CNN — это однонаправленная (без обратных связей) многослойная сеть, которая отлично подходит для работы с такими данными, как изображения и видео, где данные размещены в виде сетки пикселей. В свою очередь RNN хорошо справляется с последовательными данными, такими как текст и аудио. CNN называется «сетью прямой связи», а RNN называется «сетью обратной связи». Слух, возможность говорить, зрение и прогнозирующая интуиция базируются на использовании обеих сетей (CNN и RNN), а также технологии обработки естественного языка (NLP), которые дополняют друг друга. Подобные технологии используются в Alexa, Siri, Google Now, Cortana и других интеллектуальных голосовых помощниках.
Байесовы (вероятностные) сети. Моделируют вероятностные причинно-следственные связи. Позволяют рассчитывать вероятность наступления того или иного события при известной априорной вероятности причин. Позволяют строить модели в режиме реального времени с учетом неполноты данных и возможностью корректировки результата при появлении дополнительной информации. Могут использоваться для совместной обработки данных количественного и качественного характера.
Методы эвристической самоорганизации. Методы данной группы исследуют функциональные и вероятностные взаимосвязи «входов» и «выходов» некоторой системы, т.е. позволяют моделировать сложные нелинейные процессы и системы при отсутствии априорных знаний о структуре модели. Метод группового учета аргументов (МГУА), например, позволяет моделировать неизвестные закономерности функционирования исследуемого процесса или системы по информации, неявно присутствующей в выборке «входных» и «выходных» данных.
Теория игр. Позволяет формализовать описание процессов принятия сознательных целенаправленных решений при участии одной или нескольких сторон в условиях неопределенностей, риска и конфликта, которые возникают при столкновении интересов. Задача теории игр заключается в предложении рекомендаций рационального образа действий участников процесса принятия решений, т.е. в определении оптимальной стратегии для каждого из них.
Теория хаоса. Предлагает новые методы анализа данных, позволяющие выявлять скрытые зависимости там, где раньше систему считали случайной, и не имеющей каких-либо закономерностей. Применение аппарата теории хаоса позволяет качественно изучать нестабильное апериодическое поведение в нелинейных динамических системах, например, в экономических, экологических, социальных и биологических системах и процессах.
Многозначные логики. Нечеткая логика. Логика антонимов*. Расширяет возможности «обычной» двоичной логики, оперирующей только понятиями «1-да» и «0-нет». Позволяет оперировать с нечеткой, неточной, «размытой» информацией. Дает возможность использования качественных, а не количественных характеристик, что позволяет манипулировать лингвистическими понятиями и знаниями, выражаемыми на обычном языке (например, для описания процессов: «плохо»-«средне»-«хорошо», «огромный-большой-маленький-мизерный» и т.д.).
Эволюционные и клональные алгоритмы. Адаптивные методы поиска, используемые для решения задач функциональной оптимизации. Основаны на эволюционных процессах биологических организмов: популяции развиваются, подчиняясь законам естественного отбора и принципу «выживает сильнейший». Моделируя этот процесс, эволюционные алгоритмы, в частности генетические, способны «развивать» решения реальных задач, если они соответствующим образом закодированы. Такой подход является динамическим и позволяет довольно быстро находить оптимальные, с определенной точки зрения, решения.
Методы экспертных оценок. Применяются при отсутствии возможности или трудо-ресурсной нецелесообразности получения данных в количественном выражении. При моделировании многих процессов и систем, например, экономических, социальных и биологических, понятие точных числовых оценок теряет всякий смысл. В таких случаях обращаются к использованию знаний и опыта экспертов — методам экспертных оценок, которые включают в себя методы получения, формализации и интеграции экспертных знаний.
Иммунные сети. Основаны на принципах функционирования иммунной системы позвоночных, которая, выступает «вторым» интеллектом — как и нервная система, обладает такими свойствами как память, способность обучаться, умение распознавать и принимать решения о том, как вести себя в новых ситуациях. Методы, основанные на концепции искусственных иммунных сетей, используются в задачах распознавания образов, информационной безопасности, прогнозировании временных рядов и многих других.
Роевой интеллект. Данный подход основан на коллективном интеллекте социальных насекомых, таких как муравьи и пчелы, каждая особь которых обладает очень малыми возможностями. Но, собираясь в многотысячную и многомиллионную колонию, они становятся роем, представляющим собой мощную интеллектуальную распределенную систему. Многие современные задачи управления, моделирования и прогнозирования могут быть эффективно решены с помощью автономных эмерджентных систем, построенных по такому принципу. Наиболее активными сферами применения являются социальное и электоральное моделирование, экономическое прогнозирование, маркетинговые исследования и исследования по корпоративному климату.
Описание некоторых алгоритмов ИИ
Часто люди путают (а иногда и отождествляют) понятия «нейронная сеть» и «искусственный интеллект». Но это разные понятия.
Экспертные системы. Одно из центральных понятий во многих отраслях искусственного интеллекта — знание. Это информация вместе со способом её интерпретации. Если система не только обладает информацией, но и способна объяснить её, это значит что она «понимает» или обладает знанием.
Существуют различные предметные области, в том числе очень узкие. Эксперты в этих областях способны делать выводы, основываясь на входных данных и своих знаниях. Опытный гонщик может по звуку двигателя определить марку проезжающего автомобиля. Доктор, только посмотрев на симптомы пациента, может поставить диагноз. Обычным людям, не экспертам, это сложнее, а иногда и вовсе не под силу. Чем специфичнее и у́же предметная область, тем сложнее найти в ней эксперта. Но что, если собрать знания экспертов и растиражировать их? Например, доктор знает, что, если у пациента волчанка, ему нужно дать стероиды. К сожалению, не все больные этим заболеванием могут попасть в крупный медицинский центр. Но что, если даже сельская медсестра сможет назначить верное лечение, просто запустив компьютер и введя симптомы пациента?
Для этого служат экспертные системы. Они состоят из двух основных частей: механизма логического вывода и базы знаний. Если знания представлять в определённом виде, можно с небольшими настройками использовать один и тот же механизм логического вывода для разных областей знаний.
Основная проблема при создании экспертных систем – построение базы знаний. Во-первых, по разным причинам получить от экспертов знания бывает очень непросто. Во-вторых, в выводах эксперта часто присутствует так называемый здравый смысл – то, что само собой разумеется.
Такие сведения могут не формулироваться экспертом, но при этом влиять на решение.
Например, у пациента симптомы тропической лихорадки. Эксперты говорят, что если человек не был в тропиках, то у него не может быть этой болезни. Пациент утверждает, что в тропиках не был. Экспертная система делает вывод, что у него другое заболевание. А вот эксперт в данной ситуации может руководствоваться другим — он может догадаться, что все врут, и пора вламываться в дом к пациенту, чтобы доказать, что это именно тропическая лихорадка. Если таких знаний будет слишком много, это сильно затруднит создание экспертной системы. В этом случае экспертную систему можно рассматривать не как точный инструмент, а как систему поддержки принятия решений. Работа с ней происходит следующим образом: система задает вопросы пользователю, по мере получения ответов механизм логического вывода движется по базе знаний, определяет, какие ещё вопросы нужно задать и в конце делает вывод. Причём, экспертная система может объяснить всю цепочку рассуждений, что также является преимуществом. А вместо пользователя могут быть датчики или другие устройства, чтобы, например, в реальном времени отслеживать состояние атомной станции.
Нейронные сети. С помощью экспертных систем машина может делать сложные выводы в сложных предметных областях. Но некоторые совершенно простые для человека вещи всё равно остаются неподвластны компьютеру. Не нужно быть экспертом, чтобы прочитать цифры на картинке. Но для машины эта задача довольно сложна. Итак, ещё одна задача, решаемая силой искусственного интеллекта — распознавание и классификация объектов. Вот тут на помощь приходят нейронные сети. Они основаны на принципах работы биологического мозга. Грубо говоря, когда человек видит какой-либо объект, это вызывает возбуждение сначала в зрительном нерве, потом в нейронах. Одни нейроны воспринимают этот сигнал, другие игнорируют. В итоге возбуждаются только определённые участки мозга, что и означает узнавание образа. То есть если образ кошки «хранится» в определённых нейронах мозга, то когда мы видим кошку, именно эти нейроны приходят в возбуждённое состояние, что и позволяет нам сделать вывод: я вижу кошку.
Конечно, это всё грубо и упрощённо. Теория нейронных сетей за последнее время продвинулась далеко вперёд. Есть множество видов нейросетей, появилась куча фреймворков для удобной работы с ними и очень много теоретической информации. Поэтому подробно в эту тему я углубляться не буду, скажу только, что после построения нейросети необходимо тонко настроить её параметры, чтобы она выдавала правильный результат при определённых данных на входе. Для такой настройки проводят обучение сети. На вход подают много различных данных для распознавания, проверяют результаты и корректируют работу сети. Этот этап может быть довольно объёмным и сложным, мы ведь тоже не сразу выучили все цифры. Но за счёт этого нейросети могут решать ещё одну задачу искусственного интеллекта — машинное обучение. Что если по мере работы компьютер мог бы учиться и совершенствоваться? С каждой новой шахматной партией играть всё лучше и лучше? С нейросетями он это может.
Вывод на фреймах. Но бывает, что классифицировать нужно сложные нечёткие объекты. И на основе этой классификации сделать какие-то выводы или предпринять действия. Например, в некой компьютерной игре рыцарю нужно принять решение, что делать. Допустим, ситуация сложилась так, что рядом с рыцарем находится вражеский рыцарь, замок и монстр, который охраняет ценный артефакт. Так как это компьютерная игра, распознавать тут ничего не надо — вся информация о положении вещей уже есть. Нужно только принять решение: напасть на врага, напасть на монстра или зайти в замок. Человек в данной ситуации исходит из силы монстра, силы своего и чужого рыцаря. Условия могут быть примерно такими:
-
Если ситуация опасная, зайти в замок (в нём легче обороняться). -
Если враг слабый — напасть на него. -
Если силы примерно равны, оценить возможность победы над монстром (артефакт может дать преимущество).
Отлично, компьютер теперь мог бы принять решение. Ему только нужно знать, «опасная» ситуация или нет, «слабый» враг или нет. Это нечёткие понятия, у них нет явных границ. Кроме того, необходимо оценить всю ситуацию. А ситуации могут быть очень разными, всего заранее не предусмотришь. Психологи говорят, что человек может на основе своего опыта строить выводы и предположения об объектах, которые видит впервые. Например, если мы входим в помещение в здании, мы уже заранее классифицируем его как комнату, предполагаем, что в ней будет 4 стены, пол и потолок. Затем мы уже можем заметить, что одна стена в ней прозрачная, а потолок выше, чем обычно, но это всё равно комната.
Вывод на фреймах использует принципы человеческой психики, чтобы делать логические заключения и предположения.
Фрейм в данном контексте — это, говоря очень упрощённо, набор ячеек, описывающих ситуацию. В каждой ячейке может быть понятие, величина или другой фрейм. Часть фрейма означивается имеющимися данными. Таким образом, фреймы выстраиваются в цепочки, в одном конце которых возможные решения, а в другом — исходные данные. Если бо́льшая часть фрейма определена, принимается и остальная его часть. Например, для каждого возможного решения в нашей игре есть фрейм. Пусть фрейм решения такой:
-
действие → зайти в замок; -
опасная ситуация → да. «Опасная» ситуация — это тоже фрейм, примерно такой: -
расстояние до врага → малое; -
сила врага → большая.
Далее расписывается, что такое враг, что такое его сила, и так далее, пока не дойдём до простых объектов. Во время принятия решения идём в обратном направлении, то есть, если оказалось, что враг близко и он сильный, принимаем весь фрейм. Получается что ситуация опасная и принимаем фрейм