Може хтось пояснить, будь ласка, алгоритм зворотного поширення? [дублікат]


13

Що таке алгоритм зворотного поширення і як він працює?


1
Я поєднав відповідь на це питання тут , якщо кому - то цікаво (я не хочу передруковувати).
Філіїда

Відповіді:


14

Алгоритм зворотного розповсюдження - це алгоритм спуску градієнта для встановлення моделі нейронної мережі. (як згадував @Dikran) Дозвольте пояснити, як.

Формально: Використання обчислення градієнта в кінці цього посту в рівнянні [1] нижче (тобто визначення градієнтного спуску) дає зворотний алгоритм поширення як окремий випадок використання градієнтного спуску.

Модель нейронної мережі Формально ми фіксуємо ідеї за допомогою простої одношарової моделі:

g : RR s : R MR M m = 1 , M s ( x ) [ m ] = σ ( x [ m ] ) A 1 : R MR A

f(x)=g(A1(s(A2(x))))
де і відомі з усіма , , і , - невідомі афінні функції. Функція називається функцією активації в рамках класифікації.g:RRs:RMRMm=1,Ms(x)[m]=σ(x[m])A1:RMR σ : RRA2RpRMσ:RR

Для фіксації ідей береться квадратична функція втрати . Отже , вхідний вектори може бути встановлений на реальний обсяг виробництва з (може бути векторами) шляхом мінімізації емпіричного втрата: стосовно вибору і .R p ( y 1 , , y n ) R R n ( A 1 , A 2 ) = n i = 1 ( y i - f ( x i ) ) 2(x1,,xn)Rp(y1,,yn)RA 1 A 2

Rn(A1,A2)=i=1n(yif(xi))2[1]
A1A2

Спуск градієнта Градієнтний спуск для мінімізації- це алгоритм, який повторює: для добре вибраних розмірів кроків(також називається швидкістю навчання в рамках розповсюдження спини). Він вимагає обчислення градієнта. У розглянутому випадку.R

al+1=alγlR(al), l0.
(γl)lRal=(Al1,Al2)

ГрадієнтR (для простої розглянутої моделі нейронної сітки) Позначимо через градієнт як функцію та градієнт як функція . Стандартний обчислення (з використанням правила для виведення складу функцій) та використання позначення дають для всіх1RRA12RRA2zi=A1(s(A2(xi)))

1R[1:M]=2×i=1nzig(zi)(yif(xi))
m=1,,M
2R[1:p,m]=2×i=1nxig(zi)zi[m]σ(A2(xi)[m])(yif(xi))

Тут я використав позначення R: - вектор, що складається з координат від індексу до індексу .x a bx[a:b]xab


11

Зворотне пропонування - це спосіб опрацювання похідної функції помилки щодо ваг, щоб модель могла бути навчена методами оптимізації градієнта спуску - це в основному лише застосування «правила ланцюга». Насправді це не набагато більше, тому, якщо вам зручно з числення, це в основному найкращий спосіб поглянути на це.

Якщо вам не комфортно з обчисленням, кращим способом було б сказати, що ми знаємо, наскільки погано працюють вихідні одиниці, оскільки у нас є бажаний вихід, з яким можна порівняти фактичний вихід. Однак у нас немає бажаного виводу для прихованих одиниць, і що ми робимо? Правило зворотного розповсюдження - це, головним чином, спосіб винесення вини за помилку вихідних одиниць на приховані одиниці. Чим більше вплив прихованої одиниці має на певний вихідний блок, тим більше звинувачення він отримує за помилку. Тотальне звинувачення, пов'язане з прихованою одиницею, то вказує на те, наскільки потрібно змінювати вагу вхідного та прихованого шару. Дві речі, які регулюють, скільки провини передається назад, - це вага, що з'єднує ваги прихованого та вихідного шарів (очевидно) та вихід прихованого блоку (якщо він кричить, а не шепоче, це, ймовірно, матиме більший вплив). Решта - це лише математичні тонкощі, які перетворюють цю інтуїцію на похідну від критерію тренувань.

Я також порекомендував бискупську книгу для правильної відповіді! ; o)


2

Це алгоритм для навчання подачі багатошарових нейронних мереж (багатошарових перцептронів). У Інтернеті є кілька приємних яблучних аплетів, які ілюструють те, що відбувається, як-от цей: http://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html . Крім того, книга Бішопа про NN - це стандартна довідка на робочому столі для будь-якого відношення до NN.


Намагаючись створити постійне сховище високоякісної статистичної інформації у формі питань та відповідей, ми намагаємось уникати відповідей, що відповідають лише посиланням . Якщо ви в змозі, можете розширити це, можливо, надавши короткий опис інформації за посиланням?
Glen_b -Встановіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.