Московский авиационный институт (национальный исследовательский университет)
Построение нейронных сетей прямого распространения с использованием адаптивных элементов
Е.Н. Ефимов
Т.Я. Шевгунов
Традиционная нейронная сеть прямого распространения представляет собой систему взаимодействующих адаптивных элементов - нейронов [1, 2], каждый из которых выполняет определенное функциональное преобразование над сигналами. Существуют два основных методологических подхода к описанию процессов нейросетевой обработки сигналов: математический, основанный на описании сети в терминах функциональных преобразований, и системный, представляющий сеть в форме взаимодействующих подсистем, в которых происходит преобразование входных сигналов и сигналов. В настоящем исследовании используется системный подход, на основе которого предложена методика, предполагающая разбиение всей нейронной сети на блоки простых адаптивных элементов.
Так в работе [3] было впервые предложено представить процесс обратного распространения ошибки с помощью функциональной схемы, которая получила название системной диаграммы представления обратного распространения (backpropagation diagrammatic representation). Такая диаграмма является наглядным средством, позволяющим описать функционирования алгоритма обратного распространения. Однако в своей работе авторы используют её как вспомогательный инструмент для упрощения вывода необходимых выражений при анализе динамических нейронных сетей, предназначенных для обработки сигналов, являющихся функциями времени. Этот инструмент также был заимствован впоследствии другими авторами, например [2, 4], как наглядный способ представления правил обратного распространения при изучении предмета нейронных сетей.
В настоящей работе сделана попытка развить и систематизировать предложенный способ описания. Для этого авторы предлагают построить нейронную сеть на основе адаптивных элементов, которые предполагается сохранять отдельными друг от друга при построении математической модели сети. Между элементами организуются двунаправленными связи, которые в целом образуют два совмещенных графа для описания прямого и обратного распространения сигнала. Каждый элемент осуществляет обработку сигналов в прямом и обратном направлении, а также выполняет подстройку своих адаптируемых параметров в фазе обучения сети с использованием одного из известных методов обучения [5].
В общем виде некоторый адаптивный элемент осуществляет преобразование T входного вектора x в выходной вектор y:
(1)
где под вектором и подразумевается вектор параметров этого преобразования. Каждый адаптивный элемент обладает некоторым вектором параметров, значение которого определяется в процессе обучения. Адаптивные элементы связаны в структуре сети между собой при помощи двунаправленных каналов, обеспечивающих прохождение сигналов в прямом и обратном направлениях, что схематично показано на рис. 1.
Рис. 1. Структура сигнальных связей адаптивного элемента
Предполагается, что для нейронной сети существует два основных рабочих режима: режим эксплуатация и режим обучения. В режиме эксплуатации используется прямое прохождение, которое позволяет при известной форме преобразования T и векторе параметров и получить отклик yF элемента на некоторый входной сигнал xF. В режиме обучения выполнятся корректировка вектора параметров на основе сигнала ошибки xB.
Обучение нейронной сети
В данной работе рассмотрено обучение с учителем (supervised learning), при котором обучаемой сети последовательно представляется набор примеров из обучающего множества. Примеры представляют собой пары эталонных входных воздействий и желаемых выходных сигналов. Процесс обучения проходит циклически, на каждой итерации выполняется расчет сигналов при прямом и обратном распространениях, после чего сигналы ошибок используются для формирования локальных градиентов векторов адаптируемых параметров. Вычисленные локальные градиенты используются для последующей корректировки адаптируемых параметров [2, 6]. Используемые режимы обучения - это последовательный режим (online), при котором подстройка параметров происходит после каждого примера, и пакетный (batch), при котором подстройка осуществляется на основе кумулятивного локального градиента - суммы локальных градиентов по всем итерациям примеров из обучающего множества. В обоих режимах полный цикл представления множества шаблонов обучения, завершающийся подстройкой параметров, называется эпохой обучения сети. Для количественной оценки качества работы сети вводится функция потерь, имеющая смысл среднеквадратической ошибки (СКО):
(2)
где N - количество представленных шаблонов; tn - желаемый, или целевой (target), выходной сигнал сети в n-ом шаблоне; zn -выходной сигнал, вычисляемый сетью при подаче входного сигнала из n-ого шаблона.
На данном этапе исследования авторами рассматриваются только автономные методы обучения, которые для подстройки вектора параметров адаптивного элемента используют только те сигналы, которые присутствуют в самом рассматриваемом элементе. Корректирующее изменение Дит для m-го элемента ит из вектора адаптируемых параметров и вычисляется, на основе информации, полученной только из его локального градиента диm и истории изменения этого локального градиента с течением эпох.
Метод градиентного спуска является самым простым методом обучения сети. Адаптируемый параметров корректируется на величину согласно выражению:
(3)
где - скорректированное значение параметра, - исходное значение параметра, - корректирующее изменение. При этом величина корректирующего изменения определяется выражением:
(4)
где - коэффициент скорости обучения, - локальный градиент элемента.
В выражении (4) знак минус перед коэффициентом необходим для изменения параметра как аргумента функции в сторону уменьшения значения последней. Важно уделять особое внимание выбору коэффициента скорости обучения : маленькая величина коэффициента приведёт к увеличению времени (количества итераций), необходимого для обучения, однако слишком большая величина приведёт к дестабилизации обучения ввиду чрезмерного приращения параметра так, что он будет «проскакивать» оптимальное значение. О влиянии коэффициента обучения будет сказано позднее в результатах численного моделирования. Как привило, значение коэффициента принимают из условия:
(5)
Метод градиентного спуска является базовым методом, на основе которого строятся другие автономные методы первого и так называемого квазивторого порядка.
Одним из очевидных усовершенствований метода градиентного спуска является добавление эффекта инерции (momentum) при изменении параметров является методикой усреднения, позволяющей в ряде случаем значительно повысить стабильность процесса обучения (достижения параметрами своих оптимальных значений ). Данный метод, в целом, использует усреднённое значение изменений параметров в предыдущих эпохах для вычисления измерения параметра в текущей эпохе, что позволяет сделать изменение параметров более плавным. Используется экспоненциальное среднее значений измерений параметров за все предыдущие эпохи, в этом случае выражение для вычисления коррекции (4) принимает вид:
(6)
где - корректирующее изменение текущей (-ой) эпохи, корректирующее изменение предыдущей эпохи, - коэффициент инерции, - коэффициент скорости обучения, - локальный градиент элемента.
Коэффициент инерции определяет меру влияния предыдущих подстроек на текущую и, как правило, выбирается исходя из условия:
Левая часть в выражении (6) представляет собой влияние предыдущих подстроек значения параметра на текущую подстройку, при этом корректирующее изменение предыдущей эпохи взвешено коэффициентом инерции , следовательно, чем больше коэффициент инерции, тем более сильное влияние оказывает история изменения параметра на текущее изменение. Правая часть выражения повторяет соответствующее выражение (4) для метода градиентного спуска, однако включает взвешивающий коэффициент для учёта доли влияния предыдущих эпох. В случае, когда коэффициент инерции равен 0, метод Momentum вырождается в метод градиентного спуска, при этом история измерения корректирующих значений за предыдущие эпохи не влияет на корректирующее значение текущей эпохи (выражение (6) формально переходит в (4)).
В работе [3] подробно рассмотрен метод, известный под названием Delta-Bar-Delta. В отличие от метода градиентного спуска и момента, принципиальное расширение данного метода заключается в том, что для каждого адаптивного параметра вводится индивидуальный коэффициент скорости обучения. После каждой эпохи обучения происходит как подстройка адаптируемых параметров, так и подстройка коэффициента скорости обучения. Для упрощения выкладок рассмотрим один из адаптируемых параметров, который обозначим через . Для корректировки его скорости изменения вводится вспомогательный параметр (который мы обозначим через f) также изменяющийся с течением номера эпохи по правилу (7).
(7)
где коэффициент () определяет «глубину памяти» накопления истории предыдущих значений градиента. Для текущей эпохи вспомогательный параметр определяет градиент, накопленный за предыдущие эпохи. Если знак величины градиента текущей эпохи совпадает со знаком коэффициента , то скорость обучения увеличивается, иначе - уменьшается. Величины изменений скорости обучения определяются выражением:
(8)
Параметры и , выбираемые в диапазоне от нуля до единицы, определяют, насколько велико будет изменение скорости обучения при каждой подстройке. Вектор, составленный из значений скоростей , вычисляемых по формуле (8), и значение градиента используются в формуле (4) для вычисления нового значения вектора адаптируемых параметров.
Адаптивные элементы
Использование автономных методов обучения позволяет построить сравнительно простые модели элементов, простейшие из которых показаны на рис. 2 а) - г).
Рис. 2. Простейшие элементы нейронной сети: а) адаптивный умножитель, б) безынерционный функциональный преобразователь, в) разветвитель, г) сумматор
Среди адаптивных элементов усилитель занимает центральное место, т.к. именно в нем реализуется подстройка коэффициентов сети в соответствие с выбранным методом обучения. Схематически усилитель представлен на рис. 2 а), он имеет один вход и один выход, при этом выходной сигнал определяется выражением:
. (9)
При обратном распространении сигнала усилитель не изменяет своего поведения, т.е. выходной сигнал является в раз усиленным входным сигналом:
(10)
Усилитель в процессе обучения нейронной сети способен изменять собственный коэффициент усиления, реализуя при этом адаптивные свойства сети.
Функциональный преобразователь является в общем виде элементом с одним входом, одним выходом и известной передаточной функцией . Поведение всех функциональных преобразователей при прямом и обратном прохождении сигналов определяются их функциями и первыми производными .
Функциональный преобразователь показан на рис. 2 б), его выходной сигнал при прямом распространении определяется выражением 11.
(11)
где - входной сигнал при прямом распространении, - выходной сигнал при прямом распространении, - функция преобразования. При обратном распространении функциональный преобразователь представляет собой усилитель, при этом выходной сигнал определяется выражением:
(12)
где - входной сигнал при обратном распространении, - выходной сигнал при обратном распространении, - коэффициент усиления:
(13)
Коэффициент усиления определяется выражением (13), что показывает зависимость поведения элемента при обратном распространении от значения первой производной функции f в точке xf.
Функциональные преобразователи входят в состав нейронов, формируя различные виды последних, при этом функция преобразования является функцией активации нейрона.
Для представленных элементов были получены функции преобразования сигналов при прямом прохождении сигнала и обратном распространении ошибки. Композиция простейших элементов позволяет построить классические структурные элементы сети прямого распространения - нейрон и нейронный слой, которые в свою очередь также могут быть описаны с использованием нотации адаптивных элементов.
Рис. 3. Декомпозиция нейрона при прямом прохождении сигнала
«Классический» нейрон модели МакКаллока-Питтса в парадигме построения нейронной сети на основе простых адаптивных элементов может быть реализован алгоритмически, либо композицией простейших элементов (сумматоров, усилителей и функциональных преобразователей). Алгоритмическая реализация, несомненно, обладает лучшей производительностью, однако для большей наглядности будет рассмотрена композиционная модель, она показана на рис. 3. Входные усилители индивидуальны для каждого входного сигнала, таким образом их коэффициенты, фактически, являются синоптическими весами нейрона. Функциональный преобразователь на выходе в качестве функции преобразования содержит функцию активации нейрона .
Рис. 4. Декомпозиция нейрона при обратном распространении ошибки
Выходной сигнал нейрона формируется как результат прохождения суммы взвешенных входных сигналов через функциональный преобразователь:
(14)
где - выходной сигнал при прямом прохождении, - функция активации, - -ый входной сигнал, - -ый синоптический вес.
При обратном распространении сигнала поведение нейрона определяется поведением его составных элементов, рассмотренных ранее, в общем случае выходной сигнал определяется выражением 15.