Конволуционе неуронске мреже (ЦНН): Увод

Конволуционе неуронске мреже нуде скалабилнији начин за препознавање објеката и задатке класификације слика.

Много је напретка у свету технологије. Вештачка интелигенција и машинско учење су неке од уобичајених ствари које можете често чути.

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

АИ и МЛ су огромна поља и улажу се напори да се прошире њихове апликације како би се решили многи проблеми из стварног света. Због тога можете видети много грана унутар ових технологија; МЛ је подскуп саме вештачке интелигенције.

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

У овом чланку ћу разговарати о томе шта су ЦНН, како функционишу и њихову корисност у савременом свету.

Уронимо одмах!

Шта је конволуциона неуронска мрежа?

Конволуциона неуронска мрежа (ЦонвНет или ЦНН) је вештачка неуронска мрежа (АНН) која користи алгоритме дубоког учења да анализира слике, класификује визуелне елементе и извршава задатке компјутерског вида.

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

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

ЦНН’с: Кратка историја

Пошто је конволуциона неуронска мрежа вештачка неуронска мрежа, важно је поновити неуронске мреже.

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

Дакле, различите врсте неуронских мрежа или вештачких неуронских мрежа (АНН) се користе у различите сврхе. Један од њих је ЦНН који се користи за детекцију и класификацију слика и још много тога. Увео га је постдокторски истраживач Јан ЛеКун 1980-их.

ЦНН-ова рана верзија – ЛеНет, названа по ЛеКуну, била је способна да препозна руком писане цифре. Затим је коришћен у банкарским и поштанским услугама за читање цифара на чековима и поштанских бројева исписаних на ковертама.

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

Штавише, 2012. године, АлекНет је поново размотрио дубоко учење које користи неуронске мреже које се састоје од више слојева. Отприлике у то време, технологија се побољшала, а велики скупови података и тешки рачунарски ресурси су били доступни како би се омогућило стварање сложених ЦНН-а способних да ефикасно обављају активности компјутерског вида.

Слојеви у ЦНН-у

Хајде да разумемо различите слојеве у ЦНН-у. Повећање слојева у ЦНН-у ће повећати његову сложеност и омогућити му да открије више аспеката или области слике. Почевши од једноставног обележја, постаје способан да детектује сложене карактеристике као што су облик објекта и већи елементи док коначно не открије слику.

  Како избрисати свој Тиндер налог у три једноставна корака

Цонволутионал Лаиер

Први слој ЦНН-а је конволуцијски слој. То је главни градивни блок ЦНН-а у којем се дешава већина прорачуна. Потребно му је мање компоненти, као што су улазни подаци, мапа карактеристика и филтер.

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

Обједињавање слојева

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

Удруживање има два типа:

  • Просечно груписање: Просечна вредност се израчунава у пријемном пољу које филер прелази преко улаза да би га пренео у излазни низ.
  • Мак поолинг: Бира максималну вредност пиксела и шаље га у излазни низ док филтер прелази преко улаза. Максимално обједињавање се користи више од просечног обједињавања.

Иако се значајни подаци губе у обједињавању, оно и даље нуди многе предности ЦНН-у. Помаже у смањењу ризика и сложености претеривања, а истовремено побољшава ефикасност. Такође побољшава стабилност ЦНН-а.

Потпуно повезан (ФЦ) слој

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

Штавише, ФЦ слојеви генерално користе функцију софтмак активације да правилно класификују улазе уместо РеЛу функција (као у случају обједињавања и конволуционих слојева). Ово помаже да се произведе вероватноћа од 0 или 1.

Како раде ЦНН?

Конволуциона неуронска мрежа састоји се од много слојева, чак и стотина њих. Ови слојеви уче да идентификују различите карактеристике дате слике.

Иако су ЦНН неуронске мреже, њихова архитектура се разликује од обичне АНН.

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

С друге стране, ЦНН организује слојеве у три димензије – ширина, дубина и висина. Овде се слој из неурона повезује само са неуронима у малом региону уместо да се односи на сваки од њих у следећем слоју. Коначно, коначни резултат је представљен једним вектором са скором вероватноће и има само димензију дубине.

Сада, можете питати шта је „конволуција“ у ЦНН-у.

Па, конволуција се односи на математичку операцију спајања два скупа података. У ЦНН-у, концепт конволуције се примењује на улазне податке за излаз мапе обележја филтрирањем информација.

Ово нас доводи до неких важних концепата и терминологија које се користе у ЦНН-у.

  • Филтер: Такође познат као детектор карактеристика или кернел, филтер може имати одређену димензију, као што је 3×3. Прелази преко улазне слике да би извршио множење матрице за сваки елемент да би применио конволуцију. Примена филтера на сваку слику за обуку у различитим резолуцијама плус излаз конволвиране слике ће радити као улаз за следећи слој.
  • Паддинг: Користи се за проширење улазне матрице до граница матрице уметањем лажних пиксела. То се ради да би се супротставило чињеници да конволуција смањује величину матрице. На пример, 9×9 матрица може да се претвори у 3×3 матрицу након филтрирања.
  • Корак: Ако желите да добијете излаз мањи од вашег улаза, можете да изведете корачање. Омогућава прескакање одређених области док филтер клизи преко слике. Прескакањем два или три пиксела, можете произвести ефикаснију мрежу смањењем просторне резолуције.
  • Тежине и предрасуде: ЦНН имају тежине и предрасуде у својим неуронима. Модел може научити те вредности током тренинга, а вредности остају исте током датог слоја за све неуроне. Ово имплицира да сваки скривени неурон открива исте карактеристике у различитим областима слике. Као резултат тога, мрежа постаје толерантнија док преводи објекте у дату слику.
  • РеЛУ: скраћеница је од Рецтифиед Линеар Унит (РеЛу) и користи се за ефикаснију и бржу обуку. Пресликава негативне вредности на 0 и одржава позитивне вредности. Такође се назива активација, јер мрежа преноси само активиране карактеристике слике у следећи слој.
  • Рецептивно поље: У неуронској мрежи, сваки неурон прима улаз са различитих локација из претходног слоја. А у конволуционим слојевима, сваки неурон прима улаз из ограничене области само претходног слоја, названог рецептивно поље неурона. У случају ФЦ слоја, цео претходни слој је рецептивно поље.
  9 интерактивних и занимљивих идеја за садржај за развој вашег пословања

У стварним рачунским задацима, обично се врши конволуција у 3Д слици за коју је потребан 3Д филтер.

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

Ови слојеви могу да обављају операције за промену података како би научили релевантне карактеристике. Такође, ове операције понављају стотине различитих слојева који настављају да уче да откривају друге карактеристике слике.

Делови ЦНН-а су:

  • Улазни слој: Овде се узима улаз, као што је слика. То ће бити 3Д објекат са дефинисаном висином, ширином и дубином.
  • Један/више скривених слојева или фаза екстракције обележја: ови слојеви могу бити конволуциони слој, слој обједињавања и потпуно повезани слој.
  • Излазни слој: Овде ће бити приказан резултат.

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

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

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

Предности ЦНН-а

Виша прецизност

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

Рачунарска ефикасност

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

Издвајање својстава

ЦНН може лако научити карактеристике слике без потребе за мануелним инжењерингом. Можете користити унапред обучене ЦНН-ове и управљати тежинама тако што ћете им достављати податке када радите на новом задатку, а ЦНН ће му се неприметно прилагодити.

  Шта је дугме за снимак екрана иПхоне-а

Апликације ЦНН-а

ЦНН-ови се користе у различитим индустријама за многе случајеве употребе. Неке од стварних апликација ЦНН-а укључују:

Класификација слика

ЦНН-ови се широко користе у класификацији слика. Они могу препознати вредне карактеристике и идентификовати објекте на датој слици. Дакле, користи се у секторима као што је здравство, посебно МРИ. Поред тога, ова технологија се користи за препознавање руком писаних цифара, што је међу најранијим случајевима употребе ЦНН-а у компјутерском виду.

Детекција објеката

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

Аудиовизуелно подударање

Помоћ ЦНН-а у аудиовизуелном подударању помаже у побољшању платформи за стриминг видео записа као што су Нетфлик, ИоуТубе, итд. Такође помаже у испуњавању захтева корисника као што су „љубавне песме Елтона Џона“.

Препознавање говора

Осим слика, ЦНН-ови су корисни у обради природног језика (НЛП) и препознавању говора. Пример овога из стварног света могао би да буде Гоогле који користи ЦНН у свом систему за препознавање говора.

Реконструкција објекта

ЦНН се могу користити у 3Д моделирању реалног објекта у дигиталном окружењу. Такође је могуће да модели ЦНН-а креирају 3Д модел лица користећи слику. Поред тога, ЦНН је користан у изградњи дигиталних близанаца у биотехнологији, производњи, биотехнологији и архитектури.

Употреба ЦНН-а у различитим секторима укључује:

  • Здравство: Компјутерски вид се може користити у радиологији да помогне лекарима да са бољом ефикасношћу открију канцерозне туморе код особе.
  • Пољопривреда: Мреже могу да користе слике са вештачких сателита као што је ЛСАТ и користе ове податке да класификују плодно земљиште. Ово такође помаже у предвиђању нивоа плодности земљишта и развоју ефикасне стратегије за максимизирање приноса.
  • Маркетинг: Апликације друштвених медија могу предложити особу на слици објављеној на нечијем профилу. Ово вам помаже да означите људе у својим фото албумима.
  • Малопродаја: Платформе за е-трговину могу да користе визуелну претрагу да помогну брендовима да препоруче релевантне артикле које циљни купци желе да купе.
  • Аутомобилска индустрија: ЦНН проналази употребу у аутомобилима да побољша безбедност путника и возача. То ради уз помоћ функција као што су детекција траке, детекција објеката, класификација слика, итд. Ово такође помаже свету аутомобила који се сами возе да се више развија.

Ресурси за учење ЦНН-а

Цоурсера:

Цоурсера има овај курс на ЦНН-у који можете узети у обзир. Овај курс ће вас научити како је компјутерска визија еволуирала током година и неке примене ЦНН-а у савременом свету.

Амазон:

Можете прочитати ове књиге и предавања да бисте сазнали више о ЦНН-у:

  • Неуралне мреже и дубоко учење: Покрива моделе, алгоритме и теорију дубоког учења и неуронских мрежа.
  • Водич за конволуционе неуронске мреже за компјутерски вид: Ова књига ће вас научити примени ЦНН-а и њиховим концептима.
  • Практичне конволуционе неуронске мреже са Тенсорфлов-ом: Можете решити различите проблеме у компјутерском виду користећи Питхон и ТенсорФлов уз помоћ ове књиге.
  • Напредно примењено дубоко учење: Ова књига ће вам помоћи да разумете ЦНН, дубоко учење и њихове напредне апликације, укључујући детекцију објеката.
  • Конволуционе неуронске мреже и рекурентне неуронске мреже: Ова књига ће вас научити о ЦНН-овима и РНН-овима и како да изградите ове мреже.

Закључак

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