Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

1.

2 Преглед основних концепата теорије вештачких


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

1.2.1 Модел вештачког неурона


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

θi
w
x1 i1
w n

Σ
x2 i2 yi=a(∑ xjwij - θi)
j=1

win
xn
СЛИКА 1.2.1. Неурон

Улазне вредности у неурон су приказане са x1, x2, ..., xn, где је n укупан број улаза
у неурон. Излазна вредност yi (i је редни број неурона у мрежи) се добија тако што се
прво свака улазна вредност помножи одговарајућим тежинским коефицијентом wij
(j=1,...,n). Овако добијени производи (xjwij, j=1,...,n) се потом сабирају, па се добија:
pi=x1wi1+x2wi2+...+xnwin. Затим се вредност pi користи као улаз у активациону функцију
а која зависи од параметра θ и формира коначну вредност излаза неурона. Најчешће се
параметар θ одузима од pi, па се њихова разлика користи као улаз у активациону
функцију, као што је приказано на слици 1.2.1. Параметар θ се назива праг активације,
док се разлика vi = pi - θ назива активациони сигнал неурона.
Активациона функција а може да има различите облике. Најчешће се користе:
Линеарна

a(x) = kx (1.2.1)
Одскочна

1, x ≥ 0 , или 1, x ≥ 0 (1.2.2)


a ( x) =  a ( x) = 
0, x < 0 − 1, x < 0
Линеарна одсечена (корак по корак)

− 1, x ≤ −1/k

a ( x) = kx, -1/k < x < 1/k (1.2.3)
1, x ≥ 1/k

Сигмоидална (логистичка)

1
a ( x) = (1.2.4)
1 + exp(−kx)

Тангенс хиперболички

exp(kx) − exp(−kx) (1.2.5)


a( x) = tanh(kx) =
exp(kx) + exp(− kx)

1.2.2 Архитектуре вештачких неуронских мрежа


Вештачка неуронска мрежа се формира од већег броја неурона повезујући излазе
једних са улазима других. Све неуроне неке мреже можемо разврстати у три категорије,
па имамо: улазне неуроне (прихватају информације из средине), излазне неуроне
(генеришу сигнале за одређене акције) и скривене неуроне (служе за интерну
репрезентацију информација о радном окружењу).
Могуће је уочити две класе неуронских мрежа: мреже са повратним везама
(рекурентне) и мреже без повратних веза (нерекурентне, енг. feed-forward) [2].
Најпознатији представник рекурентних мрежа су потпуно повезане неуронске мреже.
Код њих се излази сваког неурона воде на улазе свих неурона у мрежи, рачунајући ту и
сам тај неурон. Класи рекурентних мрежа такође припадају и ћелијске неуронске
мреже. Овде су везе, тј. интеракције између неурона, локалног карактера.
Најзначајнији представник нерекурентних мрежа јесу засигурно слојевите неуронске
мреже која ће овом приликом, због своје примене у неуро-фази системима, бити
детаљније обрађене.

Слојевите неуронске мреже


Код слојевитих неуронских мрежа неурони су организовани тако да формирају
слојеве. На улаз једног неурона доводе се излази свих неурона из претходног слоја, а
његов излаз се води на улазе свих неурона у наредном слоју. Између неурона у истом
слоју не постоји никаква интеракција (повезаност). Неурони у првом, улазном, слоју
имају само по један улазни прикључак. Улази ових неурона чине улаз целокупне
мреже. Последњи слој у овом редоследу јесте излазни слој, па тако излази неурона у
овом слоју чине излаз целокупне мреже. Остали неурони, који немају везе са улазно-
излазним прикључцима, су скривени неурони, па се слојеви у којима се они налазе
називају скривени слојеви. Сигнали се кроз овакву мрежу простиру само у једном
смеру, од улаза ка излазу. На слици 1.2.2 приказана је топологија овакве мреже [2].

sloj 0 sloj 1 sloj l sloj NL


x1 y1

x2 y2

xn ym
(1) (l) (N L)
w w w

СЛИКА 1.2.2. Слојевита неуронска мрежа

1.2.3 Обучавање вештачких неуронских мрежа


Учење је модификација понашања на основу искуства а у интеракцији са
околином која доводи до другачијих реаговања на спољашње појаве [2] (преузето из
Britanica Dictionary). Иако је ова дефиниција написана много пре појаве вештачких
неуронских мрежа, може се у потпуности применити и на процес њиховог обучавања.
Понашање неуронске мреже зависи од архитектуре мреже (укупног броја
неурона који је чине и њихове међусобне повезаности), од тежина веза између неурона
и од модела употребљених неурона. Треба имати у виду да су измене у архитектури и
моделима неурона након пројектовања и реализације мреже тешко изводљиви, тако да
се обучавање мреже углавном своди на подешавање тежина њених веза.
Када говоримо о класификацији начина за обучавање неуронских мрежа,
можемо уочити две основне категорије: надгледано (supervised) и ненадгледано
(unsupervised) обучавање. Илустрације ових приступа дате су на слици 1.2.3.

-
+
+

a) b)
СЛИКА 1.2.3. (а) Надгледано обучавање (б) Ненадгледано обучавање

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


жељени одзив који се од ње очекује. За одређивање жељеног одзива задужен је учитељ
или супервизор. Стварни одзив се пореди са жељеним, а мера одступања се прослеђује
процедури за обучавање. На основу ове грешке процедура учења врши промену
параметара мреже, тежећи да минимизује разлику између ова два одзива [2].
Код ненадгледаног обучавања не постоји информација о жељеном одзиву, па
сходно томе не постоји ни супервизор. Од мреже и процедуре учења се очекује да саме
уоче правилности у улазним подацима и да дефинишу коректан одзив. Дакле,
процедура учења врши промену тежина само на основу познавања тренутног улаза и
излаза мреже.
Поред ове поделе, процедуре за обучавање неуронских мрежа можемо
разврстати и на статичке и динамичке. Код статичких процедура традиционално се
учење обавља изменама тежина у мрежи већ специфициране архитектуре. За разлику од
њих, динамичке процедуре учења осим тежина у процесу обучавања мењају и
архитектуру мреже. Предност оваквог приступа се састоји у томе што се величина
неуронске мреже аутоматски прилагођава проблему који се решава.
У пређашњем излагању о архитектурама вештачких неуронских мрежа
истакнуто је да су са становишта примене у неуро-фази системима најзначајније
слојевите неуронске мреже (види сл. 1.2.2). С тим у вези, овде ће бити приказане идеје
алгоритма за надгледано обучавање мрежа ове архитектуре. У питању је алгоритам за
обучавање неуронских мрежа са простирањем уназад (енг. backpropagation).

Backpropagation алгоритам
Као што је већ речено, процес обучавања неуронске мреже се своди на
минимизирање разлике између очекиваног и добијеног излаза, тј. на минимизирање
функције грешке. Функција грешке се најчешће дефинише на следећи начин:

1 m
ε= ∑
2 i =1
( yi − ti ) 2 (1.2.6)

где су yi (i=1,...,m) добијени излази, а ti (i=1,...,m) очекивани излази за побудне сигнале


xj (j=1,...,n). Ознаке су преузете са слике 1.2.2.
Модификовање тежина wij(l) се врши по правилу градијентног спуста:

∂ε
wij(l ) = wij( l ) − η (1.2.7)
∂wij( l )

где је wij(l) тежина везе која повезује излаз i-тог неурона (l-1)-ог слоја са улазом ј-тог
неурона л-тог слоја; η је коефицијент који одређује брзину учења. Поред овог основног
израза, одређена побољшања у брзини обучавања се могу постићи увођењем
моментног члана тако да се модификовање тежина у том случају врши на следећи
начин:
wij( l ) (t ) = wij( l ) (t − 1) + ∆wij( l ) (t )
(1.2.8)
∂ε
∆w (t ) = −η ( l ) + α∆wij( l ) (t − 1)
(l )
ij
∂wij

Коефицијент α дефинише утицај претходних на садашњу промену и обично узима


вредности између 0 и 1. Овакво побољшање основног алгоритма се назива
backpropagation са моментом.
Да би се формирао итеративни процес за одређивање тежина веза у вишеслојној
неуронској мрежи, потребно је прво потражити парцијалне изводе функције грешке:

∂ε ∂v j ∂ε ∂y j ∂v j
(l ) (l ) (l )
∂ε
= · = · ·
∂wij( l ) ∂v (jl ) ∂wij( l ) ∂y (jl ) ∂v (jl ) ∂wij( l )
(1.2.9)
∂ε
= (l ) · a (l)j' (v (jl ) ) · yi(l-1 )
∂y j

где су vj(l) активациони сигнал, yj(l) излаз и аj(l)'(·) извод активационе функције j-тог
неурона l-тог слоја. Комплетно извођење овог итеративног процеса дато је у [2], овде су
наведени само крајњи изрази (1.2.7), (1.2.10) и (1.2.11).

∂ε
= yj −tj , (1.2.10)
∂y (j N L )
∂ε N l +1
∂ε
=∑ ( l +1)
· a k(l +1) '(vk(l +1) ) · w (jkl +1) , l = 1,...,N L − 1 (1.2.11)
∂y (jl ) k =1 ∂y k

Парцијални изводи функције грешке се рачунају рекурзивно. Зато је


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

You might also like