никулец Што се CNN (Convolutional Neural Networks)? - Обединете се.АИ
Поврзете се со нас
Мастеркласа за вештачка интелигенција:

АИ 101 година

Што се CNN (Convolutional Neural Networks)?

mm
Ажурирани on

Можеби сте се запрашале како Фејсбук или Инстаграм можат автоматски да препознаваат лица на слика или како Google ви дозволува да пребарувате на интернет за слични фотографии само со прикачување на своја фотографија. Овие карактеристики се примери за компјутерска визија и тие се напојувани од конволутивни невронски мрежи (CNN). Сепак, што всушност се конволутивните невронски мрежи? Ајде длабоко да се нурнеме во архитектурата на CNN и да разбереме како тие функционираат.

Што се невронски мрежи?

Пред да започнеме да зборуваме за конволутивните невронски мрежи, ајде да одвоиме малку време за да ја дефинираме редовната невронска мрежа. Има друг напис на темата достапни невронски мрежи, така што овде нема да навлегуваме премногу длабоко во нив. Сепак, накратко да ги дефинираме тие се пресметковни модели инспирирани од човечкиот мозок. Невронската мрежа работи со преземање податоци и манипулирање со податоците со прилагодување на „тежини“, кои се претпоставки за тоа како влезните карактеристики се поврзани едни со други и класата на објектот. Како што се обучува мрежата, вредностите на тежините се приспособуваат и тие се надеваме дека ќе се спојат со тежини кои прецизно ги доловуваат односите помеѓу карактеристиките.

Вака функционира невронската мрежа за повлекување, а CNN се состојат од две половини: невронска мрежа за повлекување и група конволуциони слоеви.

Што се конволуциони невронски мрежи (CNN)?

Кои се „конволуциите“ што се случуваат во конволуционата невронска мрежа? Конволуцијата е математичка операција која создава збир на тежини, во суштина создавајќи претстава на делови од сликата. Овој сет на тегови се нарекува јадро или филтер. Создадениот филтер е помал од целата влезна слика, покривајќи само дел од сликата. Вредностите во филтерот се множат со вредностите на сликата. Филтерот потоа се преместува за да се формира претстава на нов дел од сликата и процесот се повторува додека не се покрие целата слика.

Друг начин да се размислува за ова е да се замисли ѕид од тули, со тули кои ги претставуваат пикселите на влезната слика. По ѕидот, што е филтерот, се лизга „прозорец“ напред-назад. Тулите што се гледаат низ прозорецот се пикселите со нивната вредност помножена со вредностите во филтерот. Поради оваа причина, овој метод на создавање тегови со филтер често се нарекува техника „лизгачки прозорци“.

Излезот од филтрите што се движат околу целата влезна слика е дводимензионална низа што ја претставува целата слика. Оваа низа се нарекува a „карта на карактеристики“.

Зошто конволуциите се од суштинско значење

Која е целта на создавање на конволуции сепак? Конволуциите се неопходни затоа што невронската мрежа треба да може да ги интерпретира пикселите на сликата како нумерички вредности. Функцијата на конволутивните слоеви е да ја претворат сликата во нумерички вредности кои невронската мрежа може да ги интерпретира и потоа да извлече релевантни обрасци. Работата на филтрите во конволуционата мрежа е да создадат дводимензионална низа на вредности што може да се пренесат во подоцнежните слоеви на невронската мрежа, оние што ќе ги научат шаблоните на сликата.

Филтри и канали

Фото: cecebur преку Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN не користат само еден филтер за да научат обрасци од влезните слики. Се користат повеќе филтри, бидејќи различните низи создадени од различните филтри доведуваат до посложена, богата претстава на влезната слика. Вообичаените броеви на филтри за CNN се 32, 64, 128 и 512. Колку повеќе филтри има, толку повеќе можности CNN има да ги испита влезните податоци и да научи од нив.

CNN ги анализира разликите во вредностите на пикселите со цел да ги одреди границите на објектите. Во слика со сива скала, Си-Ен-Ен ќе ги разгледа само разликите во црно-бело, светло-темно. Кога сликите се слики во боја, CNN не само што ги зема предвид темното и светлото, туку треба да ги земе предвид и трите различни канали во боја - црвена, зелена и сина. Во овој случај, филтрите поседуваат 3 канали, исто како и самата слика. Бројот на канали што ги има филтерот се нарекува неговата длабочина, а бројот на канали во филтерот мора да одговара на бројот на канали на сликата.

Конволуциона невронска мрежа (CNN) Архитектура

Ајде да ја погледнеме целосната архитектура на конволутивна невронска мрежа. Конволуционен слој се наоѓа на почетокот на секоја конволуциона мрежа, бидејќи е неопходно да се трансформираат податоците од сликата во нумерички низи. Меѓутоа, конволуционите слоеви можат да дојдат и по другите конволутивни слоеви, што значи дека овие слоеви може да се наредени еден врз друг. Имањето повеќе конволуциони слоеви значи дека излезите од еден слој можат да подлежат на понатамошни конволуции и да се групираат заедно во соодветни обрасци. Практично, ова значи дека како што податоците од сликата продолжуваат низ конволутивните слоеви, мрежата почнува да „препознава“ посложени карактеристики на сликата.

Раните слоеви на ConvNet се одговорни за извлекување на функциите на ниско ниво, како што се пикселите што сочинуваат едноставни линии. Подоцнежните слоеви на ConvNet ќе ги спојат овие линии заедно во форми. Овој процес на преминување од анализа на ниво на површина кон анализа на длабоко ниво продолжува додека ConvNet не препознае сложени форми како животни, човечки лица и автомобили.

Откако податоците ќе поминат низ сите конволуциони слоеви, тие продолжуваат во густо поврзаниот дел на CNN. Густо поврзаните слоеви се како изгледа традиционалната невронска мрежа, серија на јазли наредени во слоеви кои се поврзани еден со друг. Податоците продолжуваат низ овие густо поврзани слоеви, кои ги дознаваат шаблоните што биле извлечени од конволуционите слоеви, а со тоа мрежата станува способна да препознава објекти.

Блогер и програмер со специјалитети во Машинско учење Длабоко учење теми. Даниел се надева дека ќе им помогне на другите да ја искористат моќта на вештачката интелигенција за општествено добро.