Увођење понављајућих неуронских мрежа (РНН)

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

Рад понављајућих неуронских мрежа

Када говоримо о традиционалним неуронским мрежама, сви излази и улази нису независни један од другог као што је приказано на доњем дијаграму:

Али у случају понављајућих неуронских мрежа, излаз из претходних корака се убацује на улаз тренутног стања. На пример, да бисте предвидели следеће слово било које речи или да бисте предвидели следећу реч реченице, потребно је упамтити претходна слова или речи и сачувати их у неком облику меморије.

Скривени слој је онај који памти неке податке о низу. Једноставни пример из стварног живота на који можемо повезати РНН је када гледамо филм иу многим случајевима смо у могућности да предвидимо шта ће се даље дешавати, али шта ако се неко управо придружио филму и од њега се тражи да предвиди шта шта ће се десити следеће? Шта ће бити његов одговор? Он или она неће имати појма јер нису свесни претходних догађаја филма и немају никакво сећање о томе.

Илустрација типичног РНН модела дата је у наставку:

РНН модели имају меморију која увек памти шта је урађено у претходним корацима и шта је израчунато. Исти се задатак обавља на свим улазима и РНН користи исти параметар за сваки од улаза. Како традиционална неуронска мрежа има независне скупове улаза и излаза, они су сложенији од РНН-а.

Сада покушајмо да разумемо понављајућу неуронску мрежу уз помоћ примера.

Рецимо, имамо неуронску мрежу са 1 улазним слојем, 3 скривена слоја и 1 излазним слојем.

Када говоримо о другим или традиционалним неуронским мрежама, они ће имати своје скупове пристраности и тежине у својим скривеним слојевима као (в1, б1) за скривени слој 1, (в2, б2) за скривени слој 2 и (в3, б3 ) за трећи скривени слој, где су: в1, в2 и в3 тегови, а б1, ​​б2 и б3 су пристраности.

С обзиром на то, можемо рећи да сваки слој не зависи од било којег другог и да се не могу сетити ничега о претходном уносу:

Сада, РНН ће урадити следеће:

  • Независни слојеви ће се претворити у зависни слој. То се постиже давањем свих слојева једнаке пристраности и тежине. Ово такође смањује број параметара и слојева у понављајућој неуронској мрежи и помаже РНН-у да меморира претходни излаз излажући претходни излаз као улаз у надолазећи скривени слој.
  • Укратко, сви скривени слојеви могу се спојити у један понављајући слој, тако да су тегови и пристраности исти за све скривене слојеве.
    Тако ће понављајућа неуронска мрежа изгледати овако:

Сада је време да се позабавимо неким од једначина за РНН модел.

  • За израчунавање тренутног стања,

h t= f (h t-1, x t ),

Где:

к т је стање улаза
х т-1 је претходно стање,
х т је тренутно стање.

  • За израчунавање функције активације

h t= tanh (W hh h t-1 +W xh x t ),

Где:
В кх је тежина на улазном неурону,

В хх је тежина понављајућег неурона.

  • За прорачун резултата:

Y t =W hy h t.

Где,
И т је излаз и
В хи је тежина на излазном слоју.

Кораци за обуку понављајуће неуронске мреже

  1. У улазним слојевима почетни улаз шаље се са свима који имају исту тежину и функцију активирања.
  2. Користећи тренутни улаз и претходни излаз стања, израчунава се тренутно стање.
  3. Сада тренутно стање х т постаће х т-1 по други пут.
  4. Ово се стално понавља за све кораке и за решавање било којег одређеног проблема може се наставити што више пута да се придружи информацијама из свих претходних корака.
  5. Завршни корак се затим израчунава тренутним стањем коначног стања и свим осталим претходним корацима.
  6. Сада се ствара грешка израчунавањем разлике између стварног излаза и излаза генерираног нашим РНН моделом.
  7. Завршни корак је када се догоди процес повратног ширења, при чему се грешка шаље натраг у ажурирање тегова.

Предности понављајућих неуронских мрежа

  1. РНН може да обрађује улазе било које дужине.
  2. РНН модел је моделиран тако да памти сваку информацију током цијелог времена што је врло корисно у било којем предиктору временских серија.
  3. Чак и ако је величина улаза већа, величина модела се не повећава.
  4. Тежине се могу делити у различитим временским корацима.
  5. РНН може да користи своју унутрашњу меморију за обраду произвољних низа улаза што није случај са феедфорвард неуронским мрежама.

Недостаци понављајућих неуронских мрежа

  1. Због своје понављајуће природе, рачунање је споро.
  2. Обука РНН модела може бити тешка.
  3. Ако користимо релу или танх као активацијске функције, постаје врло тешко обрадити веома дуге низове.
  4. Склони проблемима попут експлозије и нестајања градијента.

Закључак

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

Препоручени чланци

Ово је водич за понављајуће неуронске мреже. Овде смо расправљали о уводу, како то ради, корацима, предностима и недостацима РНН-а, итд. Такође можете проћи кроз наше друге предложене чланке да бисте сазнали више -
  1. Шта су неуронске мреже?
  2. Оквири машинског учења
  3. Увод у вештачку интелигенцију
  4. Увод у велику анализу података
  5. Имплементација неуронских мрежа

Категорија: