Автор: Пользователь скрыл имя, 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
Однако в 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 минус значение боли», и наоборот.
Ценность связи определяется не только её прямым весом, но и тем, с какого количества различных связей более низкого уровня эта связь в конечном итоге задействуется, активизируется . Какая-то связь может быть многократно продублирована и для конкретного индивида может иметь ценность, недоступную для понимания других. Например, некто очень дорожит расческой, зачастую, без афиширования этого факта. Откуда возникло это отношение? Может быть, что эта расческа когда-то доставила человеку необычайную радость:
– была подарена в счастливый момент,
– спасла человеку жизнь,
– может, она для человека символ успешного постоянства и так далее.
Конечно, из-за нашего исходного
незнания множества деталей
Чтобы проверить, насколько
выдвинутые нами принципы организации
работы мозга соответствуют
Скажем несколько слов
о возможности создания модели мозга,
более совершенного, чем мозг самого
человека. В настоящее время
Этот тезис основан на констатации положения, что более совершенные, более сложные автомат, программа, существо содержат больше информации, чем более простые; и на дальнейшей его абсолютизации: — откуда, мол, появится информация сверх той, что была у более простого существа - создателя? Действительно, эти дополнительные порции информации, усложняющие объект, не могут появиться ниоткуда. Казалось бы, эта дополнительная информация не может быть и сгенерирована более простым «субъектом» – создателем более сложного автомата или существа следующего поколения. Он не может выдать информации больше, чем в нём есть. Отсюда и следует утверждение о невозможности создания более сложного объекта более простым «субъектом» – создателем.
Однако хорошо известно, что практически у всех тренеров по любым видам спорта, равно как у школьных и университетских преподавателей, есть ученики, имеющие гораздо лучшие результаты, чем были у самих тренеров и преподавателей. Часто более образованные и информированные дети умнее родителей. То есть, в повседневной жизни мы сплошь и рядом видим факты, опровергающие указанный тезис.
Это происходит потому, что кроме активного «субъекта» – «создателя», инициатора процесса, будь это исходная яйцеклетка или инженер – исследователь, есть множество активных и пассивных ассистентов, принимающих участие в процессе формирования, создания новых объектов и наполнения их дополнительной (к «создателю») информацией. Активным ассистентом может быть и сам формируемый объект – ученик. Сам же инициатор–создатель в этом процессе представляет, пусть самую активную, инициирующую, но лишь часть системы, формирующей новый объект, который может стать гораздо более сложным, чем «субъект» – инициатор. В качестве иллюстрирующего примера можно привести человека и яйцеклетку, из которой этот человек произошёл; инженера или школьника, собирающих из блоков некоего высокоинтеллектуального робота. Структура этих блоков совершенно неизвестна создателю новой конструкции, но в этих блоках воплощены знания и опыт миллионов людей. Все эти ассистенты, от окружающей среды до самого ученика, и поставляют дополнительную информацию, позволяющую ученику превзойти учителя.