Тренировочные алгоритмы узла Нейронные сети
Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server.

Метод обратного распространения ошибки – один из наиболее распространенных алгоритмов, описанных в научной литературе по нейронным сетям. Обратное распространение требует как минимум одного входного и одного выходного слоя, может иметь 0 или больше скрытых или промежуточных слоев. Число нейронов во входном слое зависит от числа возможных входов (входных импульсов), которые мы имеем, тогда как число нейронов в заключительном слое зависит от числа желаемых выходов. Число скрытых слоев и нейронов в каждом скрытом слое нельзя заранее определить, его можно изменить для каждой настройки сети или типа данных. Обычно добавление скрытого слоя позволяет сети выявить более сложные шаблоны в данных, но в то же время уменьшает производительность узла. Можно начать настройку новой сети с одного скрытого слоя и позже добавить дополнительные скрытые слои, если вы видите, что обучение сети не дает желаемого результата.

Например, представьте, что у нас есть заявление в банк на получение кредита. В нем - десять вопросов, ответы на которые определят сумму кредита и размер процентной ставки. Чтобы использовать метод обратного распространения ошибки, в нашей нейронной сети должно быть десять нейронов в входном слое и два нейрона в выходном. Во время тренировочных итераций алгоритм НС начинает с модификации значений в выходном слое, а затем переходит к промежуточным, скрытым слоям, один за другим, пока не доберется до входного слоя. Такой метод работы и объясняет название нейронной сети данного вида.

На Википедии порядок работы с НС описан следующим образом:

  1. Введите тренировочную выборку в нейронную сеть.

  2. Сравните выход сети с желаемым выходом на основе этой выборки. Вычислите ошибку в каждом выходном нейроне.

  3. Для каждого нейрона рассчитайте желаемый выход, фактор градации, насколько должен подходить выход к желаемому. Это локальная ошибка.

  4. Определите вес каждого нейрона для уменьшения локальной ошибки.

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

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

RPROP (сокр. от англ. "resilient backpropagation")– это адаптированный и улучшенный алгоритм эластичного обратного распространения, предложенный Мартином Ридмиллером в начале 1990-х гг. Для преодоления недостатков стандартного метода градиентного спуска, RPROP корректирует, подстраивает весовые коэффициенты в зависимости от функции ошибки. Число эпох (обучающих циклов или итераций) – меньше, чем при обратном распространении, и время вычисления лишь немного увеличивается по сравнению с алгоритмом QuickProp и другими. За дополнительной информацией по алгоритму RPROP обратитесь к сети Интернет. Вот список некоторых рекомендуемых источников:

QuickProp – другая альтернатива обратному распространению, предложенная Скоттом Е. Фальманом в 1988 в Университете Карнеги (штат Пенсильвания, США). Его главная цель – увеличить скорость процесса обучения алгоритма обратного распространения. Фальман пишет (стр. 10-11):

"Обратное распространение и его виды действуют с помощью вычисления частной первой производной общей ошибки по отношению к весу. При наличии такой информации можно выполнить градиентный спуск веса. Если выполнять градиентный спуск бесконечно малыми шагами, постепенно мы достигнем локального минимума, и эмпирически доказано, что данный локальный минимум часто является глобальным минимумом, или предлагает удовлетворительное решение проблемы во многих случаях. Кончено, если необходимо найти решение в максимально короткие сроки, мы не будем следовать бесконечно малыми шагами, а наоборот, постараемся действовать максимально быстро. К сожалению, набор частных первых производных, собранных в одной точке, вряд ли позволяет судить о допустимой величине шага. Если бы мы знали что-то о производных высшего порядка – о кривой функции ошибки – мы могли бы определить величину шага точнее…​ Все происходит так же, как и в обычном обратном распространении, но для каждого веса сохраняется копия ∂E/∂w (t−1), производная ошибки, рассчитанная во время предыдущей обучающей эпохи вместе с разницей между текущими и прошлыми весовыми значениями".

Scott E. Fahlman. An Empirical Study of Learning Speedin Back-Propagation Networks. September 1988. CMU-CS-88-162. http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/sef/www/publications/qp-tr.ps