Я хочу використовувати глибоке навчання у своєму проекті. Я переглянув пару паперів, і в мене виникло питання: чи є різниця між нейронною мережею згортки та глибоким навчанням? Ці речі однакові чи вони мають якісь основні відмінності, і що краще?
Я хочу використовувати глибоке навчання у своєму проекті. Я переглянув пару паперів, і в мене виникло питання: чи є різниця між нейронною мережею згортки та глибоким навчанням? Ці речі однакові чи вони мають якісь основні відмінності, і що краще?
Відповіді:
Глибоке навчання - це галузь машинного навчання, що базується на глибоких нейронних мережах (DNNs), тобто нейронні мережі, що мають принаймні 3 або 4 шари (включаючи вхідний та вихідний шари). Але для деяких людей (особливо нетехнічних) будь-яка нейронна сітка кваліфікується як глибоке навчання, незалежно від її глибини. А інші вважають 10-шарову нейронну сітку дрібною.
Конволюційні нейронні мережі (CNN) - одна з найпопулярніших архітектур нейронної мережі. Вони надзвичайно успішні в обробці зображень, але також і для багатьох інших завдань (таких як розпізнавання мовлення, обробка природних мов тощо). Сучасні CNN є досить глибокими (як мінімум, десятки шарів), тому вони є частиною Deep Learning. Але ви можете побудувати дрібну CNN для простого завдання, в такому випадку це не (справді) глибоке навчання.
Але CNN не поодинці, існує багато інших архітектур нейронної мережі, включаючи періодичні нейронні мережі (RNN), автокодери, трансформатори, глибокі мережі вірування (DBN = стек обмежених машин Boltzmann, RBM) та інше. Вони можуть бути дрібними або глибокими. Примітка: навіть дрібні RNN можна вважати частиною глибокого навчання, оскільки навчання їх вимагає розгортати їх протягом часу, внаслідок чого виникає глибока сітка.
У галузях адаптивної обробки сигналів / машинного навчання глибоке навчання (DL) - це певна методологія, за якою ми можемо навчити машини складних уявлень.
Як правило, у них буде формулювання, яке може відображати ваш вхід , аж до цільової мети , через низку ієрархічно складених (ось звідки походить "глибокий") операцій . Ці операції, як правило, є лінійними операціями / проекціями ( ), за якими слідують нелінійності ( ), наприклад:
Зараз всередині DL існує багато різних архітектур : Одна така архітектура відома як звивиста нейронна сітка (CNN). Інша архітектура відома як багатошаровий перцептрон (MLP) тощо. Різні архітектури піддаються вирішенню різних типів проблем.
MLP - це, мабуть, один з найбільш традиційних типів архітектури DL, який можна знайти, і саме тоді кожен елемент попереднього шару з'єднується з кожним елементом наступного шару. Це виглядає приблизно так:
У MLP матриці кодують перетворення з одного шару в інший. (Через матрицю множимо). Наприклад, якщо у вас є 10 нейронів в одному шарі, з'єднаних з 20 нейронами наступного, то у вас буде матриця , яка буде відображати вхід до виводу , через: . Кожен стовпець у кодує всі ребра, що йдуть від усіх елементів шару, до одного з елементів наступного шару.
Тоді MLP вийшли з прихильності, частково тому, що їх було важко тренувати. Незважаючи на те, що існує велика кількість причин для цієї проблеми, одна з них полягала також у тому, що їхні щільні зв'язки не дозволяють їм легко масштабувати різні комп'ютерні проблеми із зором. Іншими словами, у них не було зафіксовано еквівалентності перекладу. Це означало, що якщо в одній частині зображення буде сигнал, до якого вони повинні бути чутливими, їм потрібно буде знову дізнатися, як бути чутливим до нього, якщо цей сигнал рухався. Це втратило потужність мережі, і тому навчання стало важким.
Сюди завітали CNN! Ось як виглядає:
CNN вирішили проблему перекладу сигналів, оскільки вони будуть поєднувати кожен вхідний сигнал з детектором (ядром) і, таким чином, чутливі до тієї ж функції, але цього разу всюди. У такому випадку наше рівняння все ще виглядає однаково, але вагові матриці насправді є згортковими матрицями топлець . Математика однакова.
Загальноприйнято бачити, що "CNNs" посилаються на мережі, де у нас є звивисті шари по всій мережі, і MLP в самому кінці, так що це один застереження, про який слід знати.
Глибоке навчання = глибокі штучні нейронні мережі + інші види глибоких моделей .
Глибокі штучні нейронні мережі = штучні нейронні мережі з більш ніж 1 шаром. (див. мінімальну кількість шарів у глибокій нейромережі або Вікіпедії для отримання додаткових дискусій ...)
Convolution Neural Network = Тип штучних нейронних мереж
Цей слайд з допомогою Лекуна робить точку , що тільки моделі з ієрархією ознаки (функції нижнього рівня засвоюються на одному шарі моделі, а потім ці функції об'єднані на наступному рівні) є глибоко .
CNN може бути глибоким або неглибоким; від цього залежить те, чи слід за цим побудовою "ієрархії особливостей", оскільки певні нейронні мережі, включаючи двошарові моделі , не є глибокими.
Deep learning
- загальний термін для роботи зі складною нейронною мережею з декількома шарами. Не існує стандартного визначення того, що саме є deep
. Зазвичай ви можете подумати, що глибока мережа - це занадто велика кількість для навчання вашого ноутбука та ПК. Набір даних був би настільки величезним, що ви не зможете вписати його у свою пам'ять. Вам може знадобитися GPU, щоб прискорити навчання.
Deep
більше схоже на маркетинговий термін, щоб зробити щось звучить професійніше, ніж інакше.
CNN
це тип глибокої нейронної мережі, і існує багато інших типів. CNN популярні, оскільки у них є дуже корисні програми для розпізнавання зображень.