Нейронная сеть для решения задачи XOR

Автор: Пользователь скрыл имя, 04 Апреля 2013 в 17:11, дипломная работа

Краткое описание

Цель - изучение основных принципов работы искусственной вычислительной модели биологического нейрона и их демонстрация на примере решения задачи XOR.
Задачи
Изучение общих вопросов организации искусственных нейронных сетей;
Анализ способности к обучению искусственных нейронных сетей;
Изучение проблемы ограниченности возможностей однослойных персептронов;
Создание программного приложения, демонстрирующего решение проблемы XOR – исключающего ИЛИ.

Оглавление

Введение 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

Файлы: 1 файл

Диплом Дорошева Виталия.docx

— 580.55 Кб (Скачать)

Однако в 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 битами.

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

 Даже если мы сможем  на одном процессоре полномасштабно  моделировать работу 1000 нейронов со скоростью порядка 100 000 000 арифметических операций в секунду = (1000 нейронов * 10 000 вкладов-входов/нейрон * 10 просмотров/секунду), то для моделирования в реальном времени всего мозга человека понадобится 15 000 000 таких  процессоров.

Пока что такая задача при решении её «в лоб» непосильна даже для самых могучих на сегодня компьютеров. Но для подтверждения адекватности нашей модели совсем не обязательно проводить полномасштабное моделирование развитой человеческой личности, базирующейся на 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 минус значение боли», и наоборот.

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

– была подарена в счастливый момент,

– спасла человеку жизнь,

– может, она для человека символ успешного постоянства и  так далее.

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

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

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

Этот тезис основан  на констатации положения, что более совершенные, более сложные автомат, программа, существо содержат больше информации, чем более простые; и на дальнейшей его абсолютизации: — откуда, мол, появится информация сверх той, что была у более простого существа - создателя? Действительно, эти дополнительные порции информации, усложняющие объект, не могут появиться ниоткуда. Казалось бы, эта дополнительная информация не может быть и сгенерирована более простым «субъектом» – создателем более сложного автомата или существа следующего поколения. Он не может выдать информации больше, чем в нём есть. Отсюда и следует утверждение о невозможности создания более сложного объекта более простым «субъектом» – создателем.

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

Это происходит потому, что кроме активного «субъекта» – «создателя», инициатора процесса, будь это исходная яйцеклетка или инженер – исследователь, есть множество активных и пассивных ассистентов, принимающих участие в процессе формирования, создания новых объектов и наполнения их дополнительной (к «создателю») информацией. Активным ассистентом может быть и сам формируемый объект – ученик. Сам же инициатор–создатель в этом процессе представляет, пусть самую активную, инициирующую, но лишь часть системы, формирующей новый объект, который может стать гораздо более сложным, чем «субъект» – инициатор. В качестве иллюстрирующего примера можно привести человека и яйцеклетку, из которой этот человек произошёл; инженера или школьника, собирающих из блоков некоего высокоинтеллектуального робота. Структура этих блоков совершенно неизвестна создателю новой конструкции, но в этих блоках воплощены знания и опыт миллионов людей. Все эти ассистенты, от окружающей среды до самого ученика, и поставляют дополнительную информацию, позволяющую ученику превзойти учителя.

Информация о работе Нейронная сеть для решения задачи XOR