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

Происхождение и понимание термина "искусственный интеллект"

Процитированное в преамбуле определение искусственного интеллекта, данное Джоном Маккарти в 1956 году на конференции в Дартмутском университете, не связано напрямую с пониманием интеллекта у человека. Согласно Маккарти, ИИ-исследователи вольны использовать методы, которые не наблюдаются у людей, если это необходимо для решения конкретных проблем[1].
Поясняя своё определение, Джон Маккарти указывает: «Проблема состоит в том, что пока мы не можем в целом определить, какие вычислительные процедуры мы хотим называть интеллектуальными. Мы понимаем некоторые механизмы интеллекта и не понимаем остальные. Поэтому под интеллектом в пределах этой науки понимается только вычислительная составляющая способности достигать целей в мире»[1].
В то же время существует и точка зрения, согласно которой интеллект может быть только биологическим феноменом[3].
Как указывает председатель Петербургского отделения Российской ассоциации искусственного интеллекта Т. А. Гаврилова, в английском языке словосочетание artificial intelligence не имеет той слегка фантастической антропоморфной окраски, которую оно приобрело в довольно неудачном русском переводе. Слово intelligence означает «умение рассуждать разумно», а вовсе не «интеллект», для которого есть английский аналогintellect[4].
Участники Российской ассоциации искусственного интеллекта дают следующие определения искусственного интеллекта:
·       Научное направление, в рамках которого ставятся и решаются задачи аппаратного или программного моделирования тех видов человеческой деятельности, которые традиционно считаются интеллектуальными[2].
·       Свойство интеллектуальных систем выполнять функции (творческие), которые традиционно считаются прерогативой человека. При этом интеллектуальная система — это техническая или программная система, способная решать задачи, традиционно считающиеся творческими, принадлежащие конкретной предметной области, знания о которой хранятся в памяти такой системы. Структура интеллектуальной системы включает три основных блока — базу знаний, решатель и интеллектуальный интерфейс, позволяющий вести общение с ЭВМ без специальных программ для ввода данных[2].
·       Наука под названием «Искусственный интеллект» входит в комплекс компьютерных наук, а создаваемые на её основе технологии к информационным технологиям. Задачей этой науки является воссоздание с помощью вычислительных систем и иных искусственных устройств разумных рассуждений и действий[5].
Одно из частных определений интеллекта, общее для человека и «машины», можно сформулировать так: «Интеллект — способность системы создавать в ходе самообучения программы (в первую очередь эвристические) для решения задач определённого класса сложности и решать эти задачи»[6].

Предпосылки развития науки искусственного интеллекта

История искусственного интеллекта как нового научного направления начинается в середине XX века. К этому времени уже было сформировано множество предпосылок его зарождения: среди философов давно шли споры о природе человека и процессе познания мира, нейрофизиологи и психологи разработали ряд теорий относительно работы человеческого мозга и мышления, экономисты и математики задавались вопросами оптимальных расчётов и представления знаний о мире в формализованном виде; наконец, зародился фундамент математической теории вычислений — теории алгоритмов — и были созданы первые компьютеры.
Возможности новых машин в плане скорости вычислений оказались больше человеческих, поэтому в учёном сообществе закрался вопрос: каковы границы возможностей компьютеров и достигнут ли машины уровня развития человека? В 1950 году один из пионеров в области вычислительной техники, английский учёный Алан Тьюринг, пишет статью под названием «Может ли машина мыслить?»[7], в которой описывает процедуру, с помощью которой можно будет определить момент, когда машина сравняется в плане разумности с человеком, получившую название теста Тьюринга.

Краткая история ИИ

Дата
Событие
Исследователь
(ок.1235-ок.1315)
D XIV в. Р.Луллий пытался создать машину для решения различных задач на основе всеобщей классификации понятий
 Р.Луллий
XVIII в.
Г.Лейбниц (1646 — 1716) и Р.Декарт (1596 — 1650) независимо друг от друга развили эту идею, предложив универсальные языки классификации всех наук. Эти идеи легли в основу теоретических разработок в области создания искусственного интеллекта.
Г.Лейбниц и Р.Декарт
1954
Первая программа, которую можно отнести к достижениям в области искусственного интеллекта. Эта была программа "Логик-Теоретик" (1956 г.), предназначенная для автоматического доказательства теорем в исчислении высказываний.
А.Ньюэлл (A.Newel)
1956
Термин искусственный интеллект (artificial intelligence) предложен на семинаре с аналогичным названием в Станфордском университете (США).

Конец 50х
Американскими учеными Г.Розен-блаттом и П.Мак-Каллоком были созданы первые нейросети. Это были попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом. Устройство, созданное ими, получило название перцептрона.
Г.Розен-блатт и П.Мак-Каллок
1960
Была написана программа, которую ее создатели назвали GPS (General Problem Solver )- универсальный решатель задач. GPS могла справляться с рядом головоломок , вычислять неопределенные интегралы, решать некоторые другие задачи.
А.Ньюэлл (A.Newel)
Появились программы автоматического доказательства теорем из планиметрии и решения алгебраических задач (сформулированных на английском языке).
1963
Был разработан язык ЛИСП (LISP, от List Processing ), основу которого составило использование единого спискового представления для программ и данных, применение выражений для определения функций, скобочный синтаксис.
Джона Маккарти (J.McCarty)
1964
Опубликована работа ленинградского логика Сергея Маслова "Обратный метод установления выводимости в классическом исчислении предикатов", в которой впервые предлагался метод автоматического поиска доказательства теорем в исчислении предикатов.
Сергей Маслов
1965
К решению задач стали подключать методы математической логики. На основе метода резолюций [см. подробнее соответствующий доклад], позволившего автоматически доказывать теоремы при наличии набора исходных аксиом, в 1973 г. создается язык Пролог.
Дж.А.Робинсон (J.A.Pobinson)
1966
Был разработан язык рекурсивных функций Рефал, предназначенный для описания языков и разных видов их обработки. Хотя он и был задуман как алгоритмический метаязык, но для пользователя это был, подобно ЛИСПу и Прологу, язык обработки символьной информации
В. Турчинин
В конце 60-х
Эвристическое программирование

Начало 70-х
Появление концепции экспертных систем, качественный скачек в развитии ИИ

Середина 70-х
первые прикладные интеллектуальные системы, использующие различные способы представления знаний для решения задач — экспертные системы

С середины 80-х гг
Происходит коммерциализация искусственного интеллекта. Растут ежегодные капиталовложения, создаются промышленные экспертные системы. Растет интерес к самообучающимся системам.

1982
Широкий интерес к нейронным сетям был инициирован после появления работы Хопфилда, который показал, что задача с изинговскими нейронами может быть сведена к обобщениям ряда моделей, разработанных к тому моменту в физике неупорядоченных систем. Работа сети Хопфилда состоит в релаксации начального "спинового портрета" матрицы двоичных кодов к одному из стационарных состояний, определяемых правилом обучения (правилом Хебба). Таким образом, данная сеть может применяться для задач распознавания.
Hopfield J.J.
1986
Появилась работа Румельхарта, Хинтона и Вильямса, содержавшая ответ на вопрос, долгое время сдерживавший развитие нейроинформатики — как обучаются иерархические слоистые нейронные сети. В последующие годы предложенный Хинтоном алгоритм обратного распространения ошибок претерпел бесчисленное множество вариаций и модификаций.
Rumelhart D.E., Hinton G.E., Williams R.J.

Подходы к пониманию проблемы

Единого ответа на вопрос, чем занимается искусственный интеллект, не существует. Почти каждый автор, пишущий книгу об ИИ, отталкивается в ней от какого-либо определения, рассматривая в его свете достижения этой науки.
В философии не решён вопрос о природе и статусе человеческого интеллекта. Нет и точного критерия достижения компьютерами «разумности», хотя на заре искусственного интеллекта был предложен ряд гипотез, например, тест Тьюрингаили гипотеза Ньюэлла — Саймона. Поэтому, несмотря на наличие множества подходов как к пониманию задач ИИ, так и созданию интеллектуальных информационных систем, можно выделить два основных подхода к разработке ИИ[11]:
·       нисходящий (англ. Top-Down AI), семиотический — создание экспертных систембаз знаний и систем логического вывода, имитирующих высокоуровневые психические процессы: мышление, рассуждение, речь, эмоции, творчество и т. д.;
·       восходящий (англ. Bottom-Up AI), биологический — изучение нейронных сетей и эволюционных вычислений, моделирующих интеллектуальное поведение на основе биологических элементов, а также создание соответствующих вычислительных систем, таких как нейрокомпьютер или биокомпьютер.
Последний подход, строго говоря, не относится к науке о ИИ в смысле, данном Джоном Маккарти, — их объединяет только общая конечная цель.

Тест Тьюринга и интуитивный подход

Эмпирический тест был предложен Аланом Тьюрингом в статье «Вычислительные машины и разум» (англ. ComputingMachinery and Intelligence)[12], опубликованной в 1950 году в философском журнале «Mind». Целью данного теста является определение возможности искусственного мышления, близкого к человеческому.
Стандартная интерпретация этого теста звучит следующим образом: «Человек взаимодействует с одним компьютером и одним человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор». Все участники теста не видят друг друга.
Самый общий подход предполагает, что ИИ будет способен проявлять поведение, не отличающееся от человеческого, причём в нормальных ситуациях. Эта идея является обобщением подхода теста Тьюринга, который утверждает, что машина станет разумной тогда, когда будет способна поддерживать разговор с обычным человеком, и тот не сможет понять, что говорит с машиной (разговор идёт по переписке).
Писатели-фантасты часто предлагают ещё один подход: ИИ возникнет тогда, когда машина будет способначувствовать и творить. Так, хозяин Эндрю Мартина из «Двухсотлетнего человека» начинает относиться к нему как к человеку, когда тот создаёт игрушку по собственному проекту. А Дейта из «Звёздного пути», будучи способным к коммуникации и научению, мечтает обрести эмоции и интуицию.
Однако последний подход вряд ли выдерживает критику при более детальном рассмотрении. К примеру, несложно создать механизм, который будет оценивать некоторые параметры внешней или внутренней среды и реагировать на их неблагоприятные значения. Про такую систему можно сказать, что у неё есть чувства («боль» — реакция на срабатывание датчика удара, «голод» — реакция на низкий заряд аккумулятора, и т. п.). А кластеры, создаваемые картами Кохонена, и многие другие продукты «интеллектуальных» систем можно рассматривать как вид творчества.

Символьный подход

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

Логический подход

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

Агентно-ориентированный подход

Последний подход, развиваемый с начала 1990-х годов, называется агентно-ориентированным подходом, или подходом, основанным на использовании интеллектуальных (рациональных) агентов. Согласно этому подходу, интеллект — это вычислительная часть (грубо говоря, планирование) способности достигать поставленных перед интеллектуальной машиной целей. Сама такая машина будет интеллектуальным агентом, воспринимающим окружающий его мир с помощью датчиков, и способной воздействовать на объекты в окружающей среде с помощью исполнительных механизмов.
Этот подход акцентирует внимание на тех методах и алгоритмах, которые помогут интеллектуальному агенту выживать вокружающей среде при выполнении его задачи. Так, здесь значительно тщательнее изучаются алгоритмы поиска пути ипринятия решений.

Гибридный подход

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

Модели и методы исследований

Символьное моделирование мыслительных процессов

Анализируя историю ИИ, можно выделить такое обширное направление как моделирование рассуждений. Долгие годы развитие этой науки двигалось именно по этому пути, и теперь это одна из самых развитых областей в современном ИИ. Моделирование рассуждений подразумевает создание символьных систем, на входе которых поставлена некая задача, а на выходе требуется её решение. Как правило, предлагаемая задача уже формализована, то есть переведена в математическую форму, но либо не имеет алгоритма решения, либо он слишком сложен, трудоёмок и т. п. В это направление входят: доказательство теоремпринятие решений и теория игрпланирование и диспетчеризацияпрогнозирование.

Работа с естественными языками

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

Представление и использование знаний

Направление инженерия знаний объединяет задачи получения знаний из простой информации, их систематизации и использования. Это направление исторически связано с созданием экспертных систем — программ, использующих специализированные базы знаний для получения достоверных заключений по какой-либо проблеме.
Производство знаний из данных — одна из базовых проблем интеллектуального анализа данных. Существуют различные подходы к решению этой проблемы, в том числе — на основе нейросетевой технологии[15], использующие процедурывербализации нейронных сетей.

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

Проблематика машинного обучения[16] касается процесса самостоятельного получения знаний интеллектуальной системой в процессе её работы. Это направление было центральным с самого начала развития ИИ[17]. В 1956 году, на Дартмундской летней конференции, Рей Соломонофф написал отчёт о вероятностной машине, обучающейся без учителя, назвав её: «Индуктивная машина вывода»[18].
Обучение без учителя — позволяет распознать образы во входном потоке. Обучение с учителем включает такжеклассификацию и регрессионный анализ. Классификация используется, чтобы определить, к какой категории принадлежит образ. Регрессионный анализ используется, чтобы в рядах числовых примеров входа/выхода и обнаружить непрерывную функцию, на основании которой можно было бы прогнозировать выход. При обучении агент вознаграждается за хорошие ответы и наказывается за плохие. Они могут быть проанализированы с точки зрения теории решений, используя такие понятия как полезность. Математический анализ машинных алгоритмов изучения — это раздел теоретической информатики, известный как вычислительная теория обучения (англ. Computational learning theory).
К области машинного обучения относится большой класс задач на распознавание образов. Например, это распознавание символоврукописного текстаречианализ текстов. Многие задачи успешно решаются с помощью биологического моделирования (см. след. пункт). Особо стоит упомянуть компьютерное зрение, которое связано ещё и с робототехникой.

Биологическое моделирование искусственного интеллекта

Отличается от понимания искусственного интеллекта по Джону Маккарти, когда исходят из положения о том, что искусственные системы не обязаны повторять в своей структуре и функционировании структуру и протекающие в ней процессы, присущие биологическим системам. Сторонники данного подхода считают, что феномены человеческого поведения, его способность к обучению и адаптации есть следствие именно биологической структуры и особенностей её функционирования.
Сюда можно отнести несколько направлений. Нейронные сети используются для решения нечётких и сложных проблем, таких как распознавание геометрических фигур или кластеризация объектов. Генетический подход основан на идее, что некий алгоритм может стать более эффективным, если позаимствует лучшие характеристики у других алгоритмов («родителей»). Относительно новый подход, где ставится задача создания автономной программы — агента, взаимодействующей с внешней средой, называется агентным подходом.

Робототехника

Области робототехники и искусственного интеллекта тесно связаны друг с другом. Интегрирование этих двух наук, создание интеллектуальных роботов составляют ещё одно направление ИИ. Интеллектуальность требуется роботам, чтобы манипулировать объектами[20], выполнять навигацию с проблемами локализации (определять местонахождение, изучать ближайшие области) и планировать движение (как добраться до цели)[21]. Примером интеллектуальной робототехники могут служить игрушки-роботы PleoAIBOQRIO.

Машинное творчество

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

Другие области исследований

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

Системы, основанные на знаниях.

Знания, виды знаний, базы знаний, банки знаний

Существуют различные определения понятия «знания».
Знания – это основные закономерности предметной области, позволяющие человеку решать конкретные производственные, научные и другие задачи, то есть факты, понятия, взаимосвязи, оценки, правила, эвристики (иначе фактически знания), а также стратегии принятия решений в этой области (иначе стратегические знания)
Под «знаниями» понимают формализованную информацию, на которую ссылаются или которую используют в процессе решения задачи. Знание о предметной области включает описание объектов, их окружения, необходимых явлений, фактов, а также отношений между ними. Сложность понятия «знание» заключена во множественности его носителя и неразрывности с понятием «данные».
Выделяют несколько уровней формализации знания о предметной области:
·       знания в памяти человека;
·       знания в форме языковой модели предметной области, используемые человеком и зафиксированные на физических носителях с использованием контекстно-зависимых языков, графических образов и т.п.;
·       знания, формализованные для их представления при использовании в ЭВМ;
·       фактографические сведения или данные.
Знания обычно разделяют на 2 большие категории: факты и эвристики. Первая категория (факты) указывает на хорошо известные в той или иной предметной области обстоятельства. Такие знания еще называют текстовыми, имея в виду достаточную их освещенность в специальной литературе и учебниках. Вторая категория (эвристики) основывается на индивидуальном опыте специалиста (эксперта) в предметной области, накопленном в результате многолетней практики. Эта категория нередко играет решающую роль при построении интеллектуальных программ.
База знаний — это совокупность моделей, правил и факторов (данных), порождающих анализ и выводы для нахождения решений сложных задач в некоторой предметной области.

Модели представления знаний

Наиболее распространенными моделями представления знаний являются:
·       продукционные системы;
·       логические модели;
·       фреймы;
·       семантические сети.
В продукционных системах знания представляются в виде совокупности специальных информационных единиц, имеющих следующую структуру:
·       Имя продукции: name
·       Предусловие
·       Условие
·       Если А, то В
·       Постусловие
В общем случае продукционная система включает следующие компоненты:
·       базу данных, содержащую множество фактов;
·       базу правил, содержащую набор продукций;
·       интерпретатор (механизм логического вывода) или правила работы с продукциями.
База правил и база данных образуют базу знаний. Факты в базе данных представляют собой краткосрочную информацию и в принципе могут изменяться в ходе работы продукционной системы по море накопления опыта. Правила являются более долговременной информацией и предназначены для порождения гипотез (новых фактов) из того, что уже известно.
Продукции по сравнению с другими формами представления знаний имеют следующие преимущества:
·       модульность;
·       единообразие структуры (основные компоненты продукционной системы могут применяться для построения интеллектуальных систем с различной проблемной ориентацией);
·       естественность (вывод заключения в продукционной системе во многом аналогичен процессу рассуждений эксперта);
·       гибкость родовидовой иерархии понятий, которая поддерживается только как связи между правилами (изменение правила влечет за собой изменение иерархии).
Однако продукционные системы не свободны от недостатков:
·       процесс вывода менее эффективен, чем в других системах, поскольку большая часть времени при выводе затрачивается на непроизводительную проверку применимости правил;
·       этот процесс трудно поддается управлению;
·       сложно представить родовидовую иерархию понятий.

Логические модели представления знаний реализуются средствами логики предикатов.
Предикатом называется функция, принимающая только два значения  — истина и ложь – и предназначенная для выражения свойств объектов или связей между ними. Выражение, в котором утверждается или отрицается наличие каких-либо свойств у объекта, называется высказыванием.
В общем случае модели, основанные на логике предикатов, описываются формальной системой, которая задается четверкой:
М=(Т, Р, А, П), где
Т – множество базовых элементов или алфавит формальной системы;
Р – множество синтаксических правил, с помощью которых можно строить синтаксически корректные предложения;
А – множество аксиом или некоторых синтаксически правильных предложений, заданных априорно;
П – правила продукций (правила вывода или семантические правила), с помощью которых можно расширять множество А, добавляя в него синтаксически правильные предложения.

Фрейм чаще всего определяют как структуру данных для представления стереотипных ситуаций. Фреймы (дословно — «рамка») – это единица представления знаний, детали которой могут изменяться в соответствии с текущей ситуацией. Фрейм в любой момент времени может быть дополнен различной информацией, касающейся способов применения данного фрейма, последствий этого применения и т.п.

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

Стратегии получения знаний

Существует несколько стратегий получения знаний. Наиболее распространенные:
·       извлечение;
·       приобретение;
·       обнаружение (формирование).


Рисунок 1 — Три стратегии получения знаний



Рисунок 2 — Классификация методов извлечения знаний

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

Свойства систем, основанных на знаниях


Рисунок 3 – Свойства систем, основанных на знаниях

Критерии целесообразности решения задач с помощью систем, основанных на знаниях


Рисунок 4 – Критерии целесообразности решения задач с помощью систем, основанных на знаниях

Области применения систем, основанных на знаниях

Области применения систем, основанных на знаниях, весьма разнообразны:
·       бизнес;
·       производство;
·       военные приложения;
·       медицина;
·       социология;
·       геология;
·       космос;
·       сельское хозяйство;
·       управление;
·       юриспруденция;
·       и т.д.

Типы решаемых задач с помощью систем, основанных на знаниях

Типы решаемых задач с помощью систем, основанных на знаниях:
·       интерпретация символов или сигналов – составление смыслового описания по входным данным;
·       диагностика – определение неисправностей (заболеваний) по симптомам;
·       мониторинг – наблюдение за изменяющимся состоянием объекта и сравнение его показателей с установленными или желаемыми;
·       проектирование – разработка объекта с заданными свойствами при соблюдении установленных ограничений;
·       прогнозирование – определение последствий, наблюдаемых ситуаций;
·       планирование – определение последовательности действий, приводящих к желаемому состоянию объекта;
·       управление – воздействие на объект для достижения желаемого поведения;
·       обучение – объяснение или консультации в той или иной области знаний.
Системы, основанные на знаниях, реализуются на базе следующих интеллектуальных алгоритмов:
·       экспертные системы;
·       нейронные сети;
·       нечеткая логика;
·       генетические алгоритмы.
Т.к. в системах, основанных на знаниях, используются интеллектуальные алгоритмы, то такие системы иногда называют системами искусственного интеллекта.

КЛАССИФИКАЦИЯ НЕЙРОСЕТЕВЫХ АРХИТЕКТУР

Введение. Графическая информация(такая как бумажные чертежи схем и их графические эквиваленты с применением растровой или векторной графики) составляет основной объем проектной и конструкторской документации систем автоматизированного  проектирования.  При  создании  электронных  архивов  перед проектировщиком  возникает  задача  преобразования  информации  из  бумажной формы в электронный вид с идентификацией графических примитивов. Как следствие, актуальной становится задача разработки новых направлений, алгоритмов и методик автоматизации этих процессов.
Задача классификации графических примитивов, выполненных в растровом формате в процессе  преобразования растрового формата в векторный, заключается в отнесении имеющихся статических образцов к определенным классам. Обычно образец представляется в виде вектора. Компоненты этого вектора представляют собой различные характеристики образца, которые влияют на принятие решения о том, к какому классу можно отнести данный образец.
Среди существующих методов решения задачи классификации необходимо выделить способ, в основе которого лежит применение нейронных сетей. Нейронные сети наиболее успешно применяются в задачах классификации, поскольку работают даже в условиях неполной информации и могут решать поставленные задачи с некоторой долей вероятности.
Применяя концепцию искусственных нейронных сетей для решения задачи классификации  графических  образцов,  в  первую  очередь,  необходимо  выбрать структуру сети, подходящую для данной задачи. Это подразумевает как выбор количества слоев сети и нейронов в каждом слое, так и определение необходимых связей между слоями.
Рассмотрим и приведем классификации некоторых существующих нейросетевых архитектур для того, чтобы затем подобрать наиболее подходящую из них для решения задачи классификации графических образов.

Классификация нейронных сетей.

Под нейронной сетью понимают совокупность нейроподобных элементов, которые  определенным образом соединены как друг с другом, так и с внешней средой с помощью связей, которые определяются весовыми коэффициентами. В зависимости от выполняемых функций в сети, можно выделить три разновидности нейронов:
·       входные нейроны, на которые подается сигнал, кодирующий входное воздействие или же образ внешней среды; входной слой обычно не выполняет никаких вычислений, а лишь распределяет входные сигналы;
·       выходные нейроны, значения которых представляют выходы нейронной сети; преобразования в них осуществляются по заранее заложенным математическим функциям;
·       промежуточные нейроны – составляют основу нейронных сетей; в них также выполняются преобразования.
В большинстве существующих нейросетевых моделей тип нейрона зависит от его расположения в сети. Если нейрон имеет только выходные связи, то это входной нейрон, если наоборот - выходной нейрон. Так же возможна ситуация, когда выход внутреннего нейрона рассматривается как часть выхода сети.
В процессе функционирования сети осуществляется преобразование входного сигнала в выходной посредствам некоторой переработки информации. Конкретный вид выполняемого сетью преобразования данных зависит не только от характеристик отдельных нейроподобных элементов, но и от особенностей всей архитектуры. Среди таких особенностей можно выделить: топологии связей между нейронами, задачи выбора определенных подмножеств нейроподобных элементов, как для ввода, так и для вывода информации, различные способы обучения сети, факторы наличия или отсутствия конкуренции между нейронами, а так же направления и способы управления и синхронизации передачи информации между нейронами.
Классификацию  существующих  парадигм  нейронных  сетей  по  топологии можно представить в следующем виде (рис. 1).

Таким образом, с точки зрения топологии, среди нейронных сетей, сформированных на основе нейроподобных элементов, можно выделить три основных типа[3]:
·       полносвязные сети;
·       многослойные или слоистые сети;
·       слабосвязные сети(нейронные сети с локальными связями).
Полносвязные нейронные сети. В полносвязных нейронных сетях каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными  сигналами  сети  могут  быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам[4]. На рис. 2 изображена полносвязная нейронная сеть.

Многослойные сети. Могут строиться из каскадов слоев. Выход одного слоя является входом для последующего слоя[5]. Каждый такой слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из N слоев, которые нумеруются слева направо, начиная с 0. Внешние сигналы подаются на входы нейронов входного слоя(его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя[3].
На рис. 3 приведена структура трехслойной сети.

В свою очередь, среди многослойных нейронных сетей выделяют следующие типы.
1) Сети прямого распространения (feedforward networks) – это сети без обратных связей. Передача сигналов в таких сетях происходит только в одном направлении от входа к выходу[6]. Сигналы поступают на нейроны входного слоя, который преобразует их и передает далее последовательно на каждый скрытый слой, пока не будет достигнут выходной слой, который уже выдает сигналы пользователю. Таким образом, что в зависимости от способа соединения слоев, сигнал n-го слоя подается на входы (n+1)-го слоя, либо на входы нейронов (n+m)-го слоя.
Среди нейронных сетей прямого распространения выделяют два типа: однослойные и многослойные сети прямого распространения.
Однослойная сеть прямого распространения представляет собой простейший случай прямонаправленной многослойной сети. Она включает в себя слой входных нейронов и слой выходных. Нейроны входного слоя просто передают сигналы на выходной слой, не преобразуя их. В выходном слое происходит преобразование сигналов и формирование реакции сети. В отличие от принятой методики обозначения, такие нейронные сети называются однослойными, а не двухслойными. Этим подчеркивается, что вычисления производятся лишь одним слоем сети[7].
Многослойная сеть прямого распространения. Особенностью такой сети является наличие кроме входного и выходного слоев одного или нескольких скрытых слоев (hidden layer) или скрытых элементов (hidden unit). Они представляют собой нейроны, которые не имеют непосредственных входов, а связаны  лишь с выходами  входного слоя и с входом выходного слоя. Функция скрытых нейронов заключается в посредничестве между внешним входным сигналом и выходом нейронной сети[8]. Таким образом, скрытые слои  дополнительно преобразуют информацию и привносят в модель нелинейности.
2) Монотонные. В таких сетях каждый слой, кроме последнего(выходного), состоит из двух блоков: возбуждающего и тормозящего. Связи между блоками тоже разделяются на тормозящие и возбуждающие. Если от нейронов блока А к нейронам блока В ведут только возбуждающие связи, то это означает, что любой выходной сигнал блока В является монотонной неубывающей функцией любого выходного сигнала блока А. Если же эти связи только тормозящие, то любой выходной сигнал блока В является невозрастающей функцией любого выходного сигнала блока А. Для нейронов монотонных сетей необходима монотонная зависимость выходного сигнала нейрона от параметров входных сигналов[3].
3) Рекуррентные сети(recurrent networks) или сети с обратными связями организованы так, что  каждый нейрон  получает входную информацию  от других нейронов, возможно, и от самого себя, и от окружающей среды.
В отличие от нейронных сетей прямого распространения, в рекуррентных сетях, состоящих из входного, скрытого и выходного слоев, у нейронов второго слоя имеется две группы входов. Первая группа входов i-го нейрона соединена синаптическими связями с m сенсорными элементами, а вторая– соединена с выходами элементов, вносящих задержку выходных сигналов на один такт, i = 1,..., m. Конфигурация подобной сети(рис. 4) определяется числом входов m и числом нейронов скрытого слоя.

Среди сетей с обратными связями, в свою очередь, выделяют следующие:
·       слоисто-циклические, отличающиеся тем, что слои замкнуты в кольцо: последний слой передает свои выходные сигналы первому; все слои равноправны и могут как получать входные сигналы, так и выдавать выходные;
·       слоисто-полносвязанные состоят из слоев, каждый из которых представляет собой полносвязную сеть, а сигналы передаются как от слоя к слою, так и внутри слоя; в каждом слое цикл работы распадается на три части: прием сигналов с предыдущего слоя, обмен сигналами внутри слоя, выработка выходного сигнала и передача к последующему слою;
·       полносвязанно-слоистые,  по  своей  структуре  аналогичные  слоисто-полносвязанным, но функционирующим по-другому: в них не разделяются фазы обмена внутри слоя и передачи следующему, на каждом такте нейроны всех слоев принимают сигналы от нейронов, как своего слоя, так и последующих[2].
Наличие обратных связей и элементов временной задержки сигналов придает рекуррентным сетям собственные нелинейные динамические свойства.
Слабосвязные сети. В слабосвязных нейронных сетях(рис. 5) нейроны располагаются в узлах прямоугольной или гексагональной решетки. Каждый нейрон в такой архитектуре связан с четырьмя(область фон Неймана), шестью(область Голея) или восемью(область Мура) своими ближайшими соседями[2].

Известные на сегодняшний день нейронные сети можно также разделить по типам структур нейронов на гомогенные(однородные) и гетерогенные. Гомогенные сети состоят из нейронов одного типа с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.
Рассматривая возможные классификации нейронных сетей, важно отметить существование классификации нейронных сетей по типу сигнала. Так, нейросети разделяются на бинарные и аналоговые. Первые из них оперируют только двоичными сигналами и выход каждого нейрона может принимать в качестве входного значения логический ноль("заторможенное" состояние) или логическая единица ("возбужденное" состояние). В  аналоговых  сетях  выходные  значения  нейронов способны принимать непрерывные значения[2].
Еще одна классификация делит нейронные сети на синхронные и асинхронные[9]. В первом случае, в каждый момент времени свое состояние меняет лишь один нейрон. Во втором– состояние меняется сразу у целой группы нейронов, как правило, у всего слоя.
Сети можно классифицировать также по числу слоев[2]. Теоретически число слоев и число нейронов в каждом слое может быть произвольным, на практике же оно ограничено ресурсами аппаратной базы, на которой реализуется нейронная сеть. Чем сложнее сеть, тем более сложные задачи она может решать.
Выбор структуры нейронной сети осуществляется в соответствии с особенностями и сложностью задачи. Для решения отдельных типов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных типов, приходится решать сложную проблему– синтезановой конфигурации.
Для решения задачи классификации графических образцов в САПР хорошо подходят сети  прямого распространения, так как они являются универсальным средством  аппроксимации  функций.  Простейшие  однослойные  нейронные  сети прямого распространения способны решать только линейно разделимые задачи, поэтому  необходимо  использовать  архитектуру  с  дополнительными  скрытыми слоями. Для более конкретного определения числа слоев, необходимого для решения задачи, существует два способа построения сетей– конструктивный или деструктивный. При использовании первого из них берется сеть минимального размера, и постепенно увеличивается до достижения требуемой точности. При деструктивном методе построения нейронной сети вначале берется сеть завышенного объема. Затем из нее удаляются узлы и связи, мало влияющие на решение. Так же для повышения достоверности классификации можно ввести избыточность путем выделения каждому классу одного или нескольких нейронов в выходном слое, каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности[10].
Правильный выбор архитектуры нейронной сети имеет большое значение. Но качество идентификации и классификации объектов также зависит и от процесса обучения. Чем быстрее и более точно нейронная сеть будет обучена работе с графическими примитивами, тем более качественно будет проведена векторизация.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.              Заенцев И.В. Нейронные сети: основные модели: Учебное пособие к курсу «Нейронные сети». – Воронеж, 1999. – 24 c.
2.              Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и практика. – М.:  Горячая линия– Телеком, 2001. – 382 с.
3.              Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. – М.: Физматлит, 2001. – 224 с.
4.              Горбань А.Н., Дунин-Барковский В.Л., Кирдин А.Н. и др. Нейроинформатика. – Новосибирск: Наука. Сибирское предприятие РАН, 1998. – 296 с.
5.              Яхъяева Г.Э. Нечеткие множества и нейронные сети: Учебное пособие. – М.: Интернет-университет  информационных  технологий;  БИНОМ.  Лаборатория  знаний, 2006. – 157 c.
6.              Осовский С. Нейронные сети для обработки информации. – М.: Финансы и статистика, 2002. – 46 c.
7.              Махотило К.В. Разработка методик эволюционного синтеза нейросетевых компонентов систем управления/ Диссертация на соискание ученой степени канд. техн. наук. – Харьков, 1998. – 189 с.
8.              А.В. Чижков, С.В. Сеитова - КЛАССИФИКАЦИЯ НЕЙРОСЕТЕВЫХ АРХИТЕКТУР - Известия ЮФУ. Технические науки - УДК007.52:611.81
9.              Девятков В. В. Системы искусственного интеллекта / Гл. ред. И. Б. Фёдоров. — М.: Изд-во МГТУ им. Н. Э. Баумана, 2001. — 352 с. — (Информатика в техническом университете). — 3000 экз. — ISBN 5-7038-1727-7.
10.          Корсаков С.Н. Начертание нового способа исследования при помощи машин, сравнивающих идеи / Под ред. А.С. Михайлова. — М.: МИФИ, 2009. — 44 с. — 200 экз. — ISBN 978-5-7262-1108-4.
11.          Лорьер Ж.-Л. Системы искусственного интеллекта. — М.: Мир, 1991. — 568 с. — 20 000 экз. — ISBN 5-03-001408-X.
12.          Люгер Дж. Ф. Искусственный интеллект: стратегии и методы решения сложных проблем = Artificial Intelligence: Structures and Strategies for Complex Problem Solving / Под ред. Н. Н. Куссуль. — 4-е изд. — М.: Вильямс, 2005. — 864 с. — 2000 экз. — ISBN 5-8459-0437-4.
13.          Нильсон Н. Искусственный интеллект. — М.: Мир, 1973. — 273 с.
14.          Петрунин Ю. Ю., Рязанов М. А., Савельев А. В. Философия искусственного интеллекта в концепциях нейронаук. (Научная монография). — М.: МАКС Пресс, 2010. — ISBN 978-5-317-03251-7.
15.          Рассел С.Норвиг П. Искусственный интеллект: современный подход = Artificial Intelligence: a Modern Approach / Пер. с англ. и ред. К. А. Птицына. — 2-е изд. — М.: Вильямс, 2006. — 1408 с. — 3000 экз. — ISBN 5-8459-0887-6.
16.          Смолин Д. В. Введение в искусственный интеллект: конспект лекций. — М.: ФИЗМАТЛИТ. — 208 с. — ISBN 5-9221-0513-2.

17.          Хант Э. Искусственный интеллект = Artificial intelligence / Под ред. В. Л. Стефанюка. — М.: Мир, 1978. — 558 с. — 17 700 экз.

Комментарии

Популярные сообщения