Bosh sahifa Wiki LSTM

LSTM

LSTM — recurrent neural networkning uzoq muddatli dependency’larni yaxshiroq saqlash va vanishing gradient muammosini kamaytirish uchun gate mexanizmlaridan foydalanadigan turi. To‘liq nomi Long Short-Term Memory. LSTM matn, speech, time series va sequence classification vazifalarida keng ishlatilgan.

Oddiy RNN bitta hidden state’ni takroriy transform qiladi. LSTM esa hidden state bilan birga alohida cell state saqlaydi.

Cell state

Cell state sequence bo‘ylab ma’lumot tashuvchi asosiy yo‘l.

U quyidagicha tasavvur qilinadi:

oldingi cell
→ ma’lumotni unutish
→ yangi ma’lumot qo‘shish
→ yangi cell

Additive update gradientning uzoq qadamlar bo‘ylab saqlanishiga yordam beradi.

Gate

Gate sigmoid activation orqali 0 va 1 oralig‘ida qiymat chiqaradi.

Bu ma’lumotning qanchasi o‘tkazilishini boshqaradi.

Asosiy gate’lar:

  • forget gate;
  • input gate;
  • output gate.

Har gate joriy input va oldingi hidden state’dan hisoblanadi.

Forget gate

Forget gate oldingi cell state’ning qaysi qismini saqlashni belgilaydi.

Qiymat 1ga yaqin bo‘lsa ma’lumot ko‘proq saqlanadi.

0ga yaqin bo‘lsa unutiladi.

Model keraksiz eski contextni olib tashlashni o‘rganadi.

Input gate

Input gate yangi candidate ma’lumotning qanchasi cell state’ga yozilishini belgilaydi.

Candidate odatda tanh orqali yaratiladi.

Input gate va candidate ko‘paytmasi yangi memory contributionni beradi.

Shu tariqa model qachon yangi signalni eslab qolishni tanlaydi.

Output gate

Output gate cell state’ning qaysi qismi hidden state sifatida tashqariga chiqishini boshqaradi.

Hidden state keyingi layer, output head va keyingi vaqt qadamiga uzatiladi.

Cell state ichki xotira, hidden state esa joriy ko‘rinadigan representation sifatida qaralishi mumkin.

Hidden state

LSTM har qadamda ikkita holat uzatadi:

h_t — hidden state
c_t — cell state

Initial state nol yoki learned qiymat bo‘lishi mumkin.

Streaming inference’da state segmentlar orasida saqlanishi ehtimoli bor.

Parameterlar

Har gate alohida weight va biasga ega.

Shu sababli LSTM oddiy RNNga qaraganda ko‘proq parameter va hisoblash talab qiladi.

Hidden size oshsa gate matrixlari ham kattalashadi.

Memory va latency deploymentda hisobga olinadi.

Vanishing gradient

Cell state’dagi additive yo‘l gradientning butunlay yo‘qolishini kamaytiradi.

Gate modelga signalni uzoq vaqt saqlash imkonini beradi.

Biroq LSTM har qanday uzunlikdagi dependency’ni mukammal o‘rganadi degani emas.

Juda uzun sequence va noto‘g‘ri trainingda cheklovlar qoladi.

Sequence classification

LSTM sequence’dan bitta label olishda ishlatiladi.

Misollar:

  • sentiment;
  • activity recognition;
  • fraud sequence;
  • machine fault;
  • audio class.

Oxirgi hidden state, attention yoki barcha state pooling qilinishi mumkin.

Sequence labeling

Har token yoki timestep uchun output beriladi:

Bidirectional LSTM tokenning chap va o‘ng kontekstini birlashtiradi.

Streaming vazifada faqat forward yo‘nalish ishlatilishi mumkin.

Bidirectional LSTM

Ikki LSTM sequence’ni qarama-qarshi yo‘nalishda o‘qiydi.

Har pozitsiyadagi output ikkala hidden state’dan tuziladi.

Bu offline matn va audio vazifalarida aniqlikni oshirishi mumkin.

Kelajak input kerak bo‘lgani sabab real-time latencyga mos emas.

Stacked LSTM

Bir LSTM layer outputi keyingi LSTMga input bo‘ladi.

Chuqur network murakkab temporal feature o‘rganadi.

Dropout layerlar orasida regularization uchun ishlatilishi mumkin.

Recurrent connectionga dropout qo‘llash alohida usullarni talab qiladi.

Peephole connection

Ba’zi LSTM variantlarida gate’lar cell state’ni bevosita ko‘radi.

Bu peephole connection deb ataladi.

U timing va precise intervalga oid vazifalarda foyda berishi mumkin.

Barcha framework default LSTM bir xil formulaga ega emas.

Projection

LSTM hidden outputini kichik projection dimensionga tushirish mumkin.

Cell katta capacity saqlaydi, tashqi hidden state esa kichik bo‘ladi.

Bu parameter va inference xarajatini kamaytirishi mumkin.

Speech recognitionda projectionli LSTM ishlatilgan.

Teacher forcing

Sequence decoder trainingida oldingi haqiqiy token keyingi input sifatida berilishi mumkin.

Inference’da esa model o‘z tokenidan foydalanadi.

Bu train-inference farqini yaratadi.

Scheduled sampling kabi yondashuvlar shu muammoni kamaytirishga intiladi.

LSTM va GRU

GRU cell va hidden state’ni alohida saqlamaydi, gate soni kamroq.

GRU ko‘pincha tezroq va kam parameterli.

LSTM murakkabroq memory control beradi.

Qaysi biri yaxshi ekani dataset va vazifaga bog‘liq.

LSTM va Transformer

Transformer sequence’ni attention bilan parallel qayta ishlaydi.

Katta NLP va multimodal modellarda Transformer ustun bo‘ldi.

LSTM:

vazifalarida hanuz qo‘llanadi.

Sequence uzunligi

LSTM uzoq dependency’ni oddiy RNNdan yaxshiroq saqlaydi, ammo minglab qadamda barcha ma’lumotni bir state’da olib yurish qiyin. Windowing, attention yoki hierarchical architecture ishlatilishi mumkin. State’ni juda uzoq saqlash eskirgan signalni ham davom ettiradi.

Initialization

Forget gate biasini musbat qiymatdan boshlash modelga dastlab xotirani ko‘proq saqlashga yordam berishi mumkin. Orthogonal recurrent initialization ham stabilityda ishlatiladi. Aniq setting framework va taskga bog‘liq.

Deployment

LSTM inference bir qadamni oldingisidan keyin bajaradi, shu sababli GPU parallelizatsiyasi Transformerga nisbatan cheklangan. Biroq streamingda har yangi frame uchun faqat bitta qadam va kichik state kerak, bu edge qurilmada qulay.

Bog‘liq tushunchalar

Long Short-Term Memory, Recurrent Neural Network, Cell state, Forget gate, Input gate, Output gate, Hidden state, GRU, Bidirectional LSTM, Sequence model