Нейронная сеть для решения задачи XOR
Министерство образования и науки Республики Казахстан
Казахский Национальный Педагогический Университет им. Абая
Физико-математический факультет
Кафедра «Информатики и прикладной математики»
ДИПЛОМНАЯ РАБОТА
На тему: Нейронная сеть для решения задачи XOR
Специальность: 050111 «Информатика»
Выполнил:
|
Дорошев Виталий студент 4 курса, очного отделения |
__________________ |
Научный руководитель: |
к.п.н., ст. преп. Киселева Е.А. |
__________________ |
Дипломная работа допущена к защите перед Государственной аттестационной комиссией решением заседания кафедры «Информатики и прикладной математики », протокол № __ от ________ 2012 г. и распоряжением декана факультета № _____ от __________ 2012 г.
|
Заведующий кафедрой д.ф-м.н., проф. Бердышев А. С.
______________ |
Декан к.ф-м.н., доц. Бекпатшаев М.Ж.
_______________ |
Алматы, 2012
Содержание
Введение 3
1 Интеллектуальные системы на основе искусственных нейронных сетей 6
1.1 Аппаратное моделирование структур, подобных структуре мозга 6
1.2 Архитектура нейронной сети 13
1.3 Обучение искусственных нейронных сетей. 25
2 Многослойные сети прямого распространения 33
2.1 Ограниченность возможностей однослойных персептронов. 33
2.2 Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения 37
2.3 Пример решения задачи XOR - исключающего ИЛИ 50
Заключение 59
Список используемой литературы 61
Приложение А 62
Введение
Современные цифровые вычислительные машины превосходят человека по способности производить числовые и символьные вычисления. Однако человек может без усилий решать сложные задачи восприятия внешних данных (например, узнавание человека в толпе только по его промелькнувшему лицу) с такой скоростью и точностью, что мощнейший в мире компьютер по сравнению с ним кажется безнадежным тугодумом.
Подобно биологической нейронной
системе ИНС является вычислительной
системой с огромным числом параллельно
функционирующих простых
Интеллектуальные системы на основе искусственных нейронных сетей (ИНС) позволяют с успехом решать проблемы распознавания образов, выполнения прогнозов, оптимизации, ассоциативной памяти и управления. Известны и иные, более традиционные подходы к решению этих проблем, однако они не обладают необходимой гибкостью за пределами ограниченных условий. ИНС дают многообещающие альтернативные решения, и многие приложения выигрывают от их использования.
Исследования по искусственным нейронным сетям связаны с тем, что способ обработки информации человеческим мозгом в корне отличается от методов, применяемых обычными цифровыми компьютерами. Мозг представляет собой чрезвычайно сложный, нелинейный, параллельный компьютер. Учеными доказано, что мозг состоит из огромного числа структурных компонентов – нервных клеток, называемых также нейронами. Нейрон создает соединения с другими нейронами, количество которых может составлять от 10 до 100 000 в точках сопряжения. Сигналы, распространяемые по нейронной сети, управляют активностью мозга в течение короткого интервала, а также становятся причиной долговременных изменений состояния самих нейронов и их соединений.
Мозг человека обладает
способностью организовывать работу нейронов,
так, чтобы они могли выполнять
конкретные задачи (такие как распознавание
образов, обработку сигналов органов
чувств, моторные функции) во много
раз быстрее, чем могут позволить
самые быстродействующие
Другим примером может служить локатор летучей мыши, представляющий собой систему активной эхо-локации. Кроме предоставления информации о расстоянии до нужного объекта этот локатор предоставляет информацию об относительной скорости объекта, о его размерах и размерах его отдельных элементов, а также об азимуте и высоте движения объекта. Для выделения этой информации из получаемого сигнала крохотный мозг летучей мыши проводит сложные нейронные вычисления. Эхо-локация летучей мыши по своим характеристикам качества и быстродействия превосходит самые сложные приборы, созданные инженерами.
Разработка искусственных нейронных сетей началась в начале ХХ века, но только в 90-х годах, когда вычислительные системы стали достаточно мощными, нейронные сети получили широкое распространение. Создание нейронных сетей было вызвано попытками понять принципы работы человеческого мозга и, без сомнения, это будет влиять и на дальнейшее их развитие. Однако, в сравнении с человеческим мозгом нейронная сеть сегодня представляют собой весьма упрощенную модель, но несмотря на это весьма успешно используются при решении самых различных задач.
Нейронные сети - исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости. В частности, нейронные сети нелинейны по свой природе. На протяжение многих лет линейное моделирование было основным методом моделирования в большинстве областей, поскольку для него хорошо разработаны процедуры оптимизации. В задачах, где линейная аппроксимация неудовлетворительна, линейные модели работают плохо. Кроме того, нейронные сети справляются с "проклятием размерности", которое не позволяет моделировать линейные зависимости в случае большого числа переменных
Нейронные сети учатся
на примерах. Пользователь нейронной
сети подбирает представительные данные,
а затем запускает алгоритм обучения,
который автоматически
Объектом исследования является модель искусственных нейронных сетей.
Цель - изучение основных принципов работы искусственной вычислительной модели биологического нейрона и их демонстрация на примере решения задачи XOR.
Задачи
- Изучение общих вопросов организации искусственных нейронных сетей;
- Анализ способности к обучению искусственных нейронных сетей;
- Изучение проблемы ограниченности возможностей однослойных персептронов;
- Создание программного приложения, демонстрирующего решение проблемы XOR – исключающего ИЛИ.
Практическая значимость дипломной работы заключается в программной демонстрации того, как с помощью многослойных персептронов может быть смоделирована любая логическая функция, если только известна ее логическая формула. Исследован специальный математический аппарат, позволяющий конструировать такие персептроны. Оказалось, что проблема “Исключающего ИЛИ”, явившаяся камнем преткновения для однонейронного персептрона, может быть разрешена с помощью нейронной сети, состоящей из трех нейронов — трехнейронного персептрона
1 Интеллектуальные системы на основе искусственных нейронных сетей
1.1 Аппаратное моделирование структур, подобных структуре мозга
Идея создания искусственного
подобия человека для решения
сложных задач и моделирования
человеческого разума витала в воздухе
еще в древнейшие времена. Так, в
древнем Египте была создана «оживающая»
механическая статуя бога Амона. У Гомера
в «Илиаде» бог Гефест ковал человекоподобные
существа-автоматы. В литературе эта
идея обыгрывалась многократно: от Галатеи
Пигмалиона до Буратино папы Карло. Однако
родоначальником искусственного интеллекта
считается средневековый
В XVIII веке Лейбниц и Декарт независимо друг от друга продолжили эту идею, предложив универсальные языки классификации всех наук. Эти работы можно считать первыми теоретическими работами в области искусственного интеллекта. Окончательное рождение искусственного интеллекта как научного направления произошло только после создания ЭВМ в 40-х годах XX века. В это же время Норберт Винер создал свои основополагающие работы по новой науке — кибернетике.
Термин «искусственный интеллект» — ИИ — (AI — artificial intelligence) был предложен в 1956 г. на семинаре с аналогичным названием в Дартсмутском колледже (США). Семинар был посвящен разработке методов решения логических, а не вычислительных задач. В английском языке данное словосочетание не имеет той слегка фантастической антропоморфной окраски, которую оно приобрело в довольно неудачном русском переводе. Слово intelligence означает «умение рассуждать разумно», а вовсе не «интеллект», для которого есть термин intellect.
Синтезируя десятки
Вскоре после признания
искусственного интеллекта отдельной
областью науки произошло разделение
его на два направления: нейрокибернетика
и «кибернетика черного ящика». Эти
направления развиваются
Зарождение нейрокибернетики.
Основную идею этого направления можно сформулировать следующим образом:
Единственный объект, способный мыслить, — это человеческий мозг. Поэтому любое «мыслящее» устройство должно каким-то образом воспроизводить ею структуру.
Таким образом, нейрокибернетика
ориентирована на программно-аппаратное
моделирование структур, подобных структуре
мозга. Физиологами давно установлено,
что основой человеческого
Первые нейросети были созданы Розенблаттом и Мак-Каллоком в 1956-1965 гг. Это были попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом. Устройство, созданное ими тогда, получило название персептрона (perceptron). Оно умело различать буквы алфавита, но было чувствительно к их написанию. Постепенно в 70-80 годах количество работ по этому направлению искусственного интеллекта стало снижаться. Слишком неутешительны были первые результаты. Авторы объясняли неудачи малой памятью и низким быстродействием существующих в то время компьютеров.
Однако в 1980-х в Японии в рамках проекта «ЭВМ V поколения» был создан первый нейрокомпыотер, или компьютер VI поколения. К этому времени ограничения по памяти и быстродействию были практически сняты. Появились транспьютеры — параллельные компьютеры с большим количеством процессоров.
Транспьютерная технология — это только один из десятка новых подходов к аппаратной реализации нейросетей, которые моделируют иерархическую структуру мозга человека. Основная область применения нейрокомпыотеров сегодня — это задачи распознавания образов, например идентификация объектов по результатам аэрофотосъемки из космоса.
Можно выделить 3 подхода к созданию нейросетей:
1. Аппаратный — создание
специальных компьютеров,
2. Программный — создание
программ и инструментариев,
3. Гибридный — комбинация первых двух. Часть вычислений выполняют специальные платы расширения (сопроцессоры), часть — программные средства.
Информационная ёмкость мозга порядка 5*1014 байт. Так что нашему моделирующему компьютеру понадобится, как минимум, память такой ёмкости. Мозг представляет собой 15 миллиардов асинхронных логических элементов, каждый из которых имеет быстродействие порядка 10 ÷ 100 переключений в секунду. Возможность переключения определяется сигналами на входах нейрона. А входов у каждого нейрона до 10 000. Причём входы эти скорее аналоговые (мы пока условно приняли разрешение аналоговых сигналов в 212=4096 уровней, то есть, 12 бит). Так что для определения того, возбудится нейрон в какой-то момент времени или нет, нужно провести суммирование сигналов на всех его входах с учётом их весов-электрических сопротивлений и сравнить полученную сумму с пороговым значением уровня возбуждения для данного нейрона в данный момент. Порог этот может меняться с течением времени. Он определяется тем, насколько «отдохнул», зарядился данный нейрон, насколько он разрядился, текущей физиологической (химической) обстановкой на данном участке мозга. Так что нам в процессе моделирования в реальном времени придётся не менее 10 раз в секунду просматривать и суммировать все 1.5*1014 связей (1.5*1014 = 15*109 нейронов * 10 000 входов/нейрон) для определения состояния возбуждённости каждого из множества нейронов на следующем шаге.
Для каждой связи нужно иметь не менее 3.5 байт (28 бит), а именно:
а) 16 бит – адрес нейрона, возбуждающий выход которого связан с данным входом,
б) 12 бит – функция возраста входа-связи, однозначно связанная с уменьшающимся со временем весом, проводимостью данной связи, представляемой 12 битами.
При этом нужно учитывать
топологию (географию)
Даже если мы сможем
на одном процессоре
Пока что такая задача при решении её «в лоб» непосильна даже для самых могучих на сегодня компьютеров. Но для подтверждения адекватности нашей модели совсем не обязательно проводить полномасштабное моделирование развитой человеческой личности, базирующейся на 5*1014 байтах (1.5*1010 нейронов * 104 связей/нейрон * 3.5 байта/связь). Для доказательства правильности нашего подхода достаточно было бы промоделировать поведение и выживание (в зависимости от способностей к адаптации к изменяющимся условиям существования) нескольких разновидностей «организмов», имеющих в своём составе по 10 нейронов с 5 входами каждый (или 20 нейронов с 10 входами каждый). Эти разновидности «организмов» могут быть такими:
а) У одной разновидности компьютерной модели организма связи между нейронами не могут устанавливаться.
б) У другой разновидности
связи устанавливаются
в) У третьей разновидности
могут устанавливаться
г) У четвертой разновидности могут устанавливаться связи с возрастающим со временем сопротивлением между двумя возбуждёнными нейронами. Причём со временем сопротивление связей увеличивается так сильно (уменьшается проводимость, логический вес), что связь можно считать полностью утраченной. И вместо выбывшей связи может образоваться новая, так чтобы у нейрона в каждый момент было не более 10 связей.
Можно «поместить» модели
этих 4-х разновидностей мелких организмов
в условия с одинаковыми полями
питания и опасностей с градациями
результатов воздействия на них
опасностей (от легких «травм» до «смерти»)
и понаблюдать, как эти «организмы»
будут выживать, сколько из них
дойдет до точки размножения, и посмотреть
на результаты отбора – выживания
этих компьютерных «организмов». Учитывая
малые масштабы, примитивность «организмов»,
их моделирование вполне можно провести
даже на персональном компьютере. Понятно,
что наиболее предпочтительны шансы
на выживание у 3-й и 4-ой групп. А
при изменчивости условий наибольшие
шансы будут у 4-й группы, способной
к переучиванию. Но будет гораздо
более доказательно, если ожидаемый
результат даст не наша уверенность
в правильности модели – нашего
представления о работе мозга, а
слепой бесстрастный статистический компьютерный
эксперимент. И, тем самым, будет
показана полезность для выживания
организма даже простейшей нервной
системы с очень просто организованной
памятью. Хотя выше, в разделе «Мозг
– орган предвидения» с помощью
калькулятора мы уже показали полезность
нервной системы из двух-трех нейронов
для выживания простейшего
Чтобы полномасштабно промоделировать становление человеческой личности, нужно «воспитать» эту личность в ходе её развития, начиная практически от зачатия организма и хотя бы до года. При этом приятно было бы увидеть, что компьютерное «дитя» научилось узнавать своих создателей и говорить слово «МАМА» без какого бы то ни было силового вмешательства в свою «психику» со стороны, устанавливающего внешним образом, «вручную», какие-то правила или связи в его мозге. То есть, чтобы у искусственного «ребёнка» все происходило так, как это и происходит у естественных детей, – без грубого вмешательства в его мозг. А ещё лучше воспитать, обучить это «дитя» до самого «совершеннолетия». Но для такой длительной «воспитательной» работы необходима могучая в вычислительном плане сверхнадёжная техника, могущая работать без «летальных» сбоев долгие годы.
Понятно, что при этом нужно решить множество задач и даже проблем:
1. Обеспечить формирование
входных сигналов, отражающих влияние
окружающего мира на
2. Образовать сети, проводящие эти сигналы. Подготовка, «рост» нейронов, из которых впоследствии образуются сети.
3. Обеспечить запоминание информации (выполнено).
4. Воспроизведение информации
(выполнено вместе с
5. Обеспечить передачу
обработанного сигнала к
6. Обеспечить образование
цепей положительных и
7. Обеспечить «самочувствие»
носителя искусственного мозга.
8. Как эмулировать тягу, стремление к размножению? Или заменить эту тягу бессмертием? Или возложить функцию тиражирования носителей ИМ на людей? Тогда и вопрос безопасности человека от уничтожения со стороны носителя ИМ автоматически разрешается – человек становится необходимым звеном самовоспроизведения ИМ! То есть, человечество будет выступать даже не в роли акушерки, а в роли матери для ИМ, вступая с ним в симбиоз.
9. По ходу дела нужно
«выращивать» аксоны и
10. Совсем не обязательно,
чтобы дендриты (их около 10 000 у
нейрона человека) росли по отдельности.
На одном длинном дендрите (паутинке
из слизи) может быть очень
много возможных точек-
Замечания к пункту 6. Положительная ОС (ПОС) образуется в результате физиологического самопоглаживания, в том числе, через эндокринную систему; психологического само- и взаимного поглаживания: игры, шутки, смех, истории, анекдоты, чтение книг, просмотр TV. Более длинные положительные ОС образуются в процессе созидательной работы: от выпаса гусей, доения коров до написания книг, строительства домов, мостов и городов, сажания деревьев, воспитания детей, и вплоть до негромкого, не афишируемого самопожертвования (хотя смерть красна только на миру). Ведь бывает и так, что люди идут на смерть, точно зная, что никто из тех, чьим мнением они дорожат, их самопожертвования не оценит, и даже знать не будет.
Положительная ОС включает в себя и вредные зависимости:
– никотиновая,
– алкогольная,
– наркотическая,
– токсикологическая,
– азартная (различные игры).
И преодолевать эти вредные, пагубные ПОС можно только путём создания в поражённой личности конкурирующих, более сильных ПОС. Можно сказать, изменением индивидуальной системы ценностей индивида.
Глубина и вес ОС, образовавшейся и меняющейся в индивиде по ходу его жизни, зависит от системы ценностей индивида. Ценность, вес связи зависит также от степени её влияния на конечный результат. А результатов всего два:
– есть боль
– есть радость.
В двоичной системе их связь можно представить как: «радость равна 1 минус значение боли», и наоборот.
Ценность связи определяется не только её прямым весом, но и тем, с какого количества различных связей более низкого уровня эта связь в конечном итоге задействуется, активизируется . Какая-то связь может быть многократно продублирована и для конкретного индивида может иметь ценность, недоступную для понимания других. Например, некто очень дорожит расческой, зачастую, без афиширования этого факта. Откуда возникло это отношение? Может быть, что эта расческа когда-то доставила человеку необычайную радость:
– была подарена в счастливый момент,
– спасла человеку жизнь,
– может, она для человека символ успешного постоянства и так далее.
Конечно, из-за нашего исходного
незнания множества деталей
Чтобы проверить, насколько
выдвинутые нами принципы организации
работы мозга соответствуют
Скажем несколько слов
о возможности создания модели мозга,
более совершенного, чем мозг самого
человека. В настоящее время
Этот тезис основан на констатации положения, что более совершенные, более сложные автомат, программа, существо содержат больше информации, чем более простые; и на дальнейшей его абсолютизации: — откуда, мол, появится информация сверх той, что была у более простого существа - создателя? Действительно, эти дополнительные порции информации, усложняющие объект, не могут появиться ниоткуда. Казалось бы, эта дополнительная информация не может быть и сгенерирована более простым «субъектом» – создателем более сложного автомата или существа следующего поколения. Он не может выдать информации больше, чем в нём есть. Отсюда и следует утверждение о невозможности создания более сложного объекта более простым «субъектом» – создателем.
Однако хорошо известно, что практически у всех тренеров по любым видам спорта, равно как у школьных и университетских преподавателей, есть ученики, имеющие гораздо лучшие результаты, чем были у самих тренеров и преподавателей. Часто более образованные и информированные дети умнее родителей. То есть, в повседневной жизни мы сплошь и рядом видим факты, опровергающие указанный тезис.
Это происходит потому, что кроме активного «субъекта» – «создателя», инициатора процесса, будь это исходная яйцеклетка или инженер – исследователь, есть множество активных и пассивных ассистентов, принимающих участие в процессе формирования, создания новых объектов и наполнения их дополнительной (к «создателю») информацией. Активным ассистентом может быть и сам формируемый объект – ученик. Сам же инициатор–создатель в этом процессе представляет, пусть самую активную, инициирующую, но лишь часть системы, формирующей новый объект, который может стать гораздо более сложным, чем «субъект» – инициатор. В качестве иллюстрирующего примера можно привести человека и яйцеклетку, из которой этот человек произошёл; инженера или школьника, собирающих из блоков некоего высокоинтеллектуального робота. Структура этих блоков совершенно неизвестна создателю новой конструкции, но в этих блоках воплощены знания и опыт миллионов людей. Все эти ассистенты, от окружающей среды до самого ученика, и поставляют дополнительную информацию, позволяющую ученику превзойти учителя.

- Некоммерческий маркетинг
- Некоторые аспекты идейно-смыслового содержания и исполнительского воплощения клавирного творчества И.С.Баха
- Некоторые аспекты коллективных трудовых споров: понятие, порядок разрешения
- Некоторые вопросы геометрии Лобачевского на модели Пуанкаре
- Некоторые вопросы правового регулирования труда работников прокуратуры
- Некоторые квалифицированные виды убийства
- Некоторые особенности работы с низкими мужскими голосами
- Незаконный оборот наркотиков и борьба с ним
- Незаконный оборот наркотических веществ
- Незаконный оборот наркотических и психотропных веществ
- Незаконный оборот наркотических средств
- Незаконный оборот наркотических средств или психотропных веществ
- Неисполнение, как уголовно-правовая категория
- Неисправности кривошипно-шатунного механизма двигателя ЗИЛ 130