Backpropagation алгоритміндегі мазасыздық

Мен қазірдің өзінде біршама уақыт артта қалғанын түсінуге тырыстым. Мен оның екі нұсқасын таптым.

  1. Эндрю Нг класындағы жасырын қабаттардың салмағы туындылар жасырын торапқа бөлінген қате сигналы арқылы есептеледі.
  2. Джеффри Хинтон сыныпта жасырын қабаттардың салмағының туындылары есептелетін келесі қабаттың туындылары мен есептеулер туралы мағыналы түсінігімнен есептеледі.

Біреу бірінші нұсқа қалай жұмыс істейтінін түсіндіре алады ма?

3

1 жауаптар

Бірінші нұсқасы екінші нұсқа болып табылады, немесе дәлірек, қайтадан бір түрі бар, ол желінің параметрлері бойынша жоғалу функциясының градиенттерімен жұмыс істейді.

Бұл туралы сұрақ туғызбайтын нүкте емес, алайда, менің ойымша, негізгі проблема, ол менмендіктің пайда болу себебі, шығын функциясы ақылды түрде құрылады, яғни ол шығыс қабатын белсендіру функциясымен жұмыс істейді, ал туынды термин сандық $ \ hat { y} - y $, сызықтық қателікті тікелей қабылдаған сияқты көрінеді. Осындай желіні іске асыратын кодты зерттейтін адамдар бастапқы градиент шын мәнінде бастапқы қателік болып табылады (және олардың саны әртүрлі болса да, олар әртүрлі ұғымдар және жалпы нейрондық желіде олар қажет емес). тең болуы)

Бұл жағдай келесі желілік архитектура үшін қолданылады:

  • Орташа квадрат қате $ \ frac {1} {2N} \ sum_ {i = 1} ^ N (\ hat {y} _i - y_i) ^ 2 $ және сызықтық шығу қабаты - frac {1} {2} $ туындыға қасақана жеңілдетуге арналған.

  • Екі жақты кросс-энтропия $ \ frac {-1} {N} \ sum_ {i = 1} ^ Ny_i \ text {log} (\ hat {y} _i) + (1-y_i) \ {log} (1 \ hat {y} _i) $ және sigmoid шығу қабаты. Шығынның туындысы сигарифмнің туындысын дұрыс тастап, $ \ hat {y} - y $ айналдыру кезеңінде градиентпен қалдырады.

  • Шынайы класстардың біржақты кодталуы бар көп деңгейлі логлос $ \ frac {-1} {N} \ sum_ {i = 1} ^ N \ mathbf {y} _i \ cdot \ text {log} (\ hat {\ mathbf {y}} _ i) $ және softmax шығу қабаты. Тіпті, жоғалтудың туындысы шынайы сыныбына $ \ hat {y} - y $ айналдыру кезеңінде сізді градиентпен қалдырады.

Сондықтан, кері пропагандтау желі арқылы «қателік сигналы» немесе «қате» процесін өңдейтінін айтқан кезде, «градиент» сөзін фразаның басталуына дейін ғана қосыңыз. Кейбіреулер білетіндіктен стенография деп айтады, ал басқалары адал шатастырылуы мүмкін.

Сонымен қатар бұл тереңірек қабаттарға қатысты болса да, бұл кезде «таратылған қате» басқа да дереккөздер жоқ, «бұл таратылатын қатенің [градиентінің]» деген стенографиядан басқа.

4
қосылды
@lakshaytaneja: Желінде терең туындыларды қысқарту үшін ешқандай артықшылықтар жоқ, бірақ backpropagation әлі күнге дейін градиент туралы болып табылады, онда қате мәндері туралы «нұсқалар» жоқ. Мен осы жерде шығатын қабатты түсіндірдім, өйткені бұл менің тәжірибемде түсініспеушіліктің түпкі себебі. Мүмкін, сіздің шатасыңыздың қай жерде екенін түсіндіріңіз (неге сен ойлауға бола Andrew Ng қате мәндерін таратуды түсіндіреді - ол емес ), бірақ түсініктеме сізге көмектесетін нәрсе болмауы мүмкін) нақты цитатаны бере ме?
қосылды автор Jeff Ferland, көзі
бұл жақсы, жасырын және шығыс қабаты арасындағы салмақтар үшін дұрыс, бірақ бұл екі жасырын қабат арасындағы дәл сол жағдай, себебі бұл түйінде қате туындысы y ^ - y
қосылды автор Justin Smith, көзі
Мен өзімнің видеодында диаграммалық түрде көрсеткендей, қателіктің қайтадан таратылуына ұқсайды, бірақ ол жасырын және шығыс қабаты арасындағы салмаққа тек оның шынайы екендігін дәлелдейді, кейін ол рекурсивтік функция бұрынғыдан туындайды layer.Its ғана, бұл ол бірінші қабат үшін түсіндірді, менің ойымша, менің ойымша, менің күмәнім тазарту үшін рахмет :)
қосылды автор Justin Smith, көзі