1. Полное предварительное обучение сети выбранной структуры с использованием любого алгоритма.
2.
Определение диагональных элементов
гессиана
, соответствующих каждому весу, и расчет
значений параметра
,
характеризующего
значимость каждой синаптической связи
для сети в целом.
3. Сортировка весов в порядке убывания приписанных им параметров Sij и отсечение тех из них, которые имеют наименьшие значения.
4. Возврат к п. 1 для обучения сети с редуцированной структурой и повторение процесса отсечения вплоть до исключения всех весов, оказывающих наименьшее влияние на величину целевой функции.
Метод OBD считается одним из лучших способов редукции сети среди методов учета чувствительности. Его применение обеспечивает достижение сетью высокого уровня обобщения, лишь незначительно отличающегося от уровня погрешности обучения. Особенно хорошие результаты дает повторное обучение сети после отсечения наименее значимых весов.
Дальнейшим развитием метода OBD считается метод OBS (англ. Optimal Brain Surgeon), предложенный Б. Хассиби и Д. Шторком тремя годами позднее [24]. Отправная точка этого метода (так же как и в OBD) - разложение целевой функции в ряд Тейлора и игнорирование членов первого порядка. В этом методе учитываются все компоненты гессиана, а коэффициент асимметрии веса определяется в виде (для избавления от четверных индексов вес wkl обозначается одиночным индексом как wi)
. (4.11)
Отсечению подвергается вес с наименьшим значением Si. Дополнительный результат такого подхода заключается в несложной формуле коррекции оставшихся весов, позволяющей вернуть сеть в состояние, соответствующее минимуму целевой функции, несмотря на отсечение веса. Уточнение значений оставшихся (неотсеченных) весов выполняется согласно выражению
, (4.12)
где ei означает единичный вектор с единицей в i-й позиции, т.е. еi = [0, ..., 0, 1, ..., 0]T. Коррекция выполняется после отсечения каждого очередного веса и заменяет повторное обучение сети, необходимое при использовании метода OBD. Процедуру OBS регуляризации сети можно описать в следующем виде [24]:
1. Обучение нейронной сети предварительно отобранной структуры вплоть до отыскания минимума целевой функции.
2. Расчет обратной гессиану матрицы Н-1 и выбор веса wi, имеющего наименьшее значение показателя . Если изменение величины целевой функции в результате отсечения этого веса намного меньше значения Е, вес wi отсекается и осуществляется переход к п. 3, в противном случае отсечение завершается.
3. Коррекция значений весов, оставшихся в сети после отсечения i-гo веса, в соответствии с формулой (2.9) с последующим возвратом к п. 2. Процесс продолжается вплоть до отсечения всех мало значащих весов.
Основное отличие метода OBS от OBD, помимо другого определения коэффициента асимметрии, состоит в коррекции весов после отсечения наименее важного веса без повторного обучения сети. В методе OBS всякий раз отсекается только один вес, тогда как при использовании OBD можно на каждом шаге отсекать произвольное количество весов. Вычислительная сложность метода OBS гораздо выше. Расчет диагональных элементов гессиана в нем заменяется расчетом полной матрицы и обратной ей формы. На практике этот этап можно значительно упростить при использовании аппроксимированной формы матрицы, обратной гессиану, определяемой, например, методом переменной метрики. Однако такое упрощение вызывает снижение точности расчетов и несколько ухудшает качество искомого решения.
Другой метод редукции весов основан на такой организации процесса обучения, которая провоцирует самостоятельное уменьшение значений весов и в результате позволяет исключить те из них, величина которых опускается ниже установленного порога. В отличие от методов учета чувствительности в данном случае сама целевая функция модифицируется таким образом, чтобы в процессе обучения значения весов минимизировались автоматически вплоть до достижения определенного порога, при пересечении которого значения соответствующих весов приравниваются к нулю.
Простейший метод модификации целевой функции предусматривает добавление в нее слагаемого, штрафующего за большие значения весов:
. (4.13)
В
этой формуле
означает стандартно определенную
целевую функцию, заданную, например, в
виде эвклидовой нормы, а
- коэффициент
штрафа за достижение весами больших
значений. При этом каждый цикл обучения
складывается из двух этапов: минимизации
величины функции
стандартным методом обратного
распространения и коррекции значений
весов, обусловленной модифицирующим
фактором. Если значение веса wij
после
первого этапа обозначить wij(0),
то в результате коррекции этот вес будет
модифицирован по градиентному методу
наискорейшего спуска согласно формуле
, (4.14)
где обозначает константу обучения. Определенная таким образом штрафная функция вызывает уменьшение значений всех весов даже тогда, когда с учетом специфики решаемой задачи отдельные веса должны иметь большие значения. Уровень значений, при котором вес может быть отсечен, должен подбираться с особой тщательностью на основе многочисленных экспериментов, указывающих, при каком пороге отсечения процесс обучения сети подвергается наименьшим возмущениям.
Более приемлемые результаты, не вызывающие уменьшения значений всех весов, можно получить модификацией представления целевой функции в форме
. (4.15)
Минимизация
этой функции вызывает не только редукцию
межнейронных связей, но может также
привести к исключению тех нейронов, для
которых величина
близка к нулю. Легко доказать, что правило
коррекции весов в этом случае может
быть задано выражением:
. (4.16)
При малых значениях весов wik, подходящих к i-му нейрону, происходит дальнейшее их уменьшение. Это ведет к ослаблению выходного сигнала до нуля и в итоге к исключению его из сети. При больших значениях весов, ведущих к i-му нейрону, их коррекционная составляющая исчезающе мала и очень слабо влияет на процесс редукции сети.
Другой этап минимизации сети основан на такой модификации целевой функции, которая позволяет исключать скрытые нейроны, в наименьшей степени изменяющие свою активность в процессе обучения. При этом учитывается, что если выходной сигнал какого-либо нейрона при любых обучающих выборках остается неизменным (на его выходе постоянно вырабатывается 1 или 0), то его присутствие в сети излишне. И напротив, при высокой активности нейрона считается, что его функционирование дает важную информацию. И. Шовен предложил следующую модификацию целевой функции [105]:
. (4.17)
В
этом выражении
ij
означает изменение значения выходного
сигнала i
-
го нейрона для j-й
обучающей выборки, а
- это корректирующий фактор целевой
функции, зависящий от активности всех
К скрытых нейронов для всех j(j
= 1, 2, ..., р)
обучающих выборок. Коэффициент m
определяет степень относительного
влияния корректирующего фактора на
значение целевой функции. Вид корректирующей
функции подбирается так, чтобы изменение
целевой функции зависело от активности
скрытого нейрона, причем при высокой
его активности (т.е. частых изменениях
значения выходного сигнала) величина
Е
должна быть малой, а при низкой активности
- большой. Это достигается применением
функции е,
удовлетворяющей отношению:
. (4.18)
Индекс п позволяет управлять процессом штрафования за низкую активность.
При
n
= 2 функция е
принимает
вид
.
Малая активность нейронов карается
сильнее, чем высокая, что в результате
может привести к полному исключению
пассивных нейронов из сети.
Оба подхода к редукции сети, основанные как на учете чувствительности, так и на модификациях целевой функции, ведут к минимизации количества весов и нейронов сети, уменьшая, таким образом, уровень ее сложности и улучшая соотношение между количеством обучающих выборок и мерой VCdim. В итоге возрастает способность сети к обобщению.
На основе обобщения теоретических результатов, представленных в данной главе, был разработан алгоритм формирования архитектуры нейронной сети в подсистеме нейросетевого прогнозирования временных рядов. Блок-схема данного алгоритма представлена на рис. 4.21.
Блоки 1, 12 обеспечивают пуск и остановку алгоритма формирования архитектуры нейронной сети.
В блоке 2 реализован ввод исходных данных, таких как:
- требуемая точность прогнозирования;
- количество обучающих выборок;
- количество весов сети;
- число слоев и число нейронов в слое.
В блоке 3 задается число скрытых слоев ИНС.
В блоке 4 задается число нейронов в скрытом слое.
Блок 5 обеспечивает проверку заданного числа слоев. Если условие не выполнено, то управление передается в блок 3. В противном случае управление передается в блок 6.
Блок 6 обеспечивает проверку заданного числа нейронов в слое. Если условие не выполнено, то управление передается в блок 4. В противном случае управление передается в блок 7.
Блок 7 предназначен для задания числа межнейронных связей.
Блок 8 обеспечивает проверку числа межнейронных связей. Если условие не выполнено, то управление передается в блок 7. В противном случае управление передается в блок 9.
Блок 9 предназначен для задания объема обучающей выборки.
Блок 10 обеспечивает проверку условия достаточности объема обучающей выборки. Если условие не выполнено, то управление передается в блок 9. В противном случае управление передается в блок 11.
Блок 11 обеспечивает вывод результатов.
Один из этапов создания работоспособной эффективной ИНС заключается в разработке ее модели (структуры). Как показал анализ современной литературы, в существующей технологии моделирования ИНС такому вопросу, как оперативная корректировка структуры сети, уделено недостаточно внимания. Открытые публикации, посвященные реализации данной процедуры, практически отсутствуют. Тем не менее значимость ее в практике принятия инвестиционных решений достаточно велика.
Известно, что в нервных системах реальных биологических объектов, откуда берут свое начало ИНС, некоторые связи между нейронами могут отсутствовать. Более того, отдельные нейроны (и даже группы) могут не действовать. При этом нервная система способна достаточно эффективно функционировать, не «обращая внимания» на существующие «неисправности». Применительно к ИНС данный момент в настоящее время малоизучен. Представляет интерес учесть вышеизложенные особенности в рамках существующей технологии моделирования ИНС, чтобы восполнить этот пробел. Для этой цели в качестве инструмента совершенствования технологии моделирования ИНС для исследователей-неспециалистов в области программирования предлагается использовать визуальный контактор (ВК).
ВК
представляет собой визуализированную
матрицу размером
,
где n
– число нейронов в слое,
а m
– количество слоев. Каждый элемент
матрицы, представляющий собой факт
наличия или отсутствия связи на k
- м слое между
i-
м и j-
м нейронами, может принимать значение
либо «0» - связь отсутствует, либо «1» -
связь присутствует.
В качестве примера моделируемой ИНС (рис. 4.22) представлен персептрон, имеющий 4 входа, входной (0-й) слой, два скрытых слоя с 4-мя нейронами в каждом и выходной слой с 2-мя нейронами.
Введем матрицу связей для данной ИНС:
.
(4.19)
Рассмотрим
элемент матрицы
.
Верхний индекс указывает на номер слоя
(в данном случае 0-й, т.е входной). В нижнем
индексе указаны номера
взаимодействующих нейронов (в данном
случае оценивается
взаимодействие 1-го
нейрона 0-го слоя с 1-м нейроном 1-го
скрытого слоя).
Если рассматривается случай, когда имеются взаимодействия между всеми нейронами ИНС, представленный на рис.4.18, то матрица связей с установленными значениями примет вид
. (4.20)
Если рассматривается случай, когда в ИНС, представленной на рис. 4.18, отсутствует взаимодействие между 2 - м нейроном 1-слоя и 4-м нейроном 2-го слоя, то матрица связей с установленными значениями примет вид
. (4.21)