LSTM

Vēsture

1997. gadā Zeps Hohreiters un Jirgens Šmīdhūbers ierosināja LSTM. Ieviešot Constant Error Carousel (CEC) vienības, LSTM nodarbojas ar pārslodzes un izzūdošām gradienta problēmām. LSTM bloka sākotnējā versija ietvēra šūnas, ievada un izvada vārtus.
1999. gadā Felikss Gers, viņa padomnieks Jirgens Šmīdhūbers un Freds Cummins LSTM arhitektūrā ieviesa aizmiršanas vārtus (sauktus arī par “turēšanas vārtiem”), ļaujot LSTM atjaunot savu stāvokli.
2000. gadā Gers, Šmīdhūbers un Cummins pievienoja arhitektūrā savienojumus no šūnas uz vārtiem. Turklāt izejas aktivizēšanas funkcija tika izlaista.
Citu panākumu vidū LSTM sasniedza rekorda rezultātus dabiskās valodas teksta saspiešanā, saistītā rokraksta atpazīšanā un uzvarēja ICDAR rokraksta sacensībās (2009).
Kopš 2016. gada vadošie tehnoloģiju uzņēmumi, tostarp Google, Apple un Microsoft, izmantoja LSTM kā pamatelementu jaunos produktos. Google izmantoja LSTM runas atpazīšanai viedtālrunī, viedajam palīgam Allo un Google tulkotājam. Apple izmanto LSTM "Quicktype" funkcijai iPhone un Siri. Amazon izmanto LSTM iekš Amazon Alexa.
2017. gadā Facebook katru dienu veica aptuveni 4,5 miljardus automātisko tulkojumu, izmantojot LSTM tīklus.
2017. gadā Mičiganas Universitāte, IBM pētniecība un Kornela Universitāte pētnieki publicēja pētījumu “Knowledge Discovery and Data Mining” (KDD) konferencē. Viņu pētījums apraksta jaunu neironu tīklu, kas noteiktus datu kopumus apstrādā labāk nekā plaši izmantotais LSTM tīkls.

Ideja

Teorētiski, klasiskais RNN var izsekot patvaļīgām ilgtermiņa atkarībām. RNN problēma ir skaitļošanā — RNN apmācības laikā, izmantojot back-propagation, gradienti var "izzust" (tie var būt nulle) vai “pārslogoties” (tie ir tendēti uz bezgalību), jo procesā iesaistītie aprēķini izmanto galīgās precizitātes skaitļus. Izmantojot LSTM vienības, RNN daļēji atrisina gradienta izzušanas problēmu, jo LSTM vienības ļauj gradientiem palikt nemainītiem. Tomēr LSTM tīkli joprojām var ciest no gradienta pārslodzes problēmas.

Arhitektūra

Ir vairākas LSTM vienību arhitektūras. Kopēja arhitektūra sastāv no šūnas (LSTM vienības atmiņas daļas) un trīs informācijas plūsmas "regulatoriem" (vārtiem) — ievada vārtiem, izvada vārtiem un aizmiršanas vārtiem. Dažām LSTM vienības variācijām nav vieni vai vairāki no šiem vārtiem vai varbūt ir citi vārti. Piemēram, GRU nav izvada vārtu.
Šūna ir atbildīga par atkarības saglabāšanu starp ievades secībā esošajiem elementiem. Ievada vārti kontrolē, cik daudz jauno vērtību ieplūst šūnā, aizmiršanas vārti kontrolē, cik lielā mērā vērtība paliek šūnā, un izvada vārti kontrolē, kāda daļa šūnas vērtības tiek izmantota izvada aprēķināšanai LSTM vienībai. LSTM vārtu aktivizēšanas funkcija bieži ir loģistikas funkcija.
Ir savienojumi uz un no LSTM vārtiem, no kuriem daži atkārtojas. Šo savienojumu svars, kas jāapgūst treniņa laikā, nosaka, kā darbojas vārti.

Versijas

Turpmākajos vienādojumos mazie burti ir vektori. Matricas un satur ievada un atkārtojumu svarojuma saistību, kur indekss  var būt gan ievada vārti , izvada vārti , aizmiršanas vārti  vai atmiņas šūna , atkarībā no tā, kas tiek aprēķināts. Šajā sadaļā tiek izmants "vektora apzīmējums". Piemēram,  ir nevis viena LSTM vienības šūna, bet  LSTM vienību šūnas.

LSTM ar aizmiršanas vārtiem

Kompaktas vienādojumu formas padotajām LSTM vienībām ar aizmiršanas vārtiem:
kur sākotnējās vērtības ir  un  un operators apzīmē Hadamard produktu (element-gudrs produkts). Apakšindekss  apzīmē laika soli.