Яка різниця між конволюційними нейронними мережами та глибоким навчанням?


25

Я хочу використовувати глибоке навчання у своєму проекті. Я переглянув пару паперів, і в мене виникло питання: чи є різниця між нейронною мережею згортки та глибоким навчанням? Ці речі однакові чи вони мають якісь основні відмінності, і що краще?


Скажіть, у чому полягає точна відмінність від глибокого навчання та конволюційної нейронної мережі. Я якийсь плутанина в цих двох темах
Яміні

Відповіді:


33

Глибоке навчання - це галузь машинного навчання, що базується на глибоких нейронних мережах (DNNs), тобто нейронні мережі, що мають принаймні 3 або 4 шари (включаючи вхідний та вихідний шари). Але для деяких людей (особливо нетехнічних) будь-яка нейронна сітка кваліфікується як глибоке навчання, незалежно від її глибини. А інші вважають 10-шарову нейронну сітку дрібною.

Конволюційні нейронні мережі (CNN) - одна з найпопулярніших архітектур нейронної мережі. Вони надзвичайно успішні в обробці зображень, але також і для багатьох інших завдань (таких як розпізнавання мовлення, обробка природних мов тощо). Сучасні CNN є досить глибокими (як мінімум, десятки шарів), тому вони є частиною Deep Learning. Але ви можете побудувати дрібну CNN для простого завдання, в такому випадку це не (справді) глибоке навчання.

Але CNN не поодинці, існує багато інших архітектур нейронної мережі, включаючи періодичні нейронні мережі (RNN), автокодери, трансформатори, глибокі мережі вірування (DBN = стек обмежених машин Boltzmann, RBM) та інше. Вони можуть бути дрібними або глибокими. Примітка: навіть дрібні RNN можна вважати частиною глибокого навчання, оскільки навчання їх вимагає розгортати їх протягом часу, внаслідок чого виникає глибока сітка.


@MiniQurak. Будь ласка, виправте мене, я помиляюся. Я розумію, що CNN - це лише одна архітектура глибоких мереж, як і Autoencoder, Deep Belief Nets, Recurrent Neural Networks (RNN). Це правильно?
Aadnan Farooq A

Так, це правильно.
MiniQuark

то чи можна сказати, яка архітектура краще залежно від набору даних? чи які ключові фактори?
Aadnan Farooq A

1
CNN чудово підходять для розпізнавання зображень. Вони також світяться щоразу, коли дані мають певну форму ієрархічної структури, з локальними візерунками (наприклад, сегменти рядків), зібраними у великі візерунки (наприклад, квадрати, трикутники), зібрані у більші візерунки (наприклад, будинок, площина). Це добре справляється із завданнями розпізнавання мовлення. RNN чудово підходять для часових рядів (наприклад, прогнозування погоди) і, як правило, обробляють послідовності даних (наприклад, пропозиції). Вони багато використовуються для NLP (природного опрацювання мови). Автоматичні кодери не контролюються, вони вивчають шаблони в даних.
MiniQuark

1
Добре тоді :)
Firebug

21

У галузях адаптивної обробки сигналів / машинного навчання глибоке навчання (DL) - це певна методологія, за якою ми можемо навчити машини складних уявлень.

Як правило, у них буде формулювання, яке може відображати ваш вхід , аж до цільової мети , через низку ієрархічно складених (ось звідки походить "глибокий") операцій . Ці операції, як правило, є лінійними операціями / проекціями ( ), за якими слідують нелінійності ( ), наприклад:хуWifi

у=fN(...f2(f1(хТW1)W2)...WN)

Зараз всередині DL існує багато різних архітектур : Одна така архітектура відома як звивиста нейронна сітка (CNN). Інша архітектура відома як багатошаровий перцептрон (MLP) тощо. Різні архітектури піддаються вирішенню різних типів проблем.

MLP - це, мабуть, один з найбільш традиційних типів архітектури DL, який можна знайти, і саме тоді кожен елемент попереднього шару з'єднується з кожним елементом наступного шару. Це виглядає приблизно так:

введіть тут опис зображення

У MLP матриці кодують перетворення з одного шару в інший. (Через матрицю множимо). Наприклад, якщо у вас є 10 нейронів в одному шарі, з'єднаних з 20 нейронами наступного, то у вас буде матриця , яка буде відображати вхід до виводу , через: . Кожен стовпець у кодує всі ребра, що йдуть від усіх елементів шару, до одного з елементів наступного шару.WiWR10х20vR10х1уR1х20у=vТWW

Тоді MLP вийшли з прихильності, частково тому, що їх було важко тренувати. Незважаючи на те, що існує велика кількість причин для цієї проблеми, одна з них полягала також у тому, що їхні щільні зв'язки не дозволяють їм легко масштабувати різні комп'ютерні проблеми із зором. Іншими словами, у них не було зафіксовано еквівалентності перекладу. Це означало, що якщо в одній частині зображення буде сигнал, до якого вони повинні бути чутливими, їм потрібно буде знову дізнатися, як бути чутливим до нього, якщо цей сигнал рухався. Це втратило потужність мережі, і тому навчання стало важким.

Сюди завітали CNN! Ось як виглядає:

введіть тут опис зображення

CNN вирішили проблему перекладу сигналів, оскільки вони будуть поєднувати кожен вхідний сигнал з детектором (ядром) і, таким чином, чутливі до тієї ж функції, але цього разу всюди. У такому випадку наше рівняння все ще виглядає однаково, але вагові матриці насправді є згортковими матрицями топлець . Математика однакова. Wi

Загальноприйнято бачити, що "CNNs" посилаються на мережі, де у нас є звивисті шари по всій мережі, і MLP в самому кінці, так що це один застереження, про який слід знати.


1
+1 Чудова відповідь, я щойно дізнався про матриці тоеплиць. ;-)
MiniQuark

@MiniQuark Дякую! Так - ви можете виписати згортку у вигляді множення на матрицю тоепліт. :)
Tarin Ziyaee

@TarinZiyaee та MiniQurak Ви можете, будь ласка, запропонуйте мені будь-яку хорошу статтю / підручник з журналу / підручника для початківця, щоб детально дізнатися про глибоке навчання.
Ааднан Фарук

CNN не обов'язково глибокі (-1)
Firebug

7

Глибоке навчання = глибокі штучні нейронні мережі + інші види глибоких моделей .

Глибокі штучні нейронні мережі = штучні нейронні мережі з більш ніж 1 шаром. (див. мінімальну кількість шарів у глибокій нейромережі або Вікіпедії для отримання додаткових дискусій ...)

Convolution Neural Network = Тип штучних нейронних мереж


Досить справедливо, Deep Learning також включає "багатошарові машини ядра", і CNN можуть бути дрібними. :)
MiniQuark

@MiniQuark так.
Franck Dernoncourt

штучні нейронні мережі з більш ніж 1 шаром ..... Я не впевнений, що мережу із лише двома шарами називають глибокою мережею.
SmallChess

1
@StudentT Можливо, я не працюю в маркетингу;) en.wikipedia.org/w/…
Franck Dernoncourt

1
Це має бути головною відповіддю, оскільки CNN не обов'язково є глибокими, і глибоке вивчення стосується не лише ANN (у звичайному розумінні).
Firebug

6

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

CNN може бути глибоким або неглибоким; від цього залежить те, чи слід за цим побудовою "ієрархії особливостей", оскільки певні нейронні мережі, включаючи двошарові моделі , не є глибокими.

Визначення Янна Лекуна


3

Deep learning- загальний термін для роботи зі складною нейронною мережею з декількома шарами. Не існує стандартного визначення того, що саме є deep. Зазвичай ви можете подумати, що глибока мережа - це занадто велика кількість для навчання вашого ноутбука та ПК. Набір даних був би настільки величезним, що ви не зможете вписати його у свою пам'ять. Вам може знадобитися GPU, щоб прискорити навчання.

Deep більше схоже на маркетинговий термін, щоб зробити щось звучить професійніше, ніж інакше.

CNNце тип глибокої нейронної мережі, і існує багато інших типів. CNN популярні, оскільки у них є дуже корисні програми для розпізнавання зображень.


Я хотів би люб’язно заперечити кілька таких тверджень: мережа, як правило, вважається глибокою, коли вона має більше одного прихованого шару, і більшість людей погодиться, що мати більше 10 прихованих шарів, безумовно, глибоко. Цілком можливо тренувати глибокі мережі на своєму ноутбуці, я це роблю постійно. Набір даних не повинен бути величезним, зокрема, якщо ви використовуєте навчання передачі (тобто повторне використання шарів з попередньо перевіреної мережі) та / або збільшення даних. Навколо слова "глибокий", безумовно, багато, але є присвячені прийоми глибокого навчання, тому це не просто ажіотаж. :)
MiniQuark

@MiniQuark Зі збільшенням даних ваш набір даних все ще буде великим, тільки що ви почнете з чогось маленького ...
SmallChess

Добрий момент, ти маєш рацію. Що я хотів сказати, це те, що набір даних поміститься в пам’яті, оскільки ви будете генерувати більшість даних під час руху.
MiniQuark
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.