Машинне навчання проти глибокого навчання


11

Мене трохи бентежить різниця між термінами "машинне навчання" та "глибоке навчання". Я погуглив його і прочитав багато статей, але мені це все ще не дуже зрозуміло.

Відоме визначення машинного навчання Тома Мітчелла:

Комп'ютерна програма називається витягти з досвіду Е щодо деякого класу задач T і вимірювання продуктивності P , якщо його продуктивність на завданнях в Т , як виміряно P , поліпшується з досвідом E .

Якщо я сприймаю проблему класифікації зображень щодо класифікації собак і котів як своїх таксів T , з цього визначення я розумію, що якби я дав алгоритму ML групу зображень собак і котів (досвід E ), алгоритм ML може навчитися розрізняють новий образ як собаку чи кішку (за умови чітко визначеного показника ефективності Р ).

Потім настає глибоке навчання. Я розумію, що глибоке навчання є частиною машинного навчання, і що наведене вище визначення дотримується. Продуктивність при завданні Т поліпшується з досвідом Е . Все добре до цих пір.

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

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

Мене бентежить той факт, що в (Традиційному) машинному навчанні функції повинні бути виготовлені вручну. З наведеного вище визначення Тома Мітчелла, я думаю , що ці функції будуть витягти з досвіду Е і продуктивності P . Що інакше можна було б дізнатися в машинному навчанні?

Під час глибокого навчання я розумію, що з досвіду ви дізнаєтесь функції та те, як вони співвідносяться один з одним, щоб поліпшити продуктивність. Чи можу я зробити висновок, що в машинному навчанні функції повинні бути виготовлені вручну, і що можна дізнатись - це поєднання функцій? Або я пропускаю щось інше?


2
Це дуже добре висвітлено у книзі « Глибоке навчання» Goodfellow та ін. у першому розділі (Вступ).
hbaderts

Відповіді:


4

На додаток до того, що сказав Хіманшу Рай, Глибоке навчання - це підполе, яке передбачає використання нейронних мереж. Ці нейронні мережі намагаються вивчити базовий розподіл, змінюючи ваги між шарами. Тепер розглянемо випадок розпізнавання зображень за допомогою глибокого навчання: модель нейромережі розділена між шарами, ці шари з'єднані між собою ланками, званими вагами, в міру того, як починається тренувальний процес, ці шари регулюють ваги так, щоб кожен шар намагався виявити якусь особливість і допомогти наступному шару для його обробки. Ключовим моментом, який слід зауважити, є те, що ми не прямо говоримо шару, щоб навчитися виявляти краї, очі, ніс або обличчя. Модель вчиться робити це само. Не схожі на класичні моделі машинного навчання.


8

Як дослідницька область, глибоке навчання насправді є лише підполем машинного навчання, оскільки машинне навчання - це підполе штучного інтелекту.

1) Ненаглядова функція навчання

Концептуально перша основна відмінність між " традиційним " (або " неглибоким ") машинним навчанням та глибоким навчанням - це непідконтрольне функціонування навчання.

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

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

Непідконтрольне функціональне навчання, кредити: Тоні Белтрамеллі (фотографії: Тоні Белтрамеллі)

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

Незважаючи на те, що Deep Neural Networks може виконувати непідконтрольне функціонуванню навчання, це не заважає вам робити Feature Engineering самостійно, щоб краще представити вашу проблему. Непідконтрольне вивчення функцій, видобуток функцій та інженерія функцій не є взаємовиключними!

Джерела:

2) Лінійна роздільність

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

Прихований шар вивчає подання, так що дані лінійно відокремлюються, кредити: Крістофер Олах (фотографії: Крістофер Олах)

Джерела: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/

3) Статистична інваріантність

Нарешті, глибокі нейронні мережі перевершують традиційні алгоритми машинного навчання в деяких областях, оскільки деякі архітектури демонструють статистичну інваріантність (наприклад: просторова статистична інваріація з конволюційними нейронними мережами та часова статистична інваріація з періодичними нейронними мережами)

Перегляньте це відео Udacity, щоб отримати детальнішу інформацію: https://www.youtube.com/watch?v=5PH2Vot-tD4


4

Натхненний Ейнштейном, "" Якщо ти не можеш пояснити це шестирічному віку, ти сам не розумієш цього ".

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

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

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


-3

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


Ще одне питання: наприклад, CNN, чи функції (або фільтри) не те саме, що ваги?
користувач2835098

Ні, вони є вагами для шару згортки, але добуток, отриманий із згортки, тобто карти характеристик - це особливості.
Himanshu Rai

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