Объем обучающей выборки
Первое естественное желание состоит в том, чтобы увеличивать число примеров в обучающем множестве. Чем их больше, Тем более представительны данные. Как и в любом физическом измерении, увеличение числа наблюдений уменьшает шум. Если имеется несколько измерения одного объекта, сеть возьмет их среднее значение, и это лучше, чем точно следовать одному единственному зашумленному значению.
Однако на практике и, особенно, в финансовых приложениях невозможно получить такое количество наблюдений, которое было бы желательно в свете положений статистики. Число необходимых примеров резко растет с увеличением сложности моделируемой функции и повышением уровня шума. Более того, доступные нам данные могут иметь все меньшее отношение к делу. Как, например, информация, собранная в 1950 году, может быть значимой для описания современного положения в финансовом мире? Наконец, могут существовать физические ограничения на размер базы данных, например, объем памяти или недопустимо большое время обучения.
Вопросам, связанным с объемом множества образцов и сложностью сети, посвящены многочисленные исследования. В частности, изучались пороговые требования, которым должна удовлетворять система классификации, чтобы быть линейно отделяющей. Более точные результаты получены для пороговых нейронов: Баум установил, что на сети г прямой связью, построенной из линейных
пороговых функциональных элементов, можно получить правильные обобщения, если объем обучающего множества в несколько раз
больше объема сети. Для многослойных сетей общего вида, построенных из сигмоидальных элементов, аналогичное утверждение не
имеет места.
Последовательный спуск, или использование
подтверждающего множества
Другой способ избавиться от переобучения заключается в том, чтобы измерить ошибку сети на некотором множестве примеров из базы данных, не включенных в обучающее множество, — подтверждающем множестве. Ухудшение характеристик сети при работе с этим множеством указывает на возможное переобучение. Наоборот, если характеристики улучшаются, это значит, что обучение продолжается. Таким образом, переобучение можно обнаружить, наблюдая за тем, насколько последовательно уменьшается ошибка во время обучения сети. В любом реальном (не смоделированном на компьютере) приложении нужно использовать подтверждающее множество, так как уровень шума заранее не известен.
Недостатком этого приема является уменьшение числа примеров, которые можно было бы взять в качестве обучающего множества. Малость базы данных — это серьезная проблема. Более того, оценка качества работы сети зависит от выбора образцов, составляющих подтверждающее множество. Даже при случайной выборке разные разбиения базы данных на обучающее и подтверждающее множества дают разные оценки. При исследовании этой проблемы Де Гроот [84] использовал для отбора примеров и построения обучающего и подтверждающего множеств алгоритмы кластеризации.
Перекрестное подтверждение
Для того чтобы устранить произвол в разбиении базы данных, могут быть применены методы повторных проб. Рассмотрим один из таких методов, который называется перекрестным подтверждением. Его идея состоит в том, чтобы случайным образом разбить базу данных на q попарно не пересекающихся подмножеств. Затем производится q обучений на (q - 1) множестве, а ошибка вычисляется по оставшемуся множеству. Если q достаточно велико, например, равно 10, каждое обучение задействует большую часть исходных данных. Если процедура обучения надежна, то результаты по q различным моделям должны быть очень близки друг к другу. После этого итоговая характеристика определяется как среднее всех полученных значений ошибки. К сожалению, при применении этого
метода объем вычислении часто оказывается очень большим, так
как требуется проделать q обучений, и в реальном приложении с
большой размерностью это может быть невыполнимо. В предельном случае, когда q = Р, где Р — общее число примеров, метод называется перекрестным подтверждением с одним в остатке. Такой
метол оценки имеет смещение, и разработан метод "складного ножа",
уменьшающий этот недостаток ценой еще большего объема вычислений. Регуляризация
Еще один способ избежать переобучения состоит в том, чтобы ограничить совокупность функций отображения, реализуемых сетью. Методы такого типа называются регуляризацией. Например, в функцию стоимости может быть добавлено штрафное слагаемое, подавляющее резкие скачки отображающей функции (на математическом языке — большие значения ее второй производной). Алгоритм обучения изменяется таким образом, чтобы учитывался этот штраф (см. [126]).
Оптимизация архитектуры
Разработаны различные методы изменения архитектуры сети с целью повысить способность сети к обобщению. Здесь есть два основных подхода:
• деструктивный подход: берется сеть заведомо большего размера, чем нужно, и в процессе обучения из нее удаляются связи и даже сами нейроны;
• конструктивный подход: первоначально берется маленькая сеть, и к ней, в соответствии со структурой и сложностью задачи, добавляются новые элементы.
Примером деструктивного подхода является метод уменьшения весов (он похож на то, что статистики называют гребневой регрессией. Перлмутер был первым, кто применил его для того, чтобы предотвратить чрезмерный рост весов. Он включил в функцию стоимости штрафное слагаемое:
Заметьте, что множитель л\ можно считать отношением среднего квадратичного остатков к среднему квадратичному весов. Добавленный член вызовет такое изменение весов:
заставляя уменьшаться те веса, на которые не действует первый член. Очевидно, чем больше вес, тем большее влияние он оказывает на функцию стоимости. Во втором варианте выражение для штрафа берется в виде
В результате малые коэффициенты убывают быстрее, чем большие. Кроме того, уменьшение весов поможет уходить с плоских участков поверхности на ранних стадиях обучения. Были предложены и другие виды выражений для штрафа, в результате чего удаляются не только соединения, но и нейроны. Еще один метод уменьшения числа связей — «минимизация вреда для мозга» (см. [174|). Цель его состояла в том, чтобы находить в сети те веса, которые можно удалить, не меняя существенно среднеквадратичную ошибку (MSE) на обучающем множестве. Вводится показатель si (так называемая «выпуклость» веса) по формуле
Удаление весов с малыми выпуклостями и повторное обучение урезанной сети улучшают ее общие характеристики. При итеративном применении этого метода к многослойному персептрону в задаче распознавания рукописного текста из сети было удалено более 50 процентов связей, и это привело к существенному уменьшению доли неправильно опознанных объектов.
В некоторых конструктивных методах наращивание сети происходит одновременно с обучением, см., например, [17], STEPNET [164], "черепичный" алгоритм [194], «всплеск» [116], нейронные деревья [244], каскадная корреляция [106].
Динамические, самоорганизующиеся сети и сети со встречным распространением
Нейронные сети с прямой связью и обучением методом обратного распространения ошибки рассматриваются в литературе чаще других.
Кроме них, существует много других сетевых моделей, некоторые из которых имеют вычурные названия: «конкурентное обучение» (или «адаптивная теория резонанса»), сети Хопфилда, машины Больцмана, самоорганизующиеся карты признаков Кохонена.
|