Дуга краткoрочна меморија

С Википедије, слободне енциклопедије

 

Ћелија дуге краткорочне меморије (ДКМ) може да обрађује податке секвенцијално и да задржи своје скривено стање током времена.

Дуга краткорочна меморија ( ДКМ ) [1] је вештачка неуронска мрежа која се користи у областима вештачке интелигенције и дубоког учења . За разлику од стандардних неуронских мрежа унапред, дуга краткорочна меморија има повратне везе. Таква рекурентна неуронска мрежа може да обрађује не само појединачне тачке података (као што су слике), већ и читав низ података (као што су говор или видео). На пример, дуга краткорочна меморија је применљива на задатке као што су несегментирано, повезано препознавање рукописа, [2] препознавање говора, [3] [4] машинско превођење, [5] [6] контрола робота, [7] видео игрице, [8] [9] и здравство. [10] Дуга краткорочна меморија је постала најцитиранија неуронска мрежа 20. века. [11]

Уобичајена јединица дуге краткорочне меморије се састоји од ћелије, улазног гејта, излазног гејта [12] и капије за заборав . [13] Ћелија памти вредности у произвољним временским интервалима, а три капије регулишу ток информација у и из ћелије.

Мреже састављене од јединица дуге краткорочне меморије су веома погодне за класификацију, обраду и предвиђање на основу података временске серије, пошто може постојати кашњење непознатог трајања између важних догађаја у временској серији. Јединице дуге краткорочне меморије су развијене да се баве проблемом нестајања градијента [14] који се може сусрести приликом обуке традиционалних рекурентних неуронских мрежа. Релативна неосетљивост на дужину јаза је предност дуге краткорочне меморије у односу на рекурентне неуронске мреже, али и у односу на скривене Марковљеве моделе и друге методе учења секвенце у бројним применама.[тражи се извор]

Идеја[уреди | уреди извор]

У теорији, класичнe (или "ванилa") рекурентне неуронске мреже могу да прате произвољне дугорочне зависности у улазним секвенцама. Проблем са овом врстом рекурентних неуронских мрежа је рачунске (или практичне) природе: када се обучава ванила рекурентна неуронска мрежа користећи пропагацију уназад, дугорочни градијенти који се пропагирају уназад могу "нестати" (то јест, могу тежити нули) или могу "експлодирати“ (то јест, могу тежити бесконачности), [14] због прорачуна укључених у процес, који користе бројеве са коначном прецизношћу . Рекурентне неуронске мреже које користе јединице дуге краткорочне меморије делимично решавају проблем нестајања градијента, јер јединице дуге краткорочне меморије дозвољавају да градијенти такође теку непромењени . Међутим, мреже састављене од јединица дуге краткорочне меморије и даље могу патити од проблема са експлодирајућим градијентом. [15]

Варијанте[уреди | уреди извор]

У доле наведеним једначинама, променљиве малим словима представљају векторе. Матрице и садрже, респективно, тежине улазних и рекурентних веза, где је индекс може бити улазна капија , излазна капија , капија заборава или меморијска ћелија , у зависности од активације која се израчунава. У овом одељку, стога, користимо "векторску нотацију". Тако, на пример, није само једна јединица једне ћелије дуге краткорочне меморије, већ садржи јединица ћелије дуге краткорочне меморије.

Дуга краткорочна меморија са 'капијом за заборав'[уреди | уреди извор]

Компактни облици једначина за пролаз унапред ћелије дуге краткорочне меморије са 'капијом за заборав' су: [1] [13]

где су почетне вредности и и оператер означава Адамаров производ (производ по елементима). Ознака представља индексирање временског корака.

Променљиве[уреди | уреди извор]

  •  : улазни вектор за јединицу дуге краткорочне меморије
  •  : вектор 'заборава' активације капије
  •  : улаз/ажурирање вектора активације капије
  •  : вектор активирања излазне капије
  •  : вектор скривеног стања, такође познат као излазни вектор јединице дуге краткорочне меморије
  •  : вектор за активирање улаза ћелије
  •  : вектор стања ћелије
  • , и  : матрице тежине и параметри вектора пристрасности које треба научити током тренинга

где се ознаке и односе се на број улазних карактеристика и број скривених јединица, респективно.

Функције за активирање[уреди | уреди извор]

"Шпијунка" - врста дугe краткорочне меморије[уреди | уреди извор]

Јединица дуге краткорочне меморије са шпијунком са улазом (тј ), излазом (тј ), и 'капијом за заборав'(тј ).

Претходна слика је графички приказ јединице дуге краткорочне меморије са шпијунским везама. Везе са шпијунком омогућавају капијама приступ вртешци са константном грешком, чија је активација стање ћелије. [16] се не користи, док се користи на већини места.

Свака од капија се може сматрати "стандардним" неуроном у неуронској мрежи са прослеђивањем (или вишеслојној неуронској мрежи): то јест, они израчунавају активацију (користећи функцију активације) пондерисане суме. и представљају активације респективно улазних, излазних и заборавних капија, у временском кораку .

Три стрелице за излаз из меморијске ћелије до три капије и представљају шпијунске везе. Ове шпијунске везе заправо означавају доприносе активације меморијске ћелије у временском кораку , односно допринос (и не , као што слика може да сугерише). Другим речима, капије и рачунају њихове активације у временском кораку (тј., респективно, и ). Такође, с обзиром на активирање меморијске ћелије у временском кораку , тј .

Једна стрелица лево-десно која излази из меморијске ћелије није шпијунска веза и означава се са .

Мали кругови који садрже симбол представљају елементарно множење између његових улаза. Велики кругови који садрже С -сличну криву представљају примену диференцибилне функције (попут сигмоидне функције) на пондерисани збир.

Конволуциона јединица дуге краткорочне меморије са шпијунком[уреди | уреди извор]

Код конволуционе јединице дуге краткорочне меморије са шпијунком ознака означава оператор конволуције .

Обука[уреди | уреди извор]

Рекурентне неуронске мреже које користе јединицу дуге краткорочне меморије могу се тренирати на надгледани начин на скупу секвенци за обуку, користећи оптимизациони алгоритам попут спуштања градијента у комбинацији са пропагацијом уназад кроз време да би се израчунали градијенти потребни током процеса оптимизације, како би се променила свака тежина мреже састављене од јединица дуге краткорочне меморије пропорционално деривату грешке (на излазном слоју мреже састављене од јединица дуге краткорочне меморије) у односу на одговарајућу тежину.

Проблем са коришћењем градијента спуштања за стандардне рекурентне неуронске мреже је тај што градијенти грешке нестају експоненцијално брзо са величином временског кашњења између важних догађаја. Ово би требало да износи ако је спектрални радијус од мањи од 1. [14] [17]

Међутим, код јединица дуге краткорочне меморије, када се вредности грешке проширују уназад из излазног слоја, грешка остаје у ћелији јединице дуге краткорочне меморије. Ова „вртешка са грешкама“ непрекидно враћа грешку на сваку капију јединице дуге кракторочне меморије, све док не науче да одсеку вредност.

КВК функција скора[уреди | уреди извор]

Многе апликације користе стекове дугих краткорочних меморија рекурентних неуронских мрежа [18] и обучавају их конекционистичком временском класификацијом (КВК) [19] како би пронашли матрицу тежине рекурентне неуронске мреже која максимизира вероватноћу секвенци ознака у скупу за обуку, с обзиром на одговарајуће улазне секвенце. Конекционистичка временска класификација постиже и усклађивање и препознавање.

Алтернативе[уреди | уреди извор]

Понекад може бити корисно тренирати (делове) дуге краткорочне меморије неуроеволуцијом или методама градијента политике, посебно када не постоји „учитељ“ (тј. ознаке за обуку).

Успешни примери[уреди | уреди извор]

Било је неколико успешних прича о обуци, на начин без надзора, где је рекурентна неуронска мрежа имала јединице дуге краткорочне меморије.

Бил Гејтс је 2018. године то назвао „огромном прекретницом у унапређењу вештачке интелигенције“ када су ботови које је развио OpenAI успели да победе људе у игри Дота 2 [8] OpenAI Five се састоји од пет независних, али координисаних неуронских мрежа. Свака мрежа је обучена методом градијента политике без надзорног учитеља и садржи једнослојну дуготрајну меморију од 1024 јединице која види тренутно стање игре.

У 2018, ОpenAI је такође обучио сличну јединицу дуге краткорочне меморије помоћу градијената политике да контролише руку робота налик човеку која манипулише физичким објектима са невиђеном спретношћу. [7]

У 2019. години, ДипМајнд-ов програм АлфаСтар је користио дубоко језгро дуге краткорочне меморије да би се истакао у комплексној видео игрици Starcraft II . [9] Ово је виђено као значајан напредак ка вештачкој општој интелигенцији. [9]

 

Временски оквир развоја[уреди | уреди извор]

1991: Сеп Хохрејтер је анализирао проблем градијента нестајања и развио принципе методе у својој дипломској тези [14], уз савете Јиргена Шмидубера .

1995: „Дуго краткорочно памћење“ објављено је у техничком извештају Сепа Хохрејтера и Јиргена Шмидубера . [20]


1999: Феликс Герс и његов саветник Јирген Шмидубер и Фред Каминс увели су капију за заборав (која се такође назива „капија чувања“) у архитектуру дуге краткорочне меморије, [21] омогућавајући дугој краткорочној меморији да ресетује сопствено стање. [22]

2000: Герс, Шмидубер и Каминс су додали шпијунске везе (везе од ћелије до капија) у архитектуру. [13] Поред тога, функција активације излаза је изостављена. [22]

2001: Герс и Шмидубер су обучили дугу краткорочну меморију да учи језике који се не могу научити традиционалним моделима као што је Скривени Марковљев модел. [23]


2004: Прва успешна примена дуге краткорочне меморије на говор од стране Шмидуберовог ученика Алекса Грејвса и других. [23]

2005: Прва публикација (Грејвс и Шмидубер) о дугој краткорочној меморији са комплетном пропагацијом кроз време и о двосмерној дугој краткорочној меморији. [23]

2005: Ден Виерстра, Фаустино Гомез и Шмидубер обучавали су дугу краткорочну меморију неуроеволуцијом без 'учитеља'.

2006: Грејвс, Фернандез, Гомез и Шмидубер уводе нову функцију грешке за ЛСТМ: конекционистичку временску класификацију (КВК) за истовремено поравнање и препознавање секвенци. [19] Дуга краткорочна меморија обучена за конекционистичку временску класификацију довела је до напретка у препознавању говора. [24] [25] [26]

Мајер и други обавили су обучавање дуге краткорочне меморије за контролу робота .

2007: Виерстра, Форстер, Питерс и Шмидубер обучавали су дугу краткорочну меморију према градијентима политике за учење са појачањем без 'учитеља'. [27]

Хохрејтер, Хојсел и Обермајр су применили дугу краткорочну меморију на детекцију хомологије протеина у области биологије .


2013: Алекс Грејвс, Абдел-рахман Мохамед и Џефри Хинтон користили су мреже састављену од јединица дуге краткорочне меморије као главну компоненту мреже која је постигла рекордну стопу фонемских грешака од 17,7% на класичном скупу података природног говора.


2015: Гугл је почео да користи дугу краткорочну меморији коју је обучио помоћу концекционистичке временске класификације за препознавање говора на Гугл Војсу. [24] [25] Према званичној блог објави, нови модел је смањио грешке у транскрипцији за 49%. [28]



2017: Фејсбук је обављао око 4,5 милијарди аутоматских превода сваког дана користећи мреже за дуготрајно памћење. [6]

Истраживачи са Државног универзитета у Мичигену, ИБМ истраживања и Универзитета Корнел објавили су студију на конференцији за откривање знања и рударење података. Њихова Т врста дуге краткорочне меморије има бољи учинак на одређеним скуповима података од стандардне дуге краткорочне меморије.


2018: OpenAI je користио дугу краткорочну меморију обучену од стране градијената политике да победи људе у сложеној видео игрици Дота 2, [8] и да контролише руку робота налик човеку која манипулише физичким објектима са невиђеном спретношћу. [7] [23]

2019: ДипМајнд је користио дугу краткорочну меморију обучену према градијентима политике да би се истакао у комплексној видео игрици Starcraft II . [9] [23]

Референце[уреди | уреди извор]

  1. ^ а б Sepp Hochreiter; Jürgen Schmidhuber (1997). „Long short-term memory”. Neural Computation. 9 (8): 1735—1780. PMID 9377276. doi:10.1162/neco.1997.9.8.1735. 
  2. ^ Graves, A.; Liwicki, M.; Fernández, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. (мај 2009). „A Novel Connectionist System for Unconstrained Handwriting Recognition”. IEEE Transactions on Pattern Analysis and Machine Intelligence. 31 (5): 855—868. CiteSeerX 10.1.1.139.4502Слободан приступ. ISSN 0162-8828. PMID 19299860. S2CID 14635907. doi:10.1109/tpami.2008.137. 
  3. ^ Sak, Hasim; Senior, Andrew; Beaufays, Francoise (2014). „Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling” (PDF). Архивирано из оригинала (PDF) 2018-04-24. г. 
  4. ^ Li, Xiangang; Wu, Xihong (2014-10-15). „Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition”. arXiv:1410.4281Слободан приступ [cs.CL]. 
  5. ^ Wu, Yonghui; Schuster, Mike (2016-09-26). „Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation”. arXiv:1609.08144Слободан приступ [cs.CL]. 
  6. ^ а б Ong, Thuy (4. 8. 2017). „Facebook's translations are now powered completely by AI”. www.allthingsdistributed.com. Приступљено 2019-02-15. 
  7. ^ а б в „Learning Dexterity”. OpenAI Blog. 30. 7. 2018. Архивирано из оригинала 17. 02. 2019. г. Приступљено 2019-01-15. 
  8. ^ а б в Rodriguez, Jesus (2. 7. 2018). „The Science Behind OpenAI Five that just Produced One of the Greatest Breakthrough in the History of AI”. Towards Data Science. Архивирано из оригинала 2019-12-26. г. Приступљено 2019-01-15. 
  9. ^ а б в г Stanford, Stacy (25. 1. 2019). „DeepMind's AI, AlphaStar Showcases Significant Progress Towards AGI”. Medium ML Memoirs. Приступљено 2019-01-15. 
  10. ^ Schmidhuber, Jürgen (2021). „The 2010s: Our Decade of Deep Learning / Outlook on the 2020s”. AI Blog. IDSIA, Switzerland. Приступљено 2022-04-30. 
  11. ^ Schmidhuber, Jürgen (2021). „The most cited neural networks all build on work done in my labs”. AI Blog. IDSIA, Switzerland. Приступљено 2022-04-30. 
  12. ^ . Архивирано из оригинала|archive-url= захтева |url= (помоћ) |archive-url= захтева |archive-date= (помоћ). г.  Недостаје или је празан параметар |title= (помоћ)
  13. ^ а б в Felix A. Gers; Jürgen Schmidhuber; Fred Cummins (2000). „Learning to Forget: Continual Prediction with LSTM”. Neural Computation. 12 (10): 2451—2471. CiteSeerX 10.1.1.55.5709Слободан приступ. PMID 11032042. S2CID 11598600. doi:10.1162/089976600300015015. 
  14. ^ а б в г Hochreiter, Sepp. Untersuchungen zu dynamischen neuronalen Netzen (PDF) (Теза). Technical University Munich, Institute of Computer Science, advisor: J. Schmidhuber. 
  15. ^ Calin, Ovidiu (14. 2. 2020). Deep Learning Architectures. Cham, Switzerland: Springer Nature. стр. 555. ISBN 978-3-030-36720-6. 
  16. ^ Gers, F. A.; Schmidhuber, E. (новембар 2001). „LSTM recurrent networks learn simple context-free and context-sensitive languages” (PDF). IEEE Transactions on Neural Networks. 12 (6): 1333—1340. ISSN 1045-9227. PMID 18249962. doi:10.1109/72.963769. Архивирано из оригинала (PDF) 10. 07. 2020. г. Приступљено 09. 06. 2022. 
  17. ^ Hochreiter, S.; Bengio, Y.; Frasconi, P.; Schmidhuber, J. (2001). „Gradient Flow in Recurrent Nets: the Difficulty of Learning Long-Term Dependencies (PDF Download Available)”. Ур.: Kremer and, S. C.; Kolen, J. F. A Field Guide to Dynamical Recurrent Neural Networks. IEEE Press. 
  18. ^ Fernández, Santiago; Graves, Alex; Schmidhuber, Jürgen (2007). „Sequence labelling in structured domains with hierarchical recurrent neural networks”. Proc. 20th Int. Joint Conf. On Artificial Intelligence, Ijcai 2007: 774—779. CiteSeerX 10.1.1.79.1887Слободан приступ. 
  19. ^ а б Graves, Alex; Fernández, Santiago; Gomez, Faustino; Schmidhuber, Jürgen (2006). „Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks”. In Proceedings of the International Conference on Machine Learning, ICML 2006: 369—376. CiteSeerX 10.1.1.75.6306Слободан приступ. 
  20. ^ Sepp Hochreiter; Jürgen Schmidhuber,   Недостаје или је празан параметар |title= (помоћ)
  21. ^ Gers, Felix; Schmidhuber, Jürgen; Cummins, Fred (1999). „Learning to forget: Continual prediction with LSTM”. 9th International Conference on Artificial Neural Networks: ICANN '99. 1999. стр. 850—855. ISBN 0-85296-721-7. doi:10.1049/cp:19991218. 
  22. ^ а б Klaus Greff; Rupesh Kumar Srivastava; Jan Koutník; Bas R. Steunebrink; Jürgen Schmidhuber (2015). „LSTM: A Search Space Odyssey”. IEEE Transactions on Neural Networks and Learning Systems. 28 (10): 2222—2232. Bibcode:2015arXiv150304069G. PMID 27411231. S2CID 3356463. arXiv:1503.04069Слободан приступ. doi:10.1109/TNNLS.2016.2582924. 
  23. ^ а б в г д Schmidhuber, Juergen (10. 5. 2021). „Deep Learning: Our Miraculous Year 1990-1991”. arXiv:2005.05744Слободан приступ [cs.NE]. 
  24. ^ а б Beaufays, Françoise (11. 8. 2015). „The neural networks behind Google Voice transcription”. Research Blog. Приступљено 2017-06-27. 
  25. ^ а б Sak, Haşim; Senior, Andrew; Rao, Kanishka; Beaufays, Françoise; Schalkwyk, Johan (24. 9. 2015). „Google voice search: faster and more accurate”. Research Blog (на језику: енглески). Приступљено 2017-06-27. 
  26. ^ Haridy, Rich (21. 8. 2017). „Microsoft's speech recognition system is now as good as a human”. newatlas.com. Приступљено 2017-08-27. 
  27. ^ Wierstra, Daan; Foerster, Alexander; Peters, Jan; Schmidhuber, Juergen (2005). „Solving Deep Memory POMDPs with Recurrent Policy Gradients”. International Conference on Artificial Neural Networks ICANN'07. 
  28. ^ „Neon prescription... or rather, New transcription for Google Voice”. Official Google Blog (на језику: енглески). 23. 7. 2015. Приступљено 2020-04-25.