Ще обясня как работят конволюционните невронни мрежи (CNN). CNN обикновено се използват при работа с данните за изображения. Това означава, че когато качите снимка във Facebook, ако ви поиска да обозначите приятеля си, това означава, че CNN работи във фонов режим. CNN използва специфичните характеристики на даден обект, за да ги разпознае в снимки. Всъщност този процес се извършва от нашия мозък несъзнателно. Когато гледаме автомобил, ние определяме колата като кола, която гледа в огледалата си и управлява колелата си. CNN прави същото, но преди това идентифицира функции от по-ниско ниво като криви и ръбове и ги създаде за по-абстрактни концепции.

За да получи функционалността, CNN обработва изображението с няколко слоя. Ще ги разгледам по-късно, в детайли, но нека ги обобщим сега.

· Конволюционният слой извлича характеристики от извадка от данни.

· ReLU (Слой за нелинейност) преобразува данните в нелинейна форма, за да премахне проблема с изчезващия градиентен низход.

· Слой за обединяване (намаляване на пробите), премахва излишните функции, прави модела инвариантен към транслация, ротация и мащабиране.

· Изравняващият слой подготвя данните към класическата невронна мрежа

· Напълно свързаният слой е стандартна невронна мрежа, използвана за класификация

CNN използва стандартна невронна мрежа за класифициране на данни, но използва други слоеве за определяне на информация и идентифициране на някои характеристики.

Конволюционен слой

Конволюционният слой е ядрото на CNN. Той идентифицира характеристиките на данните за изображения. Всеки конволюционен слой има набор от филтри, които помагат при извличането на функции. Например, един от тези филтри може да отговаря за откриването на ръбове. Тези филтри обикновено са многоизмерни и съдържат стойности на пиксели. Първо, тази филтърна матрица е позиционирана в горния ляв ъгъл на изображението. Цялото изображение се прилага чрез преместване на филтър един в дясната колона и един в долния ред. Това генерира изходна матрица след приключване на всички операции. Тази матрица се нарича „Карта на характеристиките“. Накратко, чрез преместване на филтъра върху изображението и използване на просто матрично умножение, ние определяме нашите характеристики. Обикновено се използват множество филтри за откриване на множество функции, което означава множество конволюционни слоеве в мрежата на CNN.

В първите етапи на CNN, когато прилагаме първите филтри, трябва да защитим възможно най-много информация за другите конволюционни слоеве. Ето защо подложката се използва по тази причина.

Re-LU слой

След това изходът от конволюцията преминава през активираща единица, наречена ReLU (Ректифицирана линейна единица). Това устройство преобразува данните в тяхната нелинейна форма. Сигмоидните единици не се предпочитат като единица за активиране поради проблема с изчезващия градиент. След това изходът на ReLU се предава през слой за обединяване.

Обединяващ слой

Обединяващият слой премахва всички излишни функции, които са уловени по време на конволюция. Има много операции за обединяване, но най-популярното е максималното обединяване.

Както можете да видите на снимката, филтърът приема най-голямото число в обхващащата област. В този момент невронната мрежа използва по-малък изход с достатъчно информация, за да вземе правилното решение.

Този процес на последователно предаване на данни през слой за навиване и обединяване се повтаря според дизайна на модела на CNN. С цел обучение този процес се повтаря 2-4 пъти.

Изравняващ слой

Задачата на този слой е просто да подготви данните при влизане на последния слой, напълно свързания слой. Като цяло, невронните мрежи приемат едномерен масив от входни данни. Данните в тази невронна мрежа са едномерната версия на матриците, идваща от слоевете Convolutional и Pooling.

Напълно свързан слой

Този слой е класическа невронна мрежа с подаване напред. Данните се вземат от процеса на изравняване и процесът на обучение се извършва чрез невронната мрежа.