Реферат - Нейронные сети - файл 1.doc. Реферат нейросети


Доклад - Нейронные сети 4

Орловская региональная академия государственной службы

Факультет государственного и муниципального управления

Кафедра информатики и информационных технологий в менеджменте

Реферат

по дисциплине: «Информационные системы»

на тему: «Нейронные сети»

Выполнил: студент

группы 23 ИОСП Бобровникова Инна

Проверил: канд. полит.

наук, доцент

Проскурякова Л. Г.

Орел, 2008

Содержание

Введение………………………………………………………………………..3 1.История развития нейронных сетей………………………………………...4 2.Устройство нейронных сетей………………………………………………..6 3.Функции активации………………………………………………………….7 4.Типы архитектур нейросетей………………………………………………..8 5.Обучение многослойной сети………………………………………………..12 6.Обратное распространение ошибки…………………………………………14 7… Организация процесса обучения……………………………………………16 Заключение……………………………………………………………………...17

Введение

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

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

1. История развития нейронных сетей

На заре развития электронно-вычислительной техники в середине XX века среди ученых и конструкторов еще не существовало единого мнения он том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с вами изучаем в курсах основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети. Рис. 1 Главные части нервной клетки — это ее тело, содержащее ядро и другие органеллы, единственный аксон, передающий импульсы от клетки, и дендриты, к которым приходят импульсы от других клеток. Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки — нейрон. Мозг человека состоит из белого и серого веществ: белое — это тела нейронов, а серое — это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 10^11 нейронов,

Рис. 1

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

Таким образом, мозг содержит примерно 10^15 взаимосвязей. Если учесть, что любой нейрофизиологический процесс активизирует сразу множество нейронов, то можно представить себе то количество информации или сигналов, которое возникает в мозгу. Нейроны взаимодействуют посредством серий импульсов, длящихся несколько миллисекунд, каждый импульс представляет собой частотный сигнал с частотой от нескольких единиц до сотен герц. Это невообразимо медленно по сравнению с современными компьютерами, но в тоже время человеческий мозг гораздо быстрее машины может обрабатывать аналоговую информацию, как-то: узнавать изображения, чувствовать вкус, узнавать звуки, читать чужой почерк, оперировать качественными параметрами. Все это реализуется посредством сети нейронов, соединенных между собой синапсами. Другими словами, мозг — это система из параллельных процессоров, работающая гораздо эффективнее, чем популярные сейчас последовательные вычисления.

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

2. Устройство нейронных сетей

Искусственным нейроном называется простой элемент, сначала вычисляющий взвешенную сумму V входных величин хi:

Здесь N — размерность пространства входных сигналов. Затем полученная сумма сравнивается с пороговой величиной W0, вслед за чем вступает в действие нелинейная функция активации f. Коэффициенты {Wi} во взвешенной сумме обычно называют синаптическими коэффициентами или весами. Саму же взвешенную сумму V мы будем называть потенциалом нейрона i. Выходной сигнал тогда имеет вид f(V). Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. В этом случае мы говорим о расширенном входном пространстве: нейрон с N-мерным входом имеет N+1 весовой коэффициент. Если ввести в уравнение пороговую величину W0, то оно перепишется так:

В зависимости от способа преобразования сигнала и характера активации возникают различные виды нейронных структур. Существуют детерминированные нейроны, когда активизирующая функция однозначно вычисляет выход по входу, и вероятностные нейроны, состояние которых в момент t есть случайная функция потенциала и состояния в момент t-1. Далее речь пойдёт о детерминированных нейронах

3. Функции активации

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

* Линейная: выходной сигнал нейрона равен его потенциалу,

* Пороговая: нейрон выбирает решение из двух вариантов: активен /неактивен,

* Многопороговая: выходной сигнал может принимать одно из q значений, определяемых (q-1) порогом внутри предельных значений.

* Сигмоидная: рассматриваются два вида сигмоидных функций:

с выходными значениями в промежутке [0,1] и

с выходными значениями в промежутке [-1,1]. Коэффициент b определяет крутизну сигмоида. Поскольку сигмоидная функция является гладким отображением (-?,?) на (-1,1), то крутизну можно учесть через величины весов и порогов, и без ограничения общности можно полагать ее равной единице.

4. Типы архитектур нейросетей

Из точек на плоскости и соединений между ними можно построить множество графических фигур, называемых графами. Если каждую точку представить себе как один нейрон, а соединения между точками — как дендриты и синапсы, то мы получим нейронную сеть. Но не всякое соединение нейронов будет работоспособно или вообще целесообразно. Поэтому на сегодняшний день существует только несколько работающих и реализованных программно архитектур нейросетей. Я только вкратце опишу их устройство и классы решаемых ими задач. Сеть прямого распространения По архитектуре связей нейросети могут быть сгруппированы в два класса: сети прямого распространения, в которых связи не имеют петель, и сети рекуррентного типа, в которых возможны обратные связи (см. рис. 2)

Рис. 2 Рекуррентная сеть

Сети прямого распространения подразделяются на однослойные перцепротроны (сети) и многослойные перцептроны (сети). Название перцептрона для нейросетей придумал американский нейрофизиолог Ф. Розенблатт, придумавший в 1957 году первый нейропроцессорный элемент (НПЭ), то есть нейросеть. Он же доказал сходимость области решений для персептрона при его обучении. Сразу после этого началось бурное исследование в этой области и был создан самый первый нейрокомпьютер Mark I. Многослойные сети отличаются тем, что между входными и выходными данными располагаются несколько так называемых скрытых слоев нейронов, добавляющих больше нелинейных связей в модель. Рассмотрим устройство простейшей многослойной нейросети.

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

Если однослойная нейросеть очень хорошо справляется с задачами классификации, так как выходной слой нейронов сравнивает полученные от предыдущего слоя значения с порогом и выдает значение либо ноль, то есть меньше порогового значения, либо единицу — больше порогового (для случая пороговой внутренней функции нейрона), и не способен решать большинство практических задач (что было доказано Минским и Пейпертом), то многослойный перцептрон с сигмоидными решающими функциями способен аппроксимировать любую функциональную зависимость (это было доказано в виде теоремы). Но при этом не известно ни нужное число слоев, ни нужное количество скрытых нейронов, ни необходимое для обучения сети время. Эти проблемы до сих пор стоят перед исследователями и разработчиками нейросетей. Лично мне кажется, что весь энтузиазм в применении нейросетей строится именно на доказательстве этой теоремы. Рассмотрим, как нейроны могут моделировать различные классы функций.

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

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

5. Обучение многослойной сети

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

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

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

Здесь? — определяемый пользователем параметр, который называется коэффициентом обучения.

6. Обратное распространение ошибки

Одним из самых распространенных алгоритмов обучения нейросетей прямого распространения является алгоритм обратного распространения ошибки (Back Propagation, BP). Этот алгоритм был переоткрыт и популяризован в 1986 г. Румельхартом и МакКлелландом из группы по изучению параллельных распределенных процессов в Массачусетском технологическом институте. Здесь я хочу подробно изложить математическую суть алгоритма, так как очень часто в литературе ссылаются на какой-то факт или теорему, но никто не приводит его доказательства или источника. Честно говоря, то же самое относится к теореме об отображении нейросетью любой функциональной зависимости, на которой основываются все попытки применить нейросети к моделированию реальных процессов. Приведём алгоритм работы нейросети Итак, это алгоритм градиентного спуска, минимизирующий суммарную квадратичную ошибку:

Здесь индекс i пробегает все выходы многослойной сети. Основная идея ВР состоит в том, чтобы вычислять чувствительность ошибки сети к изменениям весов. Для этого нужно вычислить частные производные от ошибки по весам. Пусть обучающее множество состоит из Р. образцов, входы которого где? — длина шага в направлении, обратном к градиенту обозначены через {xik} Вычисление частных производных осуществляется по правилу цепи: вес входа i-гo нейрона, идущего от j-гo нейрона, пересчитывается по формуле:

где? — длина шага в направлении, обратном к градиенту

Если рассмотреть отдельно k-тый образец, то соответствующее изменение весов равно:

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

Для скрытых элементов множитель определяется так:

где индекс h пробегает номера всех нейронов, на которые воздействует i-ый нейрон.

7. Организация процесса обучения

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

Литература:

1. Мак-Каллок У.С., Питтс У. Логическое исчисление идей, относящихся к нервной активности // Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 2003. С. 362 — 384.

2. Минский М., Пейперт С. Перцептроны./ Минский М. Мир, 2001. 234 с.

3. Розенблат Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга. Мир, 2004, 248 с.

4. С. Короткий, «Нейронные сети: Алгоритм обратного распространения». СПб, 2002, 328 с.

5. С. Короткий,«Нейронные сети: Основные положения. СПб, 2002. 357 с.

6. Фомин С.В., Беркенблит М.Б. Математические проблемы в биологии. М.: Наука, 2004, 200 с.

7. Фон Нейман Дж. Вероятностная логика и синтез надежных организмов из ненадежных компонент. // Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 2003, С. 68 — 139.

8. Фон Нейман Дж. Теория самовоспроизводящихся автоматов. М.: Мир, 2001, 382 с.

9. Фролов А.А., Муравьев И.П. Информационные характеристики нейронных сетей. М.: Наука, 2005, 160 с.

10. Фролов А.А., Муравьев И.П. Нейронные модели ассоциативной памяти. М.: Наука, 2004, 160 с.

www.ronl.ru

Реферат - Нейронные сети и их устройство

МИНИСТЕРСТВО ВЫСШЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ИРКУТСКАЯ ГОСУДАРСТВЕННАЯ ЭКОНОМИЧЕСКАЯ АКАДЕМИЯ

КАФЕДРА ИНФОРМАЦИОННЫХ СИСТЕМ

САМОСТОЯТЕЛЬНАЯ РАБОТА

по прогнозированию экономических процессов

на тему:

НЕЙРОННЫЕ СЕТИ и ИХ УСТРОЙСТВО

Выполнил: Преподаватель:

Студент группы М-95-1 Губанова О.В.

Четвериковым С.В.

ИРКУТСК 1998

Введение в нейронные сети

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

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

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

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

История нейронных сетей

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

Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки – нейрон. Мозг человека состоит из белого и серого веществ: белое – это тела нейронов, а серое – это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 1011 нейронов, связанных между собой. Каждый нейрон получает информацию через свои дендриты, а передает ее дальше только через единственных аксон, разветвляющийся на конце на тысячи синапсов (см. рис. 1).

Рис. 1

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

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

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

Устройство нейронных сетей

Искусственным нейроном называется простой элемент, сначала вычисляющий взвешенную сумму V входных величин xi :

.

Здесь N – размерность пространства входных сигналов.

Затем полученная сумма сравнивается с пороговой величиной W0, вслед за чем вступает в действие нелинейная функция активации f. Коэффициенты {Wi} во взвешенной сумме обычно называют синаптическими коэффициентами или весами. Саму же взвешенную сумму V мы будем называть потенциалом нейрона i. Выходной сигнал тогда имеет вид f(V).

Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. В этом случае мы говорим о расширенном входном пространстве: нейрон с N-мерным входом имеет N+1 весовой коэффициент. Если ввести в уравнение пороговую величину W0, то оно перепишется так:

.

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

Функции активации

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

с выходными значениями в промежутке [0,1] и

с выходными значениями в промежутке [-1,1].

Коэффициент b определяет крутизну сигмоида. Поскольку сигмоидная функция является гладким отображением (-¥,¥) на (-1,1), то крутизну можно учесть через величины весов и порогов, и без ограничения общности можно полагать ее равной единице. Графические изображения простейшего нейрона и виды функций с их графиками приведены на рис. 2.

Рис. 2

Типы архитектур нейросетей

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

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

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

Рис. 3 Сеть прямого распространения

Рис. 4 Рекуррентная сеть

Сети прямого распространения подразделяются на однослойные перцепротроны (сети) и многослойные перцептроны (сети). Название перцептрона для нейросетей придумал американский нейрофизиолог Ф. Розенблатт , придумавший в 1957 году первый нейропроцессорный элемент (НПЭ) , то есть нейросеть. Он же доказал сходимость области решений для перцептрона при его обучении. Сразу после этого началось бурное исследование в этой области и был создан самый первый нейрокомпьютер Mark I. Многослойные сети отличаются тем, что между входными и выходными данными располагаются несколько так называемых скрытых слоев нейронов, добавляющих больше нелинейных связей в модель.

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

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

Рис. 5

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

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

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

Среди рекуррентных сетей можно выделить сети Хопфилда и сети Кохонена.

С помощью сетей Хопфилда можно обрабатывать неупорядоченные (рукописные буквы), упорядоченные во времени (временные ряды) или пространстве (графики) образцы. Рекуррентная нейросеть простейшего вида была введена Хопфилдом и построена она из N нейронов, связанных каждый с каждым кроме самого себя, причем все нейроны являются выходными. Нейросеть Хопфилда можно использовать в качестве ассоциативной памяти. Архитектура сети Хопфилда изображена на рис. 6.

Рис. 6

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

Обучение многослойной сети

Главное отличие и преимущество нейросетей перед классическими средствами прогнозирования и классификации заключается в их способности к обучению. Так что же такое обучение нейросетей?

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

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

,

где М – число примеров в обучающем множестве.

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

.

Здесь e - определяемый пользователем параметр, который называется коэффициентом обучения.

Обратное распространение ошибки

Одним из самых распространенных алгоритмов обучения нейросетей прямого распространения является алгоритм обратного распространения ошибки (BackPropagation, BP). Этот алгоритм был переоткрыт и популяризован в 1986 г. Румельхартом и МакКлелландом из группы по изучению параллельных распределенных процессов в Массачусетском технологическом институте. Здесь я хочу подробно изложить математическую суть алгоритма, так как очень часто в литературе ссылаются на какой-то факт или теорему, но никто не приводит его доказательства или источника. Честно говоря, то же самое относится к Теореме об отображении нейросетью любой функциональной зависимости, на которой основываются все попытки применить нейросети к моделированию реальных процессов. Я бы хотел посмотреть на ее доказательство, но еще нигде его не смог найти. Вот, чтобы у Вас не возникало такого чувства неудовлетворенности в полноте понимания работы нейросети, я решил привести этот алгоритм полностью, хотя честно сознаюсь, что не совсем понимаю его логику.

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

.

Здесь индекс i пробегает все выходы многослойной сети.

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

где e - длина шага в направлении, обратном к градиенту.

Если рассмотреть отдельно k-тый образец, то соответствующиее изменение весов равно:

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

Для выходных элементов получим:

Для скрытых элементов множитель dikопределяется так:

где индекс h пробегает номера всех нейронов, на которые воздействует i-ый нейрон.

Чтобы наглядно представить себе алгоритм обратного распространения ошибки, можно посмотреть следующий рисунок 7:

Рис. 7

Способы обеспечения и ускорения сходимости

  1. Выбор начальных весов

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

  1. Упорядочение данных

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

  1. Импульс

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

где m - число в интервале (0,1), которое задается пользователем.

  1. Управление величиной шага

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

  1. Оптимизация архитектуры сети

Одной из самых больших проблем при использовании нейросетей является невозможность предварительного определения оптимального количества скрытых слоев и нейронов в них. Если нейронов будет слишком мало, то это равносильно потере каких-то нелинейных связей в модели, если нейронов будет много, то это может привести к "переобучению" сети, то есть она просто "выучит" данные, а не распознает их структуру. Поэтому применяется два основных подхода:

  1. Масштабирование данных

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

Организация процесса обучения

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

Заключение

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

referat.store

Реферат - Пример нейросети - Компьютерные сети

МОСКОВСКАЯ ФИНАНСОВО-ЮРИДИЧЕСКАЯ АКАДЕМИЯ КАЛУЖСКИЙ ФИЛИАЛ

Реферат на тему:

«Пример нейросети»

Выполнил: _______________________

Проверил:________________________

Малоярославец 2007

СОДЕРЖАНИЕ

1.<span Times New Roman"">    

Может ли машина мыслить?

2.<span Times New Roman"">    

Электронный подход к ИИ

3.<span Times New Roman"">    

Кибернетический подход кИИ

4.<span Times New Roman"">    

 Нейронный подход к ИИ

5.<span Times New Roman"">    

Появление персептрона

6.<span Times New Roman"">    

Нейросети

7.<span Times New Roman"">    

Модель макроэкономики РФ

1.  Может ли машина мыслить?

С конца 40-х годов ученые все большего числауниверситетских и промышленных исследовательских лабораторий устремились кдерзкой цели: построение компьютеров, действующих таким образом, что порезультатам работы их невозможно было бы отличить от человеческого разума.

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

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

Не совсем ясно, как компьютер может делатьчто-либо, чего «нет в программе»? Разве можно скомандовать кому бы тони было рассуждать, догадываться, делать выводы?

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

Это и верно, и неверно. Строго говоря,действительно: если компьютер делает не то, что в данный момент предписываетсяему программой, то его следует считать испортившимся.

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

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

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

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

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

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

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

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

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

2. Электронный подход кИИ

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

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

К концу 50-х годов все эти увлечениявыделились в новую более или менее самостоятельную ветвь информатики,получившую название «искусственный интеллект». Исследования в областиИИ, первоначально сосредоточенные в нескольких университетских центрах США –Массачусетском технологическом институте, Технологическом институте Карнеги вПиттсбурге, Станфордском университете, – ныне ведутся во многих другихуниверситетах и корпорациях США и других стран. В общем исследователей ИИ,работающих над созданием мыслящих машин, можно разделить на две группы. Однихинтересует чистая наука и для них компьютер – лишь инструмент, обеспечивающийвозможность экспериментальной проверки теорий процессов мышления. Интересыдругой группы лежат в области техники: они стремятся расширить сферу применениякомпьютеров и облегчить пользование ими. Многие представители второй группы малозаботятся о выяснении механизма мышления – они полагают, что для их работы этоедва ли более полезно, чем изучение полета птиц и самолетостроения.

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

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

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

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

3.<span Times New Roman"">    

Кибернетический подход кИИ

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

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

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

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

Следует отметить, что принцип «обратнойсвязи», введенный Винером был в какой-то степени предугадан Сеченовым вявлении «центрального торможения» в «Рефлексах головногомозга» (1863 г.) и рассматривался как механизм регуляции деятельностинервной системы, и который лег в основу многих моделей произвольного поведенияв отечественной психологии.

4.<span Times New Roman"">    

Нейронный подход к ИИ

К этому времени и другие ученые сталипонимать, что создателям вычислительных машин есть чему поучиться у биологии.Среди них был нейрофизиолог и поэт-любитель Уоррен Маккалох, обладавший как иВинер философским складом ума и широким кругом интересов. В 1942 г. Маккалох,участвуя в научной конференции в Нью-йорке, услышал доклад одного изсотрудников Винера о механизмах обратной связи в биологии. Высказанные вдокладе идеи перекликались с собственными идеями Маккалоха относительно работыголовного мозга. В течении следующего года Маккалох в соавторстве со своим18-летним протеже, блестящим математиком Уолтером Питтсом, разработал теориюдеятельности головного мозга. Эта теория и являлась той основой, на которойсформировалось широко распространенное мнение, что функции компьютера и мозга взначительной мере сходны.

Исходя отчасти из предшествующих исследованийнейронов (основных активных клеток, составляющих нервную систему животных),проведенных Маккаллохом, они с Питтсом выдвинули гипотезу, что нейроны можноупрощенно рассматривать как устройства, оперирующие двоичными числами. Двоичныечисла, состоящие из цифр единица и нуль, – рабочий инструмент одной из системматематической логики. Английский математик XIX в. Джордж Буль, предложившийэту остроумную систему, показал, что логические утверждения можно закодироватьв виде единиц и нулей, где единица соответствует истинному высказыванию а нуль– ложному, после чего этим можно оперировать как обычными числами. В 30-е годыXX в. пионеры информатики, в особенности американский ученый Клод Шеннон,поняли, что двоичные единица и нуль вполне соответствуют двум состояниямэлектрической цепи (включено-выключено), поэтому двоичная система идеальноподходит для электронно-вычислительных устройств. Маккалох и Питтс предложиликонструкцию сети из электронных «нейронов» и показали, что подобнаясеть может выполнять практически любые вообразимые числовые или логическиеоперации. Далее они предположили, что такая сеть в состоянии также обучаться,распознавать образы, обобщать, т.е. она обладает всеми чертами интеллекта.

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

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

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

5.<span Times New Roman"">    

Появление персептрона

Одним из тех, кого ничуть не испугалитрудности был Фрэнк Розенблат, труды которого, казалось, отвечали самымзаметным устремлениям кибернетиков. В середине 1958 г. им была предложена модельэлектронного устройства, названного им персептроном, которое должно было быимитировать процессы человеческого мышления. Персептрон должен был передаватьсигналы от «глаза», составленного из фотоэлементов, в блокиэлектромеханических ячеек памяти, которые оценивали относительную величинуэлектрических сигналов. Эти ячейки соединялись между собой случайным образом всоответствии с господствующей тогда теорией, согласно которой мозг воспринимаетновую информацию и реагирует на нее через систему случайных связей междунейронами. Два года спустя была продемонстрирована первая действующая машина«Марк-1», которая могла научится распознавать некоторые из букв,написанных на карточках, которые подносили к его «глазам»,напоминающие кинокамеры. Персептрон Розенблата оказался наивысшим достижением«восходящего», или нейромодельного метода создания искусственногоинтеллекта. Чтобы научить персептрон способности строить догадки на основеисходных предпосылок, в нем предусматривалась некая элементарная разновидностьавтономной работы или «самопрограммирования». При распознании той илииной буквы одни ее элементы или группы элементов оказываются гораздо болеесущественными, чем другие. Персептрон мог научаться выделять такие характерныеособенности буквы полуавтоматически, своего рода методом проб и ошибок,напоминающим процесс обучения. Однако возможности персептрона былиограниченными: машина не могла надежно распознавать частично закрытые буквы, атакже буквы иного размера или рисунка, нежели те, которые использовались наэтапе ее обучения.

Ведущие представители так называемого«нисходящего метода» специализировались, в отличие от представителей«восходящего метода», в составлении для цифровых компьютеров общегоназначения программ решения задач, требующих от людей значительного интеллекта,например для игры в шахматы или поиска математических доказательств. К числузащитников «нисходящего метода» относились Марвин Минский и СеймурПейперт, профессора Массачусетского технологического института. Минский началсвою карьеру исследователя ИИ сторонником «восходящего метода» и в1951 г. построил обучающуюся сеть на на вакуумных электронных лампах. Однаковскоре к моменту создания персептрона он перешел в противоположный лагерь. Всоавторстве с с южно-африканским математиком Пейпертом, с которым егопознакомил Маккаллох, он написал книгу «Персептроны», гдематематически доказывалось, что персептроны, подобные розенблатовсим,принципиально не в состоянии выполнять многие из тех функций, которыепредсказывал им Розенблат. Минский утверждал, что, не говоря о роли работающихпод диктовку машинисток, подвижных роботов или машин, способных читать, слушатьи понимать прочитанное или услышанное, персептроны никогда не обретут дажеумения распознавать предмет частично заслоненный другим. Глядя на торчащийиз-за кресла кошачий хвост, подобная машина никогда не сможет понять, что онавидит.

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

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

6.<span Times New Roman"">    

Нейросети

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

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

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

Нейросети применяются в следующих областях.

1.<span Times New Roman"">    

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

2.<span Times New Roman"">    

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

3.<span Times New Roman"">    

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

4.<span Times New Roman"">    

Связь: сжатие видеоинформации, быстроекодирование-декодирование, оптимизация сотовых сетей и схем маршрутизациипакетов.

5.<span Times New Roman"">    

Интернет: ассоциативный поиск информации, электронныесекретари и агенты пользователя в сети, фильтрация информации в push-системах,рубрикация новостных лент, адресная реклама, адресный маркетинг для электроннойторговли.

6.<span Times New Roman"">    

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

7.<span Times New Roman"">    

Автоматизация производства: оптимизация режимов производственногопроцесса, комплексная диагностика качества продукции (ультразвук, оптика,гамма-излучение и т. д.), мониторинг и визуализация многомерной диспетчерскойинформации, предупреждение аварийных ситуаций, робототехника.

7.<span Times New Roman"">    

Модель макроэкономики РФ

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

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

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

Кроме того, можно узнать не по гороскопу ибез помощи магов возможную последовательность „критических“ и»удачных" моментов в развитии экономики страны при заданных исходныхданных.

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

Первый опыт по применению данной технологии вэкономическом моделировании был проведен в 1987-1988 гг., когда НИИ ИИ вместе сИнститутом экономики СО АН создал демонстрационную систему «Модельэкономики СССР до 2000 года».

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

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

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

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

www.ronl.ru

Курсовая работа - Нейронные сети 4

Орловская региональная академия государственной службы

Факультет государственного и муниципального управления

Кафедра информатики и информационных технологий в менеджменте

Реферат

по дисциплине: «Информационные системы»

на тему: «Нейронные сети»

Выполнил: студент

группы 23 ИОСП Бобровникова Инна

Проверил: канд. полит.

наук, доцент

Проскурякова Л. Г.

Орел, 2008

Содержание

Введение………………………………………………………………………..3 1.История развития нейронных сетей………………………………………...4 2.Устройство нейронных сетей………………………………………………..6 3.Функции активации………………………………………………………….7 4.Типы архитектур нейросетей………………………………………………..8 5.Обучение многослойной сети………………………………………………..12 6.Обратное распространение ошибки…………………………………………14 7… Организация процесса обучения……………………………………………16 Заключение……………………………………………………………………...17

Введение

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

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

1. История развития нейронных сетей

На заре развития электронно-вычислительной техники в середине XX века среди ученых и конструкторов еще не существовало единого мнения он том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с вами изучаем в курсах основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети. Рис. 1 Главные части нервной клетки — это ее тело, содержащее ядро и другие органеллы, единственный аксон, передающий импульсы от клетки, и дендриты, к которым приходят импульсы от других клеток. Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки — нейрон. Мозг человека состоит из белого и серого веществ: белое — это тела нейронов, а серое — это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 10^11 нейронов,

Рис. 1

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

Таким образом, мозг содержит примерно 10^15 взаимосвязей. Если учесть, что любой нейрофизиологический процесс активизирует сразу множество нейронов, то можно представить себе то количество информации или сигналов, которое возникает в мозгу. Нейроны взаимодействуют посредством серий импульсов, длящихся несколько миллисекунд, каждый импульс представляет собой частотный сигнал с частотой от нескольких единиц до сотен герц. Это невообразимо медленно по сравнению с современными компьютерами, но в тоже время человеческий мозг гораздо быстрее машины может обрабатывать аналоговую информацию, как-то: узнавать изображения, чувствовать вкус, узнавать звуки, читать чужой почерк, оперировать качественными параметрами. Все это реализуется посредством сети нейронов, соединенных между собой синапсами. Другими словами, мозг — это система из параллельных процессоров, работающая гораздо эффективнее, чем популярные сейчас последовательные вычисления.

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

2. Устройство нейронных сетей

Искусственным нейроном называется простой элемент, сначала вычисляющий взвешенную сумму V входных величин хi:

Здесь N — размерность пространства входных сигналов. Затем полученная сумма сравнивается с пороговой величиной W0, вслед за чем вступает в действие нелинейная функция активации f. Коэффициенты {Wi} во взвешенной сумме обычно называют синаптическими коэффициентами или весами. Саму же взвешенную сумму V мы будем называть потенциалом нейрона i. Выходной сигнал тогда имеет вид f(V). Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. В этом случае мы говорим о расширенном входном пространстве: нейрон с N-мерным входом имеет N+1 весовой коэффициент. Если ввести в уравнение пороговую величину W0, то оно перепишется так:

В зависимости от способа преобразования сигнала и характера активации возникают различные виды нейронных структур. Существуют детерминированные нейроны, когда активизирующая функция однозначно вычисляет выход по входу, и вероятностные нейроны, состояние которых в момент t есть случайная функция потенциала и состояния в момент t-1. Далее речь пойдёт о детерминированных нейронах

3. Функции активации

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

* Линейная: выходной сигнал нейрона равен его потенциалу,

* Пороговая: нейрон выбирает решение из двух вариантов: активен /неактивен,

* Многопороговая: выходной сигнал может принимать одно из q значений, определяемых (q-1) порогом внутри предельных значений.

* Сигмоидная: рассматриваются два вида сигмоидных функций:

с выходными значениями в промежутке [0,1] и

с выходными значениями в промежутке [-1,1]. Коэффициент b определяет крутизну сигмоида. Поскольку сигмоидная функция является гладким отображением (-?,?) на (-1,1), то крутизну можно учесть через величины весов и порогов, и без ограничения общности можно полагать ее равной единице.

4. Типы архитектур нейросетей

Из точек на плоскости и соединений между ними можно построить множество графических фигур, называемых графами. Если каждую точку представить себе как один нейрон, а соединения между точками — как дендриты и синапсы, то мы получим нейронную сеть. Но не всякое соединение нейронов будет работоспособно или вообще целесообразно. Поэтому на сегодняшний день существует только несколько работающих и реализованных программно архитектур нейросетей. Я только вкратце опишу их устройство и классы решаемых ими задач. Сеть прямого распространения По архитектуре связей нейросети могут быть сгруппированы в два класса: сети прямого распространения, в которых связи не имеют петель, и сети рекуррентного типа, в которых возможны обратные связи (см. рис. 2)

Рис. 2 Рекуррентная сеть

Сети прямого распространения подразделяются на однослойные перцепротроны (сети) и многослойные перцептроны (сети). Название перцептрона для нейросетей придумал американский нейрофизиолог Ф. Розенблатт, придумавший в 1957 году первый нейропроцессорный элемент (НПЭ), то есть нейросеть. Он же доказал сходимость области решений для персептрона при его обучении. Сразу после этого началось бурное исследование в этой области и был создан самый первый нейрокомпьютер Mark I. Многослойные сети отличаются тем, что между входными и выходными данными располагаются несколько так называемых скрытых слоев нейронов, добавляющих больше нелинейных связей в модель. Рассмотрим устройство простейшей многослойной нейросети.

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

Если однослойная нейросеть очень хорошо справляется с задачами классификации, так как выходной слой нейронов сравнивает полученные от предыдущего слоя значения с порогом и выдает значение либо ноль, то есть меньше порогового значения, либо единицу — больше порогового (для случая пороговой внутренней функции нейрона), и не способен решать большинство практических задач (что было доказано Минским и Пейпертом), то многослойный перцептрон с сигмоидными решающими функциями способен аппроксимировать любую функциональную зависимость (это было доказано в виде теоремы). Но при этом не известно ни нужное число слоев, ни нужное количество скрытых нейронов, ни необходимое для обучения сети время. Эти проблемы до сих пор стоят перед исследователями и разработчиками нейросетей. Лично мне кажется, что весь энтузиазм в применении нейросетей строится именно на доказательстве этой теоремы. Рассмотрим, как нейроны могут моделировать различные классы функций.

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

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

5. Обучение многослойной сети

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

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

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

Здесь? — определяемый пользователем параметр, который называется коэффициентом обучения.

6. Обратное распространение ошибки

Одним из самых распространенных алгоритмов обучения нейросетей прямого распространения является алгоритм обратного распространения ошибки (Back Propagation, BP). Этот алгоритм был переоткрыт и популяризован в 1986 г. Румельхартом и МакКлелландом из группы по изучению параллельных распределенных процессов в Массачусетском технологическом институте. Здесь я хочу подробно изложить математическую суть алгоритма, так как очень часто в литературе ссылаются на какой-то факт или теорему, но никто не приводит его доказательства или источника. Честно говоря, то же самое относится к теореме об отображении нейросетью любой функциональной зависимости, на которой основываются все попытки применить нейросети к моделированию реальных процессов. Приведём алгоритм работы нейросети Итак, это алгоритм градиентного спуска, минимизирующий суммарную квадратичную ошибку:

Здесь индекс i пробегает все выходы многослойной сети. Основная идея ВР состоит в том, чтобы вычислять чувствительность ошибки сети к изменениям весов. Для этого нужно вычислить частные производные от ошибки по весам. Пусть обучающее множество состоит из Р. образцов, входы которого где? — длина шага в направлении, обратном к градиенту обозначены через {xik} Вычисление частных производных осуществляется по правилу цепи: вес входа i-гo нейрона, идущего от j-гo нейрона, пересчитывается по формуле:

где? — длина шага в направлении, обратном к градиенту

Если рассмотреть отдельно k-тый образец, то соответствующее изменение весов равно:

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

Для скрытых элементов множитель определяется так:

где индекс h пробегает номера всех нейронов, на которые воздействует i-ый нейрон.

7. Организация процесса обучения

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

Литература:

1. Мак-Каллок У.С., Питтс У. Логическое исчисление идей, относящихся к нервной активности // Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 2003. С. 362 — 384.

2. Минский М., Пейперт С. Перцептроны./ Минский М. Мир, 2001. 234 с.

3. Розенблат Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга. Мир, 2004, 248 с.

4. С. Короткий, «Нейронные сети: Алгоритм обратного распространения». СПб, 2002, 328 с.

5. С. Короткий,«Нейронные сети: Основные положения. СПб, 2002. 357 с.

6. Фомин С.В., Беркенблит М.Б. Математические проблемы в биологии. М.: Наука, 2004, 200 с.

7. Фон Нейман Дж. Вероятностная логика и синтез надежных организмов из ненадежных компонент. // Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 2003, С. 68 — 139.

8. Фон Нейман Дж. Теория самовоспроизводящихся автоматов. М.: Мир, 2001, 382 с.

9. Фролов А.А., Муравьев И.П. Информационные характеристики нейронных сетей. М.: Наука, 2005, 160 с.

10. Фролов А.А., Муравьев И.П. Нейронные модели ассоциативной памяти. М.: Наука, 2004, 160 с.

www.ronl.ru

Реферат Пример нейросети

МОСКОВСКАЯ ФИНАНСОВО-ЮРИДИЧЕСКАЯ АКАДЕМИЯ КАЛУЖСКИЙ ФИЛИАЛ

Реферат на тему:

«Пример нейросети»

Выполнил: _______________________

Проверил:________________________

Малоярославец 2007

СОДЕРЖАНИЕ

  1. Может ли машина мыслить?

  2. Электронный подход к ИИ

  3. Кибернетический подход к ИИ

  4. Нейронный подход к ИИ

  5. Появление персептрона

  6. Нейросети

  7. Модель макроэкономики РФ

1. Может ли машина мыслить?

С конца 40-х годов ученые все большего числа университетских и промышленных исследовательских лабораторий устремились к дерзкой цели: построение компьютеров, действующих таким образом, что по результатам работы их невозможно было бы отличить от человеческого разума.

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

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

Не совсем ясно, как компьютер может делать что-либо, чего "нет в программе"? Разве можно скомандовать кому бы то ни было рассуждать, догадываться, делать выводы?

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

Это и верно, и неверно. Строго говоря, действительно: если компьютер делает не то, что в данный момент предписывается ему программой, то его следует считать испортившимся.

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

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

Сколь бы смешным ни казалось нам такое мелочное регламентирование, для компьютера этот способ является единственно применимым. И самое удивительное – что он дает компьютеру возможность быть гораздо более "непредсказуемым", чем принято обычно считать!

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

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

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

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

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

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

2. Электронный подход к ИИ

После второй мировой войны появились устройства, казалось бы, подходящие для достижения заветной цели – моделирования разумного поведения; это были электронные цифровые вычислительные машины. "Электронный мозг", как тогда восторженно называли компьютер, поразил в 1952 г. телезрителей США, точно предсказав результаты президентских выборов за несколько часов до получения окончательных данных. Этот "подвиг" компьютера лишь подтвердил вывод, к которому в то время пришли многие ученые: наступит тот день, когда автоматические вычислители, столь быстро, неутомимо и безошибочно выполняющие автоматические действия, смогут имитировать невычислительные процессы, свойственные человеческому мышлению, в том числе восприятие и обучение, распознавание образов, понимание повседневной речи и письма, принятие решений в неопределенных ситуациях, когда известны не все факты. Таким образом "заочно" формулировался своего рода "социальный заказ" для психологии, стимулируя различные отрасли науки.

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

К концу 50-х годов все эти увлечения выделились в новую более или менее самостоятельную ветвь информатики, получившую название "искусственный интеллект". Исследования в области ИИ, первоначально сосредоточенные в нескольких университетских центрах США – Массачусетском технологическом институте, Технологическом институте Карнеги в Питтсбурге, Станфордском университете, – ныне ведутся во многих других университетах и корпорациях США и других стран. В общем исследователей ИИ, работающих над созданием мыслящих машин, можно разделить на две группы. Одних интересует чистая наука и для них компьютер – лишь инструмент, обеспечивающий возможность экспериментальной проверки теорий процессов мышления. Интересы другой группы лежат в области техники: они стремятся расширить сферу применения компьютеров и облегчить пользование ими. Многие представители второй группы мало заботятся о выяснении механизма мышления – они полагают, что для их работы это едва ли более полезно, чем изучение полета птиц и самолетостроения.

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

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

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

К числу таких скептиков относится и Хьюберт Дрейфус, профессор философии Калифорнийского университета в Беркли. С его точки зрения, истинный разум невозможно отделить от его человеческой основы, заключенной в человеческом организме. "Цифровой компьютер – не человек, – говорит Дрейфус. – У компьютера нет ни тела, ни эмоций, ни потребностей. Он лишен социальной ориентации, которая приобретается жизнью в обществе, а именно она делает поведение разумным. Я не хочу сказать, что компьютеры не могут быть разумными. Но цифровые компьютеры, запрограммированные фактами и правилами из нашей, человеческой, жизни, действительно не могут стать разумными. Поэтому ИИ в том виде, как мы его представляем, невозможен".

  1. Кибернетический подход к ИИ

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

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

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

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

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

  1. Нейронный подход к ИИ

К этому времени и другие ученые стали понимать, что создателям вычислительных машин есть чему поучиться у биологии. Среди них был нейрофизиолог и поэт-любитель Уоррен Маккалох, обладавший как и Винер философским складом ума и широким кругом интересов. В 1942 г. Маккалох, участвуя в научной конференции в Нью-йорке, услышал доклад одного из сотрудников Винера о механизмах обратной связи в биологии. Высказанные в докладе идеи перекликались с собственными идеями Маккалоха относительно работы головного мозга. В течении следующего года Маккалох в соавторстве со своим 18-летним протеже, блестящим математиком Уолтером Питтсом, разработал теорию деятельности головного мозга. Эта теория и являлась той основой, на которой сформировалось широко распространенное мнение, что функции компьютера и мозга в значительной мере сходны.

Исходя отчасти из предшествующих исследований нейронов (основных активных клеток, составляющих нервную систему животных), проведенных Маккаллохом, они с Питтсом выдвинули гипотезу, что нейроны можно упрощенно рассматривать как устройства, оперирующие двоичными числами. Двоичные числа, состоящие из цифр единица и нуль, – рабочий инструмент одной из систем математической логики. Английский математик XIX в. Джордж Буль, предложивший эту остроумную систему, показал, что логические утверждения можно закодировать в виде единиц и нулей, где единица соответствует истинному высказыванию а нуль – ложному, после чего этим можно оперировать как обычными числами. В 30-е годы XX в. пионеры информатики, в особенности американский ученый Клод Шеннон, поняли, что двоичные единица и нуль вполне соответствуют двум состояниям электрической цепи (включено-выключено), поэтому двоичная система идеально подходит для электронно-вычислительных устройств. Маккалох и Питтс предложили конструкцию сети из электронных "нейронов" и показали, что подобная сеть может выполнять практически любые вообразимые числовые или логические операции. Далее они предположили, что такая сеть в состоянии также обучаться, распознавать образы, обобщать, т.е. она обладает всеми чертами интеллекта.

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

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

Но дело здесь не только во времени. Основной трудностью, с которой столкнулся "восходящий метод" на заре своего существования, была высокая стоимость электронных элементов. Слишком дорогой оказывалась даже модель нервной системы муравья, состоящая из 20 тыс. нейронов, не говоря уже о нервной системе человека, включающей около 100 млрд. нейронов. Даже самые совершенные кибернетические модели содержали лишь несколько сотен нейронов. Столь ограниченные возможности обескуражили многих исследователей того периода.

  1. Появление персептрона

Одним из тех, кого ничуть не испугали трудности был Фрэнк Розенблат, труды которого, казалось, отвечали самым заметным устремлениям кибернетиков. В середине 1958 г. им была предложена модель электронного устройства, названного им персептроном, которое должно было бы имитировать процессы человеческого мышления. Персептрон должен был передавать сигналы от "глаза", составленного из фотоэлементов, в блоки электромеханических ячеек памяти, которые оценивали относительную величину электрических сигналов. Эти ячейки соединялись между собой случайным образом в соответствии с господствующей тогда теорией, согласно которой мозг воспринимает новую информацию и реагирует на нее через систему случайных связей между нейронами. Два года спустя была продемонстрирована первая действующая машина "Марк-1", которая могла научится распознавать некоторые из букв, написанных на карточках, которые подносили к его "глазам", напоминающие кинокамеры. Персептрон Розенблата оказался наивысшим достижением "восходящего", или нейромодельного метода создания искусственного интеллекта. Чтобы научить персептрон способности строить догадки на основе исходных предпосылок, в нем предусматривалась некая элементарная разновидность автономной работы или "самопрограммирования". При распознании той или иной буквы одни ее элементы или группы элементов оказываются гораздо более существенными, чем другие. Персептрон мог научаться выделять такие характерные особенности буквы полуавтоматически, своего рода методом проб и ошибок, напоминающим процесс обучения. Однако возможности персептрона были ограниченными: машина не могла надежно распознавать частично закрытые буквы, а также буквы иного размера или рисунка, нежели те, которые использовались на этапе ее обучения.

Ведущие представители так называемого "нисходящего метода" специализировались, в отличие от представителей "восходящего метода", в составлении для цифровых компьютеров общего назначения программ решения задач, требующих от людей значительного интеллекта, например для игры в шахматы или поиска математических доказательств. К числу защитников "нисходящего метода" относились Марвин Минский и Сеймур Пейперт, профессора Массачусетского технологического института. Минский начал свою карьеру исследователя ИИ сторонником "восходящего метода" и в 1951 г. построил обучающуюся сеть на на вакуумных электронных лампах. Однако вскоре к моменту создания персептрона он перешел в противоположный лагерь. В соавторстве с с южно-африканским математиком Пейпертом, с которым его познакомил Маккаллох, он написал книгу "Персептроны", где математически доказывалось, что персептроны, подобные розенблатовсим, принципиально не в состоянии выполнять многие из тех функций, которые предсказывал им Розенблат. Минский утверждал, что, не говоря о роли работающих под диктовку машинисток, подвижных роботов или машин, способных читать, слушать и понимать прочитанное или услышанное, персептроны никогда не обретут даже умения распознавать предмет частично заслоненный другим. Глядя на торчащий из-за кресла кошачий хвост, подобная машина никогда не сможет понять, что она видит.

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

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

  1. Нейросети

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

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

Нейросети применяются в следующих областях.

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

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

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

  4. Связь: сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.

  5. Интернет: ассоциативный поиск информации, электронные секретари и агенты пользователя в сети, фильтрация информации в push-системах, рубрикация новостных лент, адресная реклама, адресный маркетинг для электронной торговли.

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

  7. Автоматизация производства: оптимизация режимов производственного процесса, комплексная диагностика качества продукции (ультразвук, оптика, гамма-излучение и т. д.), мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника.

  1. Модель макроэкономики РФ

Независимый экспертный совет по стратегическому анализу проблем внешней и внутренней политики при Совете Федерации НИИ искусственного интеллекта представил проект "Технология нового поколения на основе недоопределенных вычислений и ее использование для разработки экспериментальной модели макроэкономики РФ". Появилась возможность просчитывать исход любого действия или предложения, касающегося бюджета страны, на много лет вперед.

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

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

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

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

Первый опыт по применению данной технологии в экономическом моделировании был проведен в 1987-1988 гг., когда НИИ ИИ вместе с Институтом экономики СО АН создал демонстрационную систему "Модель экономики СССР до 2000 года".

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

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

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

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

nreferat.ru

Реферат: Обзор и анализ нейросетей

Введение

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

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

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

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

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

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

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

1. Обзор и анализ нейросетей

Искусственные нейронные сети получили широкое распространение за последние 20 лет и позволили решать сложные задачи обработки данных, часто значительно превосходя точность других методов статистики и искусственного интеллекта, либо являясь единственно возможным методом решения отдельных задач. Нейронные сети (НС) успешно применяются в самых различных областях – бизнесе, медицине, технике, геологии, физике. Такой впечатляющий успех определяется несколькими причинами: НС – исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости; они нелинейные по своей природе и кроме того, нейронные сети справляются с проблемой размерности, которая не позволяет моделировать линейные зависимости в случае большого числа переменных.

1.1 Свойства нейронных сетей

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

· массовый параллелизм,

· распределенное представление информации и вычисления,

· способность к обучению и способность к обобщению,

· адаптивность,

· свойство контекстуальной обработки информации,

· толерантность к ошибкам,

· низкое энергопотребление.

Можно выделить основные идеи, лежащие в основе нейронных сетей и нейромоделирования:

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

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

 Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм.

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

Аппаратная реализация ИНС – нейрокомпьютер – имеет существенные отличия (как по структуре, так и по классу решаемых задач) от вычислительных машин, выполненных в соответствии с традиционной архитектурой фон Неймана. Сравнительные характеристики нейрокомпьютеров и традиционных компьютеров и традиционных компьютеров приведены в таблице 1.1

Таблица 1.1 Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров.

Категории

сравнения

ЭВМ традиционной

архитектуры

Нейрокомпьютер
Процессор

Сложный

Высокоскоростной

Один или несколько

Простой

Низкоскоростной

Большое количество

Память

Отделена от процессора

Локализована

Адресация не по содержанию

Интегрирована в процессор

Распределенная

Адресация по содержанию

Вычисления

Централизованные

Последовательные

Хранимые программы

Распределенные

Параллельные

Самообучение

НадежностьВысокая уязвимостьЖивучесть
СпециализацияЧисленные и символьные операцииПроблемы восприятия

Среда

функционирования

Строго определена

Строго ограничена

Без ограничений

1.2 Области применения нейронных сетей

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

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

1.3 Классификация нейронных сетей

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

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

1) Строится нейросеть, решающая определенный класс задач,

2) Под каждый экземпляр задачи строится некоторая нейросеть, находящая квази-оптимальное решение этой задачи.

Существуют несколько видов нейросетей. Их классификация представлена на рисунке 1.1

Рисунок 1.1 Классификация ИНС

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

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

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

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

Сети также можно классифицировать по числу слоев. В этом случае важную роль играет нелинейность активационной функции, так как, если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любойn-слойной нейронной сети сводился бы к перемножению входного вектора сигналовφна матрицу весовых коэффициентов. То есть фактически такая нейронная сеть эквивалентна однослойной нейросети с весовой матрицей единственного слояW.Кроме того, нелинейность иногда вводится и в синаптические связи.

1.4 Структура и принципы работы нейронной сети

В качестве модели нейрона был выбран бинарный пороговый элемент, вычисляющий взвешенную сумму входных сигналов и формирующий на выходе сигнал величины 1, если эта сумма превышает определенное пороговое значение, и 0 – в противном случае. К настоящему времени данная модель не претерпела серьезных изменений. Были введены новые виды активационных функций. Структурная модель технического нейрона представлена на рисунке 1.3

Рисунок 1.3 Формальная модель искусственного нейрона

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

, (1.1)

гдеφ– множество сигналов, поступающих на вход нейрона,

wi– весовые коэффициенты нейрона.

Далее сигналsпреобразуется активационной (передаточной) функцией нейронаFв выходной сигналy. Математически это можно выразить формулой:

, (1.2)

гдеn– размерность вектора входов,

w0– «нейронное смещение», вводимое для инициализации сети, - подключается к неизменяемому входу +1,

F– активационная функция нейрона.

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

Рисунок 1.4 Структурная схема двухслойной нейронной сети.

Реализация модели двухслойной нейронной сети прямого действия имеет следующее математическое представление:

, (1.7)

гдеnφ– размерность вектора входовφнейронной сети;

nh– число нейронов в скрытом слое;

θ– вектор настраиваемых параметров нейронной сети, включающий весовые коэффициениы и нейронные смещения (wji,Wij)

fj(x) –активационная функция нейронов скрытого слоя;

Fi(x) –активационная функция нейронов выходного слоя.

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рисунок 1.3). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорамиφ1..φn, и один выход. Нейрон характеризуется уникальным вектором настраиваемых параметровθ. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:

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

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

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

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

(1.8)

гдеМ– число примеров в обучающем множестве;

d– требуемый выходной сигнал;

y– полученный выходной сигнал.

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

, (1.9)

где e – коэффициент обучения, определяющий скорость обучения.

Отметим два свойства полной ошибки. Во-первых, ошибкаE=E(W) являетсяфункцией состоянияW, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некоторомобученномсостоянииW*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являютсяточками минимумавведенной функцииE(W).

Таким образом, задача обучения нейронной сети является задачей поиска минимума функции ошибки в пространстве состояний

1.6 Нейросетевые системы управления

Нейроуправление представляет собой новое высокотехнологичное направление в теории управления, активно развивающееся во всем мире с конца 70-х годов. Нейронные сети являются предметом исследования целого ряда дисциплин. С точки зрения теории управления нейронные сети выбираются в качестве модели объекта управления или непосредственно регулятора, а динамический процесс ее настройки представляет собой процесс синтеза системы управления.

Проблема синтеза регуляторов рассматривается с двух позиций, а именно: прямые методы и косвенные методы синтеза нейросетевых систем управления:

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

1) косвенные методы синтеза – нейросеть используется в качестве модели объекта управления, а синтез регулятора осуществляется традиционным методом.

В общем случае управление объектом с помощью нейросети можно представить схемой на рисунке 1.5

Рисунок 1.5 Управление при помощи нейроконтроллера.

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

Рисунок 1.6. Обучение нейроконтроллера при помощи алгоритма обратного распространения ошибки.

2.1 Разработка нейросевого регулятора с наблюдающим устройством. Использование нейроконтроллера Model Reference Control

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

Рука вращается в вертикальной плоскости и имеет одну степень свободы.

Рисунок 3.1 Схема движения руки робота

Уравнение движения руки робота:

(3.1)

гдеφ– угол поворота руки,u– вращающий момент двигателя постоянного тока.

Составляющая ускорения -10sinφучитывает силу тяжести.

Необходимо, чтобы рука робота двигалась в соответствии с уравнением:

(3.2)

Математическое описание объекта управления.

В качестве исходной динамической системы используется объект управления, описываемый уравнением (3.1). Сделаем заменуи.

В итоге получим систему дифференциальных уравнений:

, (3.3)

Матрица системы и матрица управления:

;

В этом случае желаемый процесс (3.2) будет описываться системой уравнений:

(3.4)

Матрица системы и матрица управления для системы (3.4):

;

Анализ объекта управления.

Структурная схема объекта управления изображена на рисунке 3.2.

Рисунок 3.2 Структурная схема объекта управления.

Рисунок 3.3. Переходный процесс объекта управления.

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

Необходимо обеспечить переходный процесс в соответствии с желаемой моделью:

Рисунок 3.4 Структурная схема эталонной модели.

Рисунок 3.5 Желаемый переходный процесс объекта управления.

В качестве среды для разработки и моделирования нейросети был выбран программный продукт фирмы MathWorks, Inc. – MatLab, версия 6.5.0.1. MatLab, из всех доступных программных продуктов обладает наиболее широкими возможностями как для моделирования, в том числе и для моделирования нейросетей.

Блок Model Reference Control (модель эталонного управления) содержит в своем составе две нейросети: нейроконтроллер и наблюдатель. Обучение нейросети происходит в два этапа. Сначала идентифицируется нейросетевой наблюдатель, затем обучается нейроконтроллер таким образом, чтобы выходной сигнал ОУ следовал за управляющим сигналом.

Структура нейросети изображена на рисунке 5.5

Рисунок 5.5. Упрощенная структурная схема нейросетевого контроллера

Взаимосвязь между нейросетью и объектом управления в процессе обучения показана на рисунке 5.5

5.5. ОбучениенейросетиModel Reference Control.

Ошибка наблюдения и ошибка управления используются в обучении соответственно нейросетевого контроллера и нейросетевого наблюдателя.

Рисунок 5.6. УправлениеModel Reference Control.

Данная архитектура нейросети обучается с использованием алгоритма обратного распространения ошибки (backpropagation).

Параметры обучения нейросетевого наблюдающего устройства:

· Число скрытых слоев в нейросети – 10.

· Интервал выборки – 0,05.

· Число примеров обучения – 10000.

· Ограничение выходных данных:

o максимальный выход модели – 3,1.

o минимальный выход модели – -3,1.

· Максимальный выход модели – 15.

· Минимальный выход модели – -15.

· Число эпох обучения – 300.

Параметры обучения нейроконтроллера:

· Число скрытых слоев в нейросети – 13.

· Интервал выборки – 0,05.

· Число примеров обучения – 6000.

· Число эпох обучения – 10.

· Сегментов обучения – 30.

Управление объектом

Схема моделирования с использованием нейроконтроллера Model Reference Control показана на рисунке 5.7.

Рисунок 5.7. Структурная схема модели с использованием нейроконтроллера Model Reference Controller

Параметры модели:

· управляющий сигнал изменяется случайно;

· интервал изменения уровня управляющего сигнала [-0.5; 0.5]

· интервал изменения временного интервала – 10 с.

Рисунок 5.8 Переходный процесс объекта под управлением NARMA-L2

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

superbotanik.net

Реферат - Нейронные сети - 1.doc

Реферат - Нейронные сетискачать (4149 kb.)

Доступные файлы (1):

содержание

1.doc

Реклама MarketGid: Введение

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

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

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

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

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

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

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

^

Искусственные нейронные сети получили широкое распространение за последние 20 лет и позволили решать сложные задачи обработки данных, часто значительно превосходя точность других методов статистики и искусственного интеллекта, либо являясь единственно возможным методом решения отдельных задач. Нейронные сети (НС) успешно применяются в самых различных областях – бизнесе, медицине, технике, геологии, физике. Такой впечатляющий успех определяется несколькими причинами: НС – исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости; они нелинейные по своей природе и кроме того, нейронные сети справляются с проблемой размерности, которая не позволяет моделировать линейные зависимости в случае большого числа переменных.

^

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

Можно выделить основные идеи, лежащие в основе нейронных сетей и нейромоделирования:

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

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

 Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм.

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

Аппаратная реализация ИНС – нейрокомпьютер – имеет существенные отличия (как по структуре, так и по классу решаемых задач) от вычислительных машин, выполненных в соответствии с традиционной архитектурой фон Неймана. Сравнительные характеристики нейрокомпьютеров и традиционных компьютеров и традиционных компьютеров приведены в таблице 1.1

Таблица 1.1 Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров.

Категории

сравнения

^

архитектуры

Нейрокомпьютер
Процессор Сложный

Высокоскоростной

Один или несколько

Простой

Низкоскоростной

Большое количество

Память Отделена от процессора

Локализована

Адресация не по содержанию

Интегрирована в процессор

Распределенная

Адресация по содержанию

Вычисления Централизованные

Последовательные

Хранимые программы

Распределенные

Параллельные

Самообучение

Надежность Высокая уязвимость Живучесть
Специализация Численные и символьные операции Проблемы восприятия
Среда

функционирования

Строго определена

Строго ограничена

Без ограничений
^

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

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

^

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

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

  1. Строится нейросеть, решающая определенный класс задач,
  2. Под каждый экземпляр задачи строится некоторая нейросеть, находящая квази-оптимальное решение этой задачи.
Существуют несколько видов нейросетей. Их классификация представлена на рисунке 1.1

Рисунок 1.1 Классификация ИНС

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

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

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

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

Сети также можно классифицировать по числу слоев. В этом случае важную роль играет нелинейность активационной функции, так как, если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любой n-слойной нейронной сети сводился бы к перемножению входного вектора сигналов φ на матрицу весовых коэффициентов. То есть фактически такая нейронная сеть эквивалентна однослойной нейросети с весовой матрицей единственного слоя W. Кроме того, нелинейность иногда вводится и в синаптические связи.

^

В качестве модели нейрона был выбран бинарный пороговый элемент, вычисляющий взвешенную сумму входных сигналов и формирующий на выходе сигнал величины 1, если эта сумма превышает определенное пороговое значение, и 0 – в противном случае. К настоящему времени данная модель не претерпела серьезных изменений. Были введены новые виды активационных функций. Структурная модель технического нейрона представлена на рисунке 1.3

Рисунок 1.3 Формальная модель искусственного нейрона

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

, (1.1)

где φ – множество сигналов, поступающих на вход нейрона,

wi – весовые коэффициенты нейрона.

Далее сигнал s преобразуется активационной (передаточной) функцией нейрона F в выходной сигнал y. Математически это можно выразить формулой:

, (1.2)

где n – размерность вектора входов,

w0 – «нейронное смещение», вводимое для инициализации сети, - подключается к неизменяемому входу +1,

F – активационная функция нейрона.

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

Рисунок 1.4 Структурная схема двухслойной нейронной сети.

Реализация модели двухслойной нейронной сети прямого действия имеет следующее математическое представление:

, (1.7)

где nφ – размерность вектора входов φ нейронной сети;

nh – число нейронов в скрытом слое;

θ – вектор настраиваемых параметров нейронной сети, включающий весовые коэффициениы и нейронные смещения (wji, Wij)

fj(x) – активационная функция нейронов скрытого слоя;

Fi(x) – активационная функция нейронов выходного слоя.

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рисунок 1.3). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами φ1..φn, и один выход. Нейрон характеризуется уникальным вектором настраиваемых параметров θ. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:

^

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

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

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

(1.8)

где ^ – число примеров в обучающем множестве;

d – требуемый выходной сигнал;

y – полученный выходной сигнал.

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

, (1.9)

где  – коэффициент обучения, определяющий скорость обучения.

Отметим два свойства полной ошибки. Во-первых, ошибка E=E(W) является функцией состояния W, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некотором обученном состоянии W*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являются точками минимума введенной функции E(W).

Таким образом, задача обучения нейронной сети является задачей поиска минимума функции ошибки в пространстве состояний

^

Нейроуправление представляет собой новое высокотехнологичное направление в теории управления, активно развивающееся во всем мире с конца 70-х годов. Нейронные сети являются предметом исследования целого ряда дисциплин. С точки зрения теории управления нейронные сети выбираются в качестве модели объекта управления или непосредственно регулятора, а динамический процесс ее настройки представляет собой процесс синтеза системы управления.

Проблема синтеза регуляторов рассматривается с двух позиций, а именно: прямые методы и косвенные методы синтеза нейросетевых систем управления:

В общем случае управление объектом с помощью нейросети можно представить схемой на рисунке 1.5

Рисунок 1.5 Управление при помощи нейроконтроллера.

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

Рисунок 1.6. Обучение нейроконтроллера при помощи алгоритма обратного распространения ошибки.

^

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

Рука вращается в вертикальной плоскости и имеет одну степень свободы.

Рисунок 3.1 Схема движения руки робота

Уравнение движения руки робота:

(3.1)

где φ – угол поворота руки, u – вращающий момент двигателя постоянного тока.

Составляющая ускорения -10sinφ учитывает силу тяжести.

Необходимо, чтобы рука робота двигалась в соответствии с уравнением:

(3.2)

Математическое описание объекта управления.

В качестве исходной динамической системы используется объект управления, описываемый уравнением (3.1). Сделаем замену и .

В итоге получим систему дифференциальных уравнений:

, (3.3)

Матрица системы и матрица управления:

;

В этом случае желаемый процесс (3.2) будет описываться системой уравнений:

(3.4)

Матрица системы и матрица управления для системы (3.4):

;

Анализ объекта управления.

Структурная схема объекта управления изображена на рисунке 3.2.

Рисунок 3.2 Структурная схема объекта управления.

Рисунок 3.3. Переходный процесс объекта управления.

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

Необходимо обеспечить переходный процесс в соответствии с желаемой моделью:

Рисунок 3.4 Структурная схема эталонной модели.

Рисунок 3.5 Желаемый переходный процесс объекта управления.

В качестве среды для разработки и моделирования нейросети был выбран программный продукт фирмы MathWorks, Inc. – MatLab, версия 6.5.0.1. MatLab, из всех доступных программных продуктов обладает наиболее широкими возможностями как для моделирования, в том числе и для моделирования нейросетей.

Блок Model Reference Control (модель эталонного управления) содержит в своем составе две нейросети: нейроконтроллер и наблюдатель. Обучение нейросети происходит в два этапа. Сначала идентифицируется нейросетевой наблюдатель, затем обучается нейроконтроллер таким образом, чтобы выходной сигнал ОУ следовал за управляющим сигналом.

Структура нейросети изображена на рисунке 5.5

Рисунок 5.5. Упрощенная структурная схема нейросетевого контроллера

Взаимосвязь между нейросетью и объектом управления в процессе обучения показана на рисунке 5.5

5.5. Обучение нейросети Model Reference Control.

Ошибка наблюдения и ошибка управления используются в обучении соответственно нейросетевого контроллера и нейросетевого наблюдателя.

Рисунок 5.6. Управление Model Reference Control.

Данная архитектура нейросети обучается с использованием алгоритма обратного распространения ошибки (backpropagation).

Параметры обучения нейросетевого наблюдающего устройства:

Параметры обучения нейроконтроллера:

Управление объектом

Схема моделирования с использованием нейроконтроллера Model Reference Control показана на рисунке 5.7.

Рисунок 5.7. Структурная схема модели с использованием нейроконтроллера Model Reference Controller

Параметры модели:

Рисунок 5.8 Переходный процесс объекта под управлением NARMA-L2

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

Скачать файл (4149 kb.)

gendocs.ru


Смотрите также