Двухэтапное обучение нейронных сетей в

advertisement
6О
УДК 519.7
Д.Н. Олешко, В.А. Крисилов
Одесский национальный политехнический университет, Украина


В процессе проектирования нейронного вычислителя можно выделить
два этапа:
1) структурный синтез – выбор модели нейронной сети, типа функции активации
нейронов, количества скрытых слоев, определение количества нейронов в
слоях;
2) параметрический синтез – определение значений весовых коэффициентов,
которые обеспечивали бы решение нейронной сетью поставленной задачи.
На сегодняшний день разработано достаточное количество формализованных методик параметрического синтеза, позволяющих обучить нейронную
сеть и, в некоторых случаях, сократить время ее обучения [1-3]. Современные
подходы, направленные на повышение качества функционирования искусственных нейронных сетей, большей частью предлагают принципиально новые
структурные и алгоритмические решения [4]. Однако в известных классических
алгоритмах обучения нейронных сетей существуют резервы, позволяющие
повысить их точность и скорость [5].
Если же рассматривать проблему ускорения синтеза нейронного
вычислителя в целом, то нельзя обойти вниманием и этап структурного синтеза.
Из-за своей слабой формализации решение этой задачи носит зачастую
эмпирический характер, что, как правило, приводит к большим временным
затратам. Автоматизация данного этапа дала бы возможность создать единую
информационную технологию синтеза нейронного вычислителя, объединяющую
в себе структурный и параметрический синтез в единый последовательный
процесс, что позволит существенно сократить затрачиваемое на это время.
Данная статья посвящена рассмотрению подхода к ускорению обучения
нейронной сети путем модернизации обучающего алгоритма с обратным
распространением ошибки [6] при сохранении достаточного качества обучения и
функционирования сети. Кроме этого, в рамках предложенного подхода
рассмотрены формализованные механизмы структурного синтеза многослойной
нейронной сети.
Анализ процесса обучения многослойной нейронной сети алгоритмом
обратного распространения ошибки выявил основные причины, вызывающие
значительные затраты времени в рамках параметрического синтеза [5]:
 установка на получение как можно меньшей ошибки нейронной сети или
вообще сведения ее к нулю – для большинства реальных задач такая точность
обучения невозможна в силу естественного разнообразия и противоречивости
объектов обучающей выборки;
742
«Искусственный интеллект» 4’2002
Двухэтапное обучение нейронных сетей…
6О
 при использовании в параметрическом синтезе постоянного шага изменения
весовых коэффициентов велика вероятность того, что алгоритм обучения не
сможет попасть в точку минимума функции ошибки сети, совершая
«холостые» пересчеты весовых коэффициентов, что существенно усугубляется предыдущей причиной;
 высокая противоречивость и неравномерность обучающей выборки и
множества распознаваемых классов – некачественная выборка может стать
причиной продолжительного времени обучения и в результате привести к
неспособности обученной таким образом сети решать поставленные задачи
Кроме того, значительные затраты времени на обучение нейронной сети
алгоритмом обратного распространения ошибки связаны с большой трудоемкостью
непосредственно самой процедуры обратного распространения ошибки.
В данной работе предлагается отойти от общепринятого принципа –
поправлять сеть после подачи на ее входы каждого обучающего набора [6]. В
разработанном подходе на основе анализа накопленных за эпоху обучения сети
данных предлагается однократно вычислять новые значения весовых
коэффициентов, а также принимать решение о необходимости и характере
реструктуризации нейронной сети.
Последовательность и основные этапы синтеза нейронного вычислителя
могут быть проиллюстрированы ГСА (рис. 1). Рассмотрим процесс
параметрического синтеза многослойной нейронной сети алгоритмом обратного
распространения ошибки. Сети на вход поочередно подаются обучающие наборы,
на которые она вычисляет свою реакцию, которая затем сравнивается с
эталонным значением. В процессе обучения сети можно выделить три вида
ошибок: элементарная ( ek ), локальная ( Ei ) и глобальная ( E ) [7]. Элементарная
ошибка – это ошибка нейрона выходного слоя на одной итерации обучения;
локальная ошибка – ошибка нейронной сети на одном обучающем наборе,
представляющая собой усредненное значение элементарных ошибок; глобальная
ошибка – ошибка нейронной сети на всей обучающей выборке – усредненное
значение локальных ошибок. Далее, в случае если реакция сети и эталонное
значение не совпадают, производится коррекция весовых коэффициентов с целью
минимизировать глобальную ошибку на выходе нейронной сети.
Если представить процесс обучения графически, глобальная ошибка
образует некоторую поверхность E  F w1 ,  , wk  в k-мерном пространстве, где
wk – значение веса k-й связи сети, и, в свою очередь, образована множеством
поверхностей локальных ошибок E m  f w1 ,  , wk  , где m – количество наборов
в обучающей выборке. В фазе обратного распространения в процессе обработки
всех обучающих наборов минимизируется значение каждой отдельной E m ; задача
же обучающего алгоритма найти точку минимума E . Перебирая варианты
множества весов, он совершает перемещения по этой поверхности в различных
направлениях (соответствующих разным обучающим наборам), но в окрестности
одной точки, являющейся минимумом функции глобальной ошибки для данной
обучающей выборки. Результирующая точка на поверхности E после подачи всех
наборов будет некоторым средним всех совершенных перемещений.
«Штучний інтелект» 4’2002
743
Олешко Д.Н., Крисилов В.А.
6О
НАЧАЛО
Парамет. синтез
Формирование
ОВ
Forward
Pass
Структурный
синтез ИНС
Выч. ошибок
выход. слоя
Парамет.
синтез ИНС
Выч. ошибок
скрыт. слоев
А
Выч. новых
знач. весов
В
0
1
Епр  пр
0
Nнаб = n
Причина
Структура
1
ОВ
1
0
Е  об
КОНЕЦ
КОНЕЦ
Рис. 1
ОВ – обучающая выборка; ИНС – искусственная нейронная сеть;
Епр – ошибка построенного сетью прогноза; пр – допустимая ошибка
прогноза; Nнаб – количество обработанных обучающих наборов из
выборки; n – количество обучающих наборов в выборке; Е – глобальная
ошибка сети; об – допустимая ошибка обучения
Из описанного выше и рис. 1 видно, что после каждого поданного на вход
нейронной сети обучающего набора выполняется вычисление ошибок нейронов
скрытых слоев и затем пересчет всех весовых коэффициентов сети – блоки «А» и
«В». Эти блоки алгоритма являются наиболее трудоемкими и обуславливают
значительные затраты времени в случае большой размерности сети и/или
обучающей выборки.
На основании сказанного можно предложить следующий подход, который
позволил бы ускорить синтез сети в целом, состоящий из двух основных этапов:
1) подача на входы нейронной сети всех наборов обучающей выборки без
пересчета весовых коэффициентов, но с фиксацией параметров обучения на
каждом наборе: элементарные ошибки нейронов, значения приращений весовых
коэффициентов, уровни активации нейронов;
2) анализ накопленной информации и однократный пересчет значений весовых
коэффициентов сети.
Использование такого подхода при обучении нейронных сетей возможно
в двух вариантах:
1) ускоренное обучение с мажорированием элементарных ошибок;
2) обучение с анализом и коррекцией структуры нейронной сети.
744
«Искусственный интеллект» 4’2002
Двухэтапное обучение нейронных сетей…
6О
В первом варианте предлагается исключить из обучающего алгоритма фазу
обратного распространения ошибки при обучении сети отдельному набору или же,
согласно рис. 1, удалить из процесса
блоки «А» и «В». Вместо этого на
каждой
итерации
производится
Origin
фиксация значений всех элементарных
ошибок нейронной сети. По завершению обработки обучающей выборки
Оpt
вычисляется среднее значение ошибки
для каждого ее выхода. Затем фазой
обратного распространения через сеть
проводятся эти вычисленные значения
Классический подход
ошибок. Таким образом, блоки «А» и
Предложенный подход
«В» выполняются только один раз за
эпоху обучения, что существенно
Рис. 2
сокращает время обучения нейронной
сети. Кроме того, исчезает «дребезг»
значений весовых коэффициентов, что само по себе позволяет достичь точки
оптимума за меньшее количество итераций (рис. 2).
Во втором варианте блоки «А» и «В» не исключаются из процесса
обучения. Однако новые значения весовых коэффициентов не присваиваются
связям нейронной сети, вместо этого значения приращений весов накапливаются
в течение всей эпохи. Накопленная статистика используется затем для анализа
полноты структуры нейронной сети. В рамках данного подхода для реструктуризации сети предлагается использовать следующие правила:
1. Правило добавления нейрона: если у некоторого нейрона скрытого слоя дисперсия
его ошибки велика, необходимо добавить нейрон в скрытый слой.
2. Правило изъятия нейрона: если среднее значение уровня активации нейрона за
всю обучающую выборку близко к нулю, данный нейрон является избыточным и
его необходимо удалить.
Затем, как и в предыдущем варианте, вычисляются единые значения
элементарных ошибок, и производится пересчет весовых коэффициентов.
Итак, сделаем выводы. Применение двухэтапного подхода с
мажорированием элементарных ошибок позволяет в несколько раз сократить
время обучения нейронной сети. Этот эффект наиболее заметен на сетях и
обучающих выборках больших размерностей.
Высокая скорость и качество обучения обусловлены тем, что усреднение
ошибки по выборке:
 позволяет сгладить «шум», присутствующий во входных данных;
 компенсировать некачественное построение обучающей выборки;
 дает возможность избегать значений локальных минимумов Е и с большей
вероятностью достигнуть глобального минимума, поскольку результирующее
смещение по поверхности E направлено на минимизацию наиболее часто
встречающейся ошибки.
Данный подход дает возможность объединить структурный и
параметрический синтез в рамках единой информационной технологии синтеза
нейронного вычислителя. Автоматизация структурного синтеза сама по себе дает
«Штучний інтелект» 4’2002
745
Олешко Д.Н., Крисилов В.А.
6О
существенный выигрыш во времени при разработке нейронного вычислителя. В
данном случае алгоритм построения структуры сети дополнен еще и быстрым
обучающим алгоритмом, что позволяет еще более сократить время построения
оптимальной нейронной сети для решения конкретной задачи.
На основе накопленных за эпоху обучения данных можно сделать выводы
не только о полноте структуры искусственной нейронной сети, но и сформировать некоторые заключения о качестве построенной обучающей выборки.
Однако данные исследования являются темой отдельной работы и в рамках этого
материала не рассматриваются.
Поскольку вычисление весовых коэффициентов производится только один
раз и итерации обучения независимы друг от друга, данный подход дает прекрасную
возможность распараллеливания процесса обучения. На «Сервере» создается модель
сети и обучающая выборка, которые рассылаются «Клиентам». Во избежание
простоев отдельных «Клиентов» обучающая выборка должна делиться между ними
пропорционально их производительности. Каждый «Клиент» выполняет обработку
своей части обучающей выборки без пересчета весовых коэффициентов, но с
фиксацией параметров обучения нейронной сети. По окончании обработки части
выборки «Клиенты» отсылают «Серверу» накопленную информацию, на основании
которой «Сервер» пересчитывает весовые коэффициенты сети и возможно изменяет
ее структуру. Затем новый, измененный экземпляр сети вновь рассылается
«Клиентам», и процесс повторяется.
Предварительные эксперименты по применению предложенного подхода в
задачах прогнозирования временных рядов показали, что количество эпох обучения
нейронной сети сократилось в среднем в 2,5 раза при неизменном качестве прогноза.

1. Джеффри Е. Хинтон. Как обучаются нейронные сети // В мире науки. – 1992. – № 11-12. – С. 103-107.
2. Patrick P. Minimisation Methods for Training Feedforward Neural Networks // Neural Networks. –
1994. – Vol. 7, № 1. – P. 1-11.
3. Авеньян Э.Д. Алгоритмы настройки многослойных нейронных сетей // Автоматика и
телемеханика. – 1995. – № 5. – С. 106-118.
4. Российские ученые разработали брейнпьютер // http://www.wn.ru/computers/26.04.2001/1.htm
5. Олешко Д.Н., Крисилов В.А. Повышение качества и скорости обучения нейронных сетей в
задаче прогнозирования поведения временных рядов // Пр. «МКІМ – 2002». – Львів. – 2002. –
С. 76-81.
6. Rumelhart B.E., Minton G.E., Williams R.J. Learning Representations by Back Propagating Error //
Wature. – 1986. – Vol. 323. – P. 1016-1028.
7. Крисилов В.А., Олешко Д.Н., Лобода А.В. Методы ускорения нейронных сетей // Вестник
СевГТУ. Сер. Информатика, электроника, связь. – 2001. – Вып. 32. – С. 19.
In this article, the problem of acceleration and automation of multi-layer neural networks synthesis is
considered. The offered approach is an improved classical Back Propagation algorithm and suggests a
two-stage procedure for both parametrical and structural synthesis. The main idea of this approach
consists in refusing the changing of weights on every iteration. Statistics during the training epoch is
being collected and then used for calculating of new weights and performing of possible reconfiguration
of network's structure.
Статья поступила в редакцию 16.07.02.
746
«Искусственный интеллект» 4’2002
Download