Смекни!
smekni.com

Нейрокомпьютерные системы (стр. 13 из 32)

ИСПОЛЬЗОВАНИЕ ОБУЧЕНИЯ

Искусственная нейронная сеть обучается посредством некоторого процесса, модифицирующего ее веса. Если обучение успешно, то предъявление сети множества вход­ных сигналов приводит к появлению желаемого множества выходных сигналов. Имеется два класса обучающих мето­дов: детерминистский и стохастический. Детерминистский метод обучения шаг за шагом осу­ществляет процедуру коррекции весов сети, основанную на использовании их текущих значений, а также величин входов, фактических выходов и желаемых выходов. Обуче­ние персептрона является примером подобного детерминис­тского подхода (см. гл. 2). Стохастические методы обучения выполняют псевдо­случайные изменения величин весов, сохраняя те измене­ния, которые ведут к улучшениям. Чтобы увидеть, как это может быть сделано, рассмотрим рис. 5.1, на котором изображена типичная сеть, в которой нейроны соединены с помощью весов. Выход нейрона является здесь взвешенной суммой его входов, которая преобразована с помощью нелинейной функции (подробности см. гл. 2). Для обуче­ния сети может быть использована следующая процедура:

1. Предъявить множество входов и вычислить получа­ющиеся выходы.

2. Сравнить эти выходы с желаемыми выходами i вычислить величину разности между ними. Общепринятый метод состоит в нахождении разности между фактическим i желаемым выходами для каждого элемента обучаемой пары возведение разностей в квадрат и нахождение суммы этих квадратов. Целью обучения является минимизация это разности, часто называемой целевой функцией.

3. Выбрать вес случайным образом и подкорректировать его на небольшое случайное значение. Если коррек­ция помогает (уменьшает целевую функцию), то сохранит; ее, в противном случае вернуться к первоначальном: значению веса.

4. Повторять шаги с 1 до 3 до тех пор, пока сеть не будет обучена в достаточной степени.

Этот процесс стремится минимизировать целевую функцию, но может попасть, как в ловушку, в неудачное решение. На рис. 5.2 показано, как это может иметь место в системе с единственным весом. Допустим, что первоначально вес взят равным значению в точке А. Если случайные шаги по весу малы, то любые отклонения от точки А увеличивают целевую функцию и будут отвергнуты. Лучшее значение веса, принимаемое в точке В, никогда не будет найдено, и система будет поймана в ловушку ло­кальным минимумом, вместо глобального минимума в точке В. Если же случайные коррекции веса очень велики, то как точка А, так и точка В будут часто посещаться, но то же самое будет иметь место и для каждой другой точ­ки. Вес будет меняться так резко, что он никогда не установится в желаемом минимуме. Полезная стратегия для избежания подобных проблем состоит в больших начальных шагах и постепенном умень­шении размера среднего случайного шага. Это позволяет сети вырываться из локальных минимумов и в то же время гарантирует .окончательную стабилизацию сети. Ловушки локальных минимумов досаждают всем алго­ритмам обучения, основанным на поиске минимума, включая персептрон и сети обратного распространения, и пред­ставляют серьезную и широко распространенную трудность, которой часто не замечают. Стохастические методы позво­ляют решить эту проблему. Стратегия коррекции весов, вынуждающая веса принимать значение глобального оптиму­ма в точке В, возможна. В качестве объясняющей аналогии предположим, что на рис. 5.2 изображен шарик на поверхности в коробке. Если коробку сильно потрясти в горизонтальном направле­нии, то шарик будет быстро перекатываться от одного края к другому. Нигде не задерживаясь, в каждый момент шарик будет с равной вероятностью находиться в любой точке поверхности. Если постепенно уменьшать силу встряхивания, то будет достигнуто условие, при котором шарик будет на короткое время «застревать» в точке В. При еще более слабом встряхивании шарик будет на короткое время оста­навливаться как в точке А, так и в точке В. При непре­рывном уменьшении силы встряхивания будет достигнута критическая точка, когда сила встряхивания достаточна для перемещения шарика из точки А в точку В, но недостаточна для того, чтобы шарик мог вскарабкаться из В в А. Таким образом, окончательно шарик остановится в точке глобального минимума, когда амплитуда встряхива­ния уменьшится до нуля.

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

P(e) a 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]. Так как нужна величина изменения веса Dw, а не вероятность изменения веса, имеющего величину w, то метод Монте-Карло может быть использован следующим образом:

1. Найти кумулятивную вероятность, соответствующую P(w). Это есть интеграл от P(w) в пределах от 0 до w. Так как в данном случае P(w) не может быть проинтегри­рована аналитически, она должна интегрироваться числен­но, а результат необходимо затабулировать. 2. Выбрать случайное число из равномерного распре­деления на интервале (0,1). Используя эту величину в качестве значения P(w), найти в таблице соответствующее значение для величины изменения веса. Свойства машины Больцмана широко изучались. В работе [1] показано, что скорость уменьшения температу­ры должна быть обратно пропорциональна логарифму време­ни, чтобы была достигнута сходимость к глобальному минимуму. Скорость охлаждения в такой системе выражает­ся следующим образом: