мини|десно|Пример за вештачка невронска мрежа Вештачка невронска мрежа - ВНМ (анг. artificial neural network - ANN) е парадигма за обработка на информации која е инспирирана од начинот на кој биолошки нервен систем, како што е мозокот, обработува информации. Клучниот елемент на оваа парадигма е необичната структура на обработувачки информациски систем. Таа е составена од голем број на меѓусебно поврзани елементи за обработка (неврони), кои работат едногласно за да се решат конкретни проблеми.
Поим за невронска мрежа Вештачката невронска мрежае систем кој е заснован на биолошките невронски мрежи, како што е мозокот. Невроните меѓусебно се поврзани со врски кои се нарекуваат синапси. Секој неврон поседува илјадници врски со други неврони преку кои константно добива сигнали што треба да бидат стигнат до телото на клетката (невронот). Доколку резултантната сума од сигналите надмине одреден дефиниран праг (threshold), преку аксонот се испраќа одговор. Тоа значи дека биолошкиот неврон ги сумира сигналите кои пристигнуваат до него, добиената сума ја споредува со одреден праг и доколку таа го надмине прагот, невронот испраќа одреден излезен сигнал.C. M. Bishop, Neural networks for pattern recognition. Oxford University Press, 1995.I. H. Witten, E. Frank, Data Mining: Practical machine learning tools and techniques. Morgan Kaufmann, 2005.
Невронските мрежи со својата извонредна можност за изведување смисла од комплицирани или непрецизни податоци, може да се користат за да се изведат шаблони и да се детектираат трендовите кои се премногу комплексни за да бидат забележани од страна на луѓето или други сметачки техники. Обучена невронска мрежа може да се смета за експерт во категоријата на информациите што и се дадени да се анализираат. Овој експерт потоа може да се користи за да обезбеди прогнози при дадени ситуации во доменот на нашиот интерес, и да одговори на прашања од видот „што ако...?“.
Другите предности вклучуваат: Адаптивно учење - способноста да се научи како да се изведат задачи врз основа на податоци дадени за обука или првично искуство; Сопствена организација - вештачката невронска мрежа може да создава сопствена организација или претстава на информациите што ги добива во текот на времето за учење; Операции во реално време - пресметките може да се извршуваат паралелно; Толеранција на грешки преку кодирање на излишни информации (redundant information coding) - делумното унишување на мрежата води кон соодветна деградација на делотворноста, но сепак некои способности може да се задржат дури и при големо оштетување на мрежата.
Состојба на активација
Аналогно на биолошката интерпретација, невронската мрежа во контекст на експертните системи претставува модел на пресметки со поврзовен пристап, кој соодветно се состои од множество на обработувачки единки - неврони.
Главна одлика на невронските мрежи е состојбата на активација. Состојбата на активација во потесна смисла го претставува излезот од даден јазол, а во поширока означува дали влезот на јазелот бил над граничната вредност, односно дали невронот се активирал. Заради меѓуповрзаноста, во невронските мрежи имаме правило на пропагација кое пропишува колку излезот на даден јазол зависи од индиректните влезови во тој јазол.
Во структурна смисла, невронската мрежа се состои од:
Множество на обработувачки единици (неврони, јазли); Состојбата на активација yk за секоја единка, која е еквивалентна на излезот од единката; Врски помеѓу единките, при што вообичаено секоја врска е дефинирана со тежина wjk која го одредува ефектот (влијанието) кое го има единката j на единката k; Правило на пропагација, кое го одредува делотворниот излез на единка од неговите надворешни влезови; Функција на активација Fk, која ја редефинира состојбата на активација врз основа на делотворниот влез (t) и актуелната активација yk(t), т.е. дава нова вредност на состојбата на активација; Надворешен влез (bias или офсет) за секоја единка; Метода за прибирање на информациите (правило на учење); Средина во која системот ќе дејствува, обезбедување на влезни сигнали и ако е потребно, сигнали за грешка.
Секоја единка извршува релативно едноставна задача: добива влез од соседите или од надворешни извори и го користи ова за да пресмета излезен сигнал кој понатаму се шири (пренесува) до останатите единки. Освен оваа обработка, втора задача на невронот е поставување на тежините. Системот е паралелен, така да повеќе единки може да ги вршат своите пресметки во исто време.
Во рамките на невронските мрежи, разликува три типа на јазли:
влезни јазли - кои ги примаат сигналите, излезни јазли - кои ги испраќаат податоците надвор од системот, и скриени јазли - чии влезни и излезни сигнали остануваат внатре во мрежата. Тие се користат само за внатрешна модификација на мрежата.
За време на операциите, јазлите може да се обновуваат синхроно или асинхроно. Кај синхроното обновување сите јазли ја обновуваат својата активација истовремено, додека кај асинхроните, секоја јазол има своја (вообичаено фиксна) веројатност на обнова за време t, и вообичаено само една единка ќе може да изврши активација во единица време.
Топологии на невронски мрежи
Разликуваме два типа на топологии на невронски мрежи:
Еднонасочни мрежи (feedforward)Повеќекратна лиеарна регресија и вештачки невронски мрежи кај перовскитите - Институт за хемија, ПМФ - Тука патеката на податоците од влезните до излезните јазли е строго одредена. Обработката на податоците може да се прошири преку повеќе слоеви на јазли, меѓутоа нема повратни врски, односно нема врски од излезни до влезни јазли во исти или различни слоеви. Повратни мрежи (рекурентни) - Тоа се мрежи кои содржат повратни врски. За разлика од еднонасочните мрежи, тука динамичките својства на мрежата се важни. Во некои случаи, активациските вредности на јазлите подлежат на процес на релаксација, така да мрежата еволуира во стабилна состојба во која овие вредности повеќе нема да се менуваат. Во други промени, промената на активациските вредности на излезните јазли е значајна, така да динамичкото однесување го чини излезот на мрежата.
Невронски мрежи како класификатори
Невронските мрежи имаат одлики кои ги прават многу погодни за користење во експертните системи, заради нивните погодности за создавање на системи за класификација. Некои од тие одлики се:
можноста за паралелна, дистрибуирана обработка; архитектурата на насочен тежински граф му овозможува да меморира промена на тежини и прагови, и автоматски да класифицира; толерантноста на грешки и адаптибилноста, односно ако некои неврони не функционираат, останатите ќе се адаптираат.
Перцептрон Перцептронот е вештачки неврон кој моделира биолошки неврон од природата. Тој добива n влезни сигнали кои соодветствуваат на бројот на својства (input features) од податочното множество кое се анализира, ги сумира тие влезни сигнали, го проверува резултатот (споредувајќи го со одреден праг) и според него произведува излезен сигнал. Перцептронот се состои од пондери (weights - wi), процесор на сума (s) и активациска функција (f(s)). На сигналите кои доаѓаат на влезот на перцептронот им се доделуваат пондери (weights) кои најчесто претставуваат реални броеви како и влезните сигнали, така што зборуваме за вкупно n „weighted inputs“, кои се влезни сигнали. Доколку првиот влезен сигнал го означиме со x1, а неговиот пондер со w1 додека i-тиот влезен сигнал е xi со пондер wi, тогаш последниот (n-ти) влезен сигнал е xn, а неговиот пондер е wn. Сумата на сите сигнали кои доаѓаат на влезот на перцептронот претставуваат збир од сите производи на xi и wi, каде вредноста на i се движи од 1 до n.K. Hornik, M, Stinchcombe, H. White (1989), „Multilayer feedforward networks are universal approximators“. Neural networks, 2(5), стр. 359-366.R. S. Michalski, J. G. Carbonell, T. M. Mitchell, (Eds.), Machine learning: An artificial intelligence approach. Springer Science & Business Media, 2013.
S = Σwi × xi
Така добиената сума (S) се проследува како аргумент до активациска функција (f(s)) која врши проверка (споредба) на сумата со одреден праг (θ). Доколку сумата е поголема од прагот (θ), перцептронот на излезот испраќа сигнал 1, додека во обратен случај, кога сумата е помала или еднаква со прагот (θ,) излезниот сигнал на перцептронот е 0, иако во литературата може да се најдат објаснувања за перцептронот каде излезните сигнали се 1 или -1. Притоа, сигналот врши пропагација кон напред (forward propagation), доаѓајќи на влезот на перцептронот, каде се врши пресметка и се извршува активациската функција, за на крајот да биде произведен излезен сигнал.
w1 × x1 + w2 × x2 + wn × xn > θ (излезен сингал = 1)
w1 × x1 + w2 × x2 + wn × xn ≤ θ (излезен сингал = 0)
Перцептрон на едно ниво
Перцептроните се наједноставните видови на еднонасочни мрежи. Најраните видови на невронски мрежи се мрежи со перцептрон на едно ниво, кој се состои од еден слој на излезни јазли, влезовите одат директно во излезите преку серија на врски со тежини. Сумата на производите на тежините и влезовите се пресметува во секој јазол, и доколку вредноста е над некој праг (вообичаено 0), јазолот се активира и зазема активирана вредност (вообичаено, 1), спротивно зема деактивирана вредност (типично -1). Неврони со ваков вид на активациска функција се нарекуваат МекКалок-Питс неврони или прагови-неврони. Перцептрон може да се создаде со користење на било кои вредности за активирана и декативирана вредност, сè додека вредноста за прагот лежи помеѓу овие две вредности. Повеќето перцептрони имаат излези 1 или -1 со праг 0, и има некакви докази дека таквите мрежи може да се обучуваат побрзо од мрежите создадени со други вредности за активација и деактивација. Перцептроните може да се обучуваат со едноставен алгоритам за учење што често се нарекува и делта-правило. Алгоритмот ги пресметува грешките помеѓу пресметаниот излез и излезот од примеркот на податоци и го користи тоа знаење за да ги постави пондерите, со тоа имплементирајќи форма на нивно постепено опаѓање.
Покрај влезните сигнали кои потекнуваат од својствата на податочното множество коригирани со одреден пондер, перцептронот најчесто добива и уште еден влезен сигнал, познат како „пристрасност“ (bias). Тој типично се третира само како уште еден влезен сигнал и на тој начин може да се додаде во сумата на влезни сигнали.J. Han, J. M. Kamber, J. Pei, Data mining: concepts and techniques: concepts and techniques. Elsevier, 2011. Перцептронот обично се користи при класификација на класи што може линеарно да се разделат (linearly separable) и најчесто се употребува при бинарна класификација, во која излезниот сигнал припаѓа на една од две можни класи. Во случај кога вредностите припаѓаат на една од двете класи кои се линеарно раздвојливи, тие физички можат да бидат одвоени со права линија. Во случаите каде постојат бесконечно многу прави кои физички можат да ги одвојат класите, која било права која целосно ги одвојува (perfect separation) е доволна за решавање на проблемот на класификација.C. M. Bishop, Pattern recognition and machine learning. Springer, 2006. Активациските функции ги преведуваат влезните сигнали во излезни сигнали и притоа во процесот користат одреден праг на активација (threshold). Кај перцептронот се користат четири типови активациски функции: unit step (threshold), piecewise linear, сигмоид и Гаусова функција.
Тренирање (учење) кај перцептронот