Конволуцијске неуронске мреже

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

Карактеристике мреже[уреди | уреди извор]

Мрежа је добила име по конволуцији, оператору који се примењује у обради слике и сигнала. У оквиру ове мрже се користе конволуциони филтри који се користе за изоштравање и замућење слика, као и за детектовање ивица. Веома битна ставка јесте детектовање ивица помоћу којих се откривају објекти на слици. Као претпоставка се узима да се на улаз мреже доводе слике,

односно процес се одвија само на сликама. Још једна од разлика јесте повезаност међу слојевима. Ако се на улаз потпуно повезане мреже доведе слика димензија то за последицу има 10000 неурона на улазном слоју, што је поприлично велики број, поред тога треба додати када се ради са сликама у боји да постоје 3 канала, што за последицу има 30000 неурона на улазу, за слику са не тако великим димензијама је то велики број, на основу тога тренирање мреже са потпуно повезаним слојем би били скоро немогуће, због тога конволуцијске мреже не садрже потпуно повезане слојеве до самог краја. Најчешће ове мреже садрже већи број слојева како би се откриле битне особине. Тако да је улога конволуционих филтара да се креирају мапе карактеристика . За неке проблеме је потебно имати значајне хардверске карактеристике.

Концепти мреже[уреди | уреди извор]

Улазни подаци[уреди | уреди извор]

Као што је напоменуто ове мреже се најчешће примењују на слике, које су сачињене од матрица пиксела и представљене су ширином, висином и вредностима пиксела.[1] Када се говори о сликама у боји, потребно је напоменути да садрже 3 канала и да се вредности пиксела крећу у опсегу од 0-255, то је уобичајена представа.

Филтери[уреди | уреди извор]

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

Рецептивно поље[уреди | уреди извор]

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

Архитектура мреже[уреди | уреди извор]

Општи облик[уреди | уреди извор]

Свака мрежа садржи три основне компоненте, а то су:

  • конволуциони слој
  • слој сажимања
  • потпуно повезан слој

Пример такве мреже јетсе LeNet-5. Реч је о експерименталном моделу који се састоји од седам слојева, не укључујући улазни слој. Поред улазног слоја, мрежу чине и три конволуциона слоја, између којих се налази по један слој сажимања (укупно два слоја) и два слоја која су потпуно повезана слоја. LeNet-5 је настала са циљем препознавања руком написаних карактера.

Слојеви мреже[уреди | уреди извор]

Улазни слој[уреди | уреди извор]

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

Слој конволуције[уреди | уреди извор]

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



W - димензија улазне слике, F - димензије филтра, P - проширивање нулама, S - корак за померање филтра;

Слој сажимања[уреди | уреди извор]

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

Постоје две опције које се могу изабрати у оквиру овог слоја:

  • сажимање максимумом
  • сажимање помоћу средње вредности

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

Сажимање максимумом[уреди | уреди извор]

се спроводи на следећи начин. Дефинише се оквир одређених димензија, најчешће је диманзија 2*2, поставља се на слику и од четири вредности које су обухваћене са овим оквиром се бира максимална вредност, након тога филтар се помера тако да обухвати следеће четири вредности, тако да не дође до преклапања, тај процес се понавља све до краја слике. Ако је диманзија слике пре примене овог процесa 24*24*n и користи се оквир димензија 2*2 након примене овог процеса димензије слике биће 12*12*n. Овим поступком се олакшава процес рачунања, као и контролисање да не дође до преобучавања.

Сажимање средњом вредношћу[уреди | уреди извор]

се спроводи на начин који је сличан начину сажимања максимумом. Такође се дефинише оквир одређених димензија (најчешће 2*2), поставља се на слику и сада се уместо одређивања максималне вредности рачуна средња вреност. Такође, ако су димензије слике 24*24*n и димензије оквира 2*2, димензије слике ће бити 12*12*n.

Слој активационе функције[уреди | уреди извор]

Слој активационе функције је слој који се у новијим архитектурама мреже јавља одмах након конволуцијских слојева. Активациона функција се користи за побољшавање перформансе мреже. Једна од најкоришћенијих функција јесте ReLU која је представљена следећом једначином:



Потпуно повезан слој[уреди | уреди извор]

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

Хипер-параметри[уреди | уреди извор]

У оквиру слоја конволције споменуто је:

  • проширивање нулама
  • померај филтра
  • димензије филтра


Те вредности јесу хипер-параметри који су веома битни при реализацији мреже.

Проширивање нулама[уреди | уреди извор]

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

Померај филтра[уреди | уреди извор]

је следећи параметар. Овим параметром се одређује померај филтра. Када је померај 1, филтар се помера за један пиксел, када је 2 (може бити и више, није практично) филтар се помера за два пиксела (корак од 2 је карктеристичан за слој сажимања). Овим се смањује димензија на излазу из тренутног слоја. [3]

Димензије филтра[уреди | уреди извор]

су најчешће непарни бројеви (3*3, 5*5, 7*7), то је због тога што се код филтра чије су димензије једнаке непарним бројевима лако може одредити централни пиксел, док се код филтра чије су димензије парни бројеви не може одредити централни пиксел.

Дубина[уреди | уреди извор]

Још један хипер-параметај јесте дефинисање дубине, односно тај параметар коренсподира ка броју филтра који ће се примењивати у оквиру слоја. На основу тога се може извршити групација пиксела са одређеним карактеристкама.

Функција на излазу мреже[уреди | уреди извор]

Пре коначног решења мреже, на излаз се доводи низ који представља категорије којима може припадати слика (када се говори о проблему класификације). Тако да тај низ садржи вероватноће припадања свакој категорији. Категорија која има највећу вредност се бира за категорију која ће се доделити слици. Функција која се користи у том процесу јесте softmax, због тога што се ради о више-класном одабиру.


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

Примену налази у многим областима, неке од тих су:

  • класификација слика
  • процесирање језика
  • предвиђање прогнозе

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

Први значајнини успех је остварен 2012, када је постигнута вредност грешке од 0.23% на MNIST скупу података. Циљ јесте извршити класификацију слика, односно сврстати у одређену категорију.

Процесирање језика[уреди | уреди извор]

Примену су нашле и у процесирању језика. У оквиру чега се врши класификација, предикција и моделовање реченица.

Предвиђање прогнозе[уреди | уреди извор]

Рекурентне мреже овде имају примат, али су конволуционе задовољиле и постигле резултате који је у рангу са рекурентним, тако се могу користити и у овом погледу.

ImageNet Large Scale Visual Recognition Challenge (ILSVRC)[уреди | уреди извор]

Је такмичење које организовано са циљем да се представе алгоритми који се користе приликом детеккције објеката, класификације слика. Прилика која допушта истраживачима широм света да представе своје резултате у оквиру овог поља. Као резултат јесте настајење и ImageNet-a. То је база слика која броји више од 14 милиона слика које се користе приликом развоја датих алгоритама.

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

LeNet[уреди | уреди извор]

Је прва успешна апликација из конволуцијских мрежа , развијена од стране Yann LeCun-а 1990-тих. Коришћена је за читање поштанских кодова, цифара, итд.

AlexNet[уреди | уреди извор]

Први рад који је популаризовао конволуцијске мреже у оквиру Компјутерске визије, креирана од стране Alex Krizhevsky, IIya Sutskever i Geoff Hinton. Реализована је 2012 на таккмичењу ImageNet ILSVRC challenge . На том такмичењу је остварила победу, где је грешка остварена на тест скупу износила 15.4%, док је прва следећа мрежа имала 26.2%. Мрежа се састоји од 60 милиона параметара, 650000 хиљада неурона, а чине је 8 слојева, од којих 5 конволуцијских, где са након свих конволуцијских слојева налазе слојеви сажимања и то коришћењем максимума и 3 слоја која су потпуно повезана.

ZF Net[уреди | уреди извор]

Јесте победник за 2013 годину. Креирана је од стране Matthew Zeiler-а и Rob Fergus-а. Педстављала је напредак у односу на AlexNet. Вредност грешке која је остварена на тест скупу је 13.5%, структура мреже је слична структури AlexNet мреже, 8 слојева, разлика је што је коришћена ReLU функција, сажимање и нормализовање након свих 5 слојева, што је имало за последицу смањивање параметара.

GoogLeNet[уреди | уреди извор]

Победник 2014 године, мрежа је креирана од стране Googla. Главни допринос јесте смањивање броја параметара на 4 милиона са 60 милиона колико је имала AlexNet мрежа. Вредност која је остварена за грешку на тест скупу је итносила 6.7%. Сачињена је од 22 слоја (27, ако се разунају слојеви сажимања), караткеристика која је присутна јесте модул започињања, помоћу којег се значајно смањује број параметара у мрежи, састоји се од 9 модула који су интегрисани у мрежу и понашају се као мрежа у мрежи, уместо потпуно повезаног слоја коришћено је сажимање средњом вредношћу.

VGGNet[уреди | уреди извор]

Је мрежа која је поделила прво место са GoogleNet 2014 године. Резулатат који је постигнут је износио 7.4% грешке на тест скупу. Креатори мреже су Karen Simonyan и Andrew Zisserman. Мрежа се истиче дубином и једноставношћу. Чини је 19 слојева, где се примењују филтри димензија 3*3, при чему је вршено проширивање за 1, као и померај филтра, у оквиру сажимања је корићена функција максимума са оквиром величине 2*2, где је померај износио 2. Овом мрежом је показано да дубина има значајан утицај на постизање добрих резултата. Такође садржи део који је већ истрениран.

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

  1. ^ Дабовић Марко, Тартаља Игор (08. 06. 2017). „Duboke konvolucijske neuronske mreže – koncepti i aktuelna istraživanja” (PDF). Приступљено 31. 01. 2021. 
  2. ^ Дабовић Марко, Тартаља Игор (08. 06. 2017). „Duboke konvolucijske neuronske mreže – koncepti i aktuelna istraživanja” (PDF). Приступљено 31. 01. 2020. 
  3. ^ „Convolutional Neural Networks (CNNs / ConvNets)”. Приступљено 31. 01. 2021.