Другие журналы
|
научное издание МГТУ им. Н.Э. БауманаНАУКА и ОБРАЗОВАНИЕИздатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211. ISSN 1994-0408![]()
Обучение нейросети на базе шарового метода оптимизации Ньютона
#6 Июнь 2005 П. А. Бондарев, д-р техн. наук, проф., Р. А. Проскурин, 45 Центральный научно-исследовательский институт Министерства обороны Российской Федерации
Обучение нейросети на базе шарового метода оптимизации Ньютона
Приведено описание разработанного метода оптимизации второго порядка. Метод позволяет повысить эффективность обучения монотонных сетей. Формализация базовых составляющих обучения осуществляется на основе обобщенного правила Хебба.
В настоящее время активно развивается "новая волна" исследований в области нейронных (нейроподобных) сетей. Модели нейронных сетей разрабатываются давно (особенно интенсивно — в конце пятидесятых и начале шестидесятых годов), но только в последнее время созрели научные и технические предпосылки для их технической реализации в форме нейрокомпьютеров. Естественно, что разные модели порождают различного типа нейроподобные сети и, соответственно, разные нейрокомпьютеры, эффективность которых при решении прикладных задач также различна. В связи с этим возникает проблема поиска или разработки таких моделей нейронных сетей, которые, с одной стороны, были бы наиболее удобны для реализации с помощью существующих технических и технологических средств, а с другой, могли бы обеспечить решение возможно более широкого круга задач искусственного интеллекта. В рамках одного из возможных направлений решения этой задачи предлагается строить нейроподобную сеть на основе разработанного метода оптимизации второго порядка — шарового метода Ньютона. Нейроподобная сеть в актах двойственного функционирования предоставляет все необходимые процедуры для реализации этого метода [1].
Шаровой метод оптимизации Ньютона Суть этого метода заключается в следующем. Пусть на Rn произвольно выбрана норма || • ||. В качестве матричной нормы для матрицы порядка n x п будет использоваться операторная норма, соответствующая || • ||. Пусть
Если Множество всех шаров Отметим ряд свойств введенной конструкции: ·
всякий шар ·
включение ·
пусть ·
если В дальнейшем будет использоваться более узкое понятие — арифметический
шар. Пусть Определим две операции:
Заметим, что если ζ = 0, то соотношения (1), (2) являются обычными операциями с векторами в Rn. Очевидными также являются соотношения Пусть Тогда найдется, по крайней мере, один шар Для специального случая евклидовой метрики как срединная точка x, так и радиус ζ, нового шара Z легко вычисляются по соотношениям
которые
справедливы при предположениях, не нарушающих общности Для построения методов нелинейного оценивания определим специальный шаровой оператор. Пусть Оператор L будет обозначаться также
выражением L = Любой шаровой оператор можно рассматривать как операторный шар, соответствующий соотношению
причем всегда верны утверждения: ·
·
Это означает, что относительная погрешность между матрицами ·
если
Отсюда
следует, что относительная погрешность между Рассмотрим класс функций F, состоящий из
множества всех функций b: B -> Rn таких, что
для каждого множества С вида
Если имеется более одного λ(C) и/или Очевидно, существует эквивалентное определение класса функций F0. Класс F
состоит из всех функций b: B → Rn,
для которых существует b-1 на b(B) и которые
удовлетворяют условию Липшица на С. Отметим ряд свойств функции b 1. Имеется по крайней мере один нуль функции b 2. На множестве C любая функция b
3. Пусть b
Кроме того, относительная погрешность между
4. Пусть b
5. (Критерий b Последнее соотношение верно, если b
удовлетворяет одной из теорем о среднем. Пусть на C
существует
Для построения численных методов нелинейного оценивания определим специальный шаровой оператор. Пусть Пусть <<
Очевидно, что N= N(C). Для введенного оператора характерны следующие свойства:
Следовательно, как mid Nx, так и rad Nx непрерывны на В. 2. Если 3. Если 4. Пусть b 5. Если x, x*
6. Пусть существует последовательность { b(x*) = 0. Тогда x*
Это означает, что применение оператора (13) к сходящейся
последовательности {
Нейросеть в процессе обучения Серьезной проблемой при обучении нейроподобной сети реальным задачам является то, что адаптивный ландшафт сети не соответствует гладкой и точно заданной функции оценки [2]. Построение сети на базе вышеописанного метода позволяет разрешить эту проблему. Процесс разворачивается следующим образом. В ходе обучения нейронной сети базовые составляющие можно обозначить так: поисковая активность, поощрение успеха, наказание неуспеха. При этом выделяются градации оценки: обычно две (успех — неуспех) или три (успех — нейтральный исход — неудача). В такой ситуации уже нет гладкой адаптивной функции оценки и поэтому невозможно применять простейшие методы поиска экстремума. Для построения новых алгоритмов оптимизации нейронных сетей необходимо формализовать базовые компоненты (активность—поощрение — наказание). Формализация возможна с помощью обобщенного правила Хебба. Это правило формализует наказания и поощрения: наказание состоит в усилении тормозных и ослаблении возбуждающих связей; поощрение, наоборот, — в усилении возбуждающих и ослаблении тормозных. Учитывая показатели чувствительности, нужно модифицировать не все связи, а только те, которые вносили существенный вклад в данный успех или неудачу. В чисто коннекционистских сетях обычно за показатель чувствительности для синаптического веса принимается модуль переданного по нему сигнала. При использовании правила Хебба предполагается, что наказание разрушит ошибочные действия, а поощрение усилит успешные. Наказание именно разрушает, а не исправляет, ибо нет направления спуска и неясно, куда "лучше". Тенденция неправильно действовать ослабляется. За счет поисковой активности появляются удачи, которые фиксируются поощрением. После некоторого времени обучения поисковая активность становится не совсем случайной — появляется ряд запретов, с одной стороны, и преимущественных направлений — с другой. Для нейронной сети, состоящей из большого числа нейронов и синаптических связей очень сложно формализовать понятия "тормозные и возбуждающие связи", так как увеличение выходного сигнала для одного нейрона может привести к уменьшению для другого. Трудно разделить параметры и сигналы на возбуждающие и тормозящие, для нескольких тактов функционирования ситуация еще больше усложняется. Невозможность четкой формализации в общем случае приводит к необходимости ввода сетей специальной структуры. Эти сети конструируются на базе дополнительно вводимого понятия монотонного функционального элемента. В качестве алгоритма обучения (оптимизации) монотонных функциональных элементов и, соответственно, монотонных сетей используется шаровой метод. Для определения возбуждения и торможения в случаях большого числа параметров и выходных сигналов используется понятие порядка в векторных пространствах, который задается с помощью замкнутого выпуклого телесного двойного конуса Q, в котором лежит множество всех шаров. Определим монотонный функциональный элемент для дальнейшего построения из них монотонных сетей. Функциональный элемент f по вектору входов A и вектору параметров α вычисляет вектор выходов f(A, α). Элемент f называется монотонным по входам, если в пространстве входов и пространстве выходов (Rfin и Rfout) определены векторные порядки с конусами положительных элементов Qfin и Qfout и для любого вектора параметров а f (•, α) — монотонно возрастающее отображение из Rfin в Rfout. Аналогично, f называется монотонным по параметрам, если в пространстве параметров Rfp и пространстве выходов Rfout определены векторные порядки с конусами положительных элементов Qfp и Qfout и для любого вектора входов Af(-,A) — монотонно возрастающее отображение из Rfp в Rfout. Элемент f называется монотонным, если он монотонен и по входам и по параметрам. Примером монотонного элемента может служить нейронная сеть из пороговых нейронов с линейными синапсами, имеющими неотрицательные веса, с линейными сумматорами перед входами нейронов и подачей внешних входных сигналов на нейроны. Важным преимуществом нейронной сети (не связанным с высоким уровнем параллелизма) при оценке качества функционирования является то, что для нейросетевой структуры по циклу функционирования нетрудно оценить значимость каждого параметра в получении данного ответа. Поощрение состоит в увеличении значимых параметров, наказание — в их уменьшении. Размер увеличений и уменьшений зависит от: · значения параметра; · момента обратного функционирования T, на котором параметр был включен в список значимых; · места соответствующего элемента в структуре сети. Проведенное сравнение с более простыми методами оптимизации показывает, что поощрение и наказание сильно различаются. Поощрение служит фиксации полезного навыка, а наказание уменьшает параметры, определяющие неправильный ответ, но не ведет к улучшению. Оно разрушает неправильные навыки с тем, чтобы их места заняли случайно найденные и поощренные правильные. Для процесса поощрения можно провести аналогию с одномерной оптимизацией. Для наказания по результатам решения одного примера такая аналогия невозможна. Работа сразу со страницей примеров позволяет ввести аналог одномерной оптимизации для наказаний и существенно ускоряет обучение. Еще более качественные показатели обучения неиросети получаются при реализации шарового алгоритма в качестве алгоритма наказания. Качество достигается за счет преимуществ, предоставляемых шаровым методом. Необходимо отметить, что после каждого цикла алгоритма и построения нового шара этот шаг оценивается — сеть решает все примеры страницы при новых значениях параметров. Определяются значения параметров сети, при которых оценка за решение примеров меняется с "хорошо" на "плохо". Для таких примеров выделяются значимые параметры и новый шар строится, когда положение этих значимых параметров нулевое. Дальше процесс продолжается до возникновения ухудшений в оценке. Когда это происходит, часть параметров очередного шара обращается в нуль, и так до тех пор, пока улучшение возможно. После наказания следует поощрение. Постепенное увеличение значимых параметров для хорошо решаемых примеров приводит к тому, что дальнейшее их увеличение вызывает ухудшение оценки. Далее — снова наказание, потом поощрение и т. д. Процесс останавливается либо тогда, когда все примеры страницы решены хорошо, либо после заданного числа наказаний и поощрений. Последним выполняется поощрение. Если не все примеры страницы решены хорошо, то проводится случайный поиск — генерируются случайные сдвиги параметров. Принимаются только те из них, которые не ухудшают решений. Потом снова наказание и поощрение и т. д. Когда правильно решены все примеры страницы, переход к следующей проводится специальным образом — с включением в новую страницу хорошо решаемых примеров с предыдущей. При описанном способе наказаний и поощрений необходимо такое включение всех или хотя бы части хорошо решаемых примеров с предыдущих страниц. Математическое подтверждение вышеописанного алгоритма обучения строится в виде доказательства теоремы с использованием обозначений, введенных при описании шарового метода. Теорема. Пусть b В этом случае порождается последовательность шаров Последовательность
радиусов шаров сходится по крайней мере линейно и Доказательство. Если λ = 0, то b
является линейной функцией. В этом случае применение к x0
шарового оператора N производит точку x*.
Если x* Допустим, что имеется (однозначно определяемый) нуль x* функции b на Z0 = В. Тогда x* Допустим, доказано уже, что x*
Схемная реализация шарового метода с помощью неиросети Работу нейронной сети при вычислении сложной функции представляется так: на вход сети подаются значения переменных xi(i=1,…, n). На каждом шаге вычисляется функция fj(j=n+1,…, N). На выходе сети при данных значениях параметров получается сложная функция F(α, x). Схема вычисления dF/dxi, dF/dαi; будет состоять из двух цепочек — прямой и обратной. Цепочка прямого функционирования, помимо вычисления, fj, будет включать еще вычисление частных производных этих функций по их аргументам. Для этого примем обозначения: fj, k — производная fj- по k-му аргументу (входу), fj, αm — производная fj по αm. Схематически такт прямого функционирования показан на рис. 1. В ходе обратного функционирования вычисляются производные dF/dxi (обозначим их μi) при i = 1, ..., n. Для вычисления dF/dα требуются дополнительные операции:
Рис. 1. Такт прямого функционирования с вычислением частных производных простых функций Суммирование ведется по всем j, для которых fj зависит от αp. Такт обратного функционирования изображен на рис. 2. Рис. 2. Такт обратного функционирования нейросети В качестве входов на каждый из автоматов, производящих умножение
(обозначим их При организации обучения используются вторые производные функции ошибки. Вычислять всю матрицу вторых производных и хранить ее в памяти слишком сложно. Существует возможность вычислять градиенты от некоторых функций градиента H:
где суммирование ведется по всем параметрам α. Поскольку градиент Н вычисляется в параллельно-последовательном режиме сетью автоматов прямого и обратного функционирования, то можно организовать обратное функционирование этой сети для вычисления нужных производных. Это дважды обратное функционирование называется "back-back" процедурой. Если ограничиться случаем xiT = xiT(in), формулы прямого и первого обратного функционирования будут иметь вид:
В обратно-обратном функционировании вычисляются производные функции оценки
по параметрам αij. Исходно H2 задана как функция H’ij - получаемых на выходе специальных сумматоров системы обратного функционирования. При обратно-обратном функционировании сумматоры заменяются точками ветвления, выходы — входами и на эти новые входы подаются частные производные H2(20). Разработан новый метод обучения нейронной сети. По сравнению с существующими традиционными методами оптимизации этот метод обладает следующими преимуществами: позволяет получить хорошее начальное приближение при решении задач нелинейного оценивания; обладает квадратичной скоростью сходимости; дает возможность отыскания экстремума функций многих переменных, обладающих множеством локальных минимумов, поверхности уровня которых имеют овражную структуру, являющихся адаптивным графиком нейронной сети.
Список литературы 1. Барцев С. И., Гилев С. Е., Охонин В. А. Принцип двойственности в организации адаптивных сетей обработки информации // Динамика химических и биологических систем. Новосибирск: Наука, 1989. С. 6—55. 2. Горбань А. Н. Обучение нейронных сетей. М.: СП Пара-Граф, 1990. 159 с.
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ, № 7, 1998 НЕИРОСЕТИ И НЕЙРОКОМПЬЮТЕРЫ
Ключевые слова: Нейронные сети, обучение нейронных сетей, оптимизация, методы второго порядка, шаровой метод.
Публикации с ключевыми словами: оптимизация, нейросети, метод Ньютона Публикации со словами: оптимизация, нейросети, метод Ньютона Смотри также:
Тематические рубрики: Поделиться:
|
|
||||||||||||||||||||||||||||||||
|