Вы находитесь на странице: 1из 66

Нейронные сети

Лекции по нейронным сетям


Лекция 1. Основы нейросетей. Биологические нейронные сети.
Лекция 2. Персептрон. Многослойный персептрон.
Лекция 3. Алгоритм обратного распространения ошибки.
Лекция 4. Ускорение обучения. Обучение без учителя
Лекция 5. Сеть Кохонена. Звезды Гроссберга
Лекция 6. Сети Хопфилда и Хемминга
Лекция 7. Генетические алгоритмы
Лекция 8. Обучение с подкреплением
Лекция 9. Прогнозирование с помощью нейронных сетей
Лекция 10. Самообучаемые системы с самомодифицирующимися правилами
Нейросетевая топология Внутренний учитель (класс обучения с подкреплением)
Примеры применения нейронных сетей

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


Теория искусственных нейронных сетей включает в себя большой спектр
вопросов из разных областей науки: биофизики, информатики,
математики, схемотехники и т. д. Дадим следующее определение:
Искусственные нейронные сети – это совокупность моделей биологических
нейронных сетей. Нейронные сети представляют собой совокупность
элементов, связанных между собой синаптическими связями. Сеть обрабатывает
входную информацию и в процессе изменения своего
внутреннего состоянияво времени формирует выходные воздействия.
Широкий интерес к нейронным сетям был инициирован после появления
работы Хопфилда (Hopfield J.J., 1982), который показал, что задача
с изинговскими нейронами может быть сведена к обобщениям ряда моделей,
разработанных к тому моменту в физике неупорядоченных систем. Работа
сети Хопфилда (наиболее подробно обсуждаемая в физической литературе)
состоит в релаксации начального "спинового портрета" матрицы двоичных
кодов к одному из стационарных состояний, определяемых правилом обучения
(правилом Хебба). Таким образом, данная сеть может применяться для задач
распознавания.
В 1986 году появилась работа Румельхарта, Хинтона и Вильямса
(Rumelhart D.E., Hinton G.E., Williams R.J., 1986), содержавшая ответ на вопрос,
долгое время сдерживавший развитие нейроинформатики - как обучаются
иерархические слоистые нейронные сети, для которых "классиками" еще в 40-
50 х годах была доказана универсальнось для широкого класса задач. В
последующие годы предложенный Хинтоном алгоритм обратного
распространения ошибок претерпел бесчисленное множество вариаций и
модификаций.
Многообразие предлагаемых алгоритмов, характеризующихся различной
степенью детальности проработки, возможностями их параллельной
реализации, а также наличием аппаратной реализации, приводит к особой
актуальности исследования по сравнительным характеристикам различных
методик.
Выделим основные характерные черты искусственных нейронных сетей:
 Гибкая модель для аппроксимации многомерных функций.
 Средство прогнозирования во времени процессов , зависящих от
большого количества переменных.
 Средство распознавания образов
 Инструмент для поиска по ассоциациям
 Модель для поиска закономерностей в массивах данных

Биологический нейрон.
Центральная нервная система имеет клеточное строение. Единица – нервная
клетка, нейрон. Нейрон имеет следующие основные свойства:
1. Участвует в обмене веществ и рассеивает энергию. Меняет внутреннее
состояние с течением времени, реагирует на входные сигналы и формирует
выходные воздействия и поэтому является активной динамической системой.
2. Имеет множество синапсов – контактов для передачи информации.
3. Нейрон взаимодействует путем обмена электрохимическими сигналами двух
видов: электротоническими (с затуханием) и нервными импульсами (спайками),
распространяющимися без затухания.
Биологический нейрон содержит следующие структурные единицы:
Тело клетки (т) — сома: содержит ядро (я), митохондрии (обеспечивают клетку
энергией), другие органеллы, поддерживающие жизнедеятельность клетки.
Дендриты (д) – входные волокна, собирают информацию от других нейронов.
Активность в дендритах меняется плавно. Длина их обычно не больше 1 мм.
Мембрана – поддерживает постоянный состав цитоплазмы внутри клетки,
обеспечивает проведение нервных импульсов.
Цитоплазма — внутренняя среда клетки. Отличается концентрацией ионов
K+, Na+, Ca++ и других веществ по сравнению с внеклеточной средой.
Аксон (а), один или ни одного у каждой клетки, – длинное, иногда больше
метра, выходное нервное волокно клетки. Импульс генерируется
в аксонном холмике (а.х.). Аксон обеспечивает проведение импульса и передачу
воздействия на другие нейроны или мышечные волокна (мв). Ближе к концу
аксон часто ветвится.
Синапс (с) – место контакта нервных волокон — передает возбуждение от
клетки к клетке. Передача через синапс почти всегда однонаправленная.
Различают пресинаптические и постсинаптические клетки — по направлению
передачи импульса.
Шванновские клетки (шв.кл). Специфические клетки, почти целиком состоящие
из миелина, органического изолирующего вещества. Плотно "обматывают"
нервное волокно 250 слоями миелина. Неизолированные места нервного
волокна между шванновскими клетками называются перехватами Ранвье (пР).
За счет миелиновой изоляции скорость распространения нервных импульсов
возрастает в 5*10 раз и уменьшаются затраты энергии на проведение
импульсов. Миелинизированные волокна встречаются только у высших
животных. В центральной нервной системе человека насчитывается от 100 до
1000 типов нервных клеток, в зависимости выбранной степени детализации.
Они отличаются картиной дендритов, наличием и длиной аксона и
распределением синапсов около клетки. Клетки сильно связаны между собой. У
нейрона может быть больше 1000 синапсов. Близкие по функциям клетки
образуют скопления, шаровидные или параллельные слоистые. В мозгу
выделены сотни скоплений. Кора головного мозга – тоже скопление. Толщина
коры — 2 мм, площадь — около квадратного фута.
Нервный импульс (спайк) – процесс распространения возбуждения по аксону от
тела клетки (аксонного холмика) до окончания аксона. Это основная единица
информации, передаваемая по волокну, поэтому модель генерации и
распространения нервных импульсов (НИ) — одна из важнейших в теории НС.
Импульсы по волокну передаются в виде скачков потенциала внутриклеточной
среды по отношению к внешней среде, окружающей клетку. Скорость передачи
– от 1 до 100 м/с. Для миелинизированных волокон скорость передачи примерно
в 5 – 10 раз выше, чем для немиелинизированных. При распространении форма
спайка не меняется. Импульсы не затухают. Форма спайка фиксирована,
определяется свойствами волокна и не зависит от того, каким способом создан
импульс.

Биологическая нейронная сеть


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

Персептрон
Рассмотрим формальный нейрон – простейший элемент теории
нейронных сетей. По структуре и принципу работы – это, по сути Персептрон
Розенблатта, первой нейросетевой архитектуры.

Рис. Формальный нейрон.


Нейрон состоит из взвешенного сумматора и нелинейного элемента.
Функционирование нейрона определяется формулами:

Где - входные сигналы, совокупность которых формируют вектор ;


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

Работа описывается следующей формулой:

2. Сигмоида (функция Ферми)


Функция описывающая сигмоиду:

Часто применяются для многослойных перцептронов и других сетей с


непрерывными сигналами. Гладкость, непрерывность функции — важные
положительные качества. Непрерывность первой производной позволяет
обучать сеть градиентными методами (например, метод обратного
распространения ошибки).
Функция симметрична относительно точки (NET=0, OUT=1/2), это делает
равноправными значения OUT=0 и OUT=1, что существенно в работе сети. Тем
не менее, диапазон выходных значенийот 0 до 1 несимметричен, из - за этого
обучение значительно замедляется. Значение производной выражается через
саму функцию, что приводит к увеличению скорости расчета производной при
обучении сети (см. ниже).
3. Гиперболический тангенс

Функция:

Также часто применяется в сетях с непрерывными сигналами.


Производная выражается через саму функцию.
4. SOFTMAX – функция

В данном случае суммирование ведется по всем нейронам данного


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

Многослойный персептрон
Формальные нейроны могут объединяться в сети различными способами.
Рассмотрим простейшее объединение – многослойный персептрон.

Сеть состоит из произвольного числа слоев. Различают входной слой – на


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

где индексом обозначим номер входа, - номер нейрона в слое, - номер


слоя.
- -й входной сигнал -го нейрона в слое ;
- весовой коэффициент - го входа нейрона номер слоя ;
- сигнал NET нейрона номер слоя ;
И так далее..
Введем обозначения: — вектор-столбец весов для всех входов
нейрона j в слое i. — матрица весов всех нейронов в слоя j. В столбцах
матрицы расположены вектора . Аналогично — входной вектор-столбец
слоя l.
Каждый слой рассчитывает нелинейное преобразование от линейной
комбинации сигналов предыдущего слоя. Многослойная нейронная сеть может
формировать на выходе произвольную многомерную функцию при
соотвествующем выборе количества слоев, диапазона изменения сигналов и
параметров нейронов. Многослойные нейронные сети являются универсальным
аппроксиматором функций. Общая формула описывающая многослойный
персептрон:

За счет поочередного расчета линейных комбинаций и нелинейных


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

Парадигмы обучения нейронных сетей. Алгоритм


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

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


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

Алгоритм решения задач с помощью нейронных сетей


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

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


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

где реальное выходное состояние нейрона выходного


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

[2]

3. Рассчитать изменения весов для выходного слоя N по формуле:

(3)
4. Рассчитать ошибки и изменения весов (формула 3) для всех
остальных слоев по формулам:

5. Скоректировать все веса нейронной сети по формуле:

6. Если ошибка сети существенна, то перейти на на шаг 1. В противном


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

где - коэффициент инерционности. Эта формула позволяет «гладко»


изменять веса, что приводит к понижению перепадов ошибки. Формулу ()
целесообразно применять в конце обучения, когда ошибка близка к заданной.
Рисунок 1. Пояснение алгоритма обратного распространения ошибки

Расписание обучения
Веса и пороговые уровни инициализируются случайными значениями.
Созданная таким образом сеть абсолютно неадекватна решаемой задаче и
может генерировать на выходе только шум. Поэтому ошибка в начале
обучения очень велика, и есть смысл вводить большие коррекции
параметров. Ближе к концу обучения ошибка значительно снижается, и
коррекции должны быть малыми. Чтобы менять длину шагов по параметрам,
используют расписание обучения (learning schedule). Выберем скорость
обучения зависящей от времени обучения: ( ) t ε . Обычно скорость
монотонно убывает с ростом времени. Для сходимости алгоритма
необходимо:

Часто выбирают и или аналогичные функции.


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

[1]
Возможны различные варианты суммирования – как по всем образцам, так и только по валидационной
выборке.

[2]
В случае гиперболического тангенса , в случае сигмоиды
Лекция 4

Локальные минимумы. Выбор длины шага обучения. Динамическое


добавление нейронов. Алгоритм RProp. Обучение без учителя. Алгоритм
Хебба.

Локальные минимумы

Как и любой градиентный алгоритм, метод обратного распространения


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

где n — случайная величина, имеющая нулевое математическое ожидание и


небольшую дисперсию. Часто используется гауссовское распределение для n.
Казалось бы, добавление шума должно снижать точность обучения. Так и
происходит, скорость сходимости к данному локальному минимуму (если он
единственный) снижается. Но если поверхность E(P) сложная, то
шум помогает "вырваться" из данного локального минимума (выход из
минимума тем вероятнее, чем меньше размеры его области притяжения), и
найти более глубокий, возможно — глобальный минимум. Обучение с
шумом снижает вероятность остановки алгоритма в неглубоком локальном
минимуме
целевой функции.

Выбор длины шага обучения

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

Динамическое добавление нейронов


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

где t — время обучения; — пороговое значение убыли ошибки; —


минимальный интервал времени обучения между добавлениями новых
нейронов; t0 — момент последнего добавления; Когда выполняются оба
условия, добавляется новый нейрон. Веса и порог нейрона
инициализируются небольшими случайными числами. Обучение снова
повторяется до тех пор, пока не будут
выполнены условия (). Типичная зависимость ошибки от времени обучения
приведена на рис. . Моменты добавления новых нейронов отмечены
пунктиром. После каждого добавления ошибка сначала резко возрастает, т.к.
параметры нейрона случайны, а затем быстро сходится к меньшему
значению.

Алгоритм RProp
Рассмотрим модификацию алгоритма обратного распространения
ошибки – алгоритм Rprop (Resilent Propogation – «упругое
распространение»). В этом алгоритме устранен основной
недостаток BackProp - скорость обучения. Rprop использует знаки частных
производных для подстройки весовых коэффициентов. Для определения
величины коррекции используется следующее правило:

где

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


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

Если знак частной производной не изменился, то нужно увеличить


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

Если производная положительна, т. е. ошибка возрастает, то весовой


коэффициент уменьшается на величину коррекции, в противном случае –
увеличивается.
Затем подстраиваются веса:

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


1. Проинициализировать величину коррекции
2. Предъявить все примеры из выборки и вычислить частные
производные.
3. Подсчитать новое значение по формулам 1 и 3.
4. Скорректировать веса по формуле 4.
5. Если условие останова не выполнено, то перейти к 2.
Данный алгоритм сходится в 4-5 раз быстрее, чем стандартный
алгоритм Backprop.

Обучение без учителя. Алгоритм Хебба


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

где - выходное значение нейрона слоя , - выходное


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

Как видно из формулы сильнее всего обучаются те синапсы, которые


наиболее динамично изменились в сторону увеличения.
Полный алгоритм обучения методами Хебба выглядит следующим
образом:
1. При инициализации сети всем весовым коэффициентам
присваиваются небольшие случайные значения.
2. На входы подается выбранный случайным образом образ и сигналы
возбуждения распространяются по всем слоям согласно принципам
прямопоточных сетей.
3. На основании полученных выходных значений нейронов по
формулам (1) или (2) происходит коррекция весовых
коэффициентов.
4. Цикл с шага 2, пока выходные значения сети не застабилизируются
с заданной точностью.
Отметим, что ид откликов на каждый класс входных образов заранее не
известен и будет представлять собой произвольное сочетание состояний
нейронов выходного слоя, обусловленное случайным распределением весов
на стадии инициализации. При этом сеть способна обобщать схожие
образцы, относя их к одному классу.
Лекция 5

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

Ядра являются весовыми коэффициентами нейронов. Каждый нейрон сети Кохонена


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

- скорость обучения, обычно используется монотонно убывающая функция .


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

Звезды Гроссберга

Нейрон в виде входной звезды имеет входов , которым соответствуют


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

Рекомендуется брать равным единице и постепенно уменьшать в ходе обучения.


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

Рис. Сеть встречного распространения


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

Лекция 6

Существуют разновидности нейронных сетей в которых присутствуют


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

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

Рисунок 1. Сеть Хопфилда


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

и - коэффициенты предсинаптического и постсинаптического


k k
нейронов. xi , xj – i-ый и j-ый элементы вектора k-ого образца.
Алгоритм работы сети следующий:
1. На входы сети подается неизвестный сигнал. Практически его ввод происходит за
счет установления аксонов yi(0) = xi , i = 0...n-1. То есть входы нужны лишь
формально.
2. Рассчитывается новое состояние нейронов:

, j=0...n-1
и новое состояние аксонов

При этом - функция единичного скачка.


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

Сеть Хемминга
Если в задаче ассоциативной памяти нет необходимости в том, чтобы нейросеть
выдавала эталонный образец, а достаточно только номера образца, то для этих
целей используется сеть Хемминга. Структурная схема сети Хемминга
представлена на рисунке 2.

Рисунок 2. Сеть Хемминга

Данная сеть, в сравнении с сетью Хопфилда, характеризуется меньшими


вычислительными затратами. В сети Хемминга два слоя – первый и второй слои
состоят из нейронов и равно числу образцов. Нейроны первого слоя имеют
по входных синапсов, где - размерность входных векторов. Нейроны
второго слоя связаны между собой обратными, отрицательными связями.
Обратная связь от аксона на владельца нейрона равен +1. Суть работы состоит в
нахождении расстояния Хемминга от тестируемого образца до всех образцов.
Расстоянием Хемминга называется число отличающихся битов в двух бинарных
векторах.
- расстояние Хемминга равно 0.

- расстояние Хемминга равно 2.


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

, i=0...n-1, k=0...m-1
Tk = n / 2, k = 0...m-1
k
где xi – i-ый элемент k-ого образца.
Весовые коэффициенты тормозящих синапсов во втором слое берут
равными некоторой величине 0 <  < 1/m. Синапс нейрона, связанный с его же
аксоном имеет вес +1.
Алгоритм работы сети Хэмминга следующий:
1. На входы сети подается неизвестный вектор X = {xi:i=0...n-1}, исходя из
которого рассчитываются состояния нейронов первого слоя (верхний индекс в
скобках указывает номер слоя):

, j=0...m-1
После этого полученными значениями инициализируются значения
аксонов второго слоя:
yj(2) = yj(1), j = 0...m-
1
2. Вычислить новые состояния нейронов второго слоя:

и значения их аксонов:

Активационная функция f имеет вид порога, причем величина F должна


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

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

Генетические алгоритмы (далее ГА) – это адаптивные методы поиска,


которые в последнее время все более широко применяются для задач
структурной и функциональной диагностики. Генетическими они называются
из-за того, что используют принцип эволюции биологических организмов Ч.
Дарвина. По которому популяции развиваются в течении многих поколений,
подчиняясь принципу естественного отбора, то есть survival of the first.
Генетические алгоритмы по аналогии с эфолюционным механизмом работают
с популяцией, каждая из хромосом которой преставляет возможное решение
данной задачи. Каждая хромосома оценивается мерой ее приспособленности
– fitness function, которую называют функцией оптимальности. Например,
мерой приспособленности хромосом , кодирующих поверхность летательного
аппарата, можно использовать общий коэффициент обтекаемости Rx. Наиболее
приспособленные особи получают возможность воспроизвести потомство с
помощью перекрестного скрещивания и мутации, с другими особями
популяции. В результате получаются особи наследующие характеристики
родителей. В свою очередь менее приспособленные особи постепенно исчезают
из популяции. Новое поколение обладает лучшими характеристиками по
сравнению с предыдущими. Скрещивание и мутация приводят к тому, что
эволюция отыскивает перспективные решения в широком пространстве поиска.
В конечном счете популяция сходится к оптимальному решению задачи. Но ни
один генетический алгоритм этого не гарантирует.
Генетический алгоритм (ГА) [2,8,9] – это компьютерная модель эволюции
популяции искусственных "особей". Каждый особь характеризуется своей
хромосомой Sk, хромосома есть "геном" особи. Хромосома определяет
приспособленность особи f(Sk); k = 1,..., n; n – численность популяции.
Хромосома есть цепочка символов Sk = (Sk1, Sk2,...,SkN), N – длина цепочки.
Символы интерпретируются как "гены" особи, расположенные в хромосоме Sk .
Задача алгоритма состоит в максимизации функции приспособленности f(Sk) .
Эволюция состоит из последовательности поколений. Для каждого
поколения отбираются особи с большими значениями приспособленностями.
Хромосомы отобранных особей рекомбинируются и подвергаются малым
мутациям. Формально, схема ГА может быть представлена следующим образом
(популяция t-го поколения обозначается как {Sk(t)}):
 Шаг 0 . Создать случайную начальную популяцию {Sk(0)}.
 Шаг 1. Вычислить приспособленность f(Sk) каждой особи Sk популяции {Sk(t)}.
 Шаг 2. Производя отбор особей Sk в соответствии с их приспособленностями f(Sk)
и применяя генетические операторы (рекомбинации и точечные мутации) к
отобранным особям, сформировать популяцию следующего поколения {Sk(t+1)}.
 Шаг 3. Повторить шаги 1,2 для t = 0, 1, 2, ... , до тех пор, пока не выполнится
некоторое условие окончания эволюционного поиска (прекращается рост
максимальной приспособленности в популяции, число поколений t достигает
заданного предела и т.п.).
Имеется ряд конкретных вариантов генетического алгоритма, которые
отличаются по схемам отбора, рекомбинаций, по форме представления
хромосом и т.д.
Наиболее традиционный вариант генетического алгоритма базируется на
следующей конкретной схеме: 1) цепочки символов в
хромосомах бинарны (символы Ski принимают значения 0 либо 1), длина
цепочек постоянна (N = const), 2) метод отбора пропорционально-
вероятностный (см. ниже), 3) рекомбинации производятся по схеме
однократного кроссинговера.
Пропорционально-вероятностный отбор означает, что на шаге 2 отбор
производится с вероятностями, пропорциональными
приспособленностям fk особей ( fk = f(Sk) ) . Эту схему отбора мы уже
обсуждали в лекции 2 при описании модели квазивидов. Схему можно
представить, как выбор особи с помощью рулетки, относительные площади
секторов которой равны qk = fk [S l fl ]-1.
Возможны и другие методы отбора. Например, отбор может быть
ранжированным: все особи ранжируются по приспособленностям и заданная
часть (скажем, лучшая половина) лучших особей отбирается для формирования
следующего поколения.
Одноточечный кроссинговер организуется по аналогии с биологической
рекомбинацией. А именно, если есть два родителя S1 = (S11, S12,...,S1N) и S2 =
(S21, S22,..., S2N), то их потомки есть (S11,..., S1m, S2,m+1,...,S2N) и (S21,...,
S2m, S1,m+1,...,S1N); т.е. "голова" и "хвост" хромосомы потомка берутся от
разных родителей. Точка кроссинговера выбирается случайным образом, в
приведенном примере она располагается между m-м m+1-м "генами".
Аналогичным образом может быть организован двухточечный и "несколько-
точечный" кроссинговер. Тип рекомбинации по схеме кроссинговера часто
дополняется инверсиями, т.е. изменением порядка следования символов в
участках хромосом; это аргументируется, как необходимость подобрать
существенные для приспособленности комбинации символов в хромосоме.
Некоторые схемы ГА используют равномерные рекомбинации. Это
означает, что два родителя имеют двух потомков, символы хромосомы одного
из потомков выбираются случайно от любого (но сохранением порядка
следования символов), а второму потомку достаются оставшиеся символы.
Например, два потомка родителей S1 = (S11, S12,..., S1N) и S2 = (S21, S22,...,
S2N), могут иметь следующие хромосомы (S11, S22, S13, S14,..., S2N) и (S21,
S12, S23, S24,..., S1N).
Как метод оптимизации, ГА обладает внутренним параллелизмом
(implicit parallelism): разные частные существенные комбинации генов – их
часто называют "схематами" (“schemata”) – отыскиваются параллельным
образом, одновременно для всех комбинаций. Отметим, что чем меньше
комбинация, тем легче она может быть найдена.
Подчеркнем, что генетические алгоритмы по общей схеме подобны
модели квазивидов. Основное различие состоит в том, что в
модели квазивидов не включаются рекомбинации, в то время как именно
рекомбинации играют важную роль в процессе поиска новых хороших решений
в генетических алгоритмах (интенсивность мутаций в ГА обычно очень мала).
Правда, в последнее время исследователи ГА стали высказывать и скептические
высказывания по поводу необходимости включения рекомбинаций в схему
алгоритма.
Лекция 8

Обучение с подкреплением
Метод обучения с подкреплением – это самостоятельное и уже вполне
сформировавшееся направление кибернетических исследований. Обучение с
подкреплением используется в различных областях науки: нейронных сетях, психологии,
искусственном интеллекте, управлении, исследовании операций и т. д. Главное
достоинство этого метода – его сравнительная простота, но не реализация: наблюдаются
действия обучаемого объекта и в зависимости от результата поощряют, либо наказывают
данный объект, не объясняя обучаемому объекту, как именно нужно действовать. Роль
учителя может играть внешняя среда. В данном методе большое внимание уделяется
поощрению/наказанию не только текущих действий, которые непосредственно привели к
положительному/отрицательному результату, но и тех действий, которые предшествовали
текущим. Основные принципы обучения с подкреплением:
 обучение через взаимодействие;
 целенаправленное обучение;
 обучение через взаимодействие с окружающей средой.
Функция оценки – показывает, что есть хорошо в продолжительный период, тогда
как функция подкрепления показывает, что есть хорошо в текущий момент. Оценка
состояния это итоговое подкрепление агента, которое предположительно может быть
накоплено при последующих стартах из этого состояния. В то время как подкрепление
определяет прямую, характерную желательность состояния окружения, оценки
показывают долгосрочную желательность состояний после принятия во внимания
состояний, которые последуют за текущим, и подкреплений, соответствующих этим
состояниям. Например, состояние может повлечь низкое непосредственное подкрепление,
но иметь высокую оценку, потому как за ним регулярно следуют другие состояние,
которые приносят высокие подкрепления.
Функция подкрепления - определяет цель в процессе обучения с подкреплением.
Это соответствие между воспринимаемыми состояниями среды и числом, подкреплением,
показывающим присущую желательность состояния. Единственная цель агента состоит в
максимизации итогового подкрепления, которое тот получает в процессе длительной
работы. Функция отражает и определяет существо проблемы управления для агента. Она
может быть использована как базис для изменения правил. Например, если выбранное
действие повлекло за собой низкое подкрепление, правила могут быть изменены для того,
чтобы в следующий раз выбрать другое действие. В общем случае, функция подкрепления
может быть стохастической.
При обучении с подкреплением запоминается соответствие между ситуациями и
действиями, которые объект управления должен выполнить в той или иной ситуации. При
обучении с учителем необходима выборка для обучения, в случае обучения с
подкреплением начальная выборка зачастую не нужна – она появляется в ходе работы
объекта. В результате проб и ошибок накапливается база знаний объекта об окружающей
среде. Обучающая выборка генерируются автоматически в фазе, называемой
«исследование» (разведка). Обычно - это случайный поиск в пространстве состояний
(естественно, если пространство большое, то покрыть полностью его не возможно, но для
этого обычно используют универсальный аппроксиматор – нейронную сеть). Обычно
генерация обучающей выборки идет параллельно исследованию, поэтому обучение –
возрастающее. Общая схема обучения с подкреплением показана на рисунке 4.
Агент и среда взаимодействуют на каждом из последовательности дискретных
временных шагов, t = 0, 1, 2, 3, … . На каждом временном шаге, t, агент получает
некоторое представление о состоянии среды, , где S это множество всех возможных
состояний. На основе состояния агент выбирает действие, , где это
множество действий, возможных в состоянии . Во время следующего шага, как часть
ответа на действие, агент получает числовое подкрепление, , и переводит себя в
состояние .

Рисунок. Принцип работы систем использующих обучение с


подкреплением

На каждом временном шаге, агент осуществляет отображение состояний на


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

где T заключительный шаг.


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

Сети адаптивной критики


Сети адаптивной критики применяются в ситуации, когда окружающая среда
является зашумленной, нелинейной и нестационарной. Такие топологии служат основой
многих адаптивных систем управления. В основе сетей адаптивной критики лежит
принцип оптимальности Беллмана[1].

Различают следующие основные виды сетей адаптивной критики:

- ЭДП (эвристическое динамическое программирование) - критик оценивает


значение J(t), также этот алгоритм известен под названием SARSA;
- ДЭП (Двойственное эвристическое программирование) - критик оценивает
значения производной J(t).

Также разработано большое количество других реализаций, но в их основе лежит либо


ЭДП, либо ДЭП, либо комбинация ЭДП и ДЭП. Но первым и самым простым является
алгоритм SARSA.

Сеть адаптивной критики обучается аппроксимации стратегической функции. При


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

Использование принципа динамического программирования в данном случае


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

Алгоритм SARSA. В данном алгоритме множество возможных ситуаций и действий


является конечным. Каждый шаг обучения соответсвует цепочке:

Обучение происходит в режиме реального времени. В процессе обучения итеративно


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

где - коэффициент забывания, то есть чем дальше агент смотрит в «будущее», тем
менее он уверен в оценке.
Ошибка оценки равна [134]:

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

Рисунок - Схема работы ДЭП

Алгоритм Двойственного Эвристического Программирования (далее ДЭП) (Рисунок


1.6). В алгоритме ДЭП сеть критики используется для вычисления производной
по отношению к вектору . Сеть критики обучается минимизировать следующее
соотношение:

где

где - вектор содержащий частные производные скаляра в отношении к


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

где - скорость обучения.

Алгоритм Объединенного Двойственного Эвристического Программирования (далее


ОДЭП). В ОДЭП минимизируется ошибка в отношении обеих и их производных.
Несмотря на сложность реализации и значительные временные затраты, этот алгоритм
дает наилучшее результаты при планировании поведения объекта. Существуют около
десятка подвидов данного алгоритма [6], кратко рассмотрим основные моменты
основополжного, предложенного Вербосом (Werbos). При обучении сети критики в ОДЭП
используется мера погрешности, которая является комбинацией мер погрешности в ЭДП
и ДЭП (1.6 и 1.8), то есть в данном случае они скрещиваются. Результатом является
следующее правило изменения весов сети критики:

где и - коэффициенты обучения. В данном алгоритме добавляется вычисление


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

Решение задачи брокера


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

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

Блок Критик предназначен для оценки суммарной награды . Блок


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

где и - оценка суммарной награды для ситуаций и . Таким


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

[1]
“Оптимальная стратегия обладает следующим свойством, каким бы не было
начальное состояние управления, последующие управления должны определять
оптимальную стратегию относительно состояния полученного в результате 1-го решения”
[7]
Лекция 9

Прогнозирование с помощью нейронных сетей


Нейронные сети - это очень мощный и гибкий механизм
прогнозирования. При определении того, что нужно прогнозировать,
необходимо указывать переменные, которые анализируются и предсказываются.
Здесь очень важен требуемый уровень детализации. На используемый уровень
детализации влияет множество факторов: доступность и точность данных,
стоимость анализа и предпочтения пользователей результатов прогнозирования.
В ситуациях, когда наилучший набор переменных неясен, можно попробовать
разные альтернативы и выбрать один из вариантов, дающий наилучшие
результаты. Обычно так осуществляется выбор при разработке
прогнозирующих систем, основанных на анализе исторических данных.
Второй важный этап при построении нейросетевой прогнозирующей
системы - это определение следующих трех параметров: периода
прогнозирования, горизонта прогнозирования и интервала прогнозирования.
Период прогнозирования - это основная единица времени, на которую делается
прогноз. Горизонт прогнозирования - это число периодов в будущем, которые
покрывает прогноз. То есть, может понадобиться прогноз на 10 дней вперед, с
данными на каждый день. В этом случае период - сутки, а горизонт - 10 суток.
Наконец, интервал прогнозирования - частота, с которой делается новый
прогноз. Часто интервал прогнозирования совпадает с периодом
прогнозирования. Выбор периода и горизонта прогнозирования обычно
диктуется условиями принятия решений в области, для которой производится
прогноз. Выбор этих двух параметров - едва не самое трудное в нейросетевом
прогнозировании. Для того чтобы прогнозирование имело смысл, горизонт
прогнозирования должен быть не меньше, чем время, необходимое для
реализации решения, принятого на основе прогноза. Таким образом,
прогнозирование очень сильно зависит от природы принимаемого решения. В
некоторых случаях, время, требуемое на реализацию решения, не определено,
например, как в случае поставки запасных частей для пополнения запасов
ремонтных предприятий. Существуют методы работы в условиях подобной
неопределенности, но они повышают вариацию ошибки прогнозирования.
Поскольку с увеличением горизонта прогнозирования точность прогноза,
обычно, снижается, часто можно улучшить процесс принятия решения,
уменьшив время, необходимое на реализацию решения и, следовательно,
уменьшив горизонт и ошибку прогнозирования.
В некоторых случаях не так важно предсказание конкретных значений
прогнозируемой переменной, как предсказание значительных изменений в ее
поведении. Такая задача возникает, например, при предсказании момента, когда
текущее направление движения рынка (тренд) изменит свое направление на
противоположное.
Точность прогноза, требуемая для конкретной проблемы, оказывает
огромное влияние на прогнозирующую систему. Также огромное влияние на
прогноз оказывает обучающая выборка.
Первое, с чем сталкивается пользователь любого нейропакета - это
необходимость подготовки данных для нейросети. На практике именно
предобработка данных может стать наиболее трудоемким элементом
нейросетевого анализа. Причем, знание основных принципов и приемов
предобработки данных не менее, а может быть даже более важно, чем знание
собственно нейросетевых алгоритмов. Последние, как правило, уже "зашиты" в
различных нейроэмуляторах, доступных на рынке. Сам же процесс решения
прикладных задач, в том числе и подготовка данных, целиком ложится на плечи
пользователя.
Рассмотрим задачу прогнозирования объема продаж товаров
предприятия. Среда является недетерминированной, так как обычные методы не
позволяют со сто процентной уверенностью сказать, что будет в следующий
момент времени и выявить все факторы, которые влияют на прогнозируемую
величину практически невозможно (можно только ограничить набор факторов).
Имеется следующий набор финансовых индикаторов:
Деятельность предприятия:
 история продаж (количество, суммы);
 история состояния склада;
 показатели рекламной активности.
Внешние факторы:
 прайс – листы конкурентов;
 состояние рынка;
 инфляция;
 курсы доллара, евро и т. д.;
 фондовые индексы (РТС, NASDAQ, Dow Jones и
другие).
В результате комплексных исследований были выявлены вторичные
факторы, оказывающие влияние на объем продаж предприятия, которые
необходимо учитывать. Эти показатели представлены в таблице 1 (взята из
диссертации Бычкова А.). Как видно из таблицы, перечисленные параметры
имеют различную значимость, значения этих параметров имеют разную
природу и добываются из различных источников. В результате содержательного
анализа перечисленных параметров выявлено, что некоторые из них
невозможно включить в модель из-за невозможности получения данных, а
отдельные не оказывают сильного влияния на динамику модели и, поэтому их
можно без существенной потери точности исключить из модели.
Таблица 1
Вторичные параметры используемые для принятия решений

Независимые переменные Значимость


1.Концентрация ++++
2. Состояние склада ++++
3. Экономия от масштаба ++
4. Дифференциация продукта +++
5. Интенсивность рекламы +++
6. Отношение активы - объем производства ++
7. Рост. +++
8. Диверсификация ++
9. Географическое размещение. +
10. Риск ++++
11. Экспорт +
12. Импорт +
13. Рыночная доля +++
14. Концентрация покупателей +
15. Интенсивность исследований и разработок +
16. Стратегические группировки +
Следует отметить, что сама история продаж предприятия дает для
обучения нейросети примерно 60 % необходимой информации (на основании
опыта автора).
Задача прогнозирования объема продаж предприятия обладает теми
особенностями, которые делают целесообразным использование нейросетевых
методов моделирования и, в частности, топологии «внутренний учитель»:
а) таблица данных может иметь небольшой размер[1];
б) в таблице данных могут присутствовать пропуски данных;
в) в данных возможны искажения («шум»);
г) необходима возможность адаптации модели при поступлении
новых данных;
д) трудно получить линейную алгебраическую модель;
е) большое количество позиций номенклатуры.

Общий алгоритм прогнозирования с помощью нейронной сети

Алгоритм состоит из следующих пунктов:


 получение временного ряда с интервалом в выбранную временную
итерацию;
 заполнение «пробелов» в истории;
 сглаживание ряда методом скользящих средних (или другим);
 получение ряда относительного изменения прогнозируемой
величины;
 формирование таблицы «окон» с глубиной погружения
временных интервалов;
 добавление к таблице дополнительных данных (например,
изменение величины за предыдущие годы);
 шкалирование;
 определение обучающей и валидационной выборок;
 подбор параметров нейросети;
 обучение нейросети;
 проверка работоспособности нейросети в реальных условиях.
Поясним термин «таблицы окон». Данные необходимо преобразовать по
специальной схеме. Сначала преобразуем полученный временный ряд в ряд
приращений прогнозируемой величины, т. е. будем прогнозировать изменение
величины, а не абсолютные значения ряда. Затем выберем глубину погружения,
т.е. количество временных интервалов, по которым мы будем прогнозировать
следующий. Возьмем глубину погружения равной 4, т.е. прогнозирование
величины на следующую итерацию будет осуществляться по результатам
четырех предыдущих итераций. Далее следует преобразовать величину к
следующему виду:
Таблица 4.1
Первый вариант «окна» данных
Hist1 Hist2 Hist3 Hist4 Hist0
D-1 D-2 D-3 D-4 D
D-2 D-3 D-4 D-5 D-1
D-3 D-4 D-5 D-6 D-2
… … … … …
Первые четыре колонки являются входами нейросети, последняя – выход,
т. е. на основе предыдущих значений изменения величины прогнозируется
следующее значение ряда. Таким образом, мы получаем так называемое
«скользящее окно», в котором представлены данные за пять недель. Окно
можно двигать по временной оси и изменять его ширину. Чтобы учесть
предыдущие годы и учесть возможные сезонные зависимости добавим еще один
столбец в выборку, который показывает изменение величины в прошлый год за
тот же период.
Таблица 4.2
Второй вариант «окна» данных
LastY Hist1 Hist2 Hist3 Hist4 Hist0
L D-1 D-2 D-3 D-4 D
L-1 D-2 D-3 D-4 D-5 D-1
L-2 D-3 D-4 D-5 D-6 D-2
… … … … … …

Таким образом, готовится обучающая выборка и именно в таком виде


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

Самообучаемые системы с самомодифицирующимися правилами

Одним из перспективных подходов к разработке самонастраивающейся СУ


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

Методика самомодифицирующихся правил


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

Методика СМП использует в своем ядре принцип алгоритмического сдвига


бритвы Оккама и поиск по Левину.

Под словосочетанием «обучение обучению» будем понимать следующую


обучаемую систему, которая:

- оценивает, сравнивает методы обучения и выбирает лучший из них;


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

Методика СПМ не предполагается, как имеющая свойство обучения обучению,


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

Базовый алгоритм самомодифицирующихся правил


Рассмотрим базовый алгоритм СМП. Обучаемая система живет от времени 0 до
времени T в неизвестной, на момент времени 0, среде E. Система имеет
состояние S и первонааотные правила СМП0. S и СМП являются изменяемыми.
Между временем 0 и T, обучаемая система повторяет снова и снова следующий
цикл (A – возможные действия):

выбрать и выполнить с наибольшей возможной вероятностью


. Действие может выполняться некоторое время [28,30] и
может изменять E, S, и даже сам набор СМП.

Действия в A, которые модифицируют СМП, называются примитивными


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

Вся жизнь обучаемой системы разбивается на временные интервалы. Отсечки


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

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

Цель системы в - сгенерировать СМП-изменения, которые ускорят


долгосрочное повышение подкрепления: при этом желательно,

чтобы превысило текущее среднее поступление подкрепления. Для


того чтобы скорость изменения подкрепления, необходима предыдущая

точка для вычисления . Множество прошлых контрольных


точек, которое используется для расчета ускорения
поступления будующего подкрепления, обозначим за V. Обозначим через -
ый элемент множества V. При этом отсортированно в порядке возрастания.
Критерий истории успеха (КИУ) удовлетворен для времени t, если или
множество V пусто (то есть при старте работы СУ), или:

, (1.12)

КИУ требует, чтобы каждая контрольная точка в V обозначала время начала


ускорения поступления долгосрочного подкрепления, взвешенного к текущему
моменту времени t. Для каждой контрольной точки мы вызываем алгоритм
истории успеха (АИУ):

- пока КИУ не выполняется - отменить все СМП-


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

«Отмена» изменений означает восстановление предыдущих СМП – это требует


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

К достоинствам методики СМП можно отнести самообучение на основе ПАО и


то, что система фактически подстраивается под среду согласно сигналу
подкрепления. Таким образом, становится возможной адаптация СУ к
изменяемой среде. Так как успех каких-либо СМП-изменений рекурсивно
зависит от успеха последующих СМП-изменений, для которых данное является
базой, АИУ (отлично от других методов обучения с подкреплением)
автоматически предоставляет базис для мета-обучения: АИУ предпочитает
такие SSM, которые создают «хорошие» будущие SSM. Другими словами, АИУ
предпочитает вероятные алгоритмы обучения, которые приводят к лучшим
алгоритмам обучения, что обеспечит при управлении меньшую необходимость
в переобучении.

Недостаток СМП при решении задач управления (задач выполняющихся в


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

Таким образом, для задач управления объектами в недетерминированных


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

Топология «Внутренний учитель»


2.1 Основные положения
Задача построения системы управления сложным объектом или
комплексом объектов в недетерминированной среде нетривиальна. Как
правило, синтез системы управления производится с использованием
известных технических решений, которые с минимумом переработок
внедряются в новой предметной области. В ряде случаев, готовых решений
оказывается недостаточно. Тем не менее, во всех случаях разработка системы
управления предполагает анализ условий функционирования системы, на
базе которого производится синтез модели. Распространены способы
построения систем на основе: конечно-автоматных моделей
[3,15,27,31,46,48], сетей Петри [27,79], генетических алгоритмов [84,95],
аппарата нечеткой логики [5, ,13,43,58,77,80,81], нейронных сетей
[28,29,137,136,144,187,160,184] и др. Также в последнее время стали
появляться системы на основе теории хаоса [102]. Наиболее
распространенный подход основан на использовании механизма целевой
функции, включающего экстремальные методы проектирования. Однако
такой подход не всегда позволяет построить адаптивную систему
управления. В частности, такие примером являются системы, действующие в
недетерминированной среде. Поэтому мы посчитали целесообразным
разработать свой подход к построению таких систем.
Одним из существенных недостатков известных методов
проектирования систем управления сложными объектами является
отсутствие системного подхода. Во многих случаях система строится из
разрозненных функциональных блоков, что не позволяет в полной мере
оценить ее работоспособность и эффективность. Более того, часто и вовсе
непонятно как она будет работать в целом, и только испытания системы
подтверждают (или не подтверждают) ее работоспособность.
Итак, в данной главе описывается наша методология построения
систем управления сложными объектами в недетерминированной среде.
Введем ряд определений:

 недетерминированная среда – среда, воздействие которой трудно


описать статистическими методами;

 адаптивная система управления – система управления,


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

 качество работы системы – сравнение реального управления и


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

 комплекс светофоров на сложных перекрестках (транспортные


потоки не поддаются статистическому анализу);

 мобильные роботы-грузчики (здесь недетерминированным


является порядок поступления запросов на определенные грузы
или товары);

 комплекс лифтов в многоэтажном здании (пассажиропоток


постоянно изменяется, в случае, скажем, переносов мероприятий
с одного этажа на другой, поток пассажиров с этого этажа
увеличится, и предсказать это нет возможности);

 прогнозирование финансовых показателей (финансовые потоки


поддаются статистическому анализу, но результат низкий)[1].
Указанные системы имеют различную природу и среды
функционирования, но способы организации управления, а также методы
построения нередко схожи.
Перейдем к предпосылкам, заставившим нас разработать свой метод
построения систем управления.
В рамках системного подхода необходимо не только рассматривать
систему как функциональное целое, но и рассматривать все возможные
процессы в системе, как часть одного большого общего процесса управления.
Обучение системы не должно быть отдельным и независимым действием,
оно должно органически вписываться в общую схему взаимодействия
системы и среды. В рассмотрении вопросов обучения и функционирования
системы неотъемлемо друг от друга и есть системность подхода. Процесс
управления и обучения рассматривается нами как единый процесс «жизни»
системы. В этом смысле предлагается, что всякую сложную управляющую
систему нужно рассматривать как адаптивную, как единую в смысле
управления и обучения.
В частности, подход, когда система проектируется так, что обучение
проходит у разработчиков, являет собой пример несистемного подхода к
проектированию. Система изначально построена раздробленно. Единожды
обучившись, система управления функционирует потом только в виде
контура простейшего управления не модифицируясь.
Известны различные подходы к обучению адаптивных систем
управления. Традиционные методы обучения предполагают использование
баз знаний и правил. Обычно, база правил не изменяется в процессе
управления, в то время как поведение среды может потребовать их
изменений. Кроме того, часто сложно формализовать правила, что тоже, в
конечном счете, ведет к недостаточной эффективности системы управления в
целом.
Обучение с учителем позволяет только один лишь раз обучить систему
у разработчика, либо необходимо наличие специалиста у себя. Здесь видно
отсутствие системного подхода, о котором мы говорили выше. Мы выберем
для себя комбинированное обучение, поскольку система должна дообучаться
в процессе функционирования. В качестве аппарата для построения системы,
выберем нейронные сети, как наиболее удобные для реализации нашей
структуры. При этом будем использовать принципы обучения с
подкреплением и методики SMP. Существует множество примеров
построения систем с использование нейронных сетей в топологии с
подкреплением. Наиболее близкие нам – сети адаптивной критики. Однако
они не подходят нам по ряду причин.
Итак, сформулируем задачи, стоящие перед нами, как разработчиками
самообучаемой системы управления:

 объект или комплекс объектов в недетерминированной среде


должен выполнять определенную задачу, причем выполнять с
заданными показателями качества;

 при выполнении задачи на основании информации от внешней


среды объект, при необходимости, изменяет свое поведение
(изменяется тактика, при этом объект не дообучается);

 объект должен обучаться на своих ошибках, путем выявления


изменившегося характера воздействия среды (изменяется
стратегия, – объект должен выработать новые способы реакции
на воздействия).
Следовательно, для решения указанной задачи необходимо разработать
такую структуру системы и такой метод обучения, которые реализуют
идею обучения самообучению. Система управления должна обучаться
учителем не конкретным реакциям на конкретные воздействия, а способу
самообучения новым ситуациям. Назовем топологию такой нейросети
топологией «внутренний учитель», а метод обучения назовем «обучение
самообучению».
При этом нужно сказать, что вновь разработанная топология и метод
обучения, суть две стороны одного и того же принципа построения системы
– принципа обучаемой самообучению системы.
С точки зрения эпистемологии данной идее обучения самообучению
ближе теория Пиаже [164]. То есть в своей работе мы предполагаем, что
познание есть биологическая функция. Нас интересует поиск механизмов
биологической адаптации. Мысль о том, что процесс приобретения знаний
адаптивен, еще конце 19-го века предложена Джеймсом, Зиммелем и
другими, однако Пиаже первым заметил, что адаптация в когнитивной
(концептуальной) плоскости совсем не то же самое, что физиологическая
адаптация биологического организма. Знание возникает в результате
активной деятельности субъекта, будь она физической или ментальной.
Главное, что придает знанию организованность – это целенаправленный
характер данной деятельности. Любое знание привязано к действию – знать
объект или событие означает использование его в той или иной
деятельности.

2.2 Топология «внутренний учитель»


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

Для определения своих ошибок система должна знать, насколько


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

Рисунок 8 - Центральный узел топологии «внутренний учитель»

Введем следующие обозначения:


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

Критическое время – время установленное разработчиком, за


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

Период дообучения – время, за которое система при потере


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

(2.1)

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

2.2.2 Решатель
В качестве решателя может быть нейронная сеть. Тип и метод
обучения зависят от решаемой задачи. Цель решателя – получить входной
вектор, пропустить его через себя и выдать результат. На рисунке 9 показан
решатель на основе послойно - полносвязной нейронной сети прямого
распространения.

Рисунок 9 - Решатель в разрезе нейронов

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


Правила должны формироваться с учетом того, что при взаимодействии
компонент и самообучении системы, они могут изменяться. Учитель,
изменяя правила управления, дообучает (переобучает) систему. Структура
взаимодействия и принцип дообучения (переобучения) в каждом конкретном
случае может быть индивидуальна, но можно выделить общие моменты (они
будут рассмотрены ниже).
Следует отметить следующее, заложенное в систему свойство –
решатель может работать как в связке с учителем, так и отдельно, что очень
удобно при программной реализации. В случае вступления в процесс
обучения учителя активируются входы Д.1 – Д.N, C.1 – С.K и выходы О.1 –
О.P. В это время входы и , которые подаются с сенсоров, равны
нулю. После обучения, наоборот активируются входы и .
Начальную инициализацию нейронной сети решателя можно
производить стандартным образом, т. е. за счет генератора случайных чисел,
а можно и с помощью специальных методов использующих знания о
функционировании системы, например FBANN [18].

2.2.3 Учитель
Внутренним устройством учителя может быть послойно - полносвязная
нейронная сеть прямого распространения, с одним скрытым слоем (хотя не
исключены случаи, когда может потребоваться несколько скрытых слоев).
Входы учителя – изменение коэффициента эффективности за последний
период времени (или за несколько последних), плюс адаптационные
параметры (один или несколько) за предыдущий период времени. Выход
учителя показывает, как изменить правила управления (рисунок 10).
В данной компоненте оценивается состояние среды с точки зрения
изменения тактики и стратегии поведения, и здесь формируются измененные
правила поведения системы.
Учитель реализует политику самообучения . Для реализации
принципа обучения самообучению введем общий вид функций
вычисляющих АП и КЭ:
(2.2)
(2.3)

Рисунок 10 - Учитель в разрезе нейронов


Отметим, что не является функцией обратной и наоборот. Т. е.
получается декомпозиция функций. Таким образом, политики и
зависят от , , , АП и, возможно других параметров.
Учителя необходимо обучить на правилах (2.8 – 2.34), то есть
аппроксимировать правила нейронной сетью.
Также необходимы еще два правила не входящих в выборку обучения
нейросети учителя:
MR1. Сброс всех настроек;
MR2. Обмен параметрами обучения и настройками.
Правило MR1 применяется в случае, если время обучения превышает
критическое (предел задается разработчиком).
Правило MR2 применяется в случае, если имеется несколько
однотипных объектов управления и одного объекта значительно меньше,
чем у других и в этом случае происходит передача параметров от одного
объекта к другому.
В общем случае количество правил самообучения учителя
определяется по формуле:
(2.
4)
Введение в топологию учителя сокращает время обучения нейронной
сети (численные характеристики в главе 4), а также повышает адаптационные
свойства объекта управления.
Также отметим возможность создания учителя, который вычисляет
необходимую скорость изменения параметров адаптации, как показано на
рисунке 11.

Рисунок 11 - Обучение по скорости изменения АП

В данном случае правила самообучения решателя зависят

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

(2.5),
где – период времени, для которого вычисляем коэффициент
эффективности;

- безразмерный показатель полезной деятельности, произведенной


системой;

- безразмерный показатель затраченных ресурсов (энергии, времени


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

где - время прошедшее от момента вызова лифта пассажиром до


прибытия лифта на этаж;

- количество этажей, пройденных лифтом к пассажиру;


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

2.2.5 Адаптационные параметры и правила самообучения


Правила самообучения учителя изменяют адаптационные параметры и
сформулированы следующим образом:
 если снизилось значение коэффициента эффективности, то
изменяем АП в противоположном направлении от предыдущих
изменений;
 если значение выросло, то продолжаем изменять АП в
направлении от предыдущих изменений;
 если значение не изменилось, то в зависимости от коэффициента
эффективности либо оставляем текущие правила (если
коэффициент эффективности устраивает), либо хаотически
изменяем применяемое правило.
Шаг изменения АП нужно уменьшать в зависимости от относительной
величины изменения коэффициента эффективности, чтобы не перешагнуть
оптимум. Т.е. если коэффициент эффективности изменился сильно, то и АП
изменять сильно, если слабо, то и АП слабо. При этом неважно вырос
коэффициент эффективности или снизился.
Представим правила изменения АП в виде продукций, в случае одного
адаптационного параметра системы и , :
(2.
8)
(2.9
)
(2.1
0)
(2.1
1)
(2.12)
(2.1
3)
(2.
14)
(2.1
5)
(2
.16)
(2.1
7)
(2.1
8)
(2.
19)
(2.2
0)
(2.21)
(2.22)
(2
.23)
(2.2
4)
(2
.25)
(2.
26)
(2.
27)
(
2.28)
(2.
29)
(2.3
0)
(2.
31)
(2.
32)
(2.
33)
(2
.34)
Поясним правила на примере первого: если на текущем цикле
управления коэффициент эффективности снизился и в предыдущий цикл
управления адаптационный параметр и коэффициент эффективности
снизились, то увеличиваем значение адаптационного параметра.
Формулы созданные по данному принципу могут легко
интерпретироваться для выборки нейросети учителя. Действие системы
определяется разницей между целевым и действительным состоянием
системы – чем больше разница, тем больше амплитуда изменения АП.
Также можно использовать метод резолюций [73] для выработки новых
правил на основании первоначальных (например, формулы 2.8 – 2.34) и
накопленной истории (рисунок 12).
Рисунок 12 - Метод резолюций
В случае использования принципа резолюций можно реализовать
интересную схему обучения самообучению, в которой изменяются не только
правила управления, но и количество правил самообучения (рисунок 13).

Рисунок 13 - Метод резолюций для изменения правил учителя

На каждом шаге применения резолюций, количество правил в базе


учителя уменьшается и вычисляется по формуле (2.35).

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

2.2.7 Взаимодействие компонент

Взаимодействие компонент системы управления достаточно тривиально. На


каждом цикле управления происходит следующее (рисунок 14):

 сенсоры вычисляют показатели для решателя и БКЭ;

 решатель вычисляет управляющее воздействие согласно текущим


правилам управления;

 БКЭ вычисляет КЭ на текущем цикле и динамику изменения КЭ по


сравнению с прошлыми циклами;

 учитель получает данные об изменении КЭ и применяет правила


самообучения. На выходе получаем измененные правила управления;

 решатель дообучается (переобучается) по измененным правилам;

 моторика формирует управляющие воздействия на исполнительные


механизмы.
Рисунок 14 - Алгоритм работы топологии «внутренний учитель»

Взаимодействие правил учителя и решателя показано на рисунке 15.

Рисунок 15 - Взаимодействие правил управления и самообучения

2.3 Обучение самообучению


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

2.3.1 Планирование
Планирование подразумевает, что система должна не просто
реагировать на текущие события, но и прогнозировать последовательность
действий или событий, которые должны привести ее к намеченной цели.
В идеале система могла бы строить модели внешнего мира, проводить
"мысленные эксперименты" и планировать действия в соответствии с
результатами этих "экспериментов".
Но мы только отметим возможность построения моделей внешнего
мира в "сознании" системы. Можно отметить модель мотивационного
поведения MonaLysa (теория аниматов) [124,156]. В данной работе
воплощена простая схемы планирования. В приведенной там схеме
планирования конечная цель действий разбивается на подцели, и система
"планирует" выполнение последовательности действий, каждое из которых
соответствует текущей ситуации и текущей подцели. При этом выполнение
всей последовательности приводит к достижению намеченной конечной
цели.
Существуют ситуации, когда системе необходимо подсказывать
(наталкивать), что она должна делать[2]. К таким ситуациям относятся,
например:
 увеличение уровня продаж в канун праздников;
 увеличение пассажиропотока на этаж при проведении на нем
мероприятия (конференции);
Можно вводить расписание применения правил самообучения или
управления в необходимые циклы управления, как показано на рисунке 16.

Рисунок 16 - Планирование

2.3.2 Уточнение взаимодействия компонент


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

2.3.3 Разработка идеологии самообучения для прикладных задач


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

2.3.4 Приоритетность адаптационных параметров


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

2.3.5 Пластичность
Пластичность нейронной сети можно рассчитать, например, с
помощью константы Липшица [37]. Рассмотрим послойно - полносвязную
нейронную сеть прямого распространения, а именно этот тип нейронных
сетей использовался для решателя и учителя в экспериментах, со
следующими свойствами:

 число входных сигналов - ;

 число нейронов в -м слое - ;


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

(2.36)
Оценка константы Липшица всей сети:

(2.37)
Если используется функция активации гиперболический тангенс,
то и оценка константы Липшица сети равна:

(2.38
)
Если заменить всю область определения функций D на конечное
множество (задачник), то условие, определяющее требуемый объем
нейронной сети можно получить, сравнивая с оценкой константы
Липшица для обучающей выборки:

. (2.39
)

является нижней оценкой константы Липшица аппроксимируемой


функции. Нейросеть может реализовать данную функцию только в том
случае, когда .
Также емкость сети можно оценить следующим способом - для
нейросетей с тремя слоями, то есть входным, выходным и одним скрытым
слоем, детерминистская емкость сети Cd оценивается так:
Nw/Ny<Cd<Nw/Nylog(Nw/Ny) (2.40),
где Nw – число подстраиваемых весов, Ny – число нейронов в
выходном слое.
Следует отметить, что данное выражение получено с учетом некоторых
ограничений. Во-первых, число входов Nx и нейронов в скрытом слое Nh
должно удовлетворять неравенству Nx+Nh>Ny. Во-вторых, Nw/Ny>1000.
Однако вышеприведенная оценка выполнялась для сетей с активационными
функциями нейронов в виде порога, а емкость сетей с гладкими
активационными функциями, обычно больше. Кроме того, фигурирующее в
названии емкости прилагательное "детерминистский" означает, что
полученная оценка емкости подходит абсолютно для всех возможных
входных образов, которые могут быть представлены Nx входами. В
действительности распределение входных образов, как правило, обладает
некоторой регулярностью, что позволяет нейросети проводить обобщение и,
таким образом, увеличивать реальную емкость. Так как распределение
образов, в общем случае, заранее не известно, мы можем говорить о такой
емкости только предположительно, но обычно она раза в два превышает
емкость детерминистскую.
Также в ходе экспериментов выявлено, что все перепробованные
способы определения количества слоев и нейронов в них, по сути, являются
лишь рекомендациями – реально же нейронная сеть определялась
следующим образом: выбор количества слоев и нейронов по формулам и
затем пакетный поиск лучшей нейросети, параметры нейросетей в пакетах
при этом различаются.

2.4 Топология «внутренний учитель» с использованием


нечеткой логики
2.4.1 Использование системы типа Мамдани
Универсальность предложенной топологии подтверждается тем, что
компоненты можно, в зависимости от задачи, реализовывать различными
способами, например, использовать нечеткую логику в компоненте учитель.
Рассмотрим случай, когда в системе один адаптационный
параметр, и . Пусть входными переменными будут:
, и . Выходной переменной будет . Для
лингвистической оценки будем использовать 3 терма: снизился, остался,
увеличился.
В системе типа Мамдани используются правила следующего вида:
, (2.41)
Тогда правила самообучения учителя (2.8 – 2.34) будут выглядеть
следующим образом:

1. Если и и ,
то
(
2.42)

2. Если и и ,
то
(
2.43)

3. Если и и ,
то

(2.44)

4. Если и и ,
то

(2.45)

5. Если и и ,
то

(2.46)

6. Если и и ,
то

(2.47)

7. Если и и ,
то
(2.48)

8. Если и и ,
то

(2.49)

9. Если и и ,
то

(2.50)

10. Если и и ,
то

(2.51)

11. Если и и ,
то

(2.52)

12. Если и и ,
то

(2.53)

13. Если и и ,
то

(2.54)

14. Если и и ,
то

(2.55)

15. Если и и ,
то

(2.56)
16. Если и и ,
то

(2.57)

17. Если и и ,
то
(2.58
)

18. Если и и ,
то

(2.59)

19. Если и и ,
то

(2.60)

20. Если и и ,
то

(2.61)

21. Если и и ,
то

(2.62)

22. Если и и ,
то

(2.63)

23. Если и и ,
то
(2.6
4)

24. Если и и ,
то
(2.65)

25. Если и и ,
то

(2.66)

26. Если и и ,
то

(2.67)

27. Если и и ,
то

(2.68)
Правила самообучения учителя можно представить графически, как
показано на рисунке 17.

Рисунок 17 - Поверхность правил учителя

Т. о. базу знаний образуют нечеткие правила 2.42 – 2.68, при


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

(2.6
9),
где через « » обозначена операция логического минимума. Затем
находятся усеченные функции принадлежности:

(2.7
0)
3. Композиция: с использованием операции max (обозначено, как «
») производится объединение найденных усеченных функций,
что приводит к получению итогового нечеткого подмножества
для переменной вывода с функцией принадлежности:
(2.71
)
4. Приведение к четкости можно производит, например,
центроидным методом.

2.4.2 Использование системы типа Сугэно


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

(2.73)
3. На третьем этапе определяется четкое значение переменной вывода:

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

Вам также может понравиться