Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематические модели а также их программные или аппаратные реализации построенные по принципу организации и

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

Искуственная нейронная сеть.

 Иску́сственные нейро́нные се́ти (ИНС) - математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса[1]. Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачахуправления и др.

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

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

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

Известные применения

  1.  Распознавание образов и классификация.

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

Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается, что сеть «не уверена» в своём ответе.

  1.  Принятие решений и управление.

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

  1.  Кластеризация.

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

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

  1.  Прогнозирование.

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

  1.  Аппроксимация.

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

  1.  Сжатие данных и ассоциативная память.

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

Этапы решения задач

  1.  Сбор данных для обучения;
  2.  Подготовка и нормализация данных;
  3.  Выбор топологии сети;
  4.  Экспериментальный подбор характеристик сети;
  5.  Экспериментальный подбор параметров обучения;
  6.  Собственно обучение;
  7.  Проверка адекватности обучения;
  8.  Корректировка параметров, окончательное обучение;
  9.  Вербализация сети с целью дальнейшего использования.

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

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

  1.  Репрезентативность — данные должны иллюстрировать истинное положение вещей в предметной области;
  2.  Непротиворечивость — противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети.

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

  1.  Нормировка выполняется, когда на различные входы подаются данные разной размерности. Например, на первый вход сети подаются величины со значениями от нуля до единицы, а на второй — от ста до тысячи. При отсутствии нормировки значения на втором входе будут всегда оказывать существенно большее влияние на выход сети, чем значения на первом входе. При нормировке размерности всех входных и выходных данных сводятся воедино;
  2.  Квантование выполняется над непрерывными величинами, для которых выделяется конечный набор дискретных значений. Например, квантование используют для задания частот звуковых сигналов при распознавании речи;
  3.  Фильтрация выполняется для «зашумленных» данных.

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

Некоторые классификации нейронных сетей.

По типу входной информации:

  1.  Аналоговые нейронные сети (используют информацию в виде действительных чисел);
  2.  Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде)

По характеру обучения:

  1.  Обучение с учителем – выходное пространство решений нейронной сети известно;
  2.  Обучение без учителя – нейронная сеть формирует выходное пространство решений только на основе входных воздействий. Такие сети называют самоорганизующимимся;
  3.  Обучение с подкреплением – система назначения штрафов и поощрений от среды.

По характеру настройки синапсов:

  1.  Сети с фиксированными связями (весовые коэффициенты нейронной сети выбираются сразу, исходя из условий задачи, при этом: , где W — весовые коэффициенты сети);
  2.  Сети с динамическими связями (для них в процессе обучения происходит настройка синаптических связей, то есть , где W — весовые коэффициенты сети).

                   Нейроуправление.

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

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

Методы нейроуправления

Схема прямого нейроуправления с обратной связью. На такте k нейроконтроллер получает на вход уставочное значение r(k+1) и оценку текущего состояния объекта S(k) и генерирует управляющее воздействие u(k), переводя объект управления в новое положение y(k+1).

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

Подражающее нейроуправление.

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

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

         Обобщённое инверсное нейроуправление.

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

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

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

          Метод обратного пропуска ошибки через прямой нейроэмулятор

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

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

               Метод нейроуправления с эталонной моделью

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

Метод нейросетевой фильтрации внешних возмущений

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

Прогнозирующее модельное нейроуправление

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

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

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

 




1. Считаем время выполнения скрипт
2. Проблема происхождения философии
3. Курсовая работа Институт необходимой обороны
4. Софья Фамусова Мильон терзаний
5. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата філологічних наук Київ '
6. Аквариумное хозяйство рыборазводчика.html
7. Контрольная работа- Сущность и структура капитала
8. Расчет норм времени на сверлильной, фрезерной и токарной операциях
9. заповідного фонду; право власності Українського народу; суб~єкти права власності; загальне природокористув
10. Лекция 17 В современный период широкой интеграции национальных экономик в мире насчитывается большо
11. Формирование- преемственных научных школ в первые две трети XIX в
12. Ііншомовное походженне слів
13.  Есть в лекции И вот
14. Реферат- Театр
15. Русская литература реакция и эпоха нигилизма
16. Тема урока- Пиломатериалы их получение и применение
17. Кольский Маяк от 05.
18. Г Объект предмет курса
19. дайджест сообщения.
20. Личные- я ты он она оно мы вы они