Нейрокомпьютерные системы

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

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


  • История и перспективы развития нейрокомпьютеров

    На заре вычислительной техники (конец 1940-х начало 1950-х годов) существовало два подхода к разработке машин с "интеллектуальным" поведением.
    Первый из подходов заключался в: 1) представлении знаний в виде множества атомных семантических объектов или символов; 2) манипуляциях с этим множеством символов по формальным алгоритмическим правилам. Эта символьно-алгоритмическая парадигма является основой так называемого традиционного искусственного интеллекта.
    Одновременно с этим существовало другое направление исследований, использующее машины, архитектура которых моделировала мозг животных и обучалась под воздействием окружающей среды, а не программировалась каким-либо языком высокого уровня. Работы по так называемым нейронным сетям активно велись в 1960-х годах, затем утратили популярность в 1970-х и начале 1980-х, но во второй половине 1980-х возникла новая волна интереса к ним.

    Коннекционистская парадигма

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


  • Ранние годы

    Идеи создания машин, использующих свойства нейронов, возникли одновременно с разработкой первых компьютеров общего назначения. Фактически, сопоставления вычислений и работы мозга были на переднем плане во многих ранних работах. Например, Джон фон Нейман в первом отчете по машине EDVAC указал на аналогии между используемыми в машине обрабатывающими элементами и нейронами.
    В 1942 году Норберт Винер и его коллеги сформулировали идеи кибернетики, которую определили как науку об управлении и связях в организмах животных и в машинах. Главной была идея рассмотрения биологических процессов с инженерной и математической точек зрения. Наиболее важной считалась идея обратной связи.
    В те же годы, когда Винер сформулировал принципы кибернетики, Маккаллок и Питтс опубликовали формальное описание искусственных нейронных сетей. Главная их идея заключалась в том, что любая связь типа "вход-выход" может быть реализована искусственной (формальной) нейронной сетью.
    Одной из ключевых черт нейронных сетей является то, что они способны обучаться. В 1949 году Дональд Хебб описал механизм работы мозга животного. Согласно этому механизму, синаптические силы (веса) изменяются в соответствии с уровнями активности предсинаптического и постсинаптического нейронов. На языке искусственных нейронов это означает, что вес входа должен увеличиваться, чтобы отражать корреляцию между входом и выходом нейрона.
    Следующей вехой было изобретение персептрона Розенблаттом в 1957 году. Наиболее важным результатом его работы является доказательство того, что простая процедура обучения сходится к решению поставленной задачи.
    В 1969 году интерес к нейронным сетям снизился в связи с публикацией Минского и Пайперта, указавших на важный класс задач, которые однослойный персептрон решать не может. При этом задача обучения многослойного персептрона в то время еще не была решена: было неясно, какой вклад в ошибку многослойной сети вносит каждый нейрон.

    Символьная парадигма

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

    Возрождение нейронных сетей

    В 1982 году Джон Хопфилд показал, что высокосвязная сеть нейронов с обратными связями может быть описана как динамическая система, обладающая "энергией". При ассоциативном вызове сеть, стартующая в случайном состоянии, сходится к конечному устойчивому состоянию с минимальной энергией. Новый подход к описанию сетей с обратными связями оказался очень плодотворным.
    Подобный прорыв произошел и в связи с многослойными сетями без обратных связей. Для обучения этих сетей был разработан алгоритм обратного распространения ошибки.
    Нейронные сети являются нелинейными динамическими системами с коллективными свойствами. Для исследования таких сложных моделей нужна большая вычислительная мощность. Новый интерес к искусственным нейронным сетям обусловлен не только новым математическим подходом, но и существенным прогрессом вычислительной техники.
    В модели МакКаллока-Питса нейроны имеют состояния 0,1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Розенблатт ввел в модель МакКаллока-Питса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном. Новый виток быстрого развития нейронных сетей связан с работами ряда авторов, в особенности с работами Хопфилда, а также с успехами технологии развития СБИС.
    Нейрокомпьютеры - устройства, основными компонентами которых являются нейронные сети, применяются в ряде областей:

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

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

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

    В традиционных вычислительных системах:

  • Необходимо точное описание алгоритма (ориентация на обработку символов).
  • Данные должны быть точными. Аппаратура легко повреждается. Разрушение основных элементов памяти делает машину неисправной.
  • Каждый обрабатываемый объект явно указан в памяти.
  • Трудно построить хороший алгоритм восприятия образов и ассоциативной выборки (неясно, например, как мы распознаем рукописные символы, конкретного написания которых раньше не видели).


  • В нейрокомпьютере (нейронной сети):

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





  • Нейрокомпьютерные системы

    Кубические модели нейронов

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

    Модель нейрона Хебба

    Структурная схема нейрона Хебба соответствует стандартной форме модели нейрона (рис.1). Д.Хебб предложил формальное правило, в котором вес Модель нейрона Хебба нейрона изменяется пропорционально произведению его входного и выходного сигналов
    Модель нейрона Хебба

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

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

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

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

    Нейрон с квадратичным сумматором

    Квадратичный сумматор может вычислять произвольный полином второго порядка от вектора входных сигналов
    Нейрон с квадратичным сумматором
    Для многомерных нормальных распределений нейрон с квадратичным сумматором является наилучшим классификатором. Минимум вероятности ошибки дает квадратичная разделяющая поверхность:
    если Нейрон с квадратичным сумматором то объект принадлежит первому классу;
    если Нейрон с квадратичным сумматором то объект принадлежит второму классу (при условии правильного выбора коэффициентов Q(x)).
    Квадратичная ошибка здесь определяется как
    Нейрон с квадратичным сумматором
    Коэффициенты квадратичного сумматора уточняются по формулам
    Нейрон с квадратичным сумматором

    Недостаток такого классификатора - большое число настраиваемых параметров.

    Нейрон типа "адалайн"

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

    Нейроны типа WTA

    Нейроны типа WTA (Winner Takes All — "Победитель получает все") имеют входной модуль в виде адаптивного сумматора. Выходной сигнал Нейроны типа WTA-го сумматора определяется по формуле
    Нейроны типа WTA

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

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

    Обучение кубических нейронов

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

    Паде-нейрон

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

    Персептрон

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

    или -1 и 1 в соответствии с правилом
    Персептрон
    (2)

    где Персептрон обозначает выходной сигнал сумматора
    Персептрон
    (3)

    В формуле (3) предполагается Персептрон.
    Персептрон
    Рис. 1.  Нейрон МакКаллока-Питтса
    Обучение персептрона состоит в таком подборе весов Персептрон, чтобы выходной сигнал Персептрон совпадал с заданным значением Персептрон или Персептрон.
    С персептроном связана задача четкого разделения двух классов по обучающей выборке, которая ставится следующим образом: имеется два набора векторов Персептрон и Персептрон. Заранее известно, что Персептрон, Персептрон относятся к первому классу, а Персептрон, Персептрон - ко второму. Требуется построить решающее правило, т.е. определить такую функцию Персептрон, что при Персептрон вектор Персептрон относится к первому классу, а при Персептрон - ко второму.

    Сигма-Пи нейроны

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

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

    Сигмоидальный нейрон

    Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока-Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции. Униполярная функция, как правило, представляется формулой (рис.2)
    Сигмоидальный нейрон
    Сигмоидальный нейрон
    Рис. 2.  Униполярная функция (? =1)
    тогда как биполярная функция задается в виде (рис.3)
    Сигмоидальный нейрон
    Сигмоидальный нейрон
    Рис. 3.  Биполярная функция (?=1)
    Параметр Сигмоидальный нейрон влияет на крутизну графика функции Сигмоидальный нейрон. При Сигмоидальный нейрон сигмоидальная функция превращается в функцию ступенчатого типа, идентичную функции активации персептрона. На практике чаще всего используется значение Сигмоидальный нейрон.
    Важным свойством сигмоидальной функции является ее дифференцируемость. Для униполярной функции имеем
    Сигмоидальный нейрон
    тогда как для биполярной функции
    Сигмоидальный нейрон
    Применение непрерывной функции активации позволяет использовать при обучении градиентные методы оптимизации. Проще всего реализовать метод наискорейшего спуска, в соответствии с которым уточнение вектора весов Сигмоидальный нейрон
    проводится в направлении отрицательного градиента целевой функции Сигмоидальный нейрон, где
    Сигмоидальный нейрон
    Компонента градиента имеет вид
    Сигмоидальный нейрон
    где Сигмоидальный нейрон означает разницу между фактическим и ожидаемым значением выходного сигнала нейрона. Если ввести обозначение Сигмоидальный нейрон, то можно получить выражение, определяющее Сигмоидальный нейрон-ю составляющую градиента в виде
    Сигмоидальный нейрон
    Значения весовых коэффициентов уточняются по формуле
    Сигмоидальный нейрон
    где Сигмоидальный нейрон.
    Применение градиентного метода для обучения нейрона гарантирует достижение только локального минимума. Для выхода из окрестности локального минимума результативным может оказаться обучение с моментом. В этом методе процесс уточнения весов определяется не только информацией о градиенте функции, но и предыдущим изменением весов. Подобный способ может быть задан выражением
    Сигмоидальный нейрон
    в котором первый член соответствует обычному методу наискорейшего спуска, тогда как второй член, называемый моментом, отражает последнее изменение весов и не зависит от фактического значения градиента. Значение Сигмоидальный нейрон
    выбирается из интервала (0,1).

    Стохастическая модель нейрона

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

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

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

    Запись активации в замкнутой форме

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

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

    В случае Запись активации в замкнутой форме - входового модуля получим
    Запись активации в замкнутой форме

    Нейрокомпьютерные системы

    Алгоритм обучения персептрона по отдельным примерам

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

    Геометрическая интерпретация линейного разделения классов

    Пусть в нейроне в качестве функции активации используется ступенчатая функция (см. формулу (1) Лекции 2). Линейное разделяющее правило делит входное пространство на две части гиперплоскостью, классифицируя входные векторы как относящиеся к 1-му классу (выходной сигнал - 1) или 2-му классу (выходной сигнал - 0). Критическое условие классификации (уравнение разделяющей гиперплоскости)
    Геометрическая интерпретация линейного разделения классов
    В {Геометрическая интерпретация линейного разделения классов}-мерном пространстве (пространстве входных сигналов) разделяющая гиперплоскость перпендикулярна вектору Геометрическая интерпретация линейного разделения классов. Вектор входных сигналов Геометрическая интерпретация линейного разделения классов дает выход Геометрическая интерпретация линейного разделения классов, если его проекция Геометрическая интерпретация линейного разделения классов
    на вектор Геометрическая интерпретация линейного разделения классов больше, чем расстояние Геометрическая интерпретация линейного разделения классов от нуля до гиперплоскости. В Геометрическая интерпретация линейного разделения классов-мерном (расширенном) пространстве гиперплоскость, описываемая уравнением Геометрическая интерпретация линейного разделения классов, ортогональна вектору Геометрическая интерпретация линейного разделения классов и проходит через начало координат пространства признаков (образов).
    Пример
    В двухмерном пространстве входных сигналов уравнение гиперплоскости имеет вид
    Геометрическая интерпретация линейного разделения классов
    При Геометрическая интерпретация линейного разделения классов и Геометрическая интерпретация линейного разделения классов получаем уравнение Геометрическая интерпретация линейного разделения классов
    гиперплоскости, которая представлена на рис.1 пунктирной линией, пересекающей оси координат в точках (1.5, 0) и (0, 1.5) соответственно. Здесь: Геометрическая интерпретация линейного разделения классов — нормаль к разделяющей гиперплоскости; Геометрическая интерпретация линейного разделения классов — вектор, относящийся к первому классу, поскольку проекция Геометрическая интерпретация линейного разделения классов вектора Геометрическая интерпретация линейного разделения классов на нормаль Геометрическая интерпретация линейного разделения классов
    больше Геометрическая интерпретация линейного разделения классов; Геометрическая интерпретация линейного разделения классов — вектор, относящийся ко второму классу, поскольку Геометрическая интерпретация линейного разделения классов.
    Геометрическая интерпретация линейного разделения классов
    Рис. 1. 

    Линейное разделение классов

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

    Настройка весового вектора

    Мы требуем, чтобы вектор весов в расширенном пространстве был ортогонален решающей гиперплоскости, и плоскость проходила через начало координат. Обучающую выборку (задачник) для нейрона можно рассматривать как множество пар Настройка весового вектора, где Настройка весового вектора - входной вектор, Настройка весового вектора - класс (выход, принимающий одно из двух значений, например, 0 или 1), которому принадлежит Настройка весового вектора. Такой тип обучения называется обучением с учителем, т.к. мы сообщаем сети, каким должен быть выходной сигнал для каждого вектора входных сигналов.
    Пусть для некоторого Настройка весового вектора выполняется Настройка весового вектора, но выход сети
    Настройка весового вектора
    где Настройка весового вектора при Настройка весового вектора, и Настройка весового вектора при Настройка весового вектора, т.е. Настройка весового вектора (угол Настройка весового вектора
    на рис.2 между векторами Настройка весового вектора и Настройка весового вектора больше Настройка весового вектора). Чтобы исправить ситуацию, нужно повернуть вектор весов Настройка весового вектора, приближая его направление к направлению вектора Настройка весового вектора. В то же время изменение не должно быть слишком резким, чтобы не испортить уже выполненное обучение. Мы достигнем обеих целей, если добавим к вектору Настройка весового вектора часть вектора Настройка весового вектора, чтобы получить новый вектор
    Настройка весового вектора
    Предположим теперь, что Настройка весового вектора, а Настройка весового вектора (угол Настройка весового вектора на рис.2 между векторами Настройка весового вектора и Настройка весового вектора меньше Настройка весового вектора). Теперь нужно увеличить угол между Настройка весового вектора и Настройка весового вектора, что получается путем вычитания части Настройка весового вектора
    из Настройка весового вектора:
    Настройка весового вектора
    Настройка весового вектора
    увеличить изображение
    Рис. 2.  Настройка вектора весов
    Результирующая запись имеет вид:
    Настройка весового вектора
    Параметр Настройка весового вектора называется скоростью обучения.
    Алгоритм обучения нейрона (персептрона) будет иметь вид:
    repeat for Настройка весового вектора
    begin y = h[(W,V)]; Настройка весового вектора
    end until Настройка весового вектора

    Обучение по всему задачнику

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

    Промежуточный вариант: обучение по страницам

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

    Нейрокомпьютерные системы

    Метод максимума правдоподобия

    Рассмотрим задачу разделения двух классов, с каждым из которых связано вероятностное распределение в пространстве векторов Метод максимума правдоподобия значений признаков. Будем обозначать плотности этих распределений Метод максимума правдоподобия - событие, состоящее в том, что объект принадлежит {Метод максимума правдоподобия}-му классу. Нас интересует апостериорная вероятность: Метод максимума правдоподобия — вероятность принадлежности объекта к {Метод максимума правдоподобия}-му классу при условии, что он характеризуется вектором признаков Метод максимума правдоподобия. Известная из теории вероятности формула Байеса дает
    Метод максимума правдоподобия
    " width="352" height="47">
    где Метод максимума правдоподобия — вероятность появления объектов {Метод максимума правдоподобия}-го класса. Для нормальных Метод максимума правдоподобия-мерных распределений
    Метод максимума правдоподобия
    где Метод максимума правдоподобия — математическое ожидание Метод максимума правдоподобия в {Метод максимума правдоподобия}-м классе, {Метод максимума правдоподобия} — ковариационная матрица для {Метод максимума правдоподобия}-го класса. В результате обработки данных находят статистические оценки {Метод максимума правдоподобия} и Метод максимума правдоподобия: пусть для {Метод максимума правдоподобия}-го класса имеются векторы Метод максимума правдоподобия, тогда полагаем
    Метод максимума правдоподобия
    Минимизация в формуле Байеса дает простое решающее правило: Метод максимума правдоподобия
    принадлежит Метод максимума правдоподобия-му классу, если Метод максимума правдоподобия
    для всех Метод максимума правдоподобия, т.е выбирается такой класс, для которого вероятность Метод максимума правдоподобия максимальна. Поскольку в формуле Байеса для всех Метод максимума правдоподобия
    знаменатель общий, то решающее правило приобретает следующий вид: выбираем то Метод максимума правдоподобия, для которого Метод максимума правдоподобия максимально. Для нормального распределения удобно прологарифмировать эту величину. Окончательно получаем:
    Метод максимума правдоподобия принадлежит Метод максимума правдоподобия-му классу, если среди величин
    Метод максимума правдоподобия
    величина Метод максимума правдоподобия - максимальная. Таким образом, разделяющей является поверхность второго порядка, а операцию разделения на два класса выполняет квадратичный адаптивный сумматор в комбинации с пороговым нелинейным элементом. Пороговый элемент вычисляет ступенчатую функцию Метод максимума правдоподобия, в результате для первого класса получим ответ 1, для второго - 0.

    Нейрофизиологическая аналогия

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

    Реализация булевых функций нейронными сетями

    Простой персептрон (нейрон МакКаллока-Питса) с весовым вектором Реализация булевых функций нейронными сетями реализует гиперплоскость
    Реализация булевых функций нейронными сетями
    и булеву функцию ИЛИ от двух аргументов Реализация булевых функций нейронными сетями и Реализация булевых функций нейронными сетями, каждый из которых может быть нулем или единицей. При Реализация булевых функций нейронными сетями персептрон реализует гиперплоскость
    Реализация булевых функций нейронными сетями
    и булеву функцию И. Однако, персептрон не может воспроизвести даже такую простую функцию как ИСКЛЮЧАЮЩЕЕ ИЛИ. Она принимает значение единицы, когда один из аргументов равен единице (но не оба) (табл.1).

    Таблица 1. Булева функция ИСКЛЮЧАЮЩЕЕ ИЛИРеализация булевых функций нейронными сетямиРеализация булевых функций нейронными сетямиРеализация булевых функций нейронными сетями
    000
    011
    101
    110

    Эту функцию реализует двухслойная нейронная сеть, представленная на рис.1 (сигнал Реализация булевых функций нейронными сетями не указан). Первый слой такой сети состоит из двух нейронов, каждый из которых реализует разделяющую гиперплоскость в двумерном пространстве входных данных. Первая гиперплоскость описывается уравнением
    Реализация булевых функций нейронными сетями
    а вторая - уравнением
    Реализация булевых функций нейронными сетями
    Соответствующие векторы весов имеют вид Реализация булевых функций нейронными сетями и Реализация булевых функций нейронными сетями. Нейрон во втором слое реализует функцию И от двух выходных сигналов нейронов первого слоя.
    Реализация булевых функций нейронными сетями
    Рис. 1.  Двухслойная сеть, реализующая функцию ИСКЛЮЧАЮЩЕЕ ИЛИ
    Реализация булевых функций нейронными сетями
    Рис. 2.  Гиперплоскости, реализующие функцию ИСКЛЮЧАЮЩЕЕ ИЛИ
    Выходным сигналом сети будет 1, если входные сигналы сети соответствуют точкам пространства входных сигналов, расположенным между вышеуказанными гиперплоскостями, т.е. точкам (0,1) и (1,0) (рис.2).

    Выделение невыпуклых областей

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

    Выделение выпуклых областей

    Серьезное ограничение разделяющих поверхностей однослойными сетями можно преодолеть, добавив дополнительные слои. Например, двухслойные сети, получаемые каскадным соединением однослойных сетей, способны выполнять более общие классификации, отделяя точки, содержащиеся в выпуклых ограниченных и неограниченных областях. Область выпуклая, если для каждых двух её точек соединяющий их отрезок целиком лежит в области. Область ограничена, если её можно заключить в некоторый шар.
    Выше приведен пример выделения выпуклой области двумя гиперплоскостями (реализация функции ИСКЛЮЧАЮЩЕЕ ИЛИ). Аналогично в первом слое может быть использовано 3 нейрона с дальнейшим разбиением плоскости и созданием области треугольной формы (на рис. 3, 4, Выделение выпуклых областей, входы с нулевыми весами не указаны).
    Включением достаточного числа нейронов во входной слой может быть образован выпуклый многоугольник (многогранник) желаемой формы. Так как такие многогранники образованы с помощью операций И над областями, задаваемыми разделяющими линиями (гиперплоскостями единичной размерности), то все они выпуклы.
    Выделение выпуклых областей
    Рис. 3.  Гиперплоскости, выделяющие на плоскости выпуклую (треугольную) область
    Выделение выпуклых областей
    Рис. 4.  Нейронная сеть, выделяющая на плоскости выпуклую (треугольную) область

    Нейрокомпьютерные системы

    Функционирование сетей

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

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

    При интерпретации выходных сигналов сети необходимы аккуратность и порой изобретательность, ведь от этого истолкования зависят требования, которые мы предъявляем к работе НС. Удачная их формулировка может упростить обучение и повысить точность работы, неудачная — свести на нет предыдущие усилия.
    Масштабирование является естественной операцией при обработке выходных сигналов. Стандартные (обезразмеренные) НС формируются так, чтобы их выходные сигналы лежали в интервалах Интерпретация ответов сети (или Интерпретация ответов сети). Если нам нужно получить сигнал в интервале Интерпретация ответов сети, то нужно преобразовать выходной сигнал Интерпретация ответов сети:
    Интерпретация ответов сети
    В задачах классификации наиболее распространено правило интерпретации "победитель забирает все": число нейронов равно числу классов, номер нейрона с максимальным сигналом интерпретируется как номер класса. К сожалению, если классов много, то этот наглядный метод является слишком расточительным, потребляет слишком много выходных нейронов.
    Знаковая интерпретация требует только Интерпретация ответов сети нейронов (Интерпретация ответов сети - число классов). Строится она так. Пусть Интерпретация ответов сети - совокупность выходных сигналов нейронов. Заменим в этой последовательности положительные числа единицами, а отрицательные - нулями. Полученную последовательность нулей и единиц рассматриваем как номер класса в двоичной записи.
    Порядковая интерпретация является еще более емкой, чем знаковая. В ней с помощью Интерпретация ответов сети нейронов можно описать принадлежность к Интерпретация ответов сети
    классам (а не Интерпретация ответов сети как для знаковой). Пусть Интерпретация ответов сети - выходные сигналы. Проведем их сортировку и обозначим через Интерпретация ответов сети номер Интерпретация ответов сети-го сигнала после сортировки (1 соответствует наименьшему сигналу, Интерпретация ответов сети
    - наибольшему). Перестановку Интерпретация ответов сети рассмотрим как слово, кодирующее номер класса. Всего возможно Интерпретация ответов сети перестановок. Этим интерпретатором можно пользоваться, если характерная ошибка выходного сигнала меньше Интерпретация ответов сети. Даже при Интерпретация ответов сети получаем реализуемые требования к точности Интерпретация ответов сети и богатые возможности (10! классов).

    Константа Липшица сигмоидальной сети

    Рассмотрим слоистую сигмоидальную сеть (сеть с сигмоидальными нейронами) со следующими свойствами:
  • Число входных сигналов - Константа Липшица сигмоидальной сети.
  • Число нейронов в Константа Липшица сигмоидальной сети-м слое - Константа Липшица сигмоидальной сети.
  • Каждый нейрон первого слоя получает все входные сигналы, а каждый нейрон любого другого слоя получает сигналы всех нейронов предыдущего слоя.
  • Все нейроны всех слоев имеют одинаковые функции активации Константа Липшица сигмоидальной сети.
  • Все синаптические веса ограничены по модулю единицей.
  • В сети Константа Липшица сигмоидальной сети слоев.

  • В этом случае оценка константы Липшица сети равна:
    Константа Липшица сигмоидальной сети
    (2)

    Формула (2) подтверждает экспериментально установленный факт, что, чем круче характеристическая функция нейрона (т.е. чем больше Константа Липшица сигмоидальной сети), тем более сложные функции (функции с большей константой Липшица) может аппроксимировать сеть с такими нейронами.

    Настройка нейронных сетей для решения задач

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

  • Ответы на данные вопросы воплощаются в спецустройствах или программах: в предобработчике, интерпретаторе ответов, оценке.
    Итак, прежде чем формировать сеть, необходимо создать её окружение. В процессе обучения, кроме того, используются:
  • Обучающая выборка (система, работающая с исходными данными);
  • Учитель, модифицирующий параметры сети;
  • Контрастер (система, упрощающая нейронную сеть).


  • Оценка способности сети решить задачу

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

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

    Предобработка данных

    Нормировка и центрирование данных (предобработка) используются почти всегда (кроме тех случаев, когда данные представляют собой бинарные векторы с координатами 0,1 или Предобработка данных, либо символьные последовательности). Цель этих преобразований - сделать так, чтобы каждая компонента вектора данных лежала в отрезке Предобработка данных (или Предобработка данных) или, по крайней мере, не слишком далеко выходила из этого отрезка, и её характерный разброс тоже был бы единичным.
    Стандартные преобразования исходной выборки Предобработка данных:
    Предобработка данных или Предобработка данных , где Предобработка данных - Предобработка данных-я компонента вектора Предобработка данных,
    Предобработка данных - выборочная оценка математического ожидания Предобработка данных;
    Предобработка данных - выборочная оценка среднего квадратичного отклонения. Любое изменение выборки Предобработка данных должно, согласно этим формулам, менять и нормировку. Нормировка и центрирование вписывают исходную выборку в куб со стороной 2, вершинами которого являются векторы с координатами Предобработка данных.

    Виды сетей

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

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

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

    Нейрокомпьютерные системы

    Алгоритм обратного распространения ошибки

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

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


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

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

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

    Алгоритм обратного распространения ошибки

    и

    Алгоритм обратного распространения ошибки

    и затем сложить эти произведения и результат умножить на Алгоритм обратного распространения ошибки

    и Алгоритм обратного распространения ошибки.

    Таким образом, получим

    Алгоритм обратного распространения ошибки

    Алгоритм обратного распространения ошибки

    Алгоритм обратного распространения ошибки

    Методы инициализации весов

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

    Удаление стартовой точки активации нейронов от зоны насыщения достигается путем ограничения диапазона случайных значений. Почти все оценки нижней и верхней границ диапазона допустимых значений лежат в интервале (0,1). Хорошие результаты дает равномерное распределение весов, нормализованное для каждого нейрона по амплитуде Методы инициализации весов, где Методы инициализации весов означает количество входов нейрона. Веса порогов для нейронов скрытых слоев должны принимать случайные значения из интервала Методы инициализации весов, а для выходных нейронов - нулевые значения.

    Одномерная оптимизация

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

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

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

    Одномерная оптимизация

    Одномерная оптимизация

    Нейрокомпьютерные системы

    Одношаговый квазиньютоновский метод и сопряженные градиенты

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

  • Для преодоления этих трудностей разработана масса методов. Идея квазиньютоновских методов с ограниченной памятью состоит в том, что поправка к направлению наискорейшего спуска отыскивается как результат действия матрицы малого ранга. Сама матрица не хранится, а её действие на векторы строится с помощью скалярных произведений на несколько специально подобранных векторов.
    Простейший и весьма эффективный метод основан на Одношаговый квазиньютоновский метод и сопряженные градиенты формуле (Брайден-Флетчер-Гольдфард-Шанно) и использует результаты предыдущего шага. Обозначим:
    Одношаговый квазиньютоновский метод и сопряженные градиенты - направление спуска на Одношаговый квазиньютоновский метод и сопряженные градиенты-шаге;
    Одношаговый квазиньютоновский метод и сопряженные градиенты - величина Одношаговый квазиньютоновский метод и сопряженные градиенты шага (Одношаговый квазиньютоновский метод и сопряженные градиенты-й шаг - сдвиг на Одношаговый квазиньютоновский метод и сопряженные градиенты);
    Одношаговый квазиньютоновский метод и сопряженные градиенты - градиент функции оценки в начальной точке Одношаговый квазиньютоновский метод и сопряженные градиенты-го шага;
    Одношаговый квазиньютоновский метод и сопряженные градиенты - изменение градиента в результате Одношаговый квазиньютоновский метод и сопряженные градиенты-го шага.
    Одношаговый квазиньютоновский метод и сопряженные градиенты - формула для направления спуска на Одношаговый квазиньютоновский метод и сопряженные градиенты-м шаге имеет вид:
    Одношаговый квазиньютоновский метод и сопряженные градиенты
    где Одношаговый квазиньютоновский метод и сопряженные градиенты - скалярное произведение векторов Одношаговый квазиньютоновский метод и сопряженные градиенты и Одношаговый квазиньютоновский метод и сопряженные градиенты.
    Если одномерную оптимизацию в поиске шага проводить достаточно точно, то новый градиент Одношаговый квазиньютоновский метод и сопряженные градиенты будет практически ортогонален предыдущему направлению спуска, т.е. Одношаговый квазиньютоновский метод и сопряженные градиенты. При этом формула для Одношаговый квазиньютоновский метод и сопряженные градиенты упрощается:
    Одношаговый квазиньютоновский метод и сопряженные градиенты
    Это - формула метода сопряженных градиентов (МСГ), которому требуется достаточно аккуратная одномерная оптимизация при выборе шага.
    В описанных методах предполагается, что начальное направление спуска Одношаговый квазиньютоновский метод и сопряженные градиенты. После некоторой последовательности из Одношаговый квазиньютоновский метод и сопряженные градиенты шагов целесообразно возвращаться к наискорейшему спуску - проводить рестарт. Он используется в тех случаях, когда очередное Одношаговый квазиньютоновский метод и сопряженные градиенты - плохое направление спуска, т.е. движение вдоль него приводит к слишком маленькому шагу либо вообще не дает улучшения.

    Особенности задачи оптимизации, возникающей при обучении нейронных сетей

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


  • Партан-методы

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

    Учет ограничений при обучении

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

  • Учет ограничений при обучении
    Практика показывает, что проективный метод не приводит к затруднениям. Обращение со штрафными функциями менее успешно. Далее будем считать, что ограничения учтены одним из методов, и будем говорить об обучении как о безусловной минимизации.

    Универсальный путь обучения

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

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

    Выбор направления минимизации

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

    Нейрокомпьютерные системы

    Алгоритмы имитации отжига

    Метод имитации отжига основан на идее, заимствованной из статистической механики. Он отражает поведение расплавленного материала при отвердевании с применением процедуры отжига (управляемого охлаждения) при температуре, последовательно понижаемой до нуля.
    В процессе медленного управляемого охлаждения, называемого отжигом, кристаллизация расплава сопровождается глобальным уменьшением его энергии, однако допускаются ситуации, в которых она может на какое-то время возрастать (в частности, при подогреве расплава для предотвращения слишком быстрого его остывания). Благодаря допустимости кратковременного повышения энергетического уровня, возможен выход из ловушек локальных минимумов энергии, которые возникают при реализации процесса. Только понижение температуры до абсолютного нуля делает невозможным какое-либо самостоятельное повышение энергетического уровня расплава.
    Метод имитации отжига представляет собой алгоритмический аналог физического процесса управляемого охлаждения. Классический алгоритм имитации отжига можно описать следующим образом:
  • Запустить процесс из начальной точки Алгоритмы имитации отжига при заданной начальной температуре Алгоритмы имитации отжига.
  • Пока Алгоритмы имитации отжига, повторить Алгоритмы имитации отжига раз следующие действия:
  • выбрать новое решение Алгоритмы имитации отжига из окрестности Алгоритмы имитации отжига;
  • рассчитать изменение целевой функции Алгоритмы имитации отжига;
  • если Алгоритмы имитации отжига, принять Алгоритмы имитации отжига; в противном случае (при Алгоритмы имитации отжига) принять, что Алгоритмы имитации отжига с вероятностью Алгоритмы имитации отжига путем генерации случайного числа Алгоритмы имитации отжига из интервала Алгоритмы имитации отжига с последующим сравнением его со значением Алгоритмы имитации отжига. Если Алгоритмы имитации отжига, принять новое решение Алгоритмы имитации отжига; в противном случае проигнорировать его.
  • Уменьшить температуру Алгоритмы имитации отжига с использованием коэффициента Алгоритмы имитации отжига, выбираемого из интервала Алгоритмы имитации отжига, и вернуться к п. 2.
  • После снижения температуры до нуля провести обучение сети любым из детерминированных методов локальной оптимизации вплоть до достижения минимума целевой функции.

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

    Четыре типа устойчивости

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

  • В конкретных ситуациях необходимо доопределять возмущения, по отношению к которым нужно вырабатывать устойчивость. Например, при распознавании визуальных образцов можно выделить несколько разновидностей возмущений входного сигнала: прибавление случайного сигнала (шум фона), затенение части исходного изображения, искажение изображения некоторыми преобразованиями.
    Для выработки устойчивости первых трех типов полезны генераторы случайных искажений. Для устойчивости 1-го типа генератор искажений производит возмущение входных сигналов и тем самым преобразует обучающей пример. Для устойчивости 2-го типа генератор искажений меняет случайным образом параметры сети в заданных пределах, а для устойчивости 3-го типа - удаляет случайно выбранную часть сети, состоящую из заданного количества элементов (нейронов, синапсов).
    В существенной конкретизации нуждается четвертый тип устойчивости, т.к. трудно представить себе устойчивость к обучению любому новому примеру. Если принять гипотезу, что обучение новым примерам будет действовать на старые навыки так же, как случайный сдвиг параметров, то получается, что выработка устойчивости 2-го типа является средством для обучения устойчивости 4-го типа. Другое средство - выработка устойчивости к обучению отдельным примерам, уже входящим в задачник. Это свойство устойчивости 1-го типа состоит в том, что обучение до минимума оценки по любому (одному) из обучающих примеров не разрушает навыка решения остальных. Возмущение здесь состоит в изменении процесса обучения.
    Для выработки устойчивости 1-го типа примеры предъявляются сети не все сразу, а по одному, и сеть учится каждому из них до предела. Для выработки важнейшей устойчивости 4-го типа такая периодически производимая "порча" процесса обучения может быть полезной. Опыт показывает, что обучение позволяет выработать устойчивость к весьма сильным возмущением. Так, в задачах распознавания визуальных образов уровень шума на выходе мог в несколько раз превосходить общую интенсивность сигнала, случайный сдвиг параметров - достигать 0.5-0.7 их предельного значения, разрушение - 30-50\% элементов. И, тем не менее, обученная сеть делает не более 10\% ошибок!

    Генетические алгоритмы

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

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

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

    Элементы глобальной оптимизации

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

    Метод виртуальных частиц

    Метод виртуальных (случайных) частиц может надстраиваться почти над любым методом оптимизации. Он создан для:
  • повышения устойчивости обученных сетей;
  • вывода сетей из возникающих при обучении локальных минимумов оценки.

  • Основная идея метода - использование случайных сдвигов аргумента и суммирование полученных значений функции для усреднения. Ожидается, что в результате уменьшится влияние рельефа минимизируемой функции на процесс минимизации и откроется более прямой путь к её глобальному минимуму.
    Метод случайных частиц состоит в том, что к оптимизируемой точке (частице) добавляется несколько других, траектории которых получаются из траектории данной частицы сдвигом на случайный вектор. Эти "виртуальные" частицы время от времени уничтожаются и рождаются новые. Спуск (минимизация) строится так, чтобы уменьшилось значение суммы значений оптимизируемой функции в указанных точках.
    Рассмотрим один из вариантов алгоритма виртуальных частиц. Пусть требуется найти минимум функции Метод виртуальных частиц.Параметры сети разбиваются на группы структурно эквивалентных. Для каждой группы задается свой интервал случайных сдвигов. Определяется число виртуальных частиц Метод виртуальных частиц и генерируется Метод виртуальных частиц случайных векторов Метод виртуальных частиц. Их координаты независимо и равномерно распределены в заданных интервалах.
    Начальное положение основной частицы - Метод виртуальных частиц. Начальное положение Метод виртуальных частиц-ой виртуальной частицы Метод виртуальных частиц. Случайный вектор для Метод виртуальных частиц-й виртуальной частицы строится так:
    Метод виртуальных частиц
    (1)

    и её положение задается вектором Метод виртуальных частиц. Всем частицам, кроме Метод виртуальных частиц-й, присваивается вес Метод виртуальных частиц, Метод виртуальных частиц, Метод виртуальных частиц-я получает вес Метод виртуальных частиц. Далее минимизируется функция
    Метод виртуальных частиц
    Алгоритм локальной оптимизации может быть выбран любой - от наискорейшего спуска и партан-методов до метода сопряженных градиентов. Выбор Метод виртуальных частиц в виде Метод виртуальных частиц и Метод виртуальных частиц определяется двумя обстоятельствами:
  • для каждой координаты вектора Метод виртуальных частиц дисперсия будет совпадать с дисперсией координат векторов Метод виртуальных частиц;
  • для квадратичных Метод виртуальных частиц точки минимума Метод виртуальных частиц и Метод виртуальных частиц совпадут.

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

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


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

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

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

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

    Нейрокомпьютерные системы

    Математические основы радиальных сетей

    Математическую основу функционирования радиальных сетей составляет теорема Т. Ковера о распознаваемости образов, в соответствии с которой нелинейные проекции образов в некоторое многомерное пространство могут быть линейно разделены с большей вероятностью, чем при их проекции в пространство с меньшей размерностью.
    Если вектор радиальных функций в Математические основы радиальных сетей- мерном входном пространстве обозначить Математические основы радиальных сетей, то это пространство является нелинейно Математические основы радиальных сетей- разделяемым на два пространственных класса Математические основы радиальных сетей и Математические основы радиальных сетей тогда, когда существует такой вектор весов Математические основы радиальных сетей, что
    Математические основы радиальных сетей
    Граница между этими классами определяется уравнением Математические основы радиальных сетей.
    Доказано, что каждое множество образов, случайным образом размещенных в многомерном пространстве, является Математические основы радиальных сетей- разделяемым с вероятностью 1 при условии соответственно большой размерности этого пространства. На практике это означает, что применение достаточно большого количества скрытых нейронов, реализующих радиальные функции Математические основы радиальных сетей, гарантирует решение задачи классификации при построении всего лишь двухслойной сети: скрытый слой должен реализовать вектор Математические основы радиальных сетей, а выходной слой может состоять из единственного линейного нейрона, который выполняет суммирование выходных сигналов от скрытых нейронов с весовыми коэффициентами, заданными вектором Математические основы радиальных сетей.
    Простейшая нейронная сеть радиального типа функционирует по принципу многомерной интерполяции, состоящей в отображении Математические основы радиальных сетей различных входных векторов Математические основы радиальных сетей из входного Математические основы радиальных сетей-мерного пространства во множество из p чисел Математические основы радиальных сетей. Для реализации этого процесса необходимо использовать Математические основы радиальных сетей скрытых нейронов радиального типа и задать такую функцию отображения Математические основы радиальных сетей, для которой выполняется условие интерполяции
    Математические основы радиальных сетей
    Использование Математические основы радиальных сетей скрытых нейронов, соединяемых связями с весами с выходными линейными нейронами, означает формирование выходных сигналов сети путем суммирования взвешенных значений соответствующих базисных функций. Рассмотрим радиальную сеть с одним выходом и Математические основы радиальных сетей
    обучающими парами Математические основы радиальных сетей. Примем, что координаты каждого из Математические основы радиальных сетей
    центров узлов сети определяются одним из векторов Математические основы радиальных сетей, т.е. Математические основы радиальных сетей. В этом случае взаимосвязь между входными и выходными сигналами сети может быть определена системой уравнений, линейных относительно весов, которая в матричной форме имеет вид:

    Математические основы радиальных сетей

    (1)
    где Математические основы радиальных сетей определяет радиальную функцию с центром в точке Математические основы радиальных сетей с вынужденным вектором Математические основы радиальных сетей, Математические основы радиальных сетей и Математические основы радиальных сетей.

    Доказано, что для ряда радиальных функций в случае Математические основы радиальных сетей

    квадратная интерполяционная матрица Математические основы радиальных сетей является невырожденной и при этом неотрицательно определенной. Поэтому существует решение уравнения (1) в виде

    Математические основы радиальных сетей

    (2)
    что позволяет получить вектор весов выходного нейрона сети.

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

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

    Радиальная нейронная сеть

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

    где Радиальная нейронная сеть, а Радиальная нейронная сеть - множество центров, которые необходимо определить. В особом случае, если принять Радиальная нейронная сеть, можно получить точное решение Радиальная нейронная сеть.
    Чаще всего в качестве радиальной функции применяется функция Гаусса. При размещении ее центра в точке Радиальная нейронная сеть она может быть определена в сокращенной форме как
    Радиальная нейронная сеть
    (4)

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

    Нейрокомпьютерные системы

    Автоассоциативная сеть Хопфилда

    Структура сети Хопфилда представляется в виде системы с непосредственной обратной связью выхода со входом (рис. 1). Выходные сигналы нейронов являются одновременно входными сигналами сети: Автоассоциативная сеть Хопфилда. В классической сети Хопфилда отсутствует автосвязь (связь выхода нейрона с его собственным входом), что соответствует Автоассоциативная сеть Хопфилда, а матрица весов является симметричной: Автоассоциативная сеть Хопфилда. Отсутствие автосвязи и симметричность матрицы весов являются достаточными (но не необходимыми!) условиями сходимости итерационных (переходных) процессов в сети Хопфилда.
    Далее в данной лекции предполагаем, что каждый нейрон имеет биполярную ступенчатую функцию активации со значениями Автоассоциативная сеть Хопфилда. Это означает, что выходной сигнал Автоассоциативная сеть Хопфилда-го нейрона определяется функцией
    Автоассоциативная сеть Хопфилда
    где Автоассоциативная сеть Хопфилда обозначает количество нейронов, Автоассоциативная сеть Хопфилда.
    Далее допустим, что порог срабатывания является компонентой вектора Автоассоциативная сеть Хопфилда. Тогда основную зависимость, определяющую сеть Хопфилда, можно представить в виде
    Автоассоциативная сеть Хопфилда
    (1)

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

    Двунаправленная ассоциативная память

    Обобщением сети Хопфилда на случай двухслойной рекуррентной структуры, позволяющей кодировать множества двух взаимосвязанных векторов, считается двунаправленное ассоциативное запоминающее устройство, называемое BAM (Bidirectional Associative Memory) (рис. 3). Сигналы распространяются в двух направлениях. Если в первом цикле сигналы вначале проходят в одну сторону для задания состояний нейронов-получателей, то в следующем цикле эти нейроны сами становятся источниками, высылающими сигналы в обратную сторону. Процесс повторяется до достижения состояния равновесия.
    Функция активации нейронов имеет пороговый характер. Для обеспечения лучших характеристик сети на этапе обучения используются только биполярные сигналы. Матрица весов Двунаправленная ассоциативная память, связывающая обе части сети, является действительной и в общем случае несимметричной. При прямом распространении сигналов веса описываются матрицей Двунаправленная ассоциативная память, а при обратном — матрицей Двунаправленная ассоциативная память.
    Пусть входные обучающие данные представляют собой множество пар Двунаправленная ассоциативная память биполярных векторов. На основе этого множества формируется матрица
    Двунаправленная ассоциативная память
    В результате процесса двунаправленной обработки сигналов формируются два стабильных вектора Двунаправленная ассоциативная память и Двунаправленная ассоциативная память, удовлетворяющих уравнениям
    Двунаправленная ассоциативная память
    Двунаправленная ассоциативная память
    Каждой промежуточной точке Двунаправленная ассоциативная память можно сопоставить энергетическую функцию
    Двунаправленная ассоциативная память
    которая убывает при каждом изменении состояния вплоть до достижения локального минимума
    Двунаправленная ассоциативная память
    Двунаправленная ассоциативная память
    Рис. 3.  Структура сети BAM
    В режиме распознавания при начальных значениях векторов, совпадающих с использованными при обучении, сеть распознает их безошибочно. При искажении векторов Двунаправленная ассоциативная память и Двунаправленная ассоциативная память сеть BAM не всегда способна откорректировать эти векторы и распознает их с определенными погрешностями. Если размерности векторов Двунаправленная ассоциативная память и Двунаправленная ассоциативная память обозначить соответственно Двунаправленная ассоциативная память и Двунаправленная ассоциативная память, то удовлетворительное качество распознавания можно получить при выполнении зависимости
    Двунаправленная ассоциативная память
    где Двунаправленная ассоциативная память - число запоминаемых в сети BAM пар векторов.

    Обучение сети Хопфилда методом проекций

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

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

    Обучение сети Хопфилда по правилу Хебба

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

    Сеть Хемминга

    Сеть Хемминга включает в себя три слоя (рис.2).
    Первый слой имеет однонаправленное распространение сигналов от входа к выходу и фиксированные значения весов.
    Второй слой состоит из нейронов, связанных обратными связями по принципу "каждый с каждым", при этом в каждом нейроне слоя существует автосвязь (связь входа нейрона со своим собственным выходом). Разные нейроны в слое связаны отрицательной (тормозящей) обратной связью с весом Сеть Хемминга, при этом величина Сеть Хемминга обычно обратно пропорциональна количеству образов. С собственным входом нейрон связан положительной (возбуждающей) обратной связью с весом, равным +1. Пороговые веса нейронов приняты равными нулю. Нейроны этого слоя функционируют в режиме Сеть Хемминга, при котором в каждой фиксированной ситуации активизируется только один нейрон, а остальные пребывают в состоянии покоя.
    Выходной однонаправленный слой формирует выходной вектор, соответствующий входному вектору.
    Сеть Хемминга
    увеличить изображение
    Рис. 2.  Структура сети Хемминга
    Сеть Хемминга считается гетероассоциативным запоминающим устройством с парой связанных между собой векторов Сеть Хемминга, где Сеть Хемминга и Сеть Хемминга - входной и выходной биполярные векторы сети.
    Веса первого слоя соответствуют векторам Сеть Хемминга, т.е.
    Сеть Хемминга
    Аналогично, веса выходного слоя соответствуют векторам образов Сеть Хемминга, связанных с Сеть Хемминга:
    Сеть Хемминга
    Во втором слое (MAXNET), функционирующем в режиме WTA (Winner Takes ALL - "Победитель забирает все"), каждый нейрон должен усиливать собственный сигнал и ослаблять сигналы остальных нейронов. Для этого принимается
    Сеть Хемминга
    а также
    Сеть Хемминга
    Для обеспечения сходимости итерационного процесса во втором слое веса
    Сеть Хемминга
    где Сеть Хемминга - достаточно малая случайная величина, Сеть Хемминга.
    Нейроны первого слоя рассчитывают расстояния Хемминга Сеть Хемминга
    между поданным на вход сети вектором Сеть Хемминга и векторами весов Сеть Хемминга
    нейронов этого слоя. Значения выходных сигналов нейронов первого слоя определяются по формуле
    Сеть Хемминга
    где Сеть Хемминга - число компонент вектора Сеть Хемминга.
    Сигналы Сеть Хемминга становятся начальными состояниями нейронов второго слоя. Этот слой определяет "победителя", т.е. нейрон, выходной сигнал которого близок к 1.
    Такой нейрон указывает на вектор образа с минимальным расстоянием Хемминга до входного вектора Сеть Хемминга. Функция активации для нейронов второго слоя задается выражением

    Сеть Хемминга

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

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

    Отдельную группу нейронных сетей составляют

    Отдельную группу нейронных сетей составляют сети с обратной связью между различными слоями нейронов. Это так называемые рекуррентные сети. Их общая черта состоит в передаче сигналов с выходного либо скрытого слоя на входной слой.
    Благодаря обратной связи при подаче сигнала на входы сети, в ней возникает переходный процесс, который завершается формированием нового устойчивого состояния, отличающегося в общем случае от предыдущего. Если функцию активации нейрона обозначить Отдельную группу нейронных сетей составляют , где Отдельную группу нейронных сетей составляют - взвешенная сумма его возбуждений, то состояние нейрона можно определить выходным сигналом Отдельную группу нейронных сетей составляют . Изменение состояния Отдельную группу нейронных сетей составляют -го нейрона можно описать системой дифференциальных уравнений
    Отдельную группу нейронных сетей составляют
    для Отдельную группу нейронных сетей составляют , где Отдельную группу нейронных сетей составляют - пороговое значение.
    Рекуррентной сети можно поставить в соответствие энергетическую функцию Ляпунова
    Отдельную группу нейронных сетей составляют
    Изменение состояния какого-либо нейрона инициализирует изменение энергетического состояния сети в направлении минимума ее энергии вплоть до его достижения. В пространстве состояний локальные энергетические минимумы E представлены точками стабильности, называемыми аттракторами из-за тяготения к ним ближайшего окружения. Благодаря наличию аттракторов, рекуррентные сети могут быть использованы как устройства ассоциативной памяти.
    Ассоциативная память играет роль системы, определяющей взаимную зависимость векторов. В случае, когда на взаимозависимость исследуются компоненты одного и того же вектора, говорят об автоассоциативной памяти. Если же взаимозависимыми оказываются два различных вектора, можно говорить о памяти гетероассоциативного типа. К первому классу относится сеть Хопфилда, а ко второму - сеть Хемминга и сеть типа BAM (Bidirectional Associative Memory - двунаправленная ассоциативная память).
    Задача ассоциативной памяти сводится к запоминанию обучающих векторов, чтобы при представлении нового вектора система могла сгенерировать ответ - какой из запомненных ранее векторов наиболее близок к вновь поступившему образу. Часто в качестве меры близости отдельных множеств применяется расстояние Хемминга.
    При использовании двоичных значений (0,1) расстояние Хемминга между двумя векторами Отдельную группу нейронных сетей составляют и Отдельную группу нейронных сетей составляют определяется в виде
    Отдельную группу нейронных сетей составляют
    При биполярных значениях элементов обоих векторов расстояние Хемминга рассчитывается по формуле
    Отдельную группу нейронных сетей составляют
    Мера Хемминга равна числу несовпадающих компонент двух векторов. Она равна нулю, когда Отдельную группу нейронных сетей составляют .

    Нейрокомпьютерные системы

    Функция консенсуса

    Для состояния Функция консенсуса МБ вводится понятие консенсуса
    Функция консенсуса
    Каждая связь в этой сумме учитывается один раз. Консенсус Функция консенсуса
    интерпретируется как количественная мера желательности, чтобы все связи Функция консенсуса в состоянии Функция консенсуса были активны. Для состояния Функция консенсуса определяется множество соседей Функция консенсуса. Соседнее состояние Функция консенсуса получается из Функция консенсуса при изменении состояния нейрона Функция консенсуса,
    Функция консенсуса
    Разница консенсусов соседних состояний Функция консенсуса и Функция консенсуса равна
    Функция консенсуса
    где Функция консенсуса - множество связей нейрона Функция консенсуса. Видно, что Функция консенсуса для всех Функция консенсуса могут вычисляться параллельно.

    Максимизация консенсуса

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

  • Состояние Максимизация консенсуса принимается с вероятностью
    Максимизация консенсуса
    (4)

    где Максимизация консенсуса - управляющий параметр ("температура").
    Процесс максимизации консенсуса начинается с высокого значения Максимизация консенсуса
    параметра Максимизация консенсуса и случайно выбранного начального состояния Максимизация консенсуса. В течение процесса параметр Максимизация консенсуса уменьшается от Максимизация консенсуса до 0. По мере того как Максимизация консенсуса
    приближается к нулю, нейроны все реже изменяют свои состояния, и наконец, МБ стабилизируется в финальном состоянии. Практически, МБ стабилизируется в состоянии, соответствующем локальному максимуму консенсуса, который близок (или равен) глобальному. Сходимостью МБ управляют следующие параметры:
    1. Начальное значение параметра Максимизация консенсуса для каждого нейрона Максимизация консенсуса
    Максимизация консенсуса
    2. Правило понижения Максимизация консенсуса
    Максимизация консенсуса
    где Максимизация консенсуса - положительное число, меньшее единицы, но близкое к ней.
    3. Число Максимизация консенсуса испытаний, которые проводятся без изменения Максимизация консенсуса (Максимизация консенсуса — функция от Максимизация консенсуса).
    4. Число Максимизация консенсуса последовательных испытаний, не приводящих к изменению состояния машин (Максимизация консенсуса - функция от Максимизация консенсуса), как критерий завершения процесса.

    Машина Больцмана

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

    Решение задачи коммивояжера машиной Больцмана

    Общий подход к программированию комбинаторных оптимизационных задач состоит в следующем:
    каждое решение представляется набором Решение задачи коммивояжера машиной Больцмана, Решение задачи коммивояжера машиной Больцмана — число нейронов в сети, Решение задачи коммивояжера машиной Больцмана - состояние нейрона. Структура связей и веса выбираются так, что:
    Решение задачи коммивояжера машиной Больцмана. Все локальные максимумы функции консенсуса соответствуют приемлемым решениям задачи;
    Решение задачи коммивояжера машиной Больцмана. Чем лучше приемлемое решение, тем больше консенсус соответствующего состояния машины Больцмана.
    Перефразируем для МБ задачу коммивояжера.
    Решение задачи коммивояжера машиной Больцмана. Состояние МБ соответствует локальному максимуму функции консенсуса, если и только если это состояние соответствует приемлемому маршруту.
    Решение задачи коммивояжера машиной Больцмана. Чем короче маршрут, тем выше консенсус соответствующего состояния МБ.
    Каждый нейрон соответствует элементу матрицы Решение задачи коммивояжера машиной Больцмана, состояния нейронов обозначаются Решение задачи коммивояжера машиной Больцмана (Решение задачи коммивояжера машиной Больцмана - число городов). Функция консенсуса
    Решение задачи коммивояжера машиной Больцмана
    Множество связей в сети определяется как объединение трех непересекающихся подмножеств:
    Решение задачи коммивояжера машиной Больцмана - множество связей, несущих информацию о расстояниях между городами,
    Решение задачи коммивояжера машиной Больцмана
    Решение задачи коммивояжера машиной Больцмана - множество ингибиторных (запретительных) связей,
    Решение задачи коммивояжера машиной Больцмана
    Решение задачи коммивояжера машиной Больцмана - множество связей смещений,
    Решение задачи коммивояжера машиной Больцмана
    Здесь Решение задачи коммивояжера машиной Больцмана. Общее число связей равно Решение задачи коммивояжера машиной Больцмана.
    Ингибиторные связи гарантируют, что, в конце концов, ни в одной строке и ни в одном столбце не будет более одной единицы. Связи смещений гарантируют, что хотя бы по одной единице есть в каждом столбце и в каждой строке. Таким образом, связи Решение задачи коммивояжера машиной Больцмана и Решение задачи коммивояжера машиной Больцмана гарантируют выполнение ограничений в задаче и веса их дают одинаковые вклады в консенсусы для всех приемлемых маршрутов.
    Связь Решение задачи коммивояжера машиной Больцмана активна только в том случае, когда в маршруте есть прямой путь из города Решение задачи коммивояжера машиной Больцмана в город Решение задачи коммивояжера машиной Больцмана. Вес связи Решение задачи коммивояжера машиной Больцмана равен расстоянию между городами Решение задачи коммивояжера машиной Больцмана и Решение задачи коммивояжера машиной Больцмана с отрицательным знаком. Следовательно, для данного маршрута отрицательный вклад связи из Решение задачи коммивояжера машиной Больцмана в консенсус пропорционален длине пути, поэтому максимизация функции консенсуса соответствует минимизации длины маршрута.
    Доказано, что для консенсуса Решение задачи коммивояжера машиной Больцмана выполняются требования Решение задачи коммивояжера машиной Больцмана и Решение задачи коммивояжера машиной Больцмана, если и только если веса связей выбраны следующим образом:
    Решение задачи коммивояжера машиной Больцмана
    Решение задачи коммивояжера машиной Больцмана
    Решение задачи коммивояжера машиной Больцмана
    где
    Решение задачи коммивояжера машиной Больцмана
    При Решение задачи коммивояжера машиной Больцмана было проведено 100 испытаний для Решение задачи коммивояжера машиной Больцмана и 25 испытаний для Решение задачи коммивояжера машиной Больцмана при различных начальных состояний МБ. Для Решение задачи коммивояжера машиной Больцмана получено оптимальное решение, для Решение задачи коммивояжера машиной Больцмана получено решение на Решение задачи коммивояжера машиной Больцмана хуже оптимума. Вероятностный механизм функционирования МБ дает возможность получать на ней несколько лучшие результаты, чем на модели Хопфилда.

    Решение задачи коммивояжера сетью Хопфилда

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

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

    где первые три члена поддерживают первое требование, четвертый член — второе. Первый член равен нулю, если каждая строка Решение задачи коммивояжера сетью Хопфилда содержит не более одной единицы. Второй равен нулю, если каждый столбец Решение задачи коммивояжера сетью Хопфилда содержит не более одной единицы. Третий равен нулю, если в матрице всего Решение задачи коммивояжера сетью Хопфилда единиц. Короткие маршруты поддерживает четвертый член. В нем индексы Решение задачи коммивояжера сетью Хопфилда
    берутся по модулю Решение задачи коммивояжера сетью Хопфилда для того, чтобы показать, что Решение задачи коммивояжера сетью Хопфилда-й город соседствует в маршруте с Решение задачи коммивояжера сетью Хопфилда, т.е. Решение задачи коммивояжера сетью Хопфилда. Четвертый член численно равен длине маршрута. Каноническое выражение для функции вычислительной энергии имеет вид
    Решение задачи коммивояжера сетью Хопфилда
    (3)

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

    Синхронное и асинхронное функционирование машины Больцмана

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

    Нейрокомпьютерные системы

    Персептронная сеть с обратной связью

    Один из простейших способов построения рекуррентной сети на базе однонаправленной HC состоит во введении в персептронную сеть обратной связи. В дальнейшем мы будем сокращенно называть такую сеть RMLP (англ.: Recurrent MultiLayer Perceptron - рекуррентный многослойный персептрон). Ее обобщенная структура представлена на рис. 1 (Персептронная сеть с обратной связью - единичные элементы запаздывания).
    Персептронная сеть с обратной связью
    увеличить изображение
    Рис. 1.  Структура сети RMLP
    Это динамическая сеть, которая характеризуется запаздыванием входных и выходных сигналов, объединяемых во входной вектор сети. Рассуждения будут касаться только одного входного узла Персептронная сеть с обратной связью и одного выходного нейрона, а также одного скрытого слоя. Такая система реализует отображение:
    Персептронная сеть с обратной связью
    (1)

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

    Рекуррентная сеть Эльмана

    Рекуррентная сеть Эльмана характеризуется частичной рекуррентностью в форме обратной связи между скрытым и входным слоем, реализуемой с помощью единичных элементов запаздывания Рекуррентная сеть Эльмана. Обобщенная структура этой сети представлена на рис. 3.
    Каждый скрытый нейрон имеет свой аналог в контекстном слое, образующем совместно с внешними входами сети входной слой. Выходной слой состоит из нейронов, однонаправленно связанных только с нейронами скрытого слоя, подобно сети RMLP. Обозначим внутренний вектор возбуждения сети Рекуррентная сеть Эльмана
    (в его состав входит также единичный сигнал поляризации), состояния скрытых нейронов - Рекуррентная сеть Эльмана, а выходные сигналы сети - Рекуррентная сеть Эльмана. При таких обозначениях входной вектор сети в момент Рекуррентная сеть Эльмана имеет форму
    Рекуррентная сеть Эльмана
    Веса синаптических связей первого (скрытого) слоя сети обозначим Рекуррентная сеть Эльмана, a второго (выходного) слоя - Рекуррентная сеть Эльмана. Если взвешенную сумму Рекуррентная сеть Эльмана-го нейрона скрытого слоя обозначить Рекуррентная сеть Эльмана, а его выходной сигнал - Рекуррентная сеть Эльмана, то
    Рекуррентная сеть Эльмана
    Рекуррентная сеть Эльмана
    увеличить изображение
    Рис. 3.  Структура сети Эльмана
    Веса Рекуррентная сеть Эльмана образуют матрицу Рекуррентная сеть Эльмана
    синаптических связей скрытого слоя, а Рекуррентная сеть Эльмана - функция активации Рекуррентная сеть Эльмана-го нейрона этого слоя. Аналогично можно обозначить взвешенную сумму Рекуррентная сеть Эльмана-го нейрона выходного слоя Рекуррентная сеть Эльмана, а соответствующий ему выходной сигнал сети - Рекуррентная сеть Эльмана. Эти сигналы описываются формулами
    Рекуррентная сеть Эльмана
    В свою очередь, веса Рекуррентная сеть Эльмана образуют матрицу Рекуррентная сеть Эльмана, описывающую синаптические связи нейронов выходного слоя; Рекуррентная сеть Эльмана - функция активации Рекуррентная сеть Эльмана-го нейрона выходного слоя.

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

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

    Задача прогноза векторного временного ряда ставится следующим образом:

  • задана реализация временного ряда Рекуррентная сеть Эльмана, Рекуррентная сеть Эльмана, на интервале времени Рекуррентная сеть Эльмана с постоянным интервалом дискретности Рекуррентная сеть Эльмана;
  • требуется построить оценку значения временного ряда (обычно одной его координаты) в момент времени Рекуррентная сеть Эльмана, где Рекуррентная сеть Эльмана - заданное время прогноза.


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

    Рекуррентная сеть Эльмана

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

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

    Сеть RTRN

    Среди рекуррентных сетей особого внимания заслуживает сеть типа RTRN (англ.: Real Time Recurrent Network), предложенная Р.Вильямсом и Д.Зипсером и предназначенная для обработки сигналов в реальном времени. Сеть RTRN - частный случай сети Эльмана.
    Сеть RTRN
    увеличить изображение
    Рис. 4.  Структура сети RTRN
    Обобщенная структура сети представлена на рис. 4. Сеть содержит Сеть RTRN входных узлов, Сеть RTRN скрытых нейронов и Сеть RTRN соответствующих им узлов контекстного слоя. Из Сеть RTRN скрытых нейронов только Сеть RTRN составляют выход сети. Обозначим взвешенную сумму Сеть RTRN-го нейрона скрытого слоя Сеть RTRN, а выход этого нейрона - Сеть RTRN. Вектор Сеть RTRN и смещенный (задержанный) на один цикл вектор Сеть RTRN образуют расширенный вектор активации Сеть RTRN, возбуждающий нейроны сети:
    Сеть RTRN
    После описания входного вектора сети в момент Сеть RTRN можно определить состояние всех нейронов согласно зависимостям:
    Сеть RTRN
    u_i(k) = \sum_{j=0}^{N+K} w_{ij}x_j(k)," width="200" height="29">

    (2)

    Сеть RTRN
    (3)

    причем Сеть RTRN обозначает непрерывную функцию активации нейрона (как правило, сигмоидальную). На рис. 4 видно, что сеть RTRN представляет собой частный случай сети Эльмана, в которой веса выходного слоя постоянны и равны дельте Кронекера, т.е. Сеть RTRN для Сеть RTRN или Сеть RTRN для Сеть RTRN. В этом случае можно применять алгоритм обучения Вильяма-Зипсера.
    1. Выбрать случайные начальные значения весов сети, составляющих матрицу Сеть RTRN и равномерно распределенных в заданном интервале (обычно в диапазоне от Сеть RTRN до Сеть RTRN).
    2. Рассчитать состояние всех K нейронов для очередного момента Сеть RTRN с использованием формул (1) и (2). На этой основе можно определить входной вектор Сеть RTRN, возбуждающий нейроны в момент Сеть RTRN.
    3. Рассчитать значения
    Сеть RTRN
    4. Уточнить значения весов по алгоритму наискорейшего спуска согласно формуле
    Сеть RTRN
    для Сеть RTRN и Сеть RTRN.
    Шаги (2-4) повторять вплоть до стабилизации значений всех весов сети.

    Многослойные рекуррентные сети представляют собой

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

    Нейрокомпьютерные системы

    В определенные моменты в ходе обучения строятся изображения карты путем использования соответствия, показанного на рис. 1. Элементы соединяются линиями, чтобы показать их относительное размещение. Сначала карта выглядит сильно "измятой", но постепенно в ходе обучения она разворачивается и расправляется. Конечным результатом обучения является карта, покрывающая все входное пространство и являющаяся достаточно регулярной (т.е. элементы оказываются распределенными почти равномерно). Для примера была рассмотрена карта с топологией квадрата из 49 элементов, и для 250 точек данных, взятых из единичного квадрата, было проведено ее обучение, которое начиналось со случайного набора весовых значений, задающих размещение кластерных элементов в центре входного пространства, как показано на рис. 1. На рис. 2 и 3 иллюстрируется процесс разворачивания карты с течением времени. Как и для других типов сетей, в данном случае результат обучения зависит от учебных данных и выбора параметров обучения.

    <title>(.*)</title>
    Рис. 1.  Весовые векторы инициализируются случайными значениями из диапазона 0.4-0.6

    Алгоритм Кохонена

    Алгоритм Кохонена относится к наиболее старым алгоритмам обучения сетей с самоорганизацией на основе конкуренции, и в настоящее время существуют различные его версии. В классическом алгоритме Кохонена сеть инициализируется путем приписывания нейронам определенных позиций в пространстве и связывания их с соседями на постоянной основе. Такая сеть называется самоорганизующейся картой признаков (сеть SOFM - Self-Organizing Feature Map). В момент выбора победителя уточняются не только его веса, но также и веса его соседей, находящихся в ближайшей окрестности. Таким образом, нейрон-победитель подвергается адаптации вместе со своими соседями. В классическом алгоритме Кохонена функция соседства Алгоритм Кохонена определяется в виде
    Алгоритм Кохонена
    В этом выражении Алгоритм Кохонена обозначает эвклидово расстояние между векторами весов нейрона-победителя Алгоритм Кохонена и Алгоритм Кохонена-го нейрона. Коэффициент Алгоритм Кохонена выступает в роли уровня соседства, его значение уменьшается в процессе обучения до нуля. Соседство такого рода называется прямоугольным.
    Другой тип соседства, часто применяемый в картах Кохонена, - это соседство гауссовского типа, при котором функция Алгоритм Кохонена задается формулой
    Алгоритм Кохонена
    Степень адаптации нейронов-соседей определяется не только евклидовым расстоянием между Алгоритм Кохонена-м нейроном и победителем (Алгоритм Кохонена-м нейроном), но также и уровнем соседства Алгоритм Кохонена. В отличие от соседства прямоугольного типа, где каждый нейрон, находящийся в окрестности победителя, адаптировался в равной степени, при соседстве гауссовского типа уровень адаптации различен и зависит от значения функции Гаусса. Как правило, гауссовское соседство дает лучшие результаты обучения и обеспечивает лучшую организацию сети, чем прямоугольное соседство.
    Самоорганизующаяся карта признаков проходит два этапа обучения. На первом этапе элементы упорядочиваются так, чтобы отражать пространство входных элементов, а на втором происходит уточнение их позиций. Как правило, процесс представляется визуально путем использования двумерных данных и построения соответствующей поверхности. Например, входные векторы выбираются случайным образом на основе однородного распределения в некотором квадрате, и начинается обучение карты.

    Алгоритмы обучения сетей с самоорганизацией

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

    где Алгоритмы обучения сетей с самоорганизацией - вес нейрона-победителя при предъявлении вектора Алгоритмы обучения сетей с самоорганизацией.
    Этот подход также называется векторным квантованием (англ. Vector Quantization - VQ) или кластеризацией. Номера нейронов-победителей при последовательном предъявлении векторов Алгоритмы обучения сетей с самоорганизацией образуют так называемую кодовую таблицу. При классическом решении задачи кодирования применяется алгоритм Алгоритмы обучения сетей с самоорганизацией-усреднений (англ. К-means), носящий имя обобщенного алгоритма Ллойда.
    Для нейронных сетей аналогом алгоритма Ллойда считается алгоритм WTA (англ.: Winner Takes All - "победитель получает все"). В соответствии с ним после предъявления вектора Алгоритмы обучения сетей с самоорганизацией рассчитывается активность каждого нейрона. Победителем признается нейрон с самым сильным выходным сигналом, т.е. тот, для которого скалярное произведение Алгоритмы обучения сетей с самоорганизацией оказывается наибольшим. В предыдущем разделе было показано, что при использовании нормализованных векторов это равнозначно наименьшему эвклидову расстоянию между входным вектором и вектором весов нейронов. Победитель получает право уточнить свои веса в направлении вектора Алгоритмы обучения сетей с самоорганизацией согласно правилу
    Алгоритмы обучения сетей с самоорганизацией
    где Алгоритмы обучения сетей с самоорганизацией - коэффициент обучения. Веса остальных нейронов уточнению не подлежат. Алгоритм позволяет учитывать усталость нейронов путем подсчета количества побед каждого из них и поощрять элементы с наименьшей активностью для выравнивания их шансов. Такая модификация применяется чаще всего на начальной стадии обучения с последующим отключением после активизации всех нейронов. Подобный способ обучения реализован в виде режима CWTA (Conscience Winner Takes All) и считается одним из лучших и наиболее быстрых алгоритмов самоорганизации.
    Помимо алгоритмов WTA, в которых в каждой итерации может обучаться только один нейрон, для обучения сетей с самоорганизацией широко применяются алгоритмы типа WTM (англ.: Winner Takes Most - "победитель получает больше"), в которых, кроме победителя, уточняют значения своих весов и нейроны из его ближайшего окружения.
    При этом, чем дальше какой- либо нейрон находится от победителя, тем меньше изменяются его веса. Процесс уточнения вектора весов может быть определен обобщенной зависимостью, которая здесь представляется в виде

    Алгоритмы обучения сетей с самоорганизацией

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

    Алгоритмы обучения сетей с самоорганизацией

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

    Классификация без учителя

    Задан набор объектов, каждому объекту поставлен в соответствие вектор значений признаков (строка таблицы). Требуется разбить эти объекты на классы эквивалентности. Для каждого нового объекта нужно:
  • Найти класс, к которому он принадлежит.
  • Использовать новую информацию, полученную об этом объекте, для исправления (коррекции) правил классификации.

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

    Компрессия данных

    Примером использования компрессионных свойств сети Кохонена может считаться сжатие изображений, предназначенное для уменьшения количества информации, представляющей конкретный образ, при сохранении погрешности восстановления на заданном уровне.
    Пусть изображение разделяется на одинаковые кадры размером Компрессия данных пикселов. Образующие кадр пикселы представляют собой компоненты входного вектора Компрессия данных.
    Сеть с самоорганизацией содержит Компрессия данных нейронов, каждый из которых имеет входом вектор Компрессия данных. Обучение сети при помощи одного из алгоритмов самоорганизации состоит в подборе таких весов конкретных нейронов, при которых минимизируется погрешность квантования (3). В результате обучения формируется структура сети, при которой вектору Компрессия данных каждого кадра соответствует вектор весов нейрона победителя. В процессе предъявления очередного кадра выбирается номер нейрона-победителя. Номера нейронов-победителей образуют кодовую таблицу, а веса этих нейронов представляют средние значения, соответствующим конкретным компонентам вектора Компрессия данных (т.е. уровням интенсивности пикселов, составляющих кадр).
    Поскольку количество нейронов обычно намного меньше количества кадров, то можно получить существенное сокращение объема данных, описывающих исходное изображение. В итоге коэффициент компрессии изображения равен
    Компрессия данных
    где Компрессия данных и Компрессия данных - размеры кадра в осях Компрессия данных и Компрессия данных - количество кадров, Компрессия данных
    - количество нейронов, а Компрессия данных и Компрессия данных - количество битов для представления соответственно градаций интенсивности пиксела и значений весов. Этот подход позволяет получить степень компрессии изображений порядка 16 при значении коэффициента сигнал/шум (PSNR) около 26-28 дБ.

    Метод динамических ядер в классификации без учителя

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

    Требуется найти набор Метод динамических ядер в классификации без учителя и разбиение Метод динамических ядер в классификации без учителя, минимизирующие Метод динамических ядер в классификации без учителя. Шаг алгоритма разбиваем на Метод динамических ядер в классификации без учителя этапа:
    1) Для фиксированного набора ядер Метод динамических ядер в классификации без учителя ищем минимизирующее Метод динамических ядер в классификации без учителя разбиение Метод динамических ядер в классификации без учителя; оно дается следующим решающим правилом: Метод динамических ядер в классификации без учителя, если Метод динамических ядер в классификации без учителя при Метод динамических ядер в классификации без учителя (когда для Метод динамических ядер в классификации без учителя минимум Метод динамических ядер в классификации без учителя достигается при нескольких значениях Метод динамических ядер в классификации без учителя, выбор между ними может быть сделан произвольно).
    2) Для каждого Метод динамических ядер в классификации без учителя, полученного на первом этапе, отыскивается Метод динамических ядер в классификации без учителя, минимизирующее критерий качества
    Метод динамических ядер в классификации без учителя
    Начальные значения Метод динамических ядер в классификации без учителя, Метод динамических ядер в классификации без учителя
    выбираются произвольно либо по какому-нибудь эвристическому правилу. Если ядру Метод динамических ядер в классификации без учителя ставится в соответствие элемент сети, вычисляющей по входному сигналу Метод динамических ядер в классификации без учителя
    функцию Метод динамических ядер в классификации без учителя, то решающее правило для классификации дается интерпретатором "проигравший забирает все": элемент Метод динамических ядер в классификации без учителя принадлежит классу Метод динамических ядер в классификации без учителя, если выходной сигнал Метод динамических ядер в классификации без учителя-го элемента Метод динамических ядер в классификации без учителя меньше всех остальных. Мера близости Метод динамических ядер в классификации без учителя выбирается такой, чтобы легко можно было найти ядро Метод динамических ядер в классификации без учителя, минимизирущее Метод динамических ядер в классификации без учителя для данного Метод динамических ядер в классификации без учителя.

    В определение ядра Метод динамических ядер в классификации без учителя для сетей Кохонена входят суммы Метод динамических ядер в классификации без учителя. Это позволит накапливать новые динамические ядра, обрабатывая по одному примеру и пересчитывая Метод динамических ядер в классификации без учителя после получения в Метод динамических ядер в классификации без учителя нового примера.

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

    Метод динамических ядер в классификации без учителя

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

    Применение сетей с самоорганизацией

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

    Прогнозирование нагрузок энергетической системы

    Рассмотрим решение задачи прогнозирования часовых нагрузок в элктроэнергетической системе на 24-часовом интервале. Пусть имеется база данных, содержащая векторы профильных нагрузок дня
    Прогнозирование нагрузок энергетической системы
    где компонент Прогнозирование нагрузок энергетической системы соответствует действительной нагрузке в Прогнозирование нагрузок энергетической системы-й час суток. Множество профильных векторов подается на вход сети Кохонена, состоящей из Прогнозирование нагрузок энергетической системы нейронов. Процесс самоорганизации сети приводит к автоматической кластеризации данных и к сопоставлению каждому кластеру одного из нейронов сети. Этот нейрон считается победителем, а его веса наилучшим образом адаптируются к усредненным весам профильных векторов, составляющих кластер. Характерная особенность состоит в том, что соседние векторы имеют сходные профильные характеристики.
    Близость весов нейронов, расположенных недалеко друг от друга, объясняется тем, что один и тот же день в разные годы при небольших отличиях в часовых нагрузках может возбуждать различные нейроны, которые образуют кластеры, группирующие данные сходных классов.
    Знание таблицы распределения побед конкретных нейронов сети позволяет относительно легко предвидеть профили часовых нагрузок для произвольного дня года. С этой целью создаются таблицы принадлежности каждого дня года к области доминирования определенного нейрона с обозначением количества его побед для всех дней в прошлом. Для выбора прогнозируемого профиля нагрузок актуального дня в требуемом месяце рассчитываются усредненные значения весов нейронов победителей, которые указывали в прошлом на требуемый день. Если количество побед Прогнозирование нагрузок энергетической системы-го нейрона, соответствующего Прогнозирование нагрузок энергетической системы-му дню, обозначить Прогнозирование нагрузок энергетической системы, а соответствующие векторы весов класса - Прогнозирование нагрузок энергетической системы, то прогнозируемый профильный вектор Прогнозирование нагрузок энергетической системы-го дня рассчитывается по формуле
    Прогнозирование нагрузок энергетической системы

    Нейрокомпьютерные системы

    Адаптивная резонансная теория (АРТ)

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

    Архитектура и работа

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

    Необходимость поиска

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

    Положительные качества и недостатки АРТ

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

  • Если компонента незашумленного входного вектора равна Положительные качества и недостатки АРТ, то предъявленные сети значения будут определяться вероятностным законом:
    Положительные качества и недостатки АРТ
    где Положительные качества и недостатки АРТ - малое положительное число, характеризующее уровень шума.
    Если такие данные будут предъявлены АРТ, то будет наблюдаться деградация и размножение классов. Если сетью сформировано правильное ядро для класса, к которому относится вектор Положительные качества и недостатки АРТ, то как только компонента Положительные качества и недостатки АРТ примет нулевое значение за счет шума (если векторы предъявляются не однократно), соответствующая компонента ядра также будет обнулена. Т.к. случайное нулевое значение может принять любая компонента Положительные качества и недостатки АРТ, то с течением времени все компоненты ядра будут обнулены, запомненная информация об этом классе - утрачена. Если после этого предъявить незашумленный вариант вектора Положительные качества и недостатки АРТ, то для него будет выделен новый нейрон, т.е. сформирован новый класс. Это явление называется размножением классов. Через некоторое время в сети будет множество нейронов с нулевыми весами, и все нейроны будут распределены. Работа сети прекратится. Это явление определяется исходной асимметрией алгоритмов АРТ относительно значений 0 и 1. Существуют методы для устранения асимметрии и предотвращения размножения классов.

    Работа сети АРТ

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

    4. Поиск.

    а) если критерий сходства не выполняется, схема сброса вырабатывает сигнал Работа сети АРТ, который тормозит нейрон Работа сети АРТ в слое распознавания. Сигнал Работа сети АРТ остается равным 1 до окончания данной классификации. Выход нейрона Работа сети АРТ становится равным 0, а, следовательно, и весь вектор Работа сети АРТ. Сигнал Работа сети АРТ становится равным нулю и вектор Работа сети АРТ снова проходит через слой сравнения без изменений, вызывая новый цикл поиска (шаги 2в-3б), пока критерий сходства не будет удовлетворен.

    При соответствующем выборе начальных значений весов Работа сети АРТ поиск всегда закончится на нераспределенном нейроне слоя распознавания. Для него будет выполнен критерий сходства, т.к. все веса Работа сети АРТ равны 1. Если все нейроны выделены и критерий сходства не выполняется, следует аварийная остановка либо расширение сети введением нового нейрона в слое распознавания и новых входов в слое сравнения.

    5. Обучение.

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

    Различают быстрое и медленное обучение. При быстром обучении коррекции весов имеют вид:

    Работа сети АРТ

    где Работа сети АРТ - константа.

    Веса в слое сравнения - двоичные: Работа сети АРТ.

    В результате такого алгоритма обучения ядра Работа сети АРТ изменяются, несущественные компоненты обнуляются в процессе обучения. Если какая-то компонента вектора Работа сети АРТ стала нулевой на какой-то итерации обучения, она никогда не вернется к единице. В этом проявляется асимметрия АРТ по отношению к значениям 0 и 1. Эта асимметрия имеет серьезные отрицательные последствия для модели, приводя к деградации ядер классов в случае зашумленных входных векторов.

    Медленное обучение меняет ядра малыми коррекциями:

    Работа сети АРТ

    где Работа сети АРТ мало и характеризует скорость обучения.

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

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

    в 1986 г. Она представляет

    Сеть АРТ-1 предложена Карпентером и Гроссбергом в 1986 г. Она представляет собой векторный классификатор и обучается без учителя, лишь на основании предъявляемых входных векторов. АРТ-1 работает только с двоичными векторами, состоящими из нулей и единиц. Позже было предложено много разновидностей этой модели. АРТ-2 запоминает и классифицирует непрерывные входные векторы. Группа моделей с суффиксом "MAP" (ARTMAP и др.) классифицирует и входные, и выходные вектора, а также строит связи между ними.

    Слой распознавания

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

    Слой сравнения

    Каждый нейрон в слое сравнения имеет порог, равный двум. На вход одного нейрона в слое сравнения подаются: сигнал Слой сравнения с единичным весом, одна компонента Слой сравнения с единичным весом и все выходы слоя распознавания, Слой сравнения
    компонент с вектором весов Слой сравнения, где Слой сравнения - номер нейрона в слое сравнения. Весовые коэффициенты Слой сравнения - двоичные. В нейроне используется нелинейность в виде жесткой ступеньки: если активация нейрона Слой сравнения превышает порог Слой сравнения, то на выходе нейрона будет единица, иначе - ноль. Это "правило 2/3": для активации нейрона достаточно два сигнала из трех.
    Работа слоя определяется формулами:
    Слой сравнения
    Работой слоя управляет сигнал Слой сравнения. Если Слой сравнения, то Слой сравнения проходит без изменений на выход слоя сравнения, благодаря лишнему единичному сигналу Слой сравнения
    на входе нейрона. Если Слой сравнения, то на выходе имеем Слой сравнения, т.е. вектор Слой сравнения будет логическим произведением двоичных векторов Слой сравнения и Слой сравнения.

    Нейрокомпьютерные системы

    Дефазификатор

    Трансформировать нечеткое множество Дефазификатор в точечное решение Дефазификатор можно многими способами:
    1. Дефазификация относительно центра области
    Дефазификатор
    или
    Дефазификатор
    2. Дефазификация относительно среднего центра
    Дефазификатор
    где Дефазификатор - центр Дефазификатор-го нечеткого правила,
    Дефазификатор - соответствующая функция принадлежности.
    3. Дефазификация относительно среднего максимума
    Дефазификатор
    где Дефазификатор - количество точек, в которых Дефазификатор
    достигает максимального значения. Если функция Дефазификатор имеет максимальное значение только в одной точке, то
    Дефазификатор
    4. выбирается минимальное из максимальных значений Дефазификатор:
    Дефазификатор - наименьшее из Дефазификатор, для которых Дефазификатор.
    5. выбирается максимальное из максимальных значений:
    Дефазификатор - наибольшее из Дефазификатор, для которых Дефазификатор.

    Фазификатор

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

  • При Фазификатор получаем треугольную функцию.

    Гибридный алгоритм обучения нечетких сетей

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

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

    Интеллектуальные информационные системы в условиях неопределенности и риска

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

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

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


  • Лингвистические переменные

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

    Мягкая экспертная система

    Рассмотрим архитектуру и основные структурно-функциональные решения мягкой экспертной системы (МЭС). Для определения МЭС сопоставим понятия нечеткой и мягкой экспертных систем. В описании архитектуры МЭС будем использовать три признака: способ извлечения знаний; представление знаний; обработку знаний. Перечисленные признаки создают общую "координатную" сетку описания.

    Модель Мамдани-Заде как универсальный аппроксиматор

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

    Нечеткие множества

    Понятие нечетких множеств (fuzzy sets) как обобщение обычных (четких) множеств было введено Л.Заде в 1965 г.. Традиционный способ представления элемента множества Нечеткие множества состоит в применении характеристической функции Нечеткие множества, которая равна 1, если элемент принадлежит множеству Нечеткие множества, или равна 0 в противном случае. В нечетких системах элемент может частично принадлежать любому множеству. Степень принадлежности множеству Нечеткие множества, представляющая собой обобщение характеристической функции, называется функцией принадлежности Нечеткие множества, причем Нечеткие множества, и Нечеткие множества означает отсутствие принадлежности Нечеткие множества множеству Нечеткие множества, а Нечеткие множества - полную принадлежность. Конкретное значение функции принадлежности называется степенью или коэффициентом принадлежности.

    Нечеткие правила вывода

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

  • Каждой импликации Нечеткие правила вывода можно приписать значение функции принадлежности Нечеткие правила вывода:
  • форма логического произведения
    Нечеткие правила вывода
  • форма алгебраического произведения
    Нечеткие правила вывода
    агрегирование на уровне импликации).


  • Нечеткие сети TSK (Такаги-Сугено-Канга)

    Схема вывода в модели TSK при использовании Нечеткие сети TSK (Такаги-Сугено-Канга) правил и Нечеткие сети TSK (Такаги-Сугено-Канга) переменных Нечеткие сети TSK (Такаги-Сугено-Канга) имеет вид Нечеткие сети TSK (Такаги-Сугено-Канга)
    Нечеткие сети TSK (Такаги-Сугено-Канга)
    Условие Нечеткие сети TSK (Такаги-Сугено-Канга) реализуется функцией фазификации
    Нечеткие сети TSK (Такаги-Сугено-Канга)
    При Нечеткие сети TSK (Такаги-Сугено-Канга) правилах агрегированный выходной результат сети имеет вид
    Нечеткие сети TSK (Такаги-Сугено-Канга)
    (1)

    Веса Нечеткие сети TSK (Такаги-Сугено-Канга) интерпретируются как значимость компонентов Нечеткие сети TSK (Такаги-Сугено-Канга). Тогда формуле (1) можно поставить в соответствие многослойную нейронную сеть рис. 3.
    Нечеткие сети TSK (Такаги-Сугено-Канга)
    увеличить изображение
    Рис. 3.  Нечеткая нейронная сеть TSK
    1. Первый слой выполняет фазификацию каждой переменной. Это параметрический слой с параметрами Нечеткие сети TSK (Такаги-Сугено-Канга), подлежащими адаптации в процессе обучения.
    2. Второй слой выполняет агрегирование отдельных переменных, определяя результирующее значение коэффициента принадлежности Нечеткие сети TSK (Такаги-Сугено-Канга) для вектора Нечеткие сети TSK (Такаги-Сугено-Канга) (непараметрический слой).
    3. Третий слой - генератор функции TSK, рассчитывает значения
    Нечеткие сети TSK (Такаги-Сугено-Канга)
    В этом слое также производится умножение Нечеткие сети TSK (Такаги-Сугено-Канга) на Нечеткие сети TSK (Такаги-Сугено-Канга), сформированные в предыдущем слое. Здесь адаптации подлежат веса Нечеткие сети TSK (Такаги-Сугено-Канга), определяющие функцию следствия модели TSK.
    4. Четвертый слой составляют два нейрона-сумматора, один из которых рассчитывает взвешенную сумму сигналов Нечеткие сети TSK (Такаги-Сугено-Канга), а второй - сумму весов Нечеткие сети TSK (Такаги-Сугено-Канга) (непараметрический слой).
    5. Пятый слой из одного нейрона - это нормализующий слой, в котором выходной сигнал сети агрегируется по формуле (1).
    Таким образом, в процессе обучения происходит уточнение параметров только первого (нелинейного) и третьего (линейного) слоев.

    Определение мягкой экспертной системы. Сравнение нечеткой и мягкой экспертных систем

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

  • Мягкими называют вычисления, сочетающие теорию нечетких систем, нейронные сети, вероятностные рассуждения и генетические алгоритмы, и обладающие синергическим эффектом; следовательно, мягкой экспертной системой называют ЭС, сочетающую перечисленные теории ради того же эффекта взаимного усиления.
    Рассмотрим возможные применения МЭС в автоматизированном проектировании. Обобщенной моделью проектирования является иерархически-блочный метод, сущность которого сводится к декомпозиции функций с последующим выделением иерархий систем и подсистем. Проектируемая система формируется с помощью синтеза таких подсистем. Анализ в ходе автоматизированного проектирования обычно заключается в том, что необходимо рассмотреть условия эксплуатации будущей системы или ее окружения, которое является сложной системой (например, для экономических информационных систем окружающая среда - это социально-экономическая среда). Кроме анализа окружающей среды в ходе проектирования приходится выполнять анализ результатов физических или численных экспериментов и имитационного моделирования. Можно выделить два основных принципа экспертной деятельности в ходе проектирования.

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

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

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

    Представление знаний в мягкой

    Если использовать нечеткую НС на этапе извлечения знаний, то, кроме функций принадлежности и нечетких продукций, порождается совокупность обученных НС, которые входят в базу знаний МЭС. Оптимизация (редукция) множества извлеченных правил выполняется на основе генетического алгоритма.
    База знаний МЭС должна содержать следующие части:
  • функции принадлежности;
  • нечеткие продукции;
  • обученные нечеткие нейронные сети;
  • процедуры интерпретации хромосом генетических алгоритмов;
  • функции оптимальности.

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

    Системы нечеткого вывода Мамдани-Заде

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

  • В случае технической реализации в качестве входных и выходных сигналов выступают измеряемые величины, однозначно сопоставляющие входным значениям соответствующие выходные значения.
    Для обеспечения взаимодействия этих двух видов вводится нечеткая система с так называемым фазификатором (преобразователем множеств входных данных в нечеткое множество) на входе и дефазификатором (преобразователем нечетких множеств в конкретное значение выходной переменной) на выходе.
    Фазификатор преобразует точное множество входных данных в не\-четкое множество, определенное с помощью функции принадлежности, а~дефазификатор решает обратную задачу - формирует однозначное решение относительно входной переменной на основании многих нечетких выводов, вырабатываемых исполнительным модулем нечеткой системы.
    Системы нечеткого вывода Мамдани-Заде
    Рис. 1.  Вывод в нечеткой системе при наличии M правил
    Выходной сигнал модуля вывода может иметь вид Системы нечеткого вывода Мамдани-Заде нечетких множеств, определяющих диапазон изменения выходной переменной. Дефазификатор преобразует этот диапазон в одно конкретное значение, принимаемое в качестве выходного сигнала всей системы.
    В модели вывода Мамдани-Заде присутствуют следующие операторы:
  • оператор логического или арифметического произведения для определения результирующего уровня активации, в котором учитываются все компоненты вектора условия;
  • оператор логического или арифметического произведения для определения значения функции принадлежности для всей импликации Системы нечеткого вывода Мамдани-Заде;
  • оператор логической суммы как агрегатор равнозначных результатов импликации многих правил;
  • оператор дефазификации, трансформирующий нечеткий результат Системы нечеткого вывода Мамдани-Заде в четкое значение Системы нечеткого вывода Мамдани-Заде.

  • Системы нечеткого вывода Мамдани-Заде
    Рис. 2.  Пример системы вывода Мамдани-Заде

    На рис. 2 представлен способ агрегирования при двух входных переменных Системы нечеткого вывода Мамдани-Заде.

    Логическое произведение (оператор Системы нечеткого вывода Мамдани-Заде) используется как для агрегирования нечетких правил относительно конкретных переменных Системы нечеткого вывода Мамдани-Заде, Системы нечеткого вывода Мамдани-Заде, образующих вектор Системы нечеткого вывода Мамдани-Заде, так и на уровне импликации Системы нечеткого вывода Мамдани-Заде для одиночных правил вывода. Агрегирование импликаций, касающихся правил Системы нечеткого вывода Мамдани-Заде и Системы нечеткого вывода Мамдани-Заде, проводится с использованием логической суммы (оператор Системы нечеткого вывода Мамдани-Заде).

    Нейрокомпьютерные системы

    Определение значимости параметров на основании функции оценки

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

    Определение значимости параметров по изменению выходных сигналов системы

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

    Показатели значимости для нейрона с пороговым нелинейным элементом (персептрона)

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

    Показатели значимости для нейрона с дифференцируемым нелинейным элементом

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

    Рекурсивное контрастирование и бинаризация

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

    Сокращение числа выходов в адаптивном линейном сумматоре (путь "снизу вверх")

    Рассмотрим адаптивный линейный сумматор, вычисляющий линейную функцию Сокращение числа выходов в адаптивном линейном сумматоре (путь .
    Решим задачу о сокращении числа выходных сигналов. Рассмотрим определение значимости по изменению выходного сигнала. Заметим, что:
    Сокращение числа выходов в адаптивном линейном сумматоре (путь
    Уничтожить Сокращение числа выходов в адаптивном линейном сумматоре (путь -й выходной сигнал можно двумя способами:
  • заменой параметра Сокращение числа выходов в адаптивном линейном сумматоре (путь на 0;
  • заменой Сокращение числа выходов в адаптивном линейном сумматоре (путь на постоянную величину не зависящую от Сокращение числа выходов в адаптивном линейном сумматоре (путь .

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

    Сокращение описания "сверху вниз" - набор достаточного семейства наиболее значимых параметров

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

    Полагаем Сокращение описания . Тогда Сокращение описания . Это и есть решение задачи. Числа Сокращение описания выражаются через коэффициенты разложения векторов Сокращение описания по Сокращение описания и скалярные произведения Сокращение описания : если Сокращение описания , то Сокращение описания .

    Разложение Сокращение описания по Сокращение описания имеет рекурсивную форму:

    Сокращение описания

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

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

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

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

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

    Значимость параметров и сигналов. Сокращение описания (контрастирование) сетей.

    Сокращение множества параметров и входных сигналов обученной нейронной сети преследует цели:
  • упрощение специализированных устройств;
  • сокращение объема используемой памяти и увеличение быстродействия;
  • удешевление сбора данных;
  • обеспечение (или облегчение) интерпретации результатов обработки данных.

  • Существует два способа сокращения (редукции) описания:
  • редукция "снизу вверх" - постепенное удаление параметров от наименее значимых к более значимым;
  • редукция "сверху вниз" - выделение наиболее значимых параметров и постепенное дополнение их менее значимыми.

  • Способ редукции "снизу вверх":
  • определяются наименее значимые параметры и устраняются вместе с соответствующими элементами системы;
  • оставшиеся параметры модифицируются так, чтобы наилучшим способом решить задачу;
  • циклически повторять пп. 1-2 до тех пор, пока задача не будет решаться с удовлетворительной точностью.


  • Нейрокомпьютерные системы

    Голографические корреляторы

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

    Электронная реализация нейронных сетей

    В качестве единицы производительности нейросетей принято "число соединений в секунду" - CPS (connections per second). Под соединением здесь понимается умножение входного сигнала на весовой коэффициент и сложение с накопленной суммой.
    Анализ нейросетевых алгоритмов позволяет сделать следующие выводы:
  • При решении плохо формализованных задач моделирования, прогнозирования и распознавания, которые обычно сводятся к конструированию областей многомерного пространства, достаточно малоразрядных представлений входов и весов и операций с фиксированной точкой. Это обусловлено тем, что входные сигналы нормируются и количество их значений невелико.
  • При решении хорошо формализованных задач (например, задач комбинаторной оптимизации) существенна точность вычислений, что требует полноразрядных представлений чисел и операций с плавающей точкой.

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

    Нейрочипы

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

    и векторный процессор для обработки

    Отечественный нейропроцессор NM6403, разработанный в НПО "Модуль" (www.module.ru), имеет скалярный процессор (скалярное RISC-ядро) и векторный процессор для обработки двоичных векторов произвольной разрядности в пределах 1-64 битов. Скалярный процессор выполняет всю подготовку данных для работы векторного процессора.

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

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

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

    и векторный процессор для обработки
    увеличить изображение
    Рис. 1.  Модель слоя нейронов

    Мультипроцессорная система (рис. 2) из и векторный процессор для обработки нейропроцессоров NM6403 эмулирует нейронную сеть в и векторный процессор для обработки раз быстрее, чем один нейропроцессор.

    и векторный процессор для обработки
    Рис. 2.  Линейная (кольцевая) система из нейропроцессоров NM6403

    Оптическая реализация нейронных сетей

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

    Векторно-матричные умножители

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

    

        Нейросети: Нейролингвистика - Логика