Активациона функција

Извор: testwiki
Пређи на навигацију Пређи на претрагу
Грешка при прављењу минијатуре:
Логистичка активациона функција

У вештачким неуронским мрежама, активациона функција чвора дефинише излаз тог чвора на основу улаза или скупа улаза. Стандардно коло компјутерског чипа може се гледати као дигитална мрежа активационих функција које могу имати вредност „укључено” (1) или „искључено” (0), у зависности од улаза. Ово је слично понашању линеарног перцептрона у неуронским мрежама. Међутим, само нелинеарне активационе функције дозвољавају таквим мрежама да израчунају нетривијалне проблеме користећи само мали број чворова.[1] У вештачким неуронским мрежама, ова функција се назива и функција преноса.

Функције

У биолошки инспирисаним неуронским мрежама, активациона функција је обично апстракција која представља стопу акционог потенцијала који се појављује у ћелији. У својој најједноставнијој форми, ова функција је бинарна — тј. или се неурон активира или не. Функција изгледа као ϕ(vi)=U(vi), гдје је U Хевисајдова одскочна функција. У овом случају многи неурони се морају користити у рачунању изван линеарног раздвајања категорија.

Линија позитивног нагиба може се користити да би се одразило повећање стопе активирања која се јавља како се улазна струја повећава. Таква функција би била у форми ϕ(vi)=μvi, где је μ нагиб. Ова активациона функција је линеарна и стога има исте проблеме као и бинарна функција. Поред тога, мреже конструисане коришћењем овог модела имају нестабилну конвергенцију зато што неуронски улази по фаворизованим путевима имају тенденцију да се повећају без везивања, јер ова функција није нормализована.

Сви наведени проблеми могу се обрадити коришћењем нормализоване сигмоидне активационе функције. Један реалан модел остаје на нули све док не прими улазну струју. У том тренутку, стопа активације се прво брзо повећава, али се постепено приближава асимптоти са стопом од 100%. Математички, ово изгледа као ϕ(vi)=U(vi)tanh(vi), где се хипероболичка тангентна функција може заменити било којом сигмоидном функцијом. Ово понашање се реално рефлектује у неурону, јер неурони физички не могу да се активирају брже од одређене стопе. Међутим, овај модел се сусреће са проблемима у рачунарским мрежама, јер није диференцијабилан, што је захтев за израчунавање бекпропагације.

Коначни модел, који се користи у вишеслојним перцептронима, је сигмоидна активациона функција у облику хиперболичног тангенса. Обично се користе два облика ове функције: ϕ(vi)=tanh(vi), чији је распон нормализован од -1 до 1 и ϕ(vi)=(1+exp(vi))1, који је вертикално транслиран како би био нормализован од 0 до 1. Овај последњи модел често се сматра биолошки реалнијим, али има теоријске и експерименталне потешкоће са одређеним типовима рачунарских проблема.

Поређење активационих функција

Активационе функције треба да имају нека пожељна својства, међу којима су:

  • Нелинеарност — Када је активациона функција нелинеаерна, онда се може доказати да је двослојна неуронска мрежа универзални апроксиматор функције.[2]
  • Интервал — Када је интервал активационе функције коначан, методе учења засноване на градијенту имају тенденцију да буду стабилније. Када је интервал бесконачан, учење је генерално ефикасније.
  • Непрекидна диференцијабилност — Ово својство је пожељно (ReLU није непрекидно диференцијабилан и има неке проблеме са оптимизацијом заснованом на градијенту) за омогућавање метода оптимизације заснованих на градијенту. Активациона бинарна одскочна функција није диференцијабилна у нули, а извод јој је 0 за све остале вредности, тако да методе засноване на градијенту немају напретка са овом функцијом.[3]
  • Монотоност — Када је активациона функција монотона, површина грешке која је повезана са једнослојним моделом гарантовано је конвексна.[4]
  • Глатке функције са монотоним изводом — За ове функције показало се да у неким случајевима боље генерализују.
  • Апроксимација идентитета приближно оригиналу — Када активационе функције имају ово својство, неуронска мрежа ће ефикасно учити када се њене тежине иницијализују на мале случајне вредности. Када активациона функција не апроксимира идентитет приближан оригиналу, приликом иницијализације тежина мора се обратити посебна пажња.[5] У табели испод, активацион ефункције где је f(0)=9 и f(0)=1 и где је f непрекидно у 0, означене су да имају ово својство.

Следећа табела пореди својства неколико активационих функција:

Назив Граф Једначина Извод (по x) Интервал Ред непрекидности Монотона Монотон извод Апроксимира идентитет приближно оригиналу
Функција идентитета f(x)=x f(x)=1 (,) C Шаблон:Да Шаблон:Да Шаблон:Да
Бинарна одскочна функција f(x)={0for x<01for x0 f(x)={0for x0?for x=0 {0,1} C1 Шаблон:Да Шаблон:Не Шаблон:Не
Сигмоидна функција f(x)=σ(x)=11+exШаблон:Ref f(x)=f(x)(1f(x)) (0,1) C Шаблон:Да Шаблон:Не Шаблон:Не
Хиперболички тангенс f(x)=tanh(x)=(exex)(ex+ex) f(x)=1f(x)2 (1,1) C Шаблон:Да Шаблон:Не Шаблон:Да
Инверзни тангенс f(x)=tan1(x) f(x)=1x2+1 (π2,π2) C Шаблон:Да Шаблон:Не Шаблон:Да
Инверзни хиперболички синус f(x)=sinh1(x)=ln(x+x2+1) f(x)=1x2+1 (,) C Шаблон:Да Шаблон:Не Шаблон:Да
ElliotSig[6][7][8] Softsign[9][10] Датотека:Activation softsign.svg f(x)=x1+|x| f(x)=1(1+|x|)2 (1,1) C1 Шаблон:Да Шаблон:Не Шаблон:Да
ISRU[11] Датотека:Activation ISRU.svg f(x)=x1+αx2 f(x)=(11+αx2)3 (1α,1α) C Шаблон:Да Шаблон:Не Шаблон:Да
ISRLU[11] f(x)={x1+αx2for x<0xfor x0 f(x)={(11+αx2)3for x<01for x0 (1α,) C2 Шаблон:Да Шаблон:Да Шаблон:Да
SQNL[8] f(x)={1:x>2.0xx24:0x2.0x+x24:2.0x<0*1:x<2.0 f(x)=1x2 (1,1) C2 Шаблон:Да Шаблон:Не Шаблон:Да
ReLU[12] Датотека:Activation rectified linear.svg f(x)={0for x<0xfor x0 f(x)={0for x<01for x0 [0,) C0 Шаблон:Да Шаблон:Да Шаблон:Не
BReLU[13] Visualization of the Bipolar Rectified Linear Unit (BReLU) f(xi)={ReLU(xi)if imod2=0ReLU(xi)if imod20 f(xi)={ReLU(xi)if imod2=0ReLU(xi)if imod20 (,) C0 Шаблон:Да Шаблон:Да Шаблон:Не
Leaky ReLU[14] f(x)={0.01xfor x<0xfor x0 f(x)={0.01for x<01for x0 (,) C0 Шаблон:Да Шаблон:Да Шаблон:Не
PReLU[15] f(α,x)={αxfor x<0xfor x0 f(α,x)={αfor x<01for x0 (,) C0 Шаблон:Depends Шаблон:Да Шаблон:Depends
RReLU[16] f(α,x)={αxfor x<0xfor x0Шаблон:Ref f(α,x)={αfor x<01for x0 (,) C0 Шаблон:Да Шаблон:Да Шаблон:Не
ELU[17] f(α,x)={α(ex1)for x0xfor x>0 f(α,x)={f(α,x)+αfor x01for x>0 (α,) {C1за α=1C0иначе  Шаблон:Depends Шаблон:Depends Шаблон:Depends
SELU[18] f(α,x)=λ{α(ex1)for x<0xfor x0

са λ=1.0507 и α=1.67326

f(α,x)=λ{α(ex)for x<01for x0 (λα,) C0 Шаблон:Да Шаблон:Не Шаблон:Не
SReLU[19] ftl,al,tr,ar(x)={tl+al(xtl)for xtlxfor tl<x<trtr+ar(xtr)for xtr
tl,al,tr,ar су параметри.
f'tl,al,tr,ar(x)={alfor xtl1for tl<x<trarfor xtr (,) C0 Шаблон:Не Шаблон:Не Шаблон:Не
APL[20] f(x)=max(0,x)+s=1Saismax(0,x+bis) f(x)=H(x)s=1SaisH(x+bis)Шаблон:Ref (,) C0 Шаблон:Не Шаблон:Не Шаблон:Не
SoftPlus[21] f(x)=ln(1+ex) f(x)=11+ex (0,) C Шаблон:Да Шаблон:Да Шаблон:Не
Савијена функција идентиета f(x)=x2+112+x f(x)=x2x2+1+1 (,) C Шаблон:Да Шаблон:Да Шаблон:Да
SiLU[22] (SiL[23] или Swish-1[24]) f(x)=xσ(x)Шаблон:Ref f(x)=f(x)+σ(x)(1f(x))Шаблон:Ref [0.28,) C Шаблон:Не Шаблон:Не Шаблон:Depends
Блага експоненцијална функција[25] f(α,x)={ln(1α(x+α))αfor α<0xfor α=0eαx1α+αfor α>0 f(α,x)={11α(α+x)for α<0eαxfor α0 (,) C Шаблон:Да Шаблон:Да Шаблон:Depends
Soft Clipping[26] Грешка при прављењу минијатуре: f(α,x)=1αlog1+eαx1+eα(x1) f(α,x)=12sinh(p2)sech(px2)sech(p2(1x)) (0,1) C Шаблон:Да Шаблон:Не Шаблон:Не
Синусоида[27] Датотека:Activation sinusoid.svg f(x)=sin(x) f(x)=cos(x) [1,1] C Шаблон:Не Шаблон:Не Шаблон:Да
Sinc Датотека:Activation sinc.svg f(x)={1for x=0sin(x)xfor x0 f(x)={0for x=0cos(x)xsin(x)x2for x0 [.217234,1] C Шаблон:Не Шаблон:Не Шаблон:Не
Гаусова функција f(x)=ex2 f(x)=2xex2 (0,1] C Шаблон:Не Шаблон:Не Шаблон:Не
Шаблон:NoteОвде, Шаблон:Mvar је Хевисајдова функција.
Шаблон:NoteШаблон:Mvar је стохастичка променљива изведена из униформне расподеле времена учења и фиксирана је на очекивану вредност расподеле времена тестирања.
Шаблон:NoteШаблон:NoteШаблон:NoteОвде, σ је логистичка функција.

Следећа табела садржи активационе функције које нису функције једног сложеног Шаблон:Mvar из претходног слоја или слојева:

Назив Једначина Изводи Интервал Ред непрекидности
Softmax fi(x)=exij=1Jexj    for Шаблон:Mvar = 1, …, Шаблон:Mvar fi(x)xj=fi(x)(δijfj(x))Шаблон:Ref (0,1) C
Maxout[28] f(x)=maxixi fxj={1for j=argmaxixi0for jargmaxixi (,) C0

Референце

Шаблон:Reflist

Шаблон:Нормативна контрола