48891

Разрешат ли родители своему ребенку завести домашнее животное

Курсовая

Информатика, кибернетика и программирование

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

Русский

2013-12-17

3.5 MB

1 чел.

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информатики и экономики

Кафедра прикладной информатики

КУРСОВАЯ РАБОТА

по дисциплине

Интеллектуальные информационные системы

на тему:

Разрешат ли родители своему ребенку завести домашнее животное

                                                   

ИСПОЛНИТЕЛЬ:

студентка  гр. 1233

Катаева Л. Н.

НАУЧНЫЙ  РУКОВОДИТЕЛЬ:

Ясницкий Л. Н.

Пермь 2008


Содержание


Введение

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

Нейронная сеть – это система, выполненная по образу и подобию человеческого мозга.

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

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

Для достижения данной цели были поставлены следующие задачи:

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

Глава 1. Теория искусственного интеллекта

1.1 Базовые понятия искусственного интеллекта

Термин «интеллект» («intelligence») происходит от латинского «intellectus» — что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно толкуется как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.

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

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

Для того, чтобы пояснить, чем отличается интеллектуальная задача от просто задачи, необходимо ввести термин «алгоритм» — один из краеугольных терминов кибернетики.

Под алгоритмом понимают точное предписание о выполнении в определенном порядке системы операций для решения любой задачи из некоторого данного класса (множества) задач. Термин «алгоритм» происходит от имени узбекского математика Аль-Хорезми, который еще в IX веке предложил простейшие арифметические алгоритмы. В математике и кибернетике класс задач определенного типа считается решенным, когда для ее решения установлен алгоритм. Нахождение алгоритмов является естественной целью человека при решении им разнообразных классов задач. Отыскание алгоритма для задач некоторого данного типа связано с тонкими и сложными рассуждениями, требующими большой изобретательности и высокой квалификации. Принято считать, что подобного рода деятельность требует участия интеллекта человека. Задачи, связанные с отысканием алгоритма решения класса задач определенного типа, будем называть интеллектуальными.

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

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

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

Еще интересным замечанием здесь является то, что профессия программиста, исходя из наших определений, является одной из самых интеллектуальных, поскольку продуктом деятельности программиста являются программы — алгоритмы в чистом виде. Именно поэтому, создание даже элементов ИИ должно очень сильно повысить производительность его труда.

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

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

Очень интересен план имитации мышления, предложенный А. Тьюрингом. «Пытаясь имитировать интеллект взрослого человека, — пишет Тьюринг, — мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг свое го настоящего состояния… Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующе е воспитание, он становится интеллектом взрослого человека… Наш расчет состоит в том, что устройство, ему подобное, может быть легко запрограммировано… Таким образом, мы расчленим нашу проблему на две части: на задачу построения «программы-ребенка» и задачу «воспитания» этой программы».

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

1.2 История развития систем искусственного интеллекта

Исторически сложились три основных направления в моделировании ИИ.

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

Речь идет о низкоуровневой стратегии искусственного интеллекта. Такие интеллектуальные операции может выполнять компьютер, построенный «по образу и подобию» человеческого мозга – нейрокомпьютер. Это может также быть нейронная сеть, имитирующая нейрокомпьютер на обычном компьютере[4].

Рис.1. Нейроны человеческого мозга

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

Рис.2. Схематическое изображение участка нейронной сети

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

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

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

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

Самыми первыми интеллектуальными задачами, которые стали решаться при помощи ЭВМ, были логические игры (шашки, шахматы), доказательство теорем. Хотя, правда здесь надо отметить еще кибернетические игрушки типа «электронной мыши» Клода Шеннона, которая управлялась сложной релейной схемой. Эта мышка могла «исследовать» лабиринт, и находить выход из него. А кроме того, помещенная в уже известный ей лабиринт, она не искала выход, а сразу же, не заглядывая в тупиковые ходы, выходила из лабиринта.

Американский кибернетик А. Самуэль составил для вычислительной машины программу, которая позволяет ей играть в шашки, причем в ходе игры машина обучается или, по крайней мере, создает впечатление, что обучается, улучшая свою игру на основе накопленного опыта. В 1962 г. эта программа сразилась с Р. Нили, сильнейшим шашистом в США и победила.

Ярким примером сложной интеллектуальной игры до недавнего времени являлись шахматы. В 1974 г. состоялся международный шахматный турнир машин, снабженных соответствующими программами. Как известно, победу на этом турнире одержала советская машина с шахматной программой "Каисса". Но недавние события показали, что несмотря на довольно большую сложность шахмат, и невозможность, в связи с этим произвести полный перебор ходов, возможность перебора их на большую глубину, чем обычно, очень увеличивает шансы на победу. К примеру, по сообщениям в печати, компьютер фирмы IBM, победивший Каспарова, имел 256 процессоров, каждый из которых имел 4 Гб дисковой памяти и 128 Мб оперативной. Весь этот комплекс мог просчитывать более 100'000'000 ходов в секунду. До недавнего времени редкостью был компьютер, могущий делать такое количество целочисленных операций в секунду, а здесь мы говорим о ходах, которые должны быть сгенерированы и для которых просчитаны оценочные функции. Хотя с другой стороны, этот пример говорит о могуществе и универсальности переборных алгоритмов.

В настоящее время существуют и успешно применяются программы, позволяющие машинам играть в деловые или военные игры, имеющие большое прикладное значение. Здесь также чрезвычайно важно придать программам присущие человеку способность к обучению и адаптации. Одной из наиболее интересных интеллектуальных задач, также имеющей огромное прикладное значение, является задача обучения распознавания образов и ситуаций. Решением ее занимались и продолжают заниматься представители различных наук — физиологи, психологи, математики, инженеры. Такой интерес к задаче стимулировался фантастическими перспективами широкого практического использования результатов теоретических исследований: читающие автоматы, системы ИИ, ставящие медицинские диагнозы, проводящие криминалистическую экспертизу и т. п., а также роботы, способные распознавать и анализировать сложные сенсорные ситуации.

В 1957 г. американский физиолог Ф. Розенблатт предложил модель зрительного восприятия и распознавания — персептрон. Появление машины, способной обучаться понятиям и распознавать предъявляемые объекты, оказалось чрезвычайно интересным не только физиологам, но и представителям других областей знания и породило большой поток теоретических и экспериментальных исследований.

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

Проблема обучения распознаванию тесно связана с другой интеллектуальной задачей — проблемой перевода с одного языка на другой, а также обучения машины языку. При достаточно формальной обработке и классификации основных грамматических правил и приемов пользования словарем можно создать вполне удовлетворительный алгоритм для перевода, скажем научного или делового текста. Для некоторых языков такие системы были созданы еще в конце 60-г. Однако для того, чтобы связно перевести достаточно большой разговорный текст, необходимо понимать его смысл. Работы над такими программами ведутся уже давно, но до полного успеха еще далеко. Имеются также программы, обеспечивающие диалог между человеком и машиной на урезанном естественном языке.

Что же касается моделирования логического мышления, то хорошей модельной задачей здесь может служить задача автоматизации доказательства теорем. Начиная с 1960 г., был разработан ряд программ, способных находить доказательства теорем в исчислении предикатов первого порядка. Эти программы обладают, по словам американского специалиста в области ИИ Дж. Маккатти, «здравым смыслом», т. е. способностью делать дедуктивные заключения.

В программе К. Грина и др., реализующей вопросно-ответную систему, знания записываются на языке логики предикатов в виде набора аксиом, а вопросы, задаваемые машине, формулируются как подлежащие доказательству теоремы. Большой интерес представляет «интеллектуальная» программа американского математика Хао Ванга. Эта программа за 3 минуты работы IBM-704 вывела 220 относительно простых лемм и теорем из фундаментальной математической монографии, а затем за 8.5 мин выдала доказательства еще 130 более сложных теорем, часть их которых еще не была выведена математиками. Правда, до сих пор ни одна программа не вывела и не доказала ни одной теоремы, которая бы, что называется «позарез» была бы нужна математикам и была бы принципиально новой.

Очень большим направлением систем ИИ является роботехника. В чем основное отличие интеллекта робота от интеллекта универсальных вычислительных машин?

Для ответа на этот вопрос уместно вспомнить принадлежащее великому русскому физиологу И. М. Сеченову высказывание: «… все бесконечное разнообразие внешних проявлений мозговой деятельности сводится окончательно лишь к одному явлению — мышечному движению». Другими словами, вся интеллектуальная деятельность человека направлена в конечном счете на активное взаимодействие с внешним миром посредством движений. Точно так же элементы интеллекта робота служат прежде всего для организации его целенаправленных движений. В то же время основное назначение чисто компьютерных систем ИИ состоит в решении интеллектуальных задач, носящих абстрактный или вспомогательный характер, которые обычно не связаны ни с восприятием окружающей среды с помощью искусственных органов чувств, ни с организацией движений исполнительных механизмов.

Первых роботов трудно назвать интеллектуальными. Только в 60-х годах появились очуствленные роботы, которые управлялись универсальными компьютерами. К примеру, в 1969 г. в Электротехнической лаборатории (Япония) началась разработка проекта «промышленный интеллектуальный робот». Цель этой разработки — создание очуствленного манипуляционного робота с элементами искусственного интеллекта для выполнения сборочно-монтажных работ с визуальным контролем[9].

Манипулятор робота имеет шесть степеней свободы и управляется мини-ЭВМ NEAC-3100 (объем оперативной памяти 32000 слов, объем внешней памяти на магнитных дисках 273000 слов), формирующей требуемое программное движение, которое отрабатывается следящей электрогидравлической системой. Схват манипулятора оснащен тактильными датчиками.

В качестве системы зрительного восприятия используются две телевизионные камеры, снабженные красно-зелено-синими фильтрами для распознавания цвета предметов. Поле зрения телевизионной камеры разбито на 64*64 ячеек. В результате обработки полученной информации грубо определяется область, занимаемая интересующим робота предметом. Далее, с целью детального изучения этого предмета выявленная область вновь делится на 4096 ячеек. В том случае, когда предмет не помещается в выбранное «окошко», оно автоматически перемещается, подобно тому, как человек скользит взглядом по предмету. Робот Электротехнической лаборатории был способен распознавать простые предметы, ограниченные плоскостями и цилиндрическими поверхностями при специальном освещении. Стоимость данного экспериментального образца составляла примерно 400000 долларов.

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

Еще пожалуй здесь можно выделить работы киевского Института кибернетики, где под руководством Н. М. Амосова и В. М. Глушкова был проведен комплекс исследований, направленных на разработку элементов интеллекта роботов. Особое внимание в этих исследованиях уделяется проблемам распознавания изображений и речи, логического вывода (автоматического доказательства теорем) и управления с помощью нейроподобных сетей.

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

В конце данного очень краткого обзора рассмотрим примеры крупномасштабных экспертных систем.

MICIN — экспертная система для медицинской диагностики. Разработана группой по инфекционным заболеваниям Стенфордского университета. Ставит соответствующий диагноз, исходя из представленных ей симптомов, и рекомендует курс медикаментозного лечения любой из диагностированных инфекций. База данных состоит из 450 правил.

PUFF — анализ нарушения дыхания. Данная система представляет собой MICIN, из которой удалили данные по инфекциям и вставили данные о легочных заболеваниях.

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

PROSPECTOR — экспертная система, созданная для содействия поиску коммерчески оправданных месторождений полезных ископаемых.

1.4 Многослойная нейронная сеть

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

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

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

Рис.3. Пример двухслойной полносвязанной нейросети.

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

Чаще применяются нейросети имеющие два и более слоев. Однослойные нейронные сети имеют один существенный недостаток, они не решают задачу «исключающего ИЛИ».

1.5 Искусственный нейрон

Искусственные нейросети чрезвычайно разнообразны по своей архитектуре, и в настоящее время создано более 20 их парадигм. Все они имеет простой общий базовый элемент — искусственный нейрон, который имитирует свойства своего биологического родителя[3].

Рис.4. Искусственный нейрон

На вход искусственного нейрона  подается набор входных сигналов x1, x2, ..., xn (входной вектор X), представляющий собой выходные сигналы других нейроподобных элементов или входные сигналы нейросети. Каждый входной сигнал умножается на соответствующий вес связи w1, w2, ...,wn— аналог эффективности синапса. Вес этой связи является положительным для возбуждающей и отрицательным для тормозящей связи нейрона. Взвешенные весами связей, входные сигналы поступают на блок суммации (по своей сути являющийся аналогом тела клетки в биологическом нейроне), где вычисляется их алгебраическая сумма и определяется уровень возбуждения нейрона S:

 

где: θ — порог возбуждения нейрона.

Затем над уровнем возбуждения S производится необходимое нелинейное преобразование: Y=F(S)

Эта функция называется активационной, примеры таких функций приведены на рисунке 5.

Наиболее часто на практике применяется сигмоидальная (логистическая) функция вида:

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

Рис.5. Примеры активационных функций.

Коэффициент β определяет крутизну сигмоида.

Нелинейность функции активации F(S) очень важна и принципиальна; если бы нейроны были линейными элементами (использовали линейную функцию активации), то любая последовательность нейронов также производила бы линейное преобразование и вся нейросеть была бы эквивалентна одному нейрону (или одному слою нейронов — в случае нескольких выходов). Нелинейность разрушает линейную суперпозицию и приводит к тому, что возможности нейросети существенно выше возможностей отдельных нейронов.

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

1.6 Обучение нейросети

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

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

Все это многообразие можно разделить на две условные группы — «обучение без учителя» и «обучение с учителем». При «обучении без учителя» нет  эталонных выходных значений, и нейросеть сама обучается на входных примерах, выявляя в них закономерности и проводя самоорганизацию. Наиболее известной архитектурой такой нейросети являются самоорганизующиеся карты Кохонена (Self-Organizing Maps), о которых будет рассказано в дальнейшем.

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

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

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

Алгоритм обратного распространения ошибки является одной из разновидностей градиентного спуска, минимизирующий суммарную квадратичную ошибку:

где: Yi,kN— реальное выходное состояние нейрона i-го выходного слоя N нейронной сети при подаче на ее входы k-го образа; Yi,k— идеальное (желаемое) выходное состояние этого нейрона. Идея алгоритма состоит в том, чтобы вычислить чувствительность выхода нейрона к изменению весов в случае возникновения ошибки.

Для этого вычисляются частные производные от ошибки по весам.

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

Полученный выходной вектор сравнивается с требуемым (обратный проход).

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

Описанный алгоритм хотя и является широко распространенным, но все же имеет некоторые недостатки:

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

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

Отдельной проблемой при обучении с учителем является переобучение нейросети. Под переобучением понимается такое обучение, при котором теряются обобщающие свойства и нейросеть просто «запоминает» выходные данные. Другими словами на обучающей выборке сеть показывает великолепные результаты, а на новых данных или на подтверждающей выборке, результаты гораздо хуже.

Рис.6. Результаты подтверждающей и обучающей выборки, переобучение.

На рисунке 6 показан момент наступления переобучения нейросети. При дальнейшем уменьшении ошибки на обучающей выборке на подтверждающей выборке ошибка увеличивается.

Основным методом «борьбы» с переобучением является введение механизма калибровки в алгоритм обучения.

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

В большинстве случаев ошибка прогноза нейросети складывается из двух основных составляющих. Первая из них определяется недостаточным качеством аппроксимации и наличием «шума» во входных данных, вторая — недостатком информации, поданной на вход нейросети при обучении. Недостаток информации обычно вызван либо отсутствием во входах важных для прогноза переменных или/и малым размером обучающей выборки, не отражающей всей полноты картины.

1.7 Примеры использования нейронных сетей

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

На практике для того, чтобы применение нейронной сети было оправдано, необходимо, чтобы задача обладала следующими признаками[4]:

  •  отсутствует алгоритм или не известны принципы решения задач, но накоплено достаточное число примеров;
  •  проблема характеризуется большими объемами входной информации;
  •  данные неполны или избыточны, зашумлены, частично противоречивы.

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

  1.  Административное обслуживание:
  •  автоматическое считывание документов;
  •  автоматическое распознавание штриховых кодов.
  1.  Банки и страховые компании:
    •  автоматическое считывание чеков и финансовых документов;
    •  проверка достоверности подписей;
    •  оценка риска для займов;
    •  прогнозирование изменений экономических показателей.
  2.  Нефтяная и химическая промышленность:
  •  анализ геологической информации;
  •  идентификация неисправностей оборудования;
  •  разведка залежей минералов по данным аэрофотосъемок;
  •  анализ составов примесей;
  •  управление процессами.
  1.  Промышленное производство:
  •  управление манипуляторами;
  •  управление качеством;
  •  управление процессами;
  •  обнаружение неисправностей;
  •  адаптивная робототехника;
  •  управление голосом.
  1.  Военная промышленность и аэронавтика:
  •  обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация);
  •  обработка радарных сигналов (распознавание целей, идентификация и локализация источников);
  •  обработка инфракрасных сигналов (локализация);
  •  обобщение информации;
  •  автоматическое пилотирование.
  1.  Служба безопасности:
  •  распознавание лиц, голосов, отпечатков пальцев.
  1.  Биомедицинская промышленность:
  •  анализ рентгенограмм;
  •  обнаружение отклонений в ЭКГ.
  1.  Телевидение и связь:
  •  адаптивное управление сетью связи;
  •  сжатие и восстановление изображения.

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

Глава 2. Практическое применение нейронных сетей

2.1 Применение нейронной сети для прогнозирования ответа на вопрос, разрешат ли родители своему ребенку завести домашнее животное

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

Основным источником данных для исследования является социальный опрос жителей г. Перми в возрасте от 25 до 50 лет. Сформирована выборка из 179 примеров.

Рассмотрим, какие параметры подавались на вход:

  1.  Настроение родителей (х1):
    •  1 – хорошее;
    •  0 – лучше не трогай.
    1.  Отношение родителей к животным (х2):
    •  1 – любители животных;
    •  0 – против животных в доме.
    1.  Какое животное (х3):
    •  1 – обычное;
    •  0 – экзотическое.
    1.  Были ли до этого домашние животные (х4):
    •  1 – да;
    •  0 – нет.
    1.  Есть ли животные в доме (х5):
    •  1 – нет;
    •  0 – да.
    1.  Есть ли аллергия у членов семьи (х6):
    •  1 – нет;
    •  0 – да.
    1.  Количество комнат в доме (х7):
    •  1 – две и более;
    •  0 – одна.
    1.  Ответственный ли ребенок (х8):
    •  1 – да;
    •  0 – нет.
    1.  Хватит ли финансов на содержание питомца (х9):
    •  1 – да;
    •  0 – могут возникнуть затруднения.
    1.  Возраст ребенка (х10):
    •  1 – до 13 лет;
    •  0 – больше 13 лет.

Выходные параметры:

  1.  Разрешат (у1).
    1.  Все может быть(у2).
      1.  Не разрешат (у3).

Ниже приведены данные обучающей (таблица 1) и тестируемой выборки (таблица 2), которые не входили в процесс обучения, и на основе которых  мы можем понять, насколько точно обучилась сеть.

Таблица 1. Обучающая выборка (25 примеров)

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

у1

у2

у3

1

0

1

1

1

1

1

1

1

0

1

0

0

1

0

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

1

0

1

0

0

1

0

0

0

0

0

0

1

1

0

1

0

0

1

0

0

0

0

0

1

1

1

0

1

0

1

0

0

0

0

0

1

1

1

1

0

1

0

1

0

0

0

0

1

1

1

1

1

0

1

0

1

0

0

1

1

1

1

0

0

0

1

1

0

0

1

1

1

1

1

0

0

0

0

1

1

0

0

1

1

1

0

0

0

0

0

1

0

0

0

0

1

1

1

0

0

0

0

0

1

1

0

0

0

1

1

1

0

0

0

0

0

1

1

1

0

0

1

0

0

1

0

0

0

0

0

1

1

0

0

1

0

1

1

0

0

0

0

0

1

1

0

0

1

1

1

1

0

0

0

0

0

1

1

0

0

1

1

1

0

0

0

0

0

0

1

0

0

0

1

1

1

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

0

0

0

0

1

1

0

0

1

1

1

1

0

1

0

0

0

0

0

0

0

1

1

1

1

0

1

1

0

0

0

0

0

0

1

1

1

1

0

1

1

1

0

0

0

0

0

1

1

1

1

0

1

1

1

1

1

0

1

0

0

0

0

0

0

0

1

0

1

1

1

0

1

0

0

0

0

0

1

1

0

1

1

1

0

1

0

0

0

0

1

1

1

0

1

1

1

0

1

0

Таблица 2. Тестирующая выборка.

х1

х2

х3

х4

х5

х6

х7

х8

х9

х10

у1

у2

у3

1

1

0

0

0

1

0

1

1

1

0

1

0

0

0

1

1

1

1

0

1

0

0

0

0

1

0

1

0

0

1

1

0

0

1

0

0

0

1

0

1

1

0

1

1

1

1

1

0

1

0

0

1

0

1

1

0

0

1

1

1

0

0

0

1

1

0

1

1

1

1

1

0

1

1

0

0

1

0

0

0

1

1

1

1

1

0

1

0

1

0

1

1

1

1

0

1

1

1

1

0

1

0

0

2.2 Обучение нейронной сети

После определения количества обучающих примеров в выборке необходимо определить возможное количество нейронов на скрытых слоях персептрона. Для этого использовалась формула, являющаяся следствием теорем Арнольда–Колмогорова–Хехт–Нильсена.

где   - размерность выходного сигнала; Q – число элементов обучающей выборки; - необходимое число синаптических весов; Nx – размерность входного сигнала. Тогда число нейронов в скрытых слоях

В нашем случае сеть была построена, исходя из следующих параметров: Nx=10, Ny=3, Q=179. Тогда 59 £ Nw £ 796, следовательно, число нейронов в скрытых слоях 4,5 £ N £ 61.

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

При увеличении числа нейронов N на внутреннем слое персептрона погрешность обучения   обычно падает, тогда как погрешность обобщения сначала падает, а затем, начиная с некоторого оптимального значения N=Nопт, возрастает.

Для выявления Nопт из найденного промежутка необходимо определить такое N, при котором ошибка тестирования будет минимальна.

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

Как видно из графика (рис. 7) Nопт равняется 11 нейронам. Следовательно, именно такое число нейронов на внутреннем слое будет использоваться при определении ответа на вопрос «разрешат ли родители завести своему ребенку домашнего животного». Максимальная ошибка при таком количестве нейронов – 0,012.

Рис.7. Значимость погрешности обучения и обобщения от числа нейронов внутренних слоев

Мы использовали Нейросимулятор, который был создан студентом 5 курса механико-математического факультета ПГУ, Черепановым Ф. М. Внешний вид нейросимулятора представлен на рис.8.

Рис. 8. Нейросимулятор

На данном рисунке видно, что мы использовали 10 входных параметров, 1 скрытый слой с 11-ю нейронами скрытого слоя и 3 нейронами на выходе.

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

На рисунке 9 можно посмотреть, какие настройки использовались для обучения сети.

Рис.9. Обучение.

На рисунке 10 представлен график, отражающий ошибку сети.

Рис.10. Ошибка сети

Значимость параметров и обучения представлены на рисунке 11.

Рис.11. Значимость обучения и обобщения

Синим цветом показана ошибка обучения, а красным – ошибка обобщения.

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

2.3 Анализ полученных результатов

Для того, чтобы понять, как Нейросимулятор отреагирует на новые параметры, мы для тестируемой выборки подобрали 8 примеров с различными данными. Эти параметры и результаты тестирования представлены на рисунке 12.

Рис. 12. Вычисления тестовой выборки

Анализируя работу персептрона и полученные результаты можно сделать вывод, что персептрон выдал значения близкие к практическим.

Для того, чтобы наглядно продемонстрировать это утверждение, на рисунке 13  покажем соотношение между практическими и прогнозируемыми значениями.

Рис.13. Соотношение между практическими и прогнозируемыми значениями

Заключение

В первой части своей работы я проделала следующее:

  1.  изучила основные понятия искусственного интеллекта и нейронных сетей;
  2.  «пробежалась» по истории развития искусственного интеллекта;
  3.  разобрала различные подходы к построению систем искусственного интеллекта;
  4.  отразила примеры использования нейронных сетей.

Во второй части работы для того, чтобы дать ответ на вопрос «разрешат ли родители своему ребенку завести домашнее животное» по введенным параметрам  я использовала Нейросимулятор 2.0, в который подавались некоторые статистические данные, указанные в работе. Далее я обучала нейронную сеть и проверяла ее работу. Для обучения сети использовался метод обратного распространения.

В результате, Нейросимулятор хорошо обучился, и при проверке на тестируемых данных не было выявлено никаких недочетов.

У каждой семьи разные традиции, разные «потребности в общении с животным миром», разное материальное положение. Все это я попыталась отразить в своей работе и учесть все факторы.

Список использованных источников литературы

  1.  Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. – СПб:Питер, 2000. – 384 с.
  2.  Люгер Дж.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. – М.:Изд. дом «Вильямс», 2003. – 864 с.
  3.  Хайкин С. Нейронные сети. Издательство «Вильямс», 2005.-1104 с.
  4.  Ясницкий Л.Н. Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений, М.: Издательский центр «Академия», 2005.-176 с.
  5.  www.artint.ru - Российский НИИ Искусственного интеллекта;
  6.  http://offline.computerra.ru/2002/445/18040/ - Нейросимуляция;
  7.  http://chat.ru/~officier/161.htm - Краткое Введение в искусственные нейронные сети;
  8.  www.statsoft.ru – Введение в искусственный интеллект;
  9.  www.neuroproject.ru – Нейронные сети.


 

А также другие работы, которые могут Вас заинтересовать

47973. Аграрна політика. Курс лекцій 2.2 MB
  Соціальноекономічний стан аграрного виробництва. Сучасний стан і тенденції розвитку аграрного виробництва Державна політика щодо сільськогосподарського виробництва у період існування Радянського Союзу Економіці належить виняткова роль у забезпеченні життя суспільства як сфери виробництва і відтворення матеріальних благ.
47974. Концепція проекту. Визначення і сутність інвестиційного проекту діяльності 277.5 KB
  Концепція проекту План лекції: Визначення і сутність інвестиційного проекту діяльності. Структура інвестиційного проекту.Життєвий цикл проекту та його кроки 4.Визначення і сутність інвестиційного проекту діяльності Проект є організаційною формою реалізації процесу інвестування.
47975. Будівельна механіка. Конспект лекцій 1.73 MB
  Перший тип опори представлений на рис. Схематично її зображують у вигляді одного стержня з двома ідеальними без тертя шарнірами на кінцях рис. Другий тип опори рис.Схематично опора другого типу зображується за допомогою двох стержнів з ідеальними шарнірами на кінцях; верхній шарнір є загальним для обох стержнів рис.
47976. БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ 1.97 MB
  Усе це вказує на потребу формування знань вмінь навичок з безпеки життєдіяльності як необхідної умови безпечного та повноцінного життя людини. Безпека життєдіяльності людини. Безпека життєдіяльності людини. Основи безпеки життєдіяльності людини: Навч.
47977. Статистична наука 554 KB
  Одиниця сукупності – це первинний елемент сукупності що створює відповідну сукупність і відображає її якісну однорідність. Одиниці сукупності повинні бути носіями певних властивостей або ознак тобто таких властивостей які можуть бути встановлені і вивчені виміряні. Тема 2 Статистичне спостереження Статистичне спостереження як метод інформаційного забезпечення є цілком необхідним для виявлення сукупності відомостей пор явища та процеси суспільного життя. Суцільне спостереження передбачає охоплення обліком всіх без винятку одиниць...
47978. ЕКОЛОГІЯ. БІОСФЕРА – СЕРЕДОВИЩЕ ЖИТТЯ ЛЮДИНИ 331 KB
  Короткий нарис історії екології. Українська екологічна школа Історія розвитку екології як синтетичної наукової дисципліни порівняно нетривала. Протягом XIX та початку XX століття розвиток спеціальних аналітичних наук сприяв накопиченню фактичних даних без яких було б неможливим формування екології як сучасної синтетичної науки. У становленні екології помітну роль зіграли праці К.
47979. Економічна діагностика 263.5 KB
  Економічна діагностика підприємства оцінка економічних показників роботи підприємства на основі вивчення окремих результатів неповної інформації з метою виявлення можливих перспектив його розитку і наслідків ухвалення поточних управлінських рішень. На основі аналізу і дослідження складається прогноз щодо змін і оптимізації існуючої організаційноекономічної підсистеми підприємства. Системний аналіз поділяється на: аналіз організаційної підсистеми який містить: аналіз політики підприємства його завдань; Аналіз концепції тобто...
47981. ОСНОВИ ФІНАНСІВ ПІДПРИЄМСТВ 590 KB
  У процесі розвязування практичних завдань необхідно засвоїти що фінанси підприємств – це сукупність економічних відносин які пов’язані з рухом грошових коштів формуванням розподілом і використання доходів та грошових фондів суб’єктів підприємництва в процесі відтворення. Відповідаючи на контрольні питання і тести необхідно виходити з того що безготівкові розрахунки – це перерахування певної суми коштів з рахунків платників на рахунки одержувачів коштів а також перерахування банками за дорученням підприємств і фізичних осіб коштів...