Нейрокомпьютерные системы
является мерой сходства между входным вектором и вектором весов, то
процесс обучения состоит в выборе нейрона Кохонена с весовым вектором,
наиболее близким к входному вектору, и дальнейшем приближении весового
вектора к входному. Снова отметим, что процесс является
самообучением, выполняемым без учителя. Сеть самоорганизуется таким
образом, что данный нейрон Кохонена имеет максимальный выход для данного
входного вектора. Уравнение, описывающее процесс обучения имеет
следующий вид:
Wн= Wc + ( (x – Wc), (4.7)
где wH - новое значение веса, соединяющего входную компоненту хc
выигравшим нейроном; wc - предыдущее значение этого веса; ( -
коэффициент скорости обучения, который может варьироваться в процессе
обучения. Каждый вес, связанный с выигравшим нейроном Кохонена,
изменяется пропорционально разности между его величиной и величиной
входа, к которому он присоединен. Направление изменения минимизирует
разность между весом и его входом. На рис. 4.3 этот процесс показан
геометрически в двумерном виде. Сначала находится вектор X-Wc, для
этого проводится отрезок из конца W в конец X. Затем этот вектор
укорачивается умножением его на скалярную величину (, меньшую
единицы, в результате чего получается вектор изменения (. Окончательно
новый весовой вектор W является отрезком, направленным из начала
координат в конец вектора (. Отсюда можно видеть, что эффект обучения
состоит во вращении весового вектора в направлении входного вектора без
существенного изменения его длины.
[pic]
Рис.4.3. Вращение весового вектора в процессе обучения (WH – вектор новых
весовых коэффициентов, Wc - вектор старых весовых коэффициентов).
Переменная ( является коэффициентом скорости обучения, который
вначале обычно равен ~ 0,7 и может постепенно уменьшаться в процессе
обучения. Это позволяет делать большие начальные шаги для быстрого
грубого обучения и меньшие шаги при подходе к окончательной величине.
Если бы с каждым нейроном Кохонена ассоциировался один входной
вектор, то слой Кохонена мог бы быть обучен с помощью одного вычисления
на вес. Веса нейрона-победителя приравнивались бы к компонентам
обучающего вектора (( = 1). Как правило, обучающее множество включает много
сходных между собой входных векторов, и сеть должна быть обучена
активировать один и тот же нейрон Кохонена для каждого из них. В этом
случае веса этого нейрона должны получаться усреднением входных
векторов, которые должны его активировать. Постепенное уменьшение
величины « уменьшает воздействие каждого обучающего шага, так что
окончательное значение будет средней величиной от входных векторов,
на которых происходит обучение. Таким образом, веса, ассоциированные с
нейроном, примут значение вблизи «центра» входных векторов, для которых
данный нейрон является «победителем».
Выбор начальных значений весовых векторов
Всем весам сети перед началом обучения следует придать начальные
значения. Общепринятой практикой при работе с нейронными сетями
является присваивание весам небольших случайных значений. При обучении
слоя Кохонена случайно выбранные весовые векторы следует нормализовать.
Окончательные значения весовых векторов после обучения совпадают с
нормализованными входными векторами. Поэтому нормализация перед началом
обучения приближает весовые векторы к их окончательным значениям,
сокращая, таким образом, обучающий процесс. Рандомизация весов слоя
Кохонена может породить серьезные проблемы при обучении, так как в
результате ее весовые векторы распределяются равномерно по поверхности
гиперсферы. Из-за того, что входные векторы, как правило, распределены
неравномерно и имеют тенденцию группироваться на относительно малой
части поверхности гиперсферы, большинство весовых векторов будут
так удалены от любого входного вектора, что они никогда не будут давать
наилучшего соответствия. Эти нейроны Кохонена будут всегда иметь нулевой
выход и окажутся бесполезными. Более того, оставшихся весов, дающих
наилучшие соответствия, может оказаться слишком мало, чтобы разделить
входные векторы на классы, которые расположены близко друг к другу на
поверхности гиперсферы. Допустим, что имеется несколько множеств
входных векторов, все множества сходные, но должны быть разделены на
различные классы. Сеть должна быть обучена активировать отдельный
нейрон Кохонена для каждого класса. Если начальная плотность
весовых векторов в окрестности обучающих векторов слишком мала, то
может оказаться невозможным разделить сходные классы из-за того, что
не будет достаточного количества весовых векторов в интересующей нас
окрестности, чтобы приписать по одному из них каждому классу входных
векторов. Наоборот, если несколько входных векторов получены
незначительными изменениями из одного и того же образца и должны быть
объединены в один класс, то они должны включать один и тот же нейрон
Кохонена. Если же плотность весовых векторов очень высока вблизи группы
слегка различных входных векторов, то каждый входной вектор может
активировать отдельный нейрон Кохонена. Это не является катастрофой,
так как слой Гроссберга может отобразить различные нейроны Кохонена в
один и тот же выход, но это расточительная трата нейронов Кохонена.
Наиболее желательное решение состоит в том, чтобы распределять весовые
векторы в соответствии с плотностью входных векторов, которые должны
быть разделены, помещая тем самым больше весовых векторов в окрестности
большого числа входных векторов. На практике это невыполнимо, однако
существует несколько методов приближенного достижения тех же целей.
Одно из решений, известное под названием метода выпуклой
комбинации (convex combination method), состоит в том, что все веса
приравниваются одной и той же величине 1/[pic], где п - число
входов и, следователь но, число компонент каждого весового вектора.
Благодаря этому все весовые векторы совпадают и имеют единичную
длину. Каждой же компоненте входа Х придается значение ((хi +
{[1/[pic]](1 - ()}), где п - число входов. В начале, а очень мало,
вследствие чего все входные векторы имеют длину, близкую к
1/[pic], и почти совпадают с векторами весов. В процессе обучения
сети (. постепенно возрастает, приближаясь к единице. Это позволяет
разделять входные векторы и окончательно приписывает им их истинные
значения. Весовые векторы отслеживают один или небольшую группу
входных векторов и в конце обучения дают требуемую картину выходов.
Метод выпуклой комбинации хорошо работает, но замедляет процесс обучения,
так как весовые векторы подстраиваются к изменяющейся цели.
Другой подход состоит в добавлении шума к входным век торам. Тем
самым они подвергаются случайным изменениям, схватывая в конце концов
весовой вектор. Этот метод также работоспособен, но еще более
медленен, чем метод выпуклой комбинации.
Третий метод начинает со случайных весов, но на начальной
стадии обучающего процесса подстраивает все веса, а не только
связанные с выигравшим нейроном Кохонена. Тем самым весовые векторы
перемещаются ближе к области входных векторов. В процессе обучения
коррекция весов начинает производиться лишь для ближайших к победителю
нейронов Кохонена. Этот радиус коррекции посте пенно уменьшается, так
что в конце концов корректируются только веса, связанные с выигравшим
нейроном Кохонена.
Еще один метод наделяет каждый нейрон Кохонена «Чувством
справедливости». Если он становится победителем чаще своей законной доли
времени (примерно 1/k, где k - число нейронов Кохонена), он временно
увеличивает свой порог, что уменьшает его шансы на выигрыш, давая тем
самым возможность обучаться и другим нейронам. Во многих приложениях
точность результата существенно зависит от распределения весов. К
сожалению, эффективность различных решений исчерпывающим образом не
оценена и остается проблемой.
Режим интерполяции
До сих пор мы обсуждали алгоритм обучения, в котором для каждого
входного вектора активировался лишь один нейрон Кохонена. Это называется
методом аккредитации. Его точность ограничена, так как выход полностью
является функцией лишь одного нейрона Кохонена. В методе
интерполяции целая группа нейронов Кохонена, имеющих наибольшие выходы,
может передавать свои выходные сигналы в слой Гроссберга. Число
нейронов в такой группе должно выбираться в зависимости от задачи, и
убедительных данных относительно оптимального размера группы не
имеется. Как только группа определена, ее множество выходов NET
рассматривается как вектор, длина которого нормализуется на единицу
делением каждого значения NET на корень квадратный из суммы квадратов
значений NET в группе. Все нейроны вне группы имеют нулевые выходы.
Метод интерполяции способен устанавливать более сложные
соответствия и может давать более точные результаты. По-прежнему,
однако, нет убедительных данных, позволяющих сравнить режимы
интерполяции и аккредитации.
Статистические свойства обученной сети
Метод обучения Кохонена обладает полезной и интересной
способностью извлекать статистические свойства из множества входных
данных. Как показано Кохоненом [8], для полностью обученной сети
вероятность того, что случайно выбранный входной вектор (в
соответствии с функцией плотности вероятности входного множества)
будет ближайшим к любому заданному весовому вектору, равна 1/k, где
k - число нейронов Кохонена. Это является оптимальным распределением
весов на гиперсфере. (Предполагается, что используются все весовые
векторы, что имеет место лишь в том случае, если используется один из
обсуждавшихся методов распределения весов.)
ОБУЧЕНИЕ СЛОЯ ГРОССБЕРГА
Слой Гроссберга обучается относительно просто. Входной вектор,
являющийся выходом слоя Кохонена, подается на слой нейронов Гроссберга,
и выходы слоя Гроссберга вычисляются, как при нормальном
функционировании. Далее, каждый вес корректируется лишь в том случае,
если он соединен с нейроном Кохонена, имеющим ненулевой выход. Величина
коррекции веса пропорциональна разности между весом и требуемым выходом
нейрона Гроссберга, с которым он соединен. В символьной записи
(ijн = (ijc + ((yj - (ijc)ki, (4.8)
где k. - выход i-го нейрона Кохонена (только для одного нейрона Кохонена
он отличен от нуля); уj - j-ая компонента вектора желаемых выходов.
Первоначально ( берется равным ~0,1 и затем постепенно уменьшается в
процессе обучения. Отсюда видно, что веса слоя Гроссберга будут
сходиться к средним величинам от желаемых выходов, тогда как веса слоя
Кохонена обучаются на средних значениях входов. Обучение слоя
Гроссберга - это обучение с учителем, алгоритм располагает желаемым
выходом, по которому он обучается. Обучающийся без учителя,
самоорганизующийся слой Кохонена дает выходы в недетерминированных
позициях. Они отображаются в желаемые выходы слоем Гроссберга.
Глава 5 Стохастические методы
Стохастические методы полезны как для обучения искусственных
нейронных сетей, так и для получения выхода от уже обученной
сети. Стохастические методы обучения приносят большую пользу, позволяя
исключать локальные минимумы в процессе обучения. Но с ними также связан
ряд проблем. Использование стохастических методов для получения
выхода от уже обученной сети рассматривалось в работе [2] и обсуждается
нами в гл. 6. Данная глава посвящена методам обучения сети.
ИСПОЛЬЗОВАНИЕ ОБУЧЕНИЯ
Искусственная нейронная сеть обучается посредством некоторого
процесса, модифицирующего ее веса. Если обучение успешно, то
предъявление сети множества входных сигналов приводит к появлению
желаемого множества выходных сигналов. Имеется два класса обучающих
методов: детерминистский и стохастический. Детерминистский метод
обучения шаг за шагом осуществляет процедуру коррекции весов сети,
основанную на использовании их текущих значений, а также величин
входов, фактических выходов и желаемых выходов. Обучение персептрона
является примером подобного детерминистского подхода (см. гл. 2).
Стохастические методы обучения выполняют псевдослучайные изменения
величин весов, сохраняя те изменения, которые ведут к улучшениям. Чтобы
увидеть, как это может быть сделано, рассмотрим рис. 5.1, на котором
изображена типичная сеть, в которой нейроны соединены с помощью весов.
Выход нейрона является здесь взвешенной суммой его входов, которая
преобразована с помощью нелинейной функции (подробности см. гл. 2).
Для обучения сети может быть использована следующая процедура:
1. Предъявить множество входов и вычислить получающиеся выходы.
2. Сравнить эти выходы с желаемыми выходами i вычислить величину
разности между ними. Общепринятый метод состоит в нахождении разности
между фактическим i желаемым выходами для каждого элемента обучаемой
пары возведение разностей в квадрат и нахождение суммы этих квадратов.
Целью обучения является минимизация это разности, часто называемой
целевой функцией.
3. Выбрать вес случайным образом и подкорректировать его на небольшое
случайное значение. Если коррекция помогает (уменьшает целевую функцию),
то сохранит; ее, в противном случае вернуться к первоначальном:
значению веса.
4. Повторять шаги с 1 до 3 до тех пор, пока сеть не будет обучена в
достаточной степени.
[pic]
Этот процесс стремится минимизировать целевую функцию, но может
попасть, как в ловушку, в неудачное решение. На рис. 5.2 показано,
как это может иметь место в системе с единственным весом.
Допустим, что первоначально вес взят равным значению в точке А. Если
случайные шаги по весу малы, то любые отклонения от точки А
увеличивают целевую функцию и будут отвергнуты. Лучшее значение веса,
принимаемое в точке В, никогда не будет найдено, и система будет поймана
в ловушку локальным минимумом, вместо глобального минимума в точке В.
Если же случайные коррекции веса очень велики, то как точка А, так и
точка В будут часто посещаться, но то же самое будет иметь место и для
каждой другой точки. Вес будет меняться так резко, что он никогда не
установится в желаемом минимуме. Полезная стратегия для избежания
подобных проблем состоит в больших начальных шагах и постепенном
уменьшении размера среднего случайного шага. Это позволяет сети
вырываться из локальных минимумов и в то же время гарантирует
.окончательную стабилизацию сети. Ловушки локальных минимумов
досаждают всем алгоритмам обучения, основанным на поиске минимума,
включая персептрон и сети обратного распространения, и представляют
серьезную и широко распространенную трудность, которой часто не
замечают. Стохастические методы позволяют решить эту проблему.
Стратегия коррекции весов, вынуждающая веса принимать значение
глобального оптимума в точке В, возможна. В качестве объясняющей
аналогии предположим, что на рис. 5.2 изображен шарик на поверхности в
коробке. Если коробку сильно потрясти в горизонтальном направлении, то
шарик будет быстро перекатываться от одного края к другому. Нигде не
задерживаясь, в каждый момент шарик будет с равной вероятностью
находиться в любой точке поверхности. Если постепенно уменьшать
силу встряхивания, то будет достигнуто условие, при котором шарик
будет на короткое время «застревать» в точке В. При еще более слабом
встряхивании шарик будет на короткое время останавливаться как в точке
А, так и в точке В. При непрерывном уменьшении силы встряхивания
будет достигнута критическая точка, когда сила встряхивания достаточна
для перемещения шарика из точки А в точку В, но недостаточна для того,
чтобы шарик мог вскарабкаться из В в А. Таким образом, окончательно
шарик остановится в точке глобального минимума, когда амплитуда
встряхивания уменьшится до нуля.
[pic]
Искусственные нейронные сети могут обучаться по существу тем же
самым образом посредством случайной коррекции весов. Вначале делаются
большие случайные коррекции с сохранением только тех изменений
весов, которые уменьшают целевую функцию. Затем средний размер шага
постепенно уменьшается, и глобальный минимум в конце концов
достигается. Это сильно напоминает отжиг металла, поэтому для ее
описания часто используют термин «имитация отжига». В металле,
нагретом до температуры, превышающей его точку плавления, атомы
находятся в сильном беспорядочном движении. Как и во всех физических
системах, атомы стремятся к состоянию минимума энергии (единому
кристаллу в данном случае), но при высоких температурах энергия
атомных движений препятствует этому. В процессе постепенного охлаждения
металла возникают все более низкоэнергетические состояния, пока в
конце концов не будет достигнуто наинизшее из возможных состояний,
глобальный минимум. В процессе отжига распределение энергетических
уровней описывается следующим соотношением:
P(e) ( exp (-e / kT)
где Р(е) - вероятность того, что система находится в состоянии с
энергией е, k - постоянная Больцмана; Т - температура по шкале
Кельвина. При высоких температурах Р(е) приближается к единице для
всех энергетических состояний. Таким образом, высокоэнергетическое
состояние почти столь же вероятно, как и низкоэнергетическое. По мере
уменьшения температуры вероятность высокоэнергетических состояний
уменьшается по сравнению с низкоэнергетическими. При приближении
температуры к нулю становится весьма маловероятным, чтобы система
находилась в высокоэнергетическом состоянии.
Больцмановское обучение
Этот стохастический метод непосредственно применим к обучению
искусственных нейронных сетей:
1. Определить переменную Т, представляющую искусственную температуру.
Придать Т большое начальное значение.
2. Предъявить сети множество входов и вычислить выходы и целевую
функцию.
3. Дать случайное изменение весу и пересчитать выход сети и
изменение целевой функции в соответствии со сделанным изменением веса.
4. Если целевая функция уменьшилась (улучшилась), то сохранить изменение
веса. Если изменение веса приводит к увеличению целевой функции,
то вероятность сохранения этого изменения вычисляется с помощью
распределения Больцмана:
P(c) = exp (-c / kT) (5.2)
где Р(е) - вероятность изменения с в целевой функции; k - константа,
аналогичная константе Больцмана, выбираемая в зависимости от задачи; Т
- искусственная температура. Выбирается случайное число /• из
равномерного распределения от нуля до единицы. Если Р(с) больше, чем г,
то изменение сохраняется, в противном случае величина веса возвращается
к предыдущему значению. Это позволяет системе делать случайный шаг
в направлении, портящем целевую функцию, позволяя ей тем самым
вырываться из локальных минимумов, где любой малый шаг увеличивает
целевую функцию. Для завершения больцмановского обучения повторяют
шаги 3 и 4 для каждого из весов сети, постепенно уменьшая температуру
Т, пока не будет достигнуто допустимо низкое значение целевой функции. В
этот момент предъявляется другой входной вектор и процесс обучения
повторяется. Сеть обучается на всех векторах обучающего множества, с
возможным повторением, пока целевая функция не станет допустимой для всех
них. Величина случайного изменения веса на шаге 3 может определяться
различными способами. Например, подобно тепловой системе весовое
изменение w может выбираться в соответствии с гауссовским распределением:
P(w) = ехр(- w2/T2), (5.3)
где P(w) - вероятность изменения веса на величину w, Т -
искусственная температура. Такой выбор изменения веса приводит
к системе, аналогичной [3]. Так как нужна величина изменения веса
(w, а не вероятность изменения веса, имеющего величину w, то метод
Монте-Карло может быть использован следующим образом:
1. Найти кумулятивную вероятность, соответствующую P(w). Это есть
интеграл от P(w) в пределах от 0 до w. Так как в данном случае P(w)
не может быть проинтегрирована аналитически, она должна
интегрироваться численно, а результат необходимо затабулировать. 2.
Выбрать случайное число из равномерного распределения на интервале
(0,1). Используя эту величину в качестве значения P(w), найти в таблице
соответствующее значение для величины изменения веса. Свойства
машины Больцмана широко изучались. В работе [1] показано, что скорость
уменьшения температуры должна быть обратно пропорциональна логарифму
времени, чтобы была достигнута сходимость к глобальному минимуму.
Скорость охлаждения в такой системе выражается следующим образом:
T(t) = T0/log(1 + t), (5.4)
где T(t) - искусственная температура как функция времени; Т0 -
начальная искусственная температура; t -искусственное время. Этот
разочаровывающий результат предсказывает очень медленную скорость
охлаждения (и данные вычисления). Этот вывод подтвердился
экспериментально. Машины Больцмана часто требуют для обучения очень
большого ресурса времени.
Обучение Коши
В работе [6] развит метод быстрого обучения подобных систем. В этом
методе при вычислении величины шага распределение Больцмана заменяется
на распределение Коши. Распределение Коши имеет, как показано
на рис. .5.3, более длинные «хвосты», увеличивая тем самым вероятность
больших шагов. В действительности распределение Коши имеет бесконечную
(неопределенную) дисперсию. С помощью такого простого изменения
максимальная скорость уменьшения температуры становится обратно
пропорциональной линейной величине, а не логарифму, как для алгоритма
обучения Больцмана. Это резко уменьшает время обучения. Эта связь может
быть выражена следующим образом:
T(t) = T0/(1 + t) (5.5)
Распределение Коши имеет вид
P(x) = T(t) / [T(t)2 + x2] ,
где Р(х) есть вероятность шага величины х.
[pic]
Рис. 5.3. Распределение Коши и распределение Больцмана.
В уравнении (5.6) Р(х) может быть проинтегрирована стандартными
методами. Решая относительно х, получаем
xc = р{T(t)tg[P(х)]), (5.7)
где р - коэффициент скорости обучения; хc - изменение веса.
Теперь применение метода Мойте Карло становится очень простым. Для
нахождения х в этом случае выбирается случайное число из равномерного
распределения на открытом интервале (- (/2, (/2) (необходимо ограничить
функцию тангенса). Оно подставляется в формулу (5.7) в качестве Р(х), и
с помощью текущей температуры вычисляется величина шага.
Метод искусственной теплоемкости
Несмотря на улучшение, достигаемое с помощью метода Коши, время
обучения может оказаться все еще слишком большим. Способ, уходящий своими
корнями в термодинамику, может быть использован для ускорения этого
процесса. В этом методе скорость уменьшения температуры изменяется в
соответствии с искусственной «теплоемкостью», вычисляемой в процессе
обучения. Во время отжига металла происходят фазовые переходы,
связанные с дискретными изменениями уровней энергии. При каждом
фазовом переходе может иметь место резкое изменение величины,
называемой теплоемкостью. Теплоемкость определяется как скорость
изменения температуры с энергией. Изменения теплоемкости происходят
из-за попадания системы в локальные энергетические минимумы.
Искусственные нейронные сети проходят аналогичные фазы в процессе
обучения. На границе фазового перехода искусственная теплоемкость
может скачкообразно измениться. Эта псевдотеплоемкость определяется как
средняя скорость изменения температуры с целевой функцией. В примере
шарика в коробке сильная начальная встряска делает среднюю величину
целевой функции фактически не зависящей от малых изменений температуры,
т.е. теплоемкость близка к константе. Аналогично при очень низких
температурах система замерзает в точке минимума, так что теплоемкость
снова близка к константе. Ясно, что в каждой из этих областей
допустимы сильные изменения температуры, так как не происходит
улучшения целевой функции, При критических температурах небольшое
уменьшение температуры приводит к большому изменению средней вели чины
целевой функции. Возвращаясь к аналогии с шариком, при «температуре»,
когда шарик обладает достаточной средней энергией, чтобы перейти из А
в В, но недостаточной для перехода из В в А, средняя величина целевой
функции испытывает скачкообразное изменение. В этих критических
точках алгоритм должен изменять температуру очень медленно, чтобы
гарантировать, что система не замерзнет случайно в точке А, оказавшись
пойманной в локальный минимум. Критическая температура может быть
обнаружена по резкому уменьшению искусственной теплоемкости, т.е. средней
скорости изменения температуры с целевой функцией. При достижении
критической температуры скорость изменения температуры должна замедляться,
чтобы гарантировать сходимость к глобальному минимуму.
ОБРАТНОЕ РАСПРОСТРАНЕНИЕ И ОБУЧЕНИЕ КОШИ
Обратное распространение обладает преимуществом прямого поиска,
т.е. веса всегда корректируются в направлении, минимизирующем функцию
ошибки. Хотя время обучения и велико, оно существенно меньше, чем
при случайном поиске, выполняемом машиной Коши, когда находится
глобальный минимум, но многие шаги выполняются в неверном направлении,
что отнимает много времени. Соединение этих двух методов дало
хорошие результаты [7]. Коррекция весов, равная сумме, вычисленной
алгоритмом обратного распространения, и случайный шаг, задаваемый
алгоритмом Коши, приводят к системе, которая сходится и находит
глобальный минимум быстрее, чем система, обучаемая каждым из
методов в отдельности. Простая эвристика используется для избежания
паралича сети, который может иметь место как при обратном
распространении, так и при обучении по методу Коши.
Трудности, связанные с обратным распространением
Несмотря на мощь, продемонстрированную методом обратного
распространения, при его применении возникает ряд трудностей, часть
из которых, однако, облегчается благодаря использованию нового
алгоритма.
Сходимость. В работе [5] доказательство сходимости дается на языке
дифференциальных уравнений в частных производных, что делает его
справедливым лишь в том случае, когда коррекция весов выполняется с
помощью бесконечно малых шагов. Так как это ведет к бесконечному
времени сходимости, то оно теряет силу в практических применениях. В
действительности нет доказательства, что обратное распространение будет
сходиться при конечном размере шага. Эксперименты показывают, что
сети обычно обучаются, но время обучения велико и непредсказуемо.
Локальные минимумы. В обратном распространении для коррекции весов
сети используется градиентный спуск, продвигающийся к минимуму в
соответствии с локальным наклоном поверхности ошибки. Он хорошо работает
в случае сильно изрезанных невыпуклых поверхностей, которые встречаются
в практических задачах. В одних случаях локальный минимум является
приемлемым решением, в других случаях он неприемлем. Даже после
того как сеть обучена, невозможно сказать, найден ли с помощью -
обратного распространения глобальный минимум. Если решение
неудовлетворительно, приходится давать весам новые начальные случайные
значения и повторно обучать сеть без гарантии, что обучение закончится на
этой попытке или что глобальный минимум вообще будет когда либо найден.
Паралич. При некоторых условиях сеть может при обучении попасть в такое
состояние, когда модификация весов не ведет к действительным изменениям
сети. Такой «паралич сети» является серьезной проблемой: один раз
возникнув, он может увеличить время обучения на несколько порядков.
Паралич возникает, когда значительная часть нейронов получает веса,
достаточно большие, чтобы дать большие значения NET. Это приводит к тому,
что величина OUT приближается к своему предельному значению, а
производная от сжимающей функции приближается к нулю. Как мы видели,
алгоритм обратного распространения при вычислении величины изменения
веса использует эту производную в формуле в качестве коэффициента. Для
пораженных параличом нейронов близость производной к нулю приводит к
тому, что изменение веса становится близким к нулю. Если подобные
условия возникают во многих нейронах сети, то обучение может
замедлиться до почти полной остановки. Нет теории, способной
предсказывать, будет ли сеть парализована во время обучения или нет.
Экспериментально установлено, что малые размеры шага реже приводят к
параличу, но шаг, малый для одной задачи, может оказаться большим для
другой. Цена же паралича может быть высокой. При моделировании многие
часы машинного времени могут уйти на то, чтобы выйти из паралича.
Трудности с алгоритмом обучения Коши
Несмотря на улучшение скорости обучения, даваемое машиной Коши по
сравнению с машиной Больцмана, время сходимости все еще может в 100 раз
превышать время для алгоритма обратного распространения. Отметим, что
сетевой паралич особенно опасен для алгоритма обучения Коши, в
особенности для сети с нелинейностью типа логистической функции.
Бесконечная дисперсия распределения Коши приводит к изменениям весов
неограниченной величины. Далее, большие изменения весов будут иногда
приниматься даже в тех случаях, когда они неблагоприятны, часто
приводя к сильному насыщению сетевых нейронов с вытекающим отсюда
риском паралича.
Комбинирование обратного распространения с обучением Коши
Коррекция весов в комбинированном алгоритме, использующем
обратное распространение и обучение Коши, состоит из двух компонент: (1)
направленной компоненты, вычисляемой с использованием алгоритма
обратного распространения, и (2) случайной компоненты, определяемой
распределением Коши. Эти компоненты вычисляются для каждого веса, и
их сумма является величиной, на которую изменяется вес. Как и в
алгоритме Коши, после вычисления изменения веса вычисляется целевая
функция. Если имеет место улучшение, изменение сохраняется. В
противном случае оно
сохраняется с вероятностью, определяемой распределением Больцмана.
Коррекция веса вычисляется с использованием представленных ранее
уравнений для каждого из алгоритмов:
wmn,k(n+1) = wmn,k(n) + ([(( wmn,k(n) + (1 - ()(n,kOUTm,i] + (1 - ()xc ,
где (- коэффициент, управляющий относительными величинами Коши и
обратного распространения в компонентах весового шага. Если (
приравнивается нулю, система становится полностью машиной Коши. Если (
приравнивается единице, система становится машиной обратного
распространения. Изменение лишь одного весового коэффициента между
вычислениями весовой функции неэффективно. Оказалось, что лучше сразу
изменять все веса целого слоя, хотя для некоторых задач может оказаться
выгоднее иная стратегия.
Преодоление сетевого паралича комбинированным методом обучения. Как и
в машине Коши, если изменение веса ухудшает целевую функцию, - с
помощью распределения Больцмана решается, сохранить ли новое
значение веса или восстановить предыдущее значение. Таким образом,
имеется конечная вероятность того, что ухудшающее множество приращений
весов будет сохранено. Так как распределение Коши имеет бесконечную
дисперсию (диапазон изменения тангенса простирается от [pic] до [pic] на
области определения), то весьма вероятно возникновение больших
приращений весов, часто приводящих к сетевому параличу. Очевидное
решение, состоящее в ограничении диапазона изменения весовых шагов,
ставит вопрос о математической корректности полученного таким образом
алгоритма. В работе [6] доказана сходимость системы к глобальному
минимуму лишь для исходного алгоритма. Подобного доказательства при
искусственном ограничении размера шага не существует. В
действительности экспериментально выявлены случаи, когда для реализации
некоторой функции требуются большие веса, и два больших веса, вычитаясь,
дают малую разность. Другое решение состоит в рандомизации весов
тех нейронов, которые оказались в состоянии насыщения. Недостатком
его является то, что оно может серьезно нарушить обучающий
процесс, иногда затягивая его до бесконечности. Для решения
проблемы паралича был найден метод, не нарушающий достигнутого обучения.
Насыщенные нейроны выявляются с помощью измерения их сигналов ОПТ.
Когда величина OUT приближается к своему предельному значению,
положительному или отрицательному, на веса, питающие этот нейрон,
действует сжимающая функция. Она подобна используемой для получения
нейронного сигнала OUT, за исключением того, что диапазоном ее
изменения является интервал (+ 5,- 5) или другое подходящее множество.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|