Нейронні мережі: приклад, визначення, значення, сфера застосування

Приклад сверточной нейронної мережі

Сверточная нейронна мережа схожа на багатошарову мережа перцептрона. Основною відмінністю є те, що CNN вивчає, як вона структурована і для якої мети використовується. Натхненниками CNN були біологічні процеси. Їхня структура має видимість зорової кори, присутньої у тварини. Вони застосовуються в області комп’ютерного зору й успішні досягнення сучасного рівня продуктивності в різних областях досліджень.

Перш ніж починають кодувати CNN, для побудови моделі використовують бібліотеку, наприклад, Keras з бэкэндом Tensorflow. Спочатку виконують необхідний імпорт. Бібліотека допомагає будувати сверточную нейронну мережу. Завантажують набір даних mnist через keras. Імпортують послідовну модель keras, в яку можна додати шари згортки та об’єднання, щільні шари, так як вони використовуються для прогнозування міток. Випадаючий шар зменшує переоснащення, а вирівнюючий перетворює тривимірний вектор в одновимірний. Нарешті, імпортуємо numpy для матричних операцій:

  • Y = 2 # значення 2 уявляє, що зображення має цифру 2;
  • Y = [0,0,1,0,0,0,0,0,0,0] # 3-я позиція у векторі зроблена 1;
  • # Тут значення класу перетворюється в матрицю двійкового класу.

Алгоритм будівництва:

  • Додають до послідовної моделі надточні шари максимальний пул.
  • Додають випадають шари між ними. Випадаючий випадковим чином відключає деякі нейрони в мережі, що змушує дані знаходити нові шляхи і зменшує переоснащення.
  • Додають щільні шари, які використовуються для передбачення класу (0-9).
  • Компілюють модель з категоріальною функцією крос-ентропійної втрати, оптимізатором Adadelta і метрикою точності.
  • Після навчання оцінюють втрати і точність моделі за даними випробувань і роздруковують її.