Словарь Обратное распространение ошибки

Сеть Каскадной Корреляции

Андрей Орлов  2010-11-23 21:46

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

Архитектура и обучение сети Каскадной Корреляции

Архитектура и обучение сети Каскадной Корреляции

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

Работа алгоритма

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

fig1.png/smartimagecontainer/article/get

Начальное приближение сети

Начальное приближение обучается так, чтобы минимизировать среднеквадратичную ошибку:

frm_sqr.png/smartimagecontainer/article/get

Такая сеть может быть обучена по правилу Видроу-Хоффа или любым другим алгоритмом обучения однослойных сетей. Правило Видроу-Хоффа для однослойной сети:

frm_delta_rule.png/smartimagecontainer/article/get

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

После того, как начальное приближение обучено, циклически выполняются два шага:

  1. Добавление нейрона-кандидата и обучение его входных связей для достижения максимальной корреляции между выходом нейрона и функцией ошибки на выходе нейросети;
  2. Связывание нейрона-кандидата с входами выходного слоя сети и обучение этого слоя связей аналогично обучению начального приближения;

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

Добавление нейрона-кандидата

Нейрон-кандидат подключается к сети таким образом, чтобы на его входы поступали все сигналы, поступающие на нейроны выходного слоя. Эти сигналы включают в себя все сигналы, поступающие на вход сети, и выходные сигналы всех ранее добавленных нейронов.

fig3.png/smartimagecontainer/article/get

Топология сети с добавленным нейроном-кандидатом

Нейрон-кандидат обучается так, чтобы максимизировать корреляцию выходного сигнала с ошибкой выходного слоя:

frm_cor.png/smartimagecontainer/article/get

После несложных преобразований можно получить следующую формулу для частной производной целевой функции по весам входов нейрона-кандидата:

frm_grad_cor.png/smartimagecontainer/article/get

где σ - знак корреляции.

Обучение нейрона-кандидата также проводится при помощи алгоритма quickprop или любого другого метода, основанного на градиентном спуске. Обучение прекращается, когда целевая функция перестает изменятся.

Обучение скрытого слоя

После обучения, выход нейрона-кандидата подключается ко всем входам выходного слоя сети, что и завершает формирование очередного каскада.

fig4.png/smartimagecontainer/article/get

Топология сети с добавленным каскадом

Веса связей между нейроном-кандидатом и выходным слоем сети обучаются также, как и начальное приближение. При этом веса всех остальных связей остаются неизменными.

Заключение

Существует несколько возможных направлений развития данного алгоритма.

  1. На каждом шаге может добавляться несколько различных нейронов-кандидатов, после обучения остается тот нейрон, который достиг наилучших результатов. Нейроны-кандидаты могут различаться по:
    • начальному приближению весов связей,
    • типом нелинейности,
    • подключаться к ограниченному числу связей;
  2. Существует доработка алгоритма для работы с рекуррентной сетью (продемонстрирована возможность обучения автоматной грамматике и декодированию кода Морзе).

Подробнее с математическими основами алгоритма можно ознакомится в работах авторов:

[1]The Cascade-Correlation Learning Architecture
[2]The Recurrent Cascade-Correlation Architecture
Эпицентр Zope3 Учат тут DreamBot Репозиторий Статистика Редакторам
Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site