Аппроксимирующая сеть, скрытый слой которой состоит из 80 нейронов, на основе интерполяции в 21-й точке адаптировала свои выходные сигналы с нулевой погрешностью обучения.
Минимизация этой погрешности на слишком малом (относительно количества весов) количестве обучающих выборок спровоцировала случайный характер значений многих весов, что при переходе от обучающих выборок к тестовым стало причиной значительных отклонений фактических значений у от ожидаемых значений d. Уменьшение количества скрытых нейронов до 5 при неизменном объеме обучающего множества позволило обеспечить и малую погрешность обучения, и высокий уровень обобщения (рис. 4.17).
Дальнейшее уменьшение количества скрытых нейронов может привести к потере сетью способности восстанавливать обучающие данные (т.е. к слишком большой погрешности обучения EL(w)). Подобная ситуация иллюстрируется на рис. 4.18, где задействован только один скрытый нейрон.
Сеть оказалась не в состоянии корректно воспроизвести обучающие данные, поскольку количество ее степеней свободы слишком мало по сравнению с необходимым для такого воспроизведения.
Очевидно, что в этом случае невозможно достичь требуемого уровня обобщения, поскольку он явно зависит от погрешности обучения EL(w)). На практике подбор количества скрытых нейронов (и связанный с ним подбор количества весов) может, в частности, выполняться путем тренинга нескольких
сетей с последующим выбором той из них, которая содержит наименьшее количество скрытых нейронов при допустимой погрешности обучения.
Решение по выбору окончательной схемы сети может быть принято только после полноценного обучения (с уменьшением погрешности до уровня, признаваемого удовлетворительным) различных вариантов ее структуры. Однако нет никакой уверенности в том, что этот выбор будет оптимальным, поскольку тренируемые сети могут отличаться различной чувствительностью к подбору начальных значений весов и параметров обучения. По этой причине базу для редукции сети (англ. pruning) составляют алгоритмы отсечения взвешенных связей либо исключения нейронов в процессе обучения или после его завершения.
Как правило, методы непосредственного отсечения связей, основанные на временном присвоении им нулевых значений, с принятием решения о возобновлении их обучения по результатам наблюдаемых изменений величины целевой функции (если это изменение слишком велико, следует восстановить отсеченную связь) оказываются неприменимыми из-за слишком высокой вычислительной сложности. Большинство применяемых в настоящее время алгоритмов редукции сети можно разбить на две категории. Методы первой группы исследуют чувствительность целевой функции к удалению веса или нейрона. С их помощью устраняются веса с наименее заметным влиянием, оказывающие минимальное воздействие на величину целевой функции, и процесс обучения продолжается уже на редуцированной сети.
Методы второй группы связаны с модификацией целевой функции, в которую вводятся компоненты, штрафующие за неэффективную структуру сети. Чаще всего это бывают элементы, усиливающие малые значения амплитуды весов. Такой способ менее эффективен по сравнению с методами первой группы, поскольку малые значения весов не обязательно ослабляют их влияние на функционирование сети.
Принципиально иной подход состоит в начале обучения при минимальном (обычно нулевом) количестве скрытых нейронов и последовательном их добавлении вплоть до достижения требуемого уровня натренированности сети на исходном множестве обучающих выборок. Добавление нейронов, как правило, производится по результатам оценивания способности сети к обобщению после определенного количества циклов обучения. В частности, именно такой прием реализован в алгоритме каскадной корреляции Фальмана.
Адекватный выбор количества нейронов и слоев — серьезная и нерешенная проблема для нейронных сетей. Основным способом выбора остается прямой перебор различного количества слоев и определение лучшего. Для этого требуется каждый раз по-новому создавать сеть. Информация, накопленная в предыдущих сеансах обучения, теряется полностью. Начинать перебор количества нейронов можно как с заведомо избыточного, так и с недостаточного. Независимо от этого новая созданная сеть с другим количеством нейронов требует полного переобучения.
Динамическое добавление нейронов состоит во включении нейронов в действующую сеть без утраты ее параметров и частично сохраняет результаты, полученные в предыдущем обучении. Сеть начинает обучение с количеством нейронов, заведомо недостаточным для решения задачи. Для обучения используются обычные методы. Обучение происходит до тех пор, пока ошибка не перестанет убывать и не выполнится условие
, (4.8)
где
t
-
время обучения;
-
пороговое значение
убыли ошибки;
-
минимальный интервал
времени обучения между добавлениями
новых нейронов; t0
- момент времени последнего добавления.
Когда выполняются оба условия, добавляется
новый нейрон. Веса и порог нейрона
инициализируются небольшими случайными
числами. Обучение снова повторяется до
тех пор, пока не будут выполнены условия
(4.4). График типичной зависимости ошибки
от времени обучения приведен на рис.4.19.
Моменты добавления новых нейронов отмечены пунктиром. После каждого добавления ошибка сначала резко возрастает, так как параметры нейрона случайны, а затем быстро сходится к меньшему значению.
Численные эксперименты показали, что погрешность обучения при увеличении количества итераций монотонно уменьшается, тогда как погрешность обобщения снижается только до определенного момента, после чего начинает расти. График типичной динамики этих показателей представлен на рис. 4.20, где погрешность обучения EL обозначена сплошной, а погрешность обобщения EG пунктирной линией.
Приведенный график показывает, что слишком долгое обучение может привести к "переобучению" сети, которое выражается в слишком детальной адаптации весов к несущественным флуктуациям обучающих данных.
Такая ситуация имеет место при использовании сети с чрезмерным (по сравнению с необходимым) количеством весов, и она тем более заметна, чем больше "лишних" весов содержит сеть. Излишние веса адаптируются к любым нерегулярностям обучающих данных, которые воспринимают их в качестве важных.
Как следствие, на этапе тестирования они становятся причиной возникновения значительных погрешностей воспроизведения.
Для предупреждения переобучения в обучающем множестве выделяется область контрольных данных (подмножество V на рис. 4.15), которые в процессе обучения применяются для оперативной проверки фактически набранного уровня обобщения.
Обучение прекращается, когда погрешность обобщения на этом подмножестве достигнет минимального значения (или начнет возрастать).
Редукция сети производится для уменьшения количества скрытых нейронов межнейронных связей. Поскольку каждый скрытый нейрон представляет гиперплоскость, разделяющую множество данных на кластеры, редукция сети упрощает такое разделение и усиливает способность к обобщению.
Простейшим критерием редукции считается учет величины весов. Веса, которые значительно меньше средних, оказывают незначительное влияние на общий уровень выходного сигнала связанного с ними нейрона. Поэтому их можно отсечь без существенного вреда для его функционирования.
Однако в некоторых случаях малые значения весов не обязательно оказывают наименьшее воздействие на поведение нейрона. В таких ситуациях их отсечение может привести к серьезным изменениям в работе сети. Поэтому лучшим критерием следует признать учет чувствительности сети к вариациям весов. Без серьезных последствий для сети из нее могут быть исключены только те веса, чувствительность к изменениям которых оказывается минимальной.
Такой подход к проблеме отсечения весов может быть обоснован разложением целевой функции в ряд Тейлора. В соответствии с ним изменение величины целевой функции, вызванное вариацией весов, можно выразить формулой
, (4.9)
в
которой
wi
означает
вариацию i-го
веса, gi
— i-ю
составляющую вектора градиента
относительно этого веса
,
а hij
— это
элементы гессиана,
.
Не рекомендуется отсекать веса в процессе обучения, поскольку низкая чувствительность сети к конкретному весу может быть связана с его текущим значением либо с неудачно выбранной начальной точкой (например, при застревании нейрона в зоне глубокого насыщения). Рекомендуется отсекать веса (проводить регуляризацию сети) только по завершении процесса обучения, когда все нейроны обретут свои постоянные характеристики. Это исключает применение градиента в качестве показателя чувствительности, поскольку минимум целевой функции характеризуется нулевым значением градиента. Поэтому в качестве показателя важности конкретных весов приходится использовать вторые производные целевой функции (элементы гессиана).
Одним из лучших способов регуляризации сети считается метод, предложенный ЛеКуном [105]. Он называется OBD (англ. Optimal Brain Damage). Исходная позиция этого метода - разложение целевой функции в ряд Тейлора в окрестности текущего решения. Для упрощения задачи ЛеКун при использовании метода OBD исходит из того, что вследствие положительной определенности гессиана матрица Н является диагонально доминирующей. Поэтому можно учитывать только диагональные элементы hkk и игнорировать все остальные. В качестве меры значимости веса wij в методе OBD используется показатель Sij, называемый коэффициентом асимметрии (англ. saliency), который определяется в виде
. (4.10)
Отсечение весов с наименьшими значениями показателя Sij не вызовет существенных изменений в процессе функционирования сети. Процедуру OBD редукции сети можно описать в виде следующей последовательности действий: