|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Настройка числа нейронов в скрытых слоях многослойных сетей в процессе обученияДля того чтобы многослойная нейронная сеть реализовывала заданное обучающей выборкой отображение, она должна иметь достаточное число нейронов в скрытых слоях. В настоящее время нет формул для точного определения необходимого числа нейронов в сети по заданной обучающей выборке. Однако предложены способы настройки числа нейронов в процессе обучения, которые обеспечивают построение нейронной сети для решения задачи и дают возможность избежать избыточности. Эти способы настройки можно разделить на две группы: конструктивные алгоритмы (constructive algorithms) и алгоритмы сокращения(pruning algorithms). В основе алгоритмов сокращения лежит принцип постепенного удаления из нейронной сети синапсов и нейронов. В начале работы алгоритма обучения с сокращением число нейронов в скрытых слоях сети заведомо избыточно. Существуют два подхода к реализации алгоритмов сокращения: а) метод штрафных функций: в целевую функцию алгоритма обучения вводится штрафы за то, что значения синаптических весов отличны от нуля; пример штрафа: где - синаптический вес, i - номер нейрона, j - номер входа, N - число нейронов, M - размерность входного сигнала нейронов; б) метод проекций: синаптический вес обнуляется, если его значение попало в заданный диапазон:
(49) где - некоторая константа. Алгоритмы сокращения имеют, по крайней мере, два недостатка:
Предшественником конструктивных алгоритмов можно считать методику обучения многослойных сетей, включающую в себя следующие шаги: 1. выбор начального числа нейронов в скрытых слоях, 2. инициализация сети, то есть присваивание синаптическим весам и смещениям сети случайных значений из заданного диапазона, 3. обучение сети по заданной выборке, 4. завершение в случае успешного обучения; если сеть обучить не удалось, то число нейронов увеличивается и повторяются шаги со второго по четвертый. В конструктивных алгоритмах число нейронов в скрытых слоях изначально мало и постепенно увеличивается. В конструктивных алгоритмах сохраняются навыки, приобретенные сетью до увеличения числа нейронов. Конструктивные алгоритмы различаются правилами задания значений параметров в новых - добавленных в сеть - нейронах: 1. значения параметров - случайные числа из заданного диапазона, 2. значения синаптических весов нового нейрона определяются путем расщепления (splitting) одного из старых нейронов. Первое правило не требует значительных вычислений, однако его использование приводит к некоторому увеличению значения функции ошибки после каждого добавления нового нейрона. В результате случайного задания значений параметров новых нейронов может появиться избыточность в числе нейронов скрытого слоя. Расщепление нейронов лишено двух указанных недостатков. Суть алгоритма расщепления проиллюстрирована на рисунке 23. Рисунок 23 - Вектор весов нейрона скрытого слоя и изменения, соответствующие отдельным обучающим примерам На рисунке 23 показан вектор весов нейрона скрытого слоя на некотором шаге обучения и векторы изменения весов, соответствующие отдельным обучающим примерам. Векторы изменений имеют два преимущественных направления и образуют в пространстве область, существенно отличающуюся от сферической. Суть алгоритма заключается в выявлении и расщеплении таких нейронов. В результате расщепления вместо одного исходного в сети оказывается два нейрона. Первый из этих нейронов имеет вектор весов, представляющий из себя сумму вектора весов исходного нейрона и векторов изменений весов одного из преимущественных направлений. В результате суммирования векторов изменений весов другого преимущественного направления и вектора весов исходного нейрона получают синаптические веса второго нового нейрона. Убирать из сети - расщеплять - нейроны, векторы изменений которых имеют два преимущественных направления, необходимо потому, что наличие таких нейронов приводит к осцилляциям при обучении классическим методом обратного распространения. При обучении методом с интегральной функцией ошибки наличие таких нейронов приводит к попаданию сети в локальный минимум с большим значением. Самым большим недостатком алгоритма является экспоненциальный рост времени вычислений при увеличении размерности сети. Для преодоления указанного недостатка предлагается упрощенный алгоритм расщепления, который не требует значительных вычислений. Общее число нейронов в сети, построенной с помощью предлагаемого алгоритма по заданной обучающей выборке, может быть несколько больше, чем у сети, построенной с помощью исходного алгоритма. В упрощенном алгоритме для расщепления выбирается нейрон с наибольшим значением функционала. (50) где - вектор изменений синаптических весов нейрона, i - номер нейрона, i=1,2,...N, N - число нейронов, - номер обучающего примера, P - число примеров в обучающей выборке, - длина вектора. Таким образом, в качестве критерия выбора нейрона для расщепления используется отношение суммы длин векторов изменений синаптических весов нейрона, соответствующих различным обучающим примерам, к длине суммы этих векторов. В результате расщепления вместо исходного нейрона в сеть вводятся два новых нейрона. Значение каждого синаптического веса нового нейрона есть значение соответствующего веса старого нейрона плюс некоторый очень небольшой шум. Величины весов связей выходов новых нейронов и нейронов следующего слоя равны половине весов связей исходного нейрона с соответствующими весами следующего слоя. Упрощенный алгоритм, как и исходный, гарантирует, что функция ошибки после расщепления увеличиваться не будет.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |