Главная страница

Курсова робота_СТАРАЯ. Зміст


Скачать 1.63 Mb.
НазваниеЗміст
Дата17.12.2020
Размер1.63 Mb.
Формат файлаdocx
Имя файлаКурсова робота_СТАРАЯ.docx
ТипЗадача
#161615
страница4 из 8
1   2   3   4   5   6   7   8

Згорткові нейронні мережі



Згорткові нейронні мережі (Convolutional neural network) (CNN) схожі на звичайні нейронні мережі: вони складаються з нейронів, які мають вагові коефіцієнти та зміщення (рисунок 1.16). Кожен нейрон отримує кілька входів, виконує скалярний твір. Вся мережа як і раніше описує єдину розрізнювальну оціночну функцію: з вихідних пікселів зображення на одному кінці мереж отримується ступінь приналежності до того, чи іншого класу. Також, цей тип мереж має функцію втрат (наприклад, SVM / Softmax) на останньому повнозв’язному шарі.

Головною відмінністю архітектури CNN є припущення про те, що входами є зображення, які дозволяють перетворювати певні особливості цих зображень в архітектуру мережі. Саме це зробило передавальну функцію більш ефективною в реалізації та значно зменшилась кількість параметрів в мережі.

Звичайна нейронна мережа. Нейронні мережі отримують вхід (один вектор), і перетворюють його через ряд прихованих шарів. Кожен прихований шар складається з набору нейронів, де кожен нейрон повністю зв’язаний з іншими нейронами в попередньому шарі, і нейрони, що знаходяться в одному шарі, функціонально незалежні та не мають спільних зв’язків. Останній повнозв’язний шар називається "вихідний шар" і в налаштуваннях класифікації він представляє ступінь приналежності до того, чи іншого класу.

Звичайні нейронні мережі погано масштабуються для великих зображень. У CIFAR-10, зображення мають розмір 32x32x3 (32 в ширину, 32 у висоту, 3 кольорових каналів), так що один повнозв’язний нейрон в першому прихованому шарі звичайної нейронної мережі буде мати 32 * 32 * 3 = 3072 ваг. Ця сума не дуже велике для управління нею, але очевидно, що ця повнозв’язна структура не масштабується для великих зображень. Наприклад, зображення більшого розміру, наприклад 200x200x3, призведе до того, що в нейронній мережі буде 200 * 200 * 3 = 120000 ваг. Така повнозв’язність є марнотратною і велика кількість параметрів може швидко привести до перенавчання.

Тривимірна розмірність нейронів. Основною перевагою CNN (рисунок 2.3) є те, що входами є зображення, які визначають архітектуру більш правильним шляхом. Зокрема, на відміну від звичайної нейронної мережі, шари в ConvNet мають нейрони розташовані в трьох вимірах: ширина, висота, глибина (рисунок 2.4). Нейрони в шарі будуть з’єднуються тільки з невеликою областю шару перед ним, а не з’єднується по принципу «багато до багатьох». Крім того, кінцевий вихідний шар для CIFAR-10 має розмір 1x1x10, тому що в кінці архітектури CNN повне зображення зменшується в єдиний вектор класу оцінки.



Рисунок 1.16 - Звичайна тришарова нейронна мережа



Рисунок 1.17 – Згорткова нейронна мережа
Кожен шар CNN перетворює тривимірний вхід у тривимірний вихід функції активації. На рисунку вище червоний вхідний шар представляє зображення, тому ширина і висота будуть вимірами зображення, а глибина буде рівна 3 (червоний, зелений та синій канали).

Шари, що використовуються для побудови CNN. Кожен шар CNN перетворює одну розмірність активацій в іншу, проходячи через диференціюючу функцію. Зазвичай використовуються три типи шарів для побудови архітектури CNN: convolutional layer (CONV, згортковий шар), pooling layer (POOL, субдискретизуючий шар, тобто шар, який проводить операцію підвибірки), fully-connected layer (FC, повнозв’язний шар, як у звичайній нейронній мережі). Поєднання цих шарів і утворює архітектуру CNN.

Для прикладу розглянемо просту архітектуру мережі для CIFAR-10 набору [INPUT - CONV - RELU – POOL - FC]:

    1. INPUT (вхід, рисунок 1.18) [32x32x3] буде містити вихідні значення пікселів зображення, в цьому випадку це ширина 32 пікселів, висота 32 пікселів та глибина, яка рівна трьом по кількості колірних каналів;

    2. CONV шар (згортковий шар) буде обчислювати вихід нейронів, які з'єднані з локальними областями на вході, де кожне обчислення полягає в скалярному творі між вагами та областю входу, з якою вони з’єднані. Результуюча розмірність буде [32x32x12].



Рисунок 1.18 - Приклад розмірності входу (32х32х3) та приклад розмірності нейрону CONV шарі


    1. ReLu (Rectified Linear Units) шар поелементно застосовує функцію функцію активації, таку як max(0,x) з порогом в нулі. Розмірність залишається без змін ([32x32x12]).

    2. POOL шар буде виконує операцію субдискретизації просторових розмірів (ширина, висота), в результаті чого розмірність стає рівною [16x16x12].

    3. FC шар обчислює степінь приналежності до класу, результат буде мати розмірність [1x1x10], де кожен з 10-ти номерів відповідає ступеню приналежності до того чи іншого класу, наприклад, до 10 класів у CIFAR-10. Як і у випадку звичайних нейронних мереж кожен нейрон в цьому шарі буде під’єднаний до всіх нейронів в повному обсязі.

Таким чином, CNN шар за шаром перетворює пікселі початкового зображення у кінцеві значення степеню приналежності до класу (приклад перетворень представлений на рисунку 1.19). Деякі шари містять параметри, а в деяких їх немає. Зокрема, шари CONV та FC виконують перетворення, які є результатом не тільки активацій всього об’єму входу, але також і параметрів (ваг і зсувів нейронів). З іншого боку, ReLu та POOL шари реалізують закріплений за ними функціонал. Параметри в шарах CONV та FC навчаються за допомогою методу градієнтного спуску, так степінь приналежності до класу, що CNN обчислює узгоджуються з мітками в навчальному наборі для кожного зображення.



Рисунок 1.19 – Шари згорткової нейронної мережі
Особливості CNN. Першою особливістю є local connectivity (локальне з’єднання). Якщо розмірність входів велика, наприклад, таких як зображення, то недоцільно поєднувати нейрони за принципом «всі до всіх». Замість цього кожен нейрон поєднується тільки з локальною областю входу, тобто лише деякою частиною. Просторова протяжність зв'язку є гіперпараметром, який називається полем сприйняття нейрона.

Backpropagation (зворотне поширення). Зворотний прохід для операції згортки (як для даних і ваг) також є згорткою (але вже для фільтрів).

Parameter sharing (спільне використання параметрів). Ця особливість використовується в CONV шарі, щоб управляти кількістю параметрів. Можливо значно зменшити кількість параметрів, зробивши таке припущення: якщо одну особливість треба було обчислити при деякому просторовому положенні (х, у), то воно також може бути обчислено в іншому місці (х2, у2). На практиці під час зворотного поширення, кожен нейрон в буде обчислювати градієнт для його ваги, але ці градієнти будуть додаватися під час проходження через кожен зріз по глибині (який буде двовимірним) і оновлювати тільки один набір ваг на зріз за один раз.

Всі нейрони в одному зрізі по глибині використовують один і той же вектор ваги, тому при проходженні CONV шару кожен зріз по глибині може бути обчислений як згортка ваг нейронів. Таким чином, цей вектор є загальним для набору ваг в якості фільтра (або ядра), який є згорнутим з входом. Результатом цієї згортки є карта activation map (карта особливостей).


  1. 1   2   3   4   5   6   7   8


написать администратору сайта