Искусственный интеллект и системы искусственного интеллекта
Базовые понятия и основные задачи искусственного интеллекта (ИИ). История развития систем ИИ. Представление входных данных. Различные подходы к построению систем ИИ. Нейронные сети Хопфилда и Хэмминга. Основные положения и применение нейронных сетей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.06.2011 |
Размер файла | 436,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Новосибирский Государственный Технический Университет
Кафедра вычислительной техники
РЕФЕРАТ
По дисциплине
«Концептуальные основы информатики»
«Искусственный интеллект и системы искусственного интеллекта»
Выполнил
студент группы АМ-416
Шиловский А.А.
Проверил
Вихман В.В
Новосибирск 2004г.
ОГЛАВЛЕНИЕ:
Базовые понятия ИИ
История развития систем ИИ
Основные задачи искусственного интеллекта
Различные подходы к построению систем ИИ
Нейронные сети: основные положения
Представление входных данных
Нейронные сети Хопфилда и Хэмминга
Применение нейронных сетей
СПИСОК ЛИТЕРАТУРЫ
Базовые понятия ИИ
Термин интеллект (intelligence) происходит от латинского intellectus -- что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) -- ИИ (AI) обычно означает свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.
Мы будем называть интеллектом способность мозга решать задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.
В этом определении под термином "знания" подразумевается не только та информация, которая поступает в мозг через органы чувств. Такого типа знания чрезвычайно важны, но недостаточны для интеллектуальной деятельности. Дело в том, что объекты окружающей нас среды обладают свойством не только воздействовать на органы чувств, но и находиться друг с другом в определенных отношениях. Ясно, что для того, чтобы осуществлять в окружающей среде интеллектуальную деятельность, необходимо иметь в системе знаний модель этого мира. В этой информационной модели окружающей среды реальные объекты, их свойства и отношения между ними не только отображаются и запоминаются, но и, как это отмечено в данном определении интеллекта, могут мысленно "целенаправленно преобразовываться". При этом существенно то, что формирование модели внешней среды происходит "в процессе обучения на опыте и адаптации к разнообразным обстоятельствам".
Мы употребили термин интеллектуальная задача. Для того чтобы пояснить, чем отличается интеллектуальная задача от просто задачи, необходимо ввести термин "алгоритм" -- один из краеугольных терминов кибернетики.
Под алгоритмом понимают точное предписание о выполнении в определенном порядке системы операций для решения любой задачи из некоторого данного класса (множества) задач. Термин "алгоритм" происходит от имени узбекского математика Аль-Хорезми, который еще в IX веке предложил простейшие арифметические алгоритмы. В математике и кибернетике класс задач определенного типа считается решенным, когда для ее решения установлен алгоритм. Нахождение алгоритмов является естественной целью человека при решении им разнообразных классов задач. Отыскание алгоритма для задач некоторого данного типа связано с тонкими и сложными рассуждениями, требующими большой изобретательности и высокой квалификации. Принято считать, что подобного рода деятельность требует участия интеллекта человека. Задачи, связанные с отысканием алгоритма решения класса задач определенного типа, будем называть интеллектуальными.
Что же касается задач, алгоритмы решения которых уже установлены, то, как отмечает известный специалист в области ИИ М. Минский, "излишне приписывать им такое мистическое свойство, как "интеллектуальность". В самом деле, после того, как такой алгоритм уже найден, процесс решения соответствующих задач становится таким, что его могут в точности выполнить человек, вычислительная машина (должным образом запрограммированная) или робот, не имеющие ни малейшего представления о сущности самой задачи. Требуется только, чтобы лицо, решающее задачу, было способно выполнять те элементарные операции, из которых складывается процесс, и, кроме того, чтобы оно педантично и аккуратно руководствовалось предложенным алгоритмом. Такое лицо, действуя, как говорят в таких случаях, чисто машинально, может успешно решать любую задачу рассматриваемого типа.
Поэтому представляется совершенно естественным исключить из класса интеллектуальных такие задачи, для которых существуют стандартные методы решения. Примерами таких задач могут служить чисто вычислительные задачи: решение системы линейных алгебраических уравнений, численное интегрирование дифференциальных уравнений и т. д. Для решения подобного рода задач имеются стандартные алгоритмы, представляющие собой определенную последовательность элементарных операций, которая может быть легко реализована в виде программы для вычислительной машины. В противоположность этому для широкого класса интеллектуальных задач, таких, как распознавание образов, игра в шахматы, доказательство теорем и т. п., формальное разбиение процесса поиска решения на отдельные элементарные шаги часто оказывается весьма затруднительным, даже если само их решение несложно.
Таким образом, мы можем перефразировать определение интеллекта как универсальный сверхалгоритм, который способен создавать алгоритмы решения конкретных задач.
Интересным замечанием здесь является то, что профессия программиста, исходя из наших определений, является одной из самых интеллектуальных, поскольку продуктом деятельности программиста являются программы -- алгоритмы в чистом виде. Именно поэтому, создание даже элементов ИИ должно очень сильно повысить производительность его труда.
Деятельность мозга (обладающего интеллектом), направленную на решение интеллектуальных задач, мы будем называть мышлением, или интеллектуальной деятельностью. Интеллект и мышление органически связаны с решением таких задач, как доказательство теорем, логический анализ, распознавание ситуаций, планирование поведения, игры и управление в условиях неопределенности. Характерными чертами интеллекта, проявляющимися в процессе решения задач, являются способность к обучению, обобщению, накоплению опыта (знаний и навыков) и адаптации к изменяющимся условиям в процессе решения задач. Благодаря этим качествам интеллекта мозг может решать разнообразные задачи, а также легко перестраиваться с решения одной задачи на другую. Таким образом, мозг, наделенный интеллектом, является универсальным средством решения широкого круга задач для которых нет стандартных, заранее известных методов решения.
Следует иметь в виду, что существуют и другие, чисто поведенческие (функциональные) определения. Так, по А. Н. Колмогорову, любая материальная система, с которой можно достаточно долго обсуждать проблемы науки, литературы и искусства, обладает интеллектом. Другим примером поведенческой трактовки интеллекта может служить известное определение А. Тьюринга. Его смысл заключается в следующем. В разных комнатах находятся люди и машина. Они не могут видеть друг друга, но имеют возможность обмениваться информацией (например, с помощью электронной почты). Если в процессе диалога между участниками игры людям не удается установить, что один из участников -- машина, то такую машину можно считать обладающей интеллектом. Однако если испытатель при проверке компьютера на интеллектуальность будет придерживаться достаточно жестких ограничений в выборе темы и формы диалога, этот тест выдержит любой современный компьютер, оснащенный подходящим программным обеспечением. Можно было бы считать признаком интеллектуальности умение поддерживать беседу, но, как было показано, эта человеческая способность легко моделируется на компьютере.
Кстати, интересен план имитации мышления, предложенный А. Тьюрингом. "Пытаясь имитировать интеллект взрослого человека, -- пишет Тьюринг, -- мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг своего настоящего состояния… Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующее воспитание, он становится интеллектом взрослого человека… Наш расчет состоит в том, что устройство, ему подобное, может быть легко запрограммировано… Таким образом, мы расчленим нашу проблему на две части: на задачу построения "программы-ребенка" и задачу "воспитания" этой программы".
Забегая вперед, можно сказать, что именно этот путь используют практически все системы ИИ. Ведь понятно, что невозможно заложить все знания в достаточно сложную систему. Кроме того, только на этом пути проявятся перечисленные выше признаки интеллектуальной деятельности (накопление опыта, адаптация и т. д.).
История развития систем ИИ
Раньше с понятием искусственного интеллекта (ИИ) связывали надежды на создание мыслящей машины, способной соперничать с человеческим мозгом и, возможно, превзойти его. Эти надежды, на долгое время захватившие воображение многих энтузиастов, так и остались несбывшимися. И хотя фантастические литературные прообразы умных машин создавались еще за сотни лет до наших дней, лишь с середины тридцатых годов, с момента публикации работ А. Тьюринга, в которых осуждалась реальность создания таких устройств, к проблеме ИИ стали относиться серьезно.
Начиная с 1984 года учёные разных областей науки занимаются разработкой системы, которая позволила бы компьютеру мыслить. Сегодня существует база данных под названием Cyc 1.4, способная производить простые верные утверждения.
В базу данных под кодовым названием Cyc версии 1.4 были внесены миллионы житейских истин и понятий для того, чтобы компьютер мог производить на их основе простые верные утверждения, над которыми люди даже не задумываются. Например, "Умершие существа не воскресают. У собак есть позвоночник. Карабкаться по крутому склону физически трудно".
Специально для Cyc был создан язык программирования - CycL.
Система предусматривает некоторые логические нюансы. Например, если спросить у Cyc есть ли у Лесси нос, то система будет "рассуждать" следующим образом: Лесси - это колли, колли - порода собак, собаки - позвоночные животные, у позвоночных есть носы, следовательно ответ будет "да".
Когда учёные добавили в Cyc возможность задавать свои вопросы, система спросила, человек ли она и есть ли другие компьютеры, задействованные в подобном проекте.
Cyc также обучена осторожному обращению со специальной терминологией и умеет распознавать характер обращений - например, научный или житейский вопрос ей задан.
Учёные, работающие над проектом, ставят перед собой достаточно амбициозные цели - сделать Cyc самоорганизующейся и самообучающейся системой. Если им это удастся, можно будет говорить о начале новой эры компьютерной техники. Вот только что если "поумневшие" компьютеры смогут обходиться без человека?
Исторически сложились три основных направления в моделировании ИИ.
В рамках первого подхода объектом исследований являются структура и механизмы работы мозга человека, а конечная цель заключается в раскрытии тайн мышления. Необходимыми этапами исследований в этом направлении являются построение моделей на основе психофизиологических данных, проведение экспериментов с ними, выдвижение новых гипотез относительно механизмов интеллектуальной деятельности, совершенствование моделей и т. д.
Второй подход в качестве объекта исследования рассматривает ИИ. Здесь речь идет о моделировании интеллектуальной деятельности с помощью вычислительных машин. Целью работ в этом направлении является создание алгоритмического и программного обеспечения вычислительных машин, позволяющего решать интеллектуальные задачи не хуже человека.
Наконец, третий подход ориентирован на создание смешанных человеко-машинных, или, как еще говорят, интерактивных интеллектуальных систем, на симбиоз возможностей естественного и искусственного интеллекта. Важнейшими проблемами в этих исследованиях является оптимальное распределение функций между естественным и искусственным интеллектом и организация диалога между человеком и машиной.
Самыми первыми интеллектуальными задачами, которые решались при помощи ЭВМ были логические игры (шашки, шахматы), доказательство теорем. Хотя, здесь надо отметить еще кибернетические игрушки типа "электронной мыши" Клода Шеннона, которая управлялась сложной релейной схемой. Эта мышка могла "исследовать" лабиринт и находить выход из него. Кроме того, помещенная в уже известный ей лабиринт, она не искала выход, а сразу же, не заглядывая в тупиковые ходы, выходила из лабиринта.
Признаком интеллектуальности может служить способность к обучению. В 1961 г. профессор Д. Мичи, один из ведущих английских специалистов по ИИ, описал механизм, состоящий из 300 спичечных коробков, который мог научиться играть в крестики и нолики. Мичи назвал это устройство MENACE (Matchbox Educable Naughts and Crosses Engine). В названии (угроза) заключается, очевидно, доля иронии, вызванной предубеждениями перед думающими машинами.
Американский кибернетик А. Самуэль составил для вычислительной машины программу, которая позволяла ей играть в шашки, причем в ходе игры машина обучалась или, по крайней мере, создавалось впечатление, что обучается, улучшая свою игру на основе накопленного опыта. В 1962 г. эта программа сразилась с Р. Нили, сильнейшим шашистом в США и победила.
Каким образом машине удалось достичь столь высокого класса игры?
Естественно, что в машину были программно заложены правила игры так, что выбор очередного хода был подчинен этим правилам. На каждой стадии игры машина выбирала очередной ход из множества возможных ходов согласно некоторому критерию качества игры. В шашках (как и в шахматах) обычно невыгодно терять свои фигуры, и, напротив, выгодно брать фигуры противника. Игрок (будь он человек или машина), который сохраняет подвижность своих фигур и право выбора ходов и в то же время держит под контролем большое число полей на доске, обычно играет лучше своего противника, не придающего значения этим элементам игры.
Разумно сочетая такие критерии (например, в виде линейной комбинации с экспериментально подбираемыми коэффициентами или более сложным образом), можно для оценки очередного хода машины получить некоторый числовой показатель эффективности -- оценочную функцию. Тогда машина, сравнив между собой показатели эффективности очередных ходов, выберет ход, соответствующий наибольшему показателю. Подобная автоматизация выбора очередного хода не обязательно обеспечивает оптимальный выбор, но все же это какой-то выбор, и на его основе машина может продолжать игру, совершенствуя свою стратегию (образ действия) в процессе обучения на прошлом опыте. Формально обучение состоит в подстройке параметров (коэффициентов) оценочной функции на основе анализа проведенных ходов и игр с учетом их исхода.
По мнению А. Самуэля, машина, использующая этот вид обучения, может научиться играть лучше, чем средний игрок, за относительно короткий период времени.
Можно сказать, что все эти элементы интеллекта, продемонстрированные машиной в процессе игры в шашки, сообщены ей автором программы. Отчасти это так. Но не следует забывать, что программа эта не является "жесткой", заранее продуманной во всех деталях. Она совершенствует свою стратегию игры в процессе самообучения. И хотя процесс "мышления" у машины существенно отличен от того, что происходит в мозгу играющего в шашки человека, она способна у него выиграть.
Ярким примером сложной интеллектуальной игры до недавнего времени являлись шахматы. В 1974 г. состоялся международный шахматный турнир машин, снабженных соответствующими программами. Как известно, победу на этом турнире одержала советская машина с шахматной программой "Каисса".
Почему здесь употреблено "до недавнего времени"? Дело в том, что недавние события показали, что несмотря на довольно большую сложность шахмат, и невозможность, в связи с этим произвести полный перебор ходов, возможность перебора их на большую глубину, чем обычно, очень увеличивает шансы на победу. К примеру, по сообщениям в печати, компьютер фирмы IBM, победивший Каспарова, имел 256 процессоров, каждый из которых имел 4 Гб дисковой памяти и 128 Мб оперативной. Весь этот комплекс мог просчитывать более 100'000'000 ходов в секунду. До недавнего времени редкостью был компьютер, способный делать такое количество целочисленных операций в секунду, а здесь мы говорим о ходах, которые должны быть сгенерированы и для которых просчитаны оценочные функции. Хотя с другой стороны, этот пример говорит о могуществе и универсальности переборных алгоритмов.
В настоящее время существуют и успешно применяются программы, позволяющие машинам играть в деловые или военные игры, имеющие большое прикладное значение. Здесь также чрезвычайно важно придать программам присущую человеку способность к обучению и адаптации. Одной из наиболее интересных интеллектуальных задач, также имеющих огромное прикладное значение, является задача обучения распознавания образов и ситуаций. Решением ее занимались и продолжают заниматься представители различных наук -- физиологи, психологи, математики, инженеры. Такой интерес к задаче стимулировался фантастическими перспективами широкого практического использования результатов теоретических исследований: читающие автоматы, системы ИИ, ставящие медицинские диагнозы, проводящие криминалистическую экспертизу и т. п., а также роботы, способные распознавать и анализировать сложные сенсорные ситуации.
В 1957 г. американский физиолог Ф. Розенблатт предложил модель зрительного восприятия и распознавания -- перцептрон. Появление машины, способной обучаться понятиям и распознавать предъявляемые объекты, оказалось чрезвычайно интересным не только физиологам, но и представителям других областей знания и породило большой поток теоретических и экспериментальных исследований.
Перцептрон или любая программа, имитирующая процесс распознавания, работают в двух режимах: в режиме обучения и в режиме распознавания. В режиме обучения некто (человек, машина, робот или природа), играющий роль учителя, предъявляет машине объекты и о каждом их них сообщает, к какому понятию (классу) он принадлежит. По этим данным строится решающее правило, являющееся, по существу, формальным описанием понятий. В режиме распознавания машине предъявляются новые объекты (вообще говоря, отличные от ранее предъявленных), и она должна их классифицировать, по возможности, правильно.
Проблема обучения распознаванию тесно связана с другой интеллектуальной задачей -- проблемой перевода с одного языка на другой, а также обучения машины языку. При достаточно формальной обработке и классификации основных грамматических правил и приемов пользования словарем можно создать вполне удовлетворительный алгоритм для перевода, скажем научного или делового текста. Для некоторых языков такие системы были созданы еще в конце 60-г. Однако для того, чтобы связно перевести достаточно большой разговорный текст, необходимо понимать его смысл. Работы над такими программами ведутся уже давно, но до полного успеха еще далеко. Имеются также программы, обеспечивающие диалог между человеком и машиной на урезанном естественном языке.
Что же касается моделирования логического мышления, то хорошей модельной задачей здесь может служить задача автоматизации доказательства теорем.
Очень важным направлением систем ИИ является роботехника. В чем основное отличие интеллекта робота от интеллекта универсальных вычислительных машин?
Для ответа на этот вопрос уместно вспомнить принадлежащее великому русскому физиологу И. М. Сеченову высказывание: "… все бесконечное разнообразие внешних проявлений мозговой деятельности сводится окончательно лишь к одному явлению -- мышечному движению". Другими словами, вся интеллектуальная деятельность человека направлена, в конечном счете, на активное взаимодействие с внешним миром посредством движений. Точно так же элементы интеллекта робота служат, прежде всего, для организации его целенаправленных движений. В то же время основное назначение чисто компьютерных систем ИИ состоит в решении интеллектуальных задач, носящих абстрактный или вспомогательный характер, которые обычно не связаны ни с восприятием окружающей среды с помощью искусственных органов чувств, ни с организацией движений исполнительных механизмов.
Первых роботов трудно назвать интеллектуальными. Только в 60-х годах появились очувствленные роботы, которые управлялись универсальными компьютерами. К примеру в 1969 г. в Электротехнической лаборатории (Япония) началась разработка проекта "промышленный интеллектуальный робот". Цель этой разработки -- создание очувствленного манипуляционного робота с элементами искусственного интеллекта для выполнения сборочно-монтажных работ с визуальным контролем.
Манипулятор робота имеет шесть степеней свободы и управляется мини-ЭВМ NEAC-3100 (объем оперативной памяти 32000 слов, объем внешней памяти на магнитных дисках 273000 слов), формирующей требуемое программное движение, которое отрабатывается следящей электрогидравлической системой. Захват манипулятора оснащен тактильными датчиками.
В качестве системы зрительного восприятия используются две телевизионные камеры, снабженные красно-зелено-синими фильтрами для распознавания цвета предметов. Поле зрения телевизионной камеры разбито на 64*64 ячеек. В результате обработки полученной информации грубо определяется область, занимаемая интересующим робота предметом. Далее, с целью детального изучения этого предмета выявленная область вновь делится на 4096 ячеек. В том случае, когда предмет не помещается в выбранное "окошко ", оно автоматически перемещается, подобно тому, как человек скользит взглядом по предмету. Робот Электротехнической лаборатории был способен распознавать простые предметы, ограниченные плоскостями и цилиндрическими поверхностями при специальном освещении. Стоимость данного экспериментального образца составляла примерно 400000 долларов.
Постепенно характеристики роботов монотонно улучшались, Но до сих пор они еще далеки по понятливости от человека, хотя некоторые операции уже выполняют на уровне лучших жонглеров. К примеру, удерживают на лезвии ножа шарик от настольного тенниса.
Еще, пожалуй, здесь можно выделить работы киевского Института кибернетики, где под руководством Н. М. Амосова и В. М. Глушкова ведется комплекс исследований, направленных на разработку элементов интеллекта роботов. Особое внимание в этих исследованиях уделяется проблемам распознавания изображений и речи, логического вывода (автоматического доказательства теорем) и управления с помощью нейроподобных сетей.
К примеру, можно рассмотреть созданный еще в 70-х годах макет транспортного автономного интегрального робота (ТАИР). Конструктивно ТАИР представляет собой трехколесное шасси, на котором смонтирована сенсорная система и блок управления. Сенсорная система включает в себя следующие средства очувствления: оптический дальномер, навигационная система с двумя радиомаяками и компасом, контактные датчики, датчики углов наклона тележки, таймер и др. Особенность, которая отличает ТАИР от многих других систем, созданных у нас и за рубежом, это то, что в его составе нет компьютера в том виде, к которому мы привыкли. Основу системы управления составляет бортовая нейроподобная сеть, на которой реализуются различные алгоритмы обработки сенсорной информации, планирования поведения и управления движением робота.
В конце данного очень краткого обзора рассмотрим примеры крупномасштабных экспертных систем.
MICIN -- экспертная система для медицинской диагностики. Разработана группой по инфекционным заболеваниям Стенфордского университета. Ставит соответствующий диагноз, исходя из представленных ей симптомов, и рекомендует курс медикаментозного лечения любой из диагностированных инфекций. База данных состоит из 450 правил.
PUFF -- анализ нарушения дыхания. Данная система представляет собой MICIN, из которой удалили данные по инфекциям и вставили данные о легочных заболеваниях.
DENDRAL -- распознавание химических структур. Данная система старейшая, из имеющих звание экспертных. Первые версии данной системы появились еще в 1965 году во все том же Стенфордском университете. Пользователь дает системе DENDRAL некоторую информацию о веществе, а также данные спектрометрии (инфракрасной, ядерного магнитного резонанса и масс-спектрометрии), и та в свою очередь выдает диагноз в виде соответствующей химической структуры.
PROSPECTOR -- экспертная система, созданная для содействия поиску коммерчески оправданных месторождений полезных ископаемых.
Основные задачи искусственного интеллекта
Ранее было уже указано, что нельзя дать исчерпывающее определение ИИ. Однако можно перечислить те задачи, методы решения которых на ЭВМ принято связывать с понятием ИИ. Ниже приводятся краткие характеристики таких задач.
Автоматическое решение задач представляет собой не столько вычислительную процедуру поиска ответа, как, например, расчет квадратного корня, сколько нахождение метода решения поставленной задачи. Системы, осуществляющие построение вычислительной процедуры, называют автоматическими решателями задач.
Под распознавателями подразумевают устройства, реагирующие на внешнюю среду через различные датчики, например видеокамеры, и позволяющие решать задачи распознавания образов. В таких устройствах результаты распознавания выводятся на экран, используются для принятия решений, и т.п. Например, на современных автоматических боулинговых дорожках установлены видеокамеры, которые после броска шара распознают число и взаимное расположение оставшихся кегель, для подсчета очков. Системы распознавания речи позволяют упростить взаимодействие с компьютером, с помощью упрощенного естественного языка. Необходимо заметить, что существующие на данный момент системы могут распознавать лишь очень ограниченный набор слов-команд, требуют предварительной настройки на дикцию пользователя и не могут анализировать длительную речь (целые предложения), хотя и ведутся интенсивные исследования в этом направлении.
Задачи доказательства теорем и обучения (например, для овладения навыками в какой-либо игре) решаются с помощью автоматического совершенствования алгоритма посредством обработки пробных вариантов, т.е. как бы с помощью накопления собственного опыта. Следует отметить, что способность к обучению представляет собой одно из основных свойств ИИ.
В настоящее время многие отождествляют понятие ИИ и экспертных систем. Это отождествление появилось во многом благодаря разработкам по созданию программного и аппаратного обеспечения в рамках японского проекта по созданию ЭВМ пятого поколения. Существующие экспертные системы включают в себя огромные базы знаний, сформированные с помощью информации, получаемой от экспертов, т.е. специалистов в той области, для которой создавалась каждая система. Манипуляция накопленными данными осуществляется в другой части экспертных систем, содержащей правила вывода. Сейчас такие системы с успехом используются в медицине, геологии, проектировании и многих других отраслях.
Для эффективной работы мощных систем ИИ необходима высокая скорость доступа к большим базам данных, а также высокое быстродействие. ЭВМ с обычной архитектурой не удовлетворяют этим требованиям. Обычные последовательные методы решения задач уступают место методам параллельной обработки, когда несколько процессоров независимо друг от друга выполняют различные части одной программы, или выполняют одинаковые действия над различными частями большого массива данных. Для этого применяются средства от многопроцессорных компьютеров, многомашинных кластеров, до специализированных параллельных процессоров и транспьютеров. Однако в последние годы наблюдается тенденция к использованию массово производящихся, и как следствие дешевых, процессоров для объединения в большие вычислительные комплексы.
В системах искусственного интеллекта человеческие знания, необходимые для решения задач ИИ, должны быть представлены и записаны в форме, пригодной для последующей обработки на компьютере. Сложность заключается в том, что многие аспекты знаний изменяются в зависимости от условий и с трудом поддаются описанию, оставаясь при этом очевидными для человека. Знания должны храниться в системах ИИ в некоторой обобщенной для данной предметной области форме, позволяющей использовать выбранное представление в любой возможной ситуации. Для хранения знаний требуется большая область памяти, и, кроме того, значительное время уходит на их предварительную обработку. Это очевидное условие может быть упущено при разработке системы.
Многие аспекты ИИ связаны с развивающейся в настоящее время наукой робототехникой. Идея создания разумного робота, способного учиться на собственном опыте, представляет собой одну из центральных проблем ИИ. Такой робот может обладать способностью к ведению диалога на естественном языке и уметь решать задачи, требующие инициативы и некоторой оригинальности мышления. Для этого требуется некоторое предварительное обучение робота, в результате которого он мог бы в отличие от используемых сейчас промышленных роботов выполнять целенаправленные и заранее незапрограммированные действия.
В течение многих лет идеи ИИ серьезно не рассматривались. Это происходило отчасти благодаря чрезмерному оптимизму некоторых теоретиков, а также из-за появления ряда сенсационных публикаций по этому предмету, впоследствии оказавшихся во многом несостоятельными. Идея аппаратно-программных моделей человеческого мозга вызывала насмешки, а в сфере технического производства стали избегать разработок, связанных с ИИ, так как результаты их внедрения явно не соответствовали обещаниям. Эта в полном смысле слова плачевная ситуация в настоящее время изменилась к лучшему благодаря новейшим достижениям в разработке аппаратуры и программного обеспечения.
Различные подходы к построению систем ИИ
Существуют различные подходы к построению систем ИИ. Это разделение не является историческим, когда одно мнение постепенно сменяет другое, и различные подходы существуют и сейчас. Кроме того, поскольку по-настоящему полных систем ИИ в настоящее время нет, то нельзя сказать, что какой-то подход является правильным, а какой-то ошибочным.
Для начала кратко рассмотрим логический подход. Почему он возник? Ведь человек занимается отнюдь не только логическими измышлениями. Это высказывание конечно верно, но именно способность к логическому мышлению очень сильно отличает человека от животных.
Основой для данного логического подхода служит Булева алгебра. Каждый программист знаком с нею и с логическими операторами с тех пор, когда он осваивал оператор IF. Практически каждая система ИИ, построенная на логическом принципе, представляет собой машину доказательства теорем. При этом исходные данные хранятся в базе данных в виде аксиом, правила логического вывода как отношения между ними. Кроме того, каждая такая машина имеет блок генерации цели, и система вывода пытается доказать данную цель как теорему. Если цель доказана, то трассировка примененных правил позволяет получить цепочку действий, необходимых для реализации поставленной цели. Мощность такой системы определяется возможностями генератора целей и машиной доказательства теорем.
Конечно, можно сказать, что выразительности алгебры высказываний не хватит для полноценной реализации ИИ, но стоит вспомнить, что основой всех существующих ЭВМ является бит -- ячейка памяти, которая может принимать значения только 0 и 1. Таким образом, было бы логично предположить, что все, что возможно реализовать на ЭВМ, можно было бы реализовать и в виде логики. Хотя здесь ничего не говорится о том, за какое время.
Добиться большей выразительности логическому подходу позволяет такое сравнительно новое направление, как нечеткая логика. Основным ее отличием является то, что правдивость высказывания может принимать в ней кроме да/нет (1/0) еще и промежуточные значения -- не знаю (0.5), пациент скорее жив, чем мертв (0.75), пациент скорее мертв, чем жив (0.25). Данный подход больше похож на мышление человека, поскольку он на вопросы редко отвечает только да или нет.
Для большинства логических методов характерна большая трудоемкость, поскольку во время поиска доказательства возможен полный перебор вариантов. Поэтому данный подход требует эффективной реализации вычислительного процесса, и хорошая работа обычно гарантируется при сравнительно небольшом размере базы данных.
Под структурным подходом мы подразумеваем попытки построения ИИ путем моделирования структуры человеческого мозга.
Позднее возникли модели, которые обычно известны под термином "нейронные сети" (НС.). Эти модели различаются по строению отдельных нейронов, по топологии связей между ними и по алгоритмам обучения. Среди наиболее известных сейчас вариантов НС. можно назвать НС. с обратным распространением ошибки, сети Хопфилда.
НС. наиболее успешно применяются в задачах распознавания образов, в том числе сильно зашумленных, однако имеются и примеры успешного применения их для построения собственно систем ИИ, это уже ранее упоминавшийся ТАИР.
Для моделей, построенных по мотивам человеческого мозга характерна не слишком большая выразительность, легкое распараллеливание алгоритмов, и связанная с этим высокая производительность параллельно реализованных НС. Также для таких сетей характерно одно свойство, которое очень сближает их с человеческим мозгом -- нейронные сети работают даже при условии неполной информации об окружающей среде, то есть как и человек, они на вопросы могут отвечать не только "да" и "нет" но и "не знаю точно, но скорее да".
Довольно большое распространение получил и эволюционный подход. При построении систем ИИ по данному подходу основное внимание уделяется построению начальной модели, и правилам, по которым она может изменяться (эволюционировать). Причем модель может быть составлена по самым различным методам, это может быть и НС. и набор логических правил и любая другая модель. После этого мы включаем компьютер и он, на основании проверки моделей отбирает самые лучшие из них, на основании которых по самым различным правилам генерируются новые модели, из которых опять выбираются самые лучшие и т. д.
В принципе можно сказать, что эволюционных моделей как таковых не существует, существует только эволюционные алгоритмы обучения, но модели, полученные при эволюционном подходе имеют некоторые характерные особенности, что позволяет выделить их в отдельный класс.
Такими особенностями являются перенесение основной работы разработчика с построения модели на алгоритм ее модификации и то, что полученные модели практически не сопутствуют извлечению новых знаний о среде, окружающей систему ИИ, то есть она становится как бы вещью в себе.
Еще один широко используемый подход к построению систем ИИ -- имитационный. Данный подход является классическим для кибернетики с одним из ее базовых понятий -- "черным ящиком" (ЧЯ). ЧЯ -- устройство, программный модуль или набор данных, информация о внутренней структуре и содержании которых отсутствуют полностью, но известны спецификации входных и выходных данных. Объект, поведение которого имитируется, как раз и представляет собой такой "черный ящик". Нам не важно, что у него и у модели внутри и как он функционирует, главное, чтобы наша модель в аналогичных ситуациях вела себя точно так же.
Таким образом, здесь моделируется другое свойство человека -- способность копировать то, что делают другие, не вдаваясь в подробности, зачем это нужно. Зачастую эта способность экономит ему массу времени, особенно в начале его жизни.
Основным недостатком имитационного подхода также является низкая информационная способность большинства моделей, построенных с его помощью.
С ЧЯ связана одна очень интересная идея. Кто бы хотел жить вечно? Я думаю, что почти все ответят на этот вопрос "я".
Представим себе, что за нами наблюдает какое-то устройство, которое следит за тем, что в каких ситуациях мы делаем, говорим. Наблюдение идет за величинами, которые поступают к нам на вход (зрение, слух, вкус, тактильные, вестибулярные и т. д.) и за величинами, которые выходят от нас (речь, движение и др.). Таким образом, человек выступает здесь как типичный ЧЯ.
Далее это устройство пытается отстроить какую-то модель таким образом, чтобы при определенных сигналах на входе человека, она выдавала на выходе те же данные, что и человек. Если данная затея будет когда-нибудь реализована, то для всех посторонних наблюдателей такая модель будет той же личностью, что и реальный человек. А после его смерти она, будет высказывать те мысли, которые предположительно высказывал бы и смоделированный человек.
Мы можем пойти дальше и скопировать эту модель и получить брата близнеца с точно такими же "мыслями".
И заканчивая беглое ознакомление с различными методами и подходами к построению систем ИИ, хотелось бы отметить, что на практике очень четкой границы между ними нет. Очень часто встречаются смешанные системы, где часть работы выполняется по одному типу, а часть по другому.
Нейронные сети: основные положения
Идея нейронных сетей родилась в ходе исследований в области искусственного интеллекта, а именно в результате попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга. Основной областью исследований по искусственному интеллекту в 60е - 80е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на его представлении как манипуляций с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не охватывают некоторые ключевые аспекты работы человеческого мозга. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственный интеллект, необходимо построить систему с похожей архитектурой.
Мозг состоит из очень большого числа (приблизительно 1010)нейронов, соединенных многочисленными связями (в среднем несколько тысяч связей на один нейрон, однако это число может сильно колебаться). Нейроны это специальные клетки, способные распространять электро-химические сигналы. Нейрон имеет разветвленную структуру ввода информации (дендриты), ядро и разветвляющийся выход (аксон). Аксоны клетки соединяются с дендритами других клеток с помощью синапсов. При активации нейрон посылает электрохимический сигнал по своему аксону. Через синапсы этот сигнал достигает других нейронов, которые могут в свою очередь активироваться. Нейрон активируется тогда, когда суммарный уровень сигналов, пришедших в его ядро из дендритов, превысит определенный уровень (порог активации).
Интенсивность сигнала, получаемого нейроном (а, следовательно, и возможность его активации), сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Один из самых авторитетных исследователей нейросистем, Дональд Хебб, высказал постулат, что обучение заключается в первую очередь в изменениях силы синаптических связей. Например, в классическом опыте Павлова каждый раз перед кормлением собаки звонил колокольчик, и собака быстро научилась связывать звонок колокольчика с пищей. Синаптические связи между участками коры головного мозга, ответственными за слух, и слюнными железами усилились, и при возбуждении коры звуком колокольчика у собаки начиналось слюноотделение.
Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берет взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определенный уровень, передает дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи.
Определение классического формального нейрона дается следующим образом:
Он получает входные сигналы (исходные данные или выходные сигналы других нейронов сети) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (или вес); этот вес соответствует синаптической активности биологического нейрона. С каждым нейроном связано определенное пороговое значение. Вычисляется взвешенная сумма входов, из нее вычитается пороговое значение и в результате получается величина активации нейрона.
Сигнал активации преобразуется с помощью функции активации (или передаточной функции) и в результате получается выходной сигнал нейрона.
Если при этом использовать ступенчатую функцию активации, то такой нейрон будет работать точно так же, как описанный выше естественный нейрон.
В последние десятилетия в мире бурно развивается новая прикладная область математики, специализирующаяся на искусственных нейронных сетях (НС.). Актуальность исследований в этом направлении подтверждается массой различных применений НС. Это автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование, создание экспертных систем, организация ассоциативной памяти и многие другие приложения. С помощью НС. можно, например, предсказывать показатели биржевого рынка, выполнять распознавание оптических или звуковых сигналов, создавать самообучающиеся системы, способные управлять автомашиной при парковке или синтезировать речь по тексту. В то время как на западе применение НС. уже достаточно обширно, у нас это еще в некоторой степени экзотика - российские фирмы, использующие НС. в практических целях, наперечет.
Широкий круг задач, решаемый НС., не позволяет в настоящее время создавать универсальные, мощные сети, вынуждая разрабатывать специализированные НС., функционирующие по различным алгоритмам.
Модели НС. могут быть программного и аппаратного исполнения. В дальнейшем речь пойдет в основном о первом типе.
Несмотря на существенные различия, отдельные типы НС обладают несколькими общими чертами.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Основу каждой НС. составляют относительно простые, в большинстве случаев - однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Далее под нейроном будет подразумеваться искусственный нейрон, то есть ячейка НС. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены.
Из рисунка 1. видно, что искусственный нейрон, так же как и живой, состоит из синапсов, связывающих входы нейрона с ядром, ядра нейрона, которое осуществляет обработку входных сигналов и аксона, который связывает нейрон с нейронами следующего слоя. Каждый синапс имеет вес, который определяет насколько соответствующий вход нейрона влияет на его состояние. Каждый синапс характеризуется величиной синаптической связи или ее весом, который по физическому смыслу эквивалентен электрической проводимости.
Состояние нейрона определяется по формуле
где n - число входов нейрона
xi - значение i-го входа нейрона
wi - вес i-го синапса
Рис 2
Возвращаясь к общим чертам, присущим всем НС., отметим принцип параллельной обработки сигналов, который достигается путем объединения большого числа нейронов в так называемые слои и соединения определенным образом нейронов различных слоев, а также, в некоторых конфигурациях, и нейронов одного слоя между собой, причем обработка взаимодействия всех нейронов ведется послойно.
В качестве примера простейшей НС. рассмотрим трехнейронный перцептрон (рис 2) , то есть такую сеть, нейроны которой имеют активационную функцию в виде единичного скачка. На n входов поступают некие сигналы, проходящие по синапсам на 3 нейрона, образующие единственный слой этой НС. и выдающие три выходных сигнала.
Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется НС. Чем сложнее НС., тем масштабнее задачи, подвластные ей.
Выбор структуры НС. осуществляется в соответствии с особенностями и сложностью задачи. Если же задача не может быть сведена ни к одному из известных типов, разработчику приходится решать сложную проблему синтеза новой конфигурации. При этом он руководствуется несколькими основополагающими принципами: возможности сети возрастают с увеличением числа ячеек сети, плотности связей между ними и числом выделенных слоев; введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети; сложность алгоритмов функционирования сети (в том числе, например, введение нескольких типов синапсов - возбуждающих, тормозящих и др.) также способствует усилению мощи НС. Вопрос о необходимых и достаточных свойствах сети для решения того или иного рода задач представляет собой целое направление нейрокомпьютерной науки. Так как проблема синтеза НС. сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант получается на основе интуитивного подбора.
Очевидно, что процесс функционирования НС., то есть сущность действий, которые она способна выполнять, зависит от величин синаптических связей, поэтому, задавшись определенной структурой НС., отвечающей какой-либо задаче, разработчик сети должен найти оптимальные значения всех переменных весовых коэффициентов.
Этот этап называется обучением НС., и от того, насколько качественно он будет выполнен, зависит способность сети решать поставленные перед ней проблемы во время эксплуатации. На этапе обучения кроме параметра качества подбора весов важную роль играет время обучения. Как правило, эти два параметра связаны обратной зависимостью и их приходится выбирать на основе компромисса.
Обучение НС. может вестись с учителем или без него. В первом случае сети предъявляются значения как входных, так и желательных выходных сигналов, и она по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей. Во втором случае выходы НС. формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы.
Существует великое множество различных алгоритмов обучения, которые делятся на два больших класса: детерминистские и стохастические. В первом из них подстройка весов представляет собой жесткую последовательность действий, во втором - она производится на основе действий, подчиняющихся некоторому случайному процессу.
Развивая дальше вопрос о возможной классификации НС., важно отметить существование бинарных и аналоговых сетей. Первые из них оперируют с двоичными сигналами, и выход каждого нейрона может принимать только два значения: логический ноль ("заторможенное" состояние) и логическая единица ("возбужденное" состояние). К этому классу сетей относится и рассмотренный выше перцептрон, так как выходы его нейронов, формируемые функцией единичного скачка, равны либо 0, либо 1. В аналоговых сетях выходные значения нейронов способны принимать непрерывные значения.
Еще одна классификация делит НС. на синхронные и асинхронные. В первом случае в каждый момент времени свое состояние меняет лишь один нейрон. Во втором - состояние меняется сразу у целой группы нейронов, как правило, у всего слоя. Алгоритмически ход времени в НС. задается итерационным выполнением однотипных действий над нейронами. Далее будут рассматриваться только синхронные НС.
Рис.3
искусственный интеллект нейронный сеть
Сети также можно классифицировать по числу слоев. На рисунке 3. представлен двухслойный перцептрон, полученный из перцептрона с предыдущего рисунка путем добавления второго слоя, состоящего из двух нейронов.
Вопрос в том, чтобы разработчик НС. четко понимал, для чего он это делает, какими ценными свойствами он тем самым дополнительно наделяет нейрон, и каких лишает. Введение нелинейности увеличивает вычислительную мощь сети, то есть позволяет из меньшего числа нейронов с "нелинейными" синапсами сконструировать НС., выполняющую работу обычной НС. с большим числом стандартных нейронов и более сложной конфигурации.
Многообразие существующих структур НС. позволяет отыскать и другие критерии для их классификации.
Функции, которые не реализуются однослойной сетью, называются линейно неразделимыми. Решение задач, подпадающих под это ограничение, заключается в применении 2-х и более слойных сетей или сетей с нелинейными синапсами, однако и тогда существует вероятность, что корректное разделение некоторых входных сигналов на классы невозможно.
В завершении отметим, что дальнейшее рассмотрение НС. будет в основном тяготеть к таким применениям, как распознавание образов, их классификация и, в незначительной степени, сжатие информации.
Представление входных данных
Основное отличие НС. в том, что в них все входные и выходные параметры представлены в виде чисел с плавающей точкой обычно в диапазоне [0..1]. В тоже время данные предметной области часто имеют другое кодирование. Так это могут быть числа в произвольном диапазоне, даты, символьные строки. Таким образом данные о проблеме могут быть как количественными, так и качественными. Рассмотрим сначала преобразование качественных данных в числовые, а затем рассмотрим способ преобразования входных данных в требуемый диапазон.
Качественные данные мы можем разделить на две группы: упорядоченные (ординальные) и неупорядоченные. Для рассмотрения способов кодирования этих данных мы рассмотрим задачу о прогнозировании успешности лечения какого-либо заболевания. Примером упорядоченных данных могут например являться данные, например, о дополнительных факторах риска при данном заболевании.
Нет |
Ожирение |
Алкоголь |
Курение |
Гипертония |
|
А также возможным примером может быть например возраст больного До 25 лет |
25-39 лет |
40-49 лет |
50-59 лет |
60 и старше |
Опасность каждого фактора возрастает в таблицах при движении слева направо.
В первом случае мы видим, что у больного может быть несколько факторов риска одновременно. В таком случае нам необходимо использовать такое кодирование, при котором отсутствует ситуация, когда разным комбинациям факторов соответствует одно и то же значение. Наиболее распространен способ кодирования, когда каждому фактору ставится в соответствие разряд двоичного числа. 1 в этом разряде говорит о наличии фактора, а 0 о его отсутствии. Параметру нет можно поставить в соответствии число 0. Таким образом для представления всех факторов достаточно 4-х разрядного двоичного числа. Таким образом число 10102 = 1010 означает наличие у больного гипертонии и употребления алкоголя, а числу 00002 соответствует отсутствие у больного факторов риска. Таким образом факторы риска будут представлены числами в диапазоне [0..15].
Подобные документы
Понятие искусственного интеллекта как свойства автоматических систем брать на себя отдельные функции интеллекта человека. Экспертные системы в области медицины. Различные подходы к построению систем искусственного интеллекта. Создание нейронных сетей.
презентация [3,0 M], добавлен 28.05.2015Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.
реферат [78,9 K], добавлен 22.01.2015История создания и основные направления в моделировании искусственного интеллекта. Проблемы обучения зрительному восприятию и распознаванию. Разработка элементов интеллекта роботов. Исследования в области нейронных сетей. Принцип обратной связи Винера.
реферат [45,1 K], добавлен 20.11.2009Эволюция систем искусственного интеллекта. Направления развития систем искусственного интеллекта. Представление знаний - основная проблема систем искусственного интеллекта. Что такое функция принадлежности и где она используется?
реферат [49,0 K], добавлен 19.05.2006Характеристика сущности искусственного интеллекта. Проблема создания искусственного интеллекта. Базовые положения, методики и подходы построения систем ИИ (логический, структурный, эволюционный, имитационный). Проблемы создания и реализация систем ИИ.
реферат [43,1 K], добавлен 19.07.2010История развития искусственного интеллекта. Экспертные системы: их типы, назначение и особенности, знания и их представление. Структура идеальной и инструменты построения экспертных систем. Управление системой продукции. Семантические сети и фреймы.
реферат [85,7 K], добавлен 20.12.2011Может ли искусственный интеллект на данном уровне развития техники и технологий превзойти интеллект человека. Может ли человек при контакте распознать искусственный интеллект. Основные возможности практического применения искусственного интеллекта.
презентация [511,2 K], добавлен 04.03.2013Преимущества нейронных сетей. Модели нейронов, представляющих собой единицу обработки информации в нейронной сети. Ее представление с помощью направленных графов. Понятие обратной связи (feedback). Основная задача и значение искусственного интеллекта.
реферат [1,2 M], добавлен 24.05.2015Искусственный интеллект – научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Черты искусственного интеллекта Развитие искусственного интеллекта, перспективные направления в его исследовании и моделировании.
реферат [70,7 K], добавлен 18.11.2010История развития искусственного интеллекта в странах дальнего зарубежья, в России и в Республике Казахстан. Разработка проекта эффективного внедрения и адаптации искусственного интеллекта в человеческом социуме. Интеграция искусственного в естественное.
научная работа [255,5 K], добавлен 23.12.2014