Хороше запитання: зауважте, що у галузі глибокого навчання речі не завжди є настільки чіткими та чітко визначеними, як у статистичному навчанні (також тому, що існує велика галас), тому не сподівайтеся на те, що визначення буде настільки суворим, як у математиці. У будь-якому випадку багатошаровий персептрон - це специфічна нейронна мережа архітектури, що передається вперед, де ви складаєте кілька повністю пов'язаних шарів (таким чином, шарів згортання взагалі немає), де функції активації прихованих одиниць часто є сигмоїдними або тангами. Вузли вихідного шару зазвичай мають функції активації програмного забезпечення (для класифікації) або функції лінійної активації (для регресії). Типові архітектури MLP не "глибокі", тобто у нас не так багато прихованих шарів. Зазвичай у вас є, скажімо, від 1 до 5 прихованих шарів. Ці нейронні мережі були поширеними у 80-х роках,
Зараз, під глибокою нейронною мережею ми маємо на увазі мережу, яка має багато шарів (19, 22, 152, ... навіть > 1200 , хоча це, правда, дуже екстремально). Зауважте, що
- ми не вказали архітектуру мережі, тому це може бути подачею, повторенням тощо.
- ми не вказали природу з'єднань, тому ми могли б мати повністю з'єднані шари, звивисті шари, повторність тощо.
- «багато» шарів, правда, не є чітким визначенням.
⇒ 32 × 32 + 32 × 10 = 1344⇒ 11584ваги. Це мізерний НН за сьогоднішніми мірками. Однак, продовжуючи тренувати його на відповідно великому наборі даних, ви виявляєте, що швидкість конвергенції надзвичайно сповільнилася. Це пов'язано не лише з більшою кількістю ваг, але і з проблемою градієнта, що зникає - зворотне розповсюдження обчислює градієнт функції втрат шляхом множення помилок на кожен шар, і ці невеликі числа стають експоненціально меншими, чим більше доданих шарів. Таким чином, помилки не поширюються (або розповсюджуються дуже повільно) вниз по вашій мережі, і схоже, що помилка на тренувальному наборі перестає зменшуватися з навчальними епохами.
І це була невелика мережа - глибокі згорткові нейронні мережі під назвою AlexNet мали 5 шарів, але ваги 60 мільйонів, і це вважається малим за сьогоднішніми мірками! Коли у вас стільки ваг, то будь-який набір даних "малий" - навіть ImageNet, набір даних зображень, що використовуються для класифікації, має "лише" близько 1 мільйона зображень, таким чином, ризик перевитрати набагато більший, ніж для малої мережі.
Таким чином, глибоке навчання можна розуміти як набір інструментів, які застосовуються на практиці для тренування нейронних мереж з великою кількістю шарів і ваг, досягаючи низької похибки генералізації. Це завдання викликає більше проблем, ніж для менших мереж. Ви напевно можете створити глибокий багатошаровий перцептор і тренувати його - але (крім того, що це не оптимальна архітектура для багатьох завдань, де використовується глибоке навчання сьогодні), ви, ймовірно, будете використовувати інструменти, які відрізняються від тих, які використовувались коли раніше були мережі "неглибокий". Наприклад, ви можете віддати перевагу блокам активації ReLU сигмоподібним або танх, оскільки вони пом’якшують проблему градієнта, що зникає.