назад Оглавление вперед


[Старт] [1] [2] [3] [4] [ 5 ] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42]


5

Подобные правила рассчитаны на то, чтобы сеть начинала свою работу в линейном режиме и притом не на плоской части поверхности невязок. Однако нет гарантии, что такое начальное приближение приведет к глобальному минимуму или уменьшит время сходимости. Были разработаны другие методы, дающие еще более хорошее начальное приближение с точки зрения уменьшения времени обучения и обладающие большей устойчивостью в смысле локайьных минимумов. Так, Дено и Ланжель разработали метод иницйизации весов по прототипам, полученным из обучающего множестшк[87]. Усовершенствованный классический метод выбора начальных значений использует данные анализа главных компонент, но для этого, безусловно, требуется меньше скрытых элементов, чем имеется входов [292]. При использовании обучающих алгоритмов типа BP выбор начального приближения очень важен. Уже на этом шаге нужно позаботиться о том, чтобы не попасть в локальный минимум.

Обход локальных минимумов

Как уже говорилось, поверхность невязки в пространстве весов в общем случае имеет локальные минимумы, и это является главным препятствием для процесса обучения нейронной сети, в особенности, для алгоритма спуска. Можно встретить утверждения, что в ряде случаев локальный минимум является вполне приемлемым решением [105], однако в общей ситуации необходимо разработать стратегию, которая позволяла бы избегать таких точек и гарантировала бы сходимость обучающего алгоритма к глобальному решению.

Упорядочение данных

Для того чтобы обучающий алгоритм не стал двигаться в ложном направлении, нужно, прежде всего, упорядочить случайным образом последовательность примеров, которые он обрабатывает (так называемое «взбалтывание»). Это не так существенно для «эпохального» варианта BP, но очень важно при стохастическом определении весов. Всякая программная реализация алгоритма типа BP должн». охслю-чать в себя случайное упорядочение обучающего множества. Более того, если какой-то из классов примеров представлен недостаточно, случайный выбор должен осуществляться таким образом, чтобы примеры из слабо представленной группы встречались чаще - этим будет устранен ложный крен при минимизации невязки. В гл. 8 читатель найдет иллюстрирующий пример.

Пакетная обработка

При использовании стохастического варианта BP (когда веса изменяются /после каждого примера) может получиться так, что сеть будет зря тратить время на перемещения туда-обратно. Даже в про-

стой задаче двоичной классификации на одном нейроне гиперплоскость может много раз колебаться вокруг своего оптимального положения, пока алгоритм будет обрабатывать поочередно образцы из разных классов. От этого явления несложно избавиться, взяв суммарное изменение весов после ряда примеров. Такой прием называется пакетной обработкой. Цель ее состоит в том, чтобы вычислять усредненное изменение весов. Очевидно, «эпохальный» вариант BP представляет собой ту же пакетную обработку, где пакетом является все обучающее множество. Если в начале действия алгоритма брать небольшие пакеты, а затем увеличивать их объем вплоть до общего количества примеров в обучающем множестве, то этим будет сэкономлено время вычислений, но, тем не менее, обеспечена сходимость к глобальному решению. Особенно заметным этот эффект будет, если общее количество примеров очень велико или их размерность большая.

Импульс

Другой часто применяемый прием состо"Ит в том, что при определении направления поиска к текущему градиенту добавляется поправка- вектор смещения с предыдущего шага, взятый с некоторым коэффициентом. Можно сказать, что учитывается уже имеющийся импульс движения. Окончательная формула для изменения весов выглядит так:

„ AW..it + l) = AW{t)-{l-)B--,, (16)

где ц - число в интервале (0,1), которое задается пользователем.

Часто значение ц волевым образом задается равным 0.9, безотносительно к специфике задачи и архитектуре сети. Нужно отметить, что метод импульса очень чувствителен к способу упорядочения примеров в обучающем множестве. Если подряд попалось несколько примеров из одного класса, импульс станет очень большим, и это нарушит ход процесса обучения. Сказанное еще раз свидетельствует о необходимости предварительного случайного упорядочения обучающего множества.

Управление величиной uiaea

Ранее уже было сказано, что выбор величины шага имеет ключевое значение для успешной работы обучающего алгоритма. При слишком маленьком шаге обучение будет медленным и велика будет вероятность попадания в локальный минимум на поверхности невязки. Наоборот, при слишком большом шаге можно проскочить мимо глобального минимума. То, какой шаг следует считать малым,



Другие алгоритмы обучения

Многочисленные исследования посвящены сравнению различных обучающих эвристик (см., например, [104]). В большинстве имеющихся нейронно-сетевых пакетов реализованы методы пакетной обработки, импульса, изменения величины шага, и даже более совершенные варианты алгоритмов типа алгоритма обратного распространения ошибки и квази-ньютоновские методы. В литературе описано много других алгоритмов, реализующих иные подходы к задаче оптимизации. Так, в основанном на идеях статистической физики методе «замораживания» стабилизация алгоритма осуществляется за счет понижения «температурного» параметра. Другие подходы, такие, как метод случайного блуждания [13] или Alopex [269] используют случайный поиск в пространстве весов, и это принципиально отличает их от систематического поиска в методе обратного распространения ошибки (см. [78]). Наконец, в последнее время пользуются успехом так называемые генетические алгоритмы, в которых набор весов рассматривается как индивид, цодверженный мутациям и скрещиванию, а в качестве показателя его «качества» берется критерий ошибки. По мере того, как нарождаются новые поколения, все более вероятным становится появление оптимального индивида.

Выбор эффективного обучающего алгоритма всегда включает в себя компромисс между сложностью решаемой задачи и техническими ограничениями (быстродействие и объем памяти компьютера, время, цена).

ОБОБ1ЦАЮЩИЕ ПРАВИЛАJ

В предыдущем разделе мы описали различные способы приблизить функцию, которую реализует реальная сеть, к неизвестной функции, которую, как предполагается, можно определить по имеющемуся множеству примеров - обучающему множеству. Как в задачах классификации, так и в задачах прогноза, цель при построении сети должна состоять не в том, чтобы запомнить обучающую информацию, а в том, чтобы на основании изучения прошлого сделать определенные обобщения, которые можно будет затем применить к новым образцам. В конечном счете, эффективность сети определяется тем, как она работает со всей совокупностью возможных примеров (пространством возможных ситуаций). Так как все это множество целиком,-как правило, недоступно, возникает практическая задача максимизации качества работы сети на всем множестве исходных данных, и для этого вовсе не нужно требовать от сети высокой степени соответствия на каком-то «зашумленном» обучающем множестве.

а какой большим, сильно зависит от архитектуры сети и от обучающих данных. Есть различные эвристические соображения для выбора шага. Можно уменьшать шаг по мере хода итераций, или же нормировать его на евклидову норму градиента невязки с предыдущего шага. Можно поступать й так: если на предыдущей итерации ошибка уменьшилась, величина шага умножается на некоторый коэффициент, больший единицы («поощрение»), а если увеличилась, то иа коэффициент, меньший единицы («наказание»). Нужно понимать, что такого рода правила выбора шага являются чисто эвристическими и не могут гарантировать улучшение сходимости.

Изменение производной сигмоида

Другой давно известный вычислительный трюк состоит в том, чтобы изменить величину производной сигмоида, умножив его на некоторую малую величину (обычно 0.1) с целью предотвратить «прилипание» к плоскому участку. Опыт, однако, показывает, что этот прием следует применять с осторожностью, так как он может порождать «вынужденную» сходимость в неправильном направлении.

Методы второго порядка

При более последовательном подходе для улучшения процесса обучения можно использовать информацию о производных второго порядка от функции невязки. Соответствующие методы оптимизации называются квадратичными. Вся указанная информация собрана в матрице гессиана Я , имеющей размеры Nw х Nw, где Nw - число весов. Эта матрица содержит информацию о том, как изменяется градиент при малых смещениях по различным направлениям в пространстве весов. Прямое вычисление матрицы требует большого времени, поэтому разработаны методы, позволяющие избежать вычисления и хранения матрицы (спуск по сопряженному градиенту, масштабированный метод сопряженных градиентов (см. [197]), RBackProp (см. [212]), квази-ньютоновский метод, метод Левенбер-га-Маркара).

Методы локальной оптимизации

В отличие от методов второго порядка, где веса изменяются пропорционально их вкладу в направление глобального поиска, в локальных методах оптимизации каждый вес меняется локально. В качестве примера таких методов можно назвать метод дельта-дельта (см. [151]),Rprop (см. [240]),QuickProp (см. [104]).



в каждой реальной задаче при9гтствует шум, и необходимо уметь справляться с ним. В особенности это относится к задачам обработки временных рядов, в которых переменные получены в результате измерений в некоторой физической системе, причем в самой системе и/или в механизме измерений шум присутствует естественным образом. В финансовых приложениях данные зашумлены особенно сильно. Например, соверпгение сделок может регистрироваться в базе данных с запозданием, причем в разных случаях- с разным. Пропуск значений или неполную информацию также иногда рассматривают как шум: в таких случаях берется среднее или наилучшее значение, и это, конечно, приводит к зашумлению базы данных. Отрицательно сказывается на обучении неправильное определение класса объекта в задачах распознавания - это ухудшает способность системы к обобщению при работе с новыми (т.е. не входившими в число образцов) объектами.

ч, г.

Переобучение

Как отмечалось выше, нейронные сети могут служить универсальным средством аппроксимации в том смысле, что при достаточно разветвленной архитектуре они реализуют широкий класс функций [79]. Как часто бывает, достоинство одновременно является и недостатком. Благодаря способности тонко улавливать структуру аппроксимируемой функции сеть достигает очень высокой степени соответствия на обучающем множестве, и в результате плохо делает обобщения при последующей работе с реальными данными. Это явление называется переобучением, или эффектом бабушкиного воспитания. Сеть моделирует не столько саму функцию, сколько присутствующий в обучающем множестве шум. Переобучение присутствует и в таких более простых моделях, как линейная регрессия, но там оно не так выражено, поскольку через обучающие данные нужно провести всего лишь прямую линию. Чем богаче набор моделирующих функций, тем больше риск переобучения. На рис. 1.5 показаны типичные проявления переобучения.

В следующем разделе мы рассмотрим некоторые приемы, позволяющие сети избежать чересчур точного следования обучающим примерам. В частности, нужно уметь распознать момент, когда обучение становится излишне точным. Вопросы, касающиеся переобучения и слабой способности к обобщению, связаны с общей проблемой отделения сигнала от шума.

Объем обучающей выборки

Первое естественное желание состоит в том, чтобы увеличивать число примеров в обучающем множестве. Чем их больше, тем более представительны данные. Как и в любом физическом измерении, увеличение числа наблюдений уменьшает шум. Если имеется несколько измерений одного объекта, сеть возьмет их среднее значение, и это лучше, чем точно следовать одному единственному за-шумленному значению.

0.16

« S

0.15

0.14

0.13

0.12 -

0.11 -

0.10

Число «эпох»

RMSE по подтверждающей выборке RMSE по обучающей выборке

Рис. 1.5. Типичный случай переобучения

Однако на практике и, особенно, в финансовых приложениях невозможно получить такое количество наблюдений, которое было бы желательно в свете положений статистики. Число необходимых примеров резко растет с увеличением сложности моделируемой функции и повышением уровня шума. Более того, доступные нам данные могут иметь все меньшее отношение к делу. Как, например, информация, собранная в 1950 году, может быть значимой для описания современного положения в финансовом мире? Наконец, могут существовать физические ограничения на размер базы данных, например, объем памяти или недопустимо большое время обучения.

Вопросам, связанным с объемом множества образцов и сложностью сети, посвящены многочисленные исследования. В частности, изучались пороговые требования, которым должна удовлетворять система классификации, чтобы быть линейно отделяющей (см. [76]). Более точные результаты получены для пороговых нейронов: Баум

[Старт] [1] [2] [3] [4] [ 5 ] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42]