Backpropagation Through Time (BPTT) — recurrent networkni o‘qitishda computation graphni vaqt qadamlariga ochib, gradientni oxirgi loss’dan oldingi state va parameterlarga teskari tarqatish usuli. Oddiy backpropagationning sequence uchun qo‘llanishi bo‘lib, bir xil recurrent weight har qadamda ishlatilgani sabab uning gradient hissalari yig‘iladi.
Vaqt bo‘yicha ochish
RNN formulasi loop ko‘rinishida yozilsa ham, training tahlilida har qadam alohida node sifatida tasvirlanadi. h_1 h_0 va x_1 dan, h_2 esa h_1 va x_2 dan hosil bo‘ladi. Loss har qadamda yoki faqat sequence oxirida hisoblanishi mumkin. Chain rule gradientni ushbu bog‘lanishlar orqali orqaga olib boradi.
Recurrent matrix bir necha marta gradientga ko‘payadi. Uning spectral xususiyati gradientning eksponentsial kamayishi yoki o‘sishiga ta’sir qiladi. Natijada uzoq dependency uchun vanishing gradient, katta qiymatlarda exploding gradient yuz beradi.
To‘liq BPTT
Full BPTT butun sequence graphini saqlab, barcha qadamdan gradient oladi. Qisqa sequence uchun aniq, ammo uzun audio, text yoki doimiy sensor streamida activation xotirasi katta bo‘ladi. Sequence uzunligi oshganda backward vaqti ham o‘sadi.
Padding qadamlar lossga kirmasligi uchun mask ishlatiladi. Hidden state initial value ham gradient olishi mumkin. Bidirectional RNN ikki yo‘nalish graphini ochadi; backward direction inputni teskari tartibda qayta ishlaydi.
Truncated BPTT
Truncated BPTT streamni fixed-length chunklarga ajratadi. State keyingi chunkka qiymat sifatida uzatiladi, ammo graph detach qilinib undan oldingi qadamga gradient o‘tmaydi. Bu memoryni cheklaydi va online trainingni yengillashtiradi. Truncation windowdan uzoq causal ta’sir to‘g‘ridan-to‘g‘ri o‘rganilmaydi.
Chunk chegarasi data semantikasiga mos kelmasa pattern bo‘linadi. Window uzunligi compute va dependency orasidagi trade-off. Ba’zan forward state uzun tarixni olib yuradi, gradient esa qisqa oynada bo‘ladi; model oldingi signalni ishlatishi mumkin, lekin uni qanday saqlashni o‘rganish signali cheklangan.
Barqarorlashtirish
Gradient clipping global normni thresholdgacha scale qilib exploding gradientni kamaytiradi. Elementwise clamp directionni ko‘proq buzishi mumkin. LSTM va GRU additive state yo‘llari hamda gate orqali gradientni uzoqroq saqlaydi. Orthogonal recurrent initialization va normalization ham yordam beradi.
Checkpointing ayrim activationni saqlamay, backward’da qayta hisoblab memoryni kamaytiradi. Mixed precision tezlik beradi, ammo overflow detection kerak. Loss scaling juda kichik gradientning float16’da yo‘qolishini kamaytiradi.
Implementation tekshiruvi
Training loop state detach qilingan joy, sequence mask va loss normalizationni aniq ko‘rsatadi. Loss’ni padded tokenlar soniga bo‘lish turli batch uzunligida adolatli scale beradi. Gradient norm monitoring beqarorlikni erta aniqlaydi. Unit test kichik RNN’da automatic gradientni finite difference bilan solishtirishi mumkin. Evaluation’da gradient kerak emas, ammo state lifecycle trainingdagi causal shartga mos qoladi.
Amaliy tekshiruv
Backpropagation Through Time bilan ishlaydigan tajribada unroll window, mask, detach va loss normalization model konfiguratsiyasi bilan birga qayd etiladi. Taqqoslash bir xil data split, preprocessing, random seed va hisoblash budjetida bajariladi. Asosiy natija gradient norm hamda uzun dependency testi orqali ko‘riladi; faqat training loss yoki bitta qulay sample yetarli dalil bermaydi. Kichik synthetic test matematik xulqni, alohida real test esa shovqin, noodatiy uzunlik va domain shiftni tekshiradi. Regression test output shape, numerical finite qiymatlar va boundary holatlarini qamraydi. Monitoring ayniqsa graphning tasodifan erta uzilishi yoki xotirada cheksiz o‘sishini erta aniqlashga qaratiladi. Model versiyasi, parametrlar va baholash protokoli natija bilan saqlanadi, chunki bir xil nomdagi komponent turli kutubxona yoki checkpointda boshqa convention asosida ishlashi mumkin. Yuqori xavfli qo‘llanishda avtomatik natija human review va aniq fallback bilan cheklanadi.
Bog‘liq tushunchalar
Backpropagation, Recurrent Neural Network, Hidden state, Truncated BPTT, Vanishing gradient, Exploding gradient, Gradient clipping