Це велике запитання, і насправді було проведено декілька досліджень, які вирішили проблеми, пов'язані з потенціалом / глибиною.
Існує багато доказів того, що глибина конволюційних нейронних мереж призвела до вивчення багатших і різноманітніших ієрархій особливостей. Емпірично ми бачимо, що найбільш ефективні мережі мають тенденцію до "глибокого": Oxford VGG-Net мав 19 шарів, архітектура Google Inception глибока, Microsoft Deep Residual Network має 152 шари, і всі вони отримують дуже вражаючий орієнтир ImageNet результати.
З іншого боку, факт, що моделі з більшою місткістю мають тенденцію до надмірного використання, якщо не використовувати якийсь регуляризатор. Один із способів дуже глибокого набору мереж може зашкодити продуктивності - це те, що вони швидко підходять до дуже низької помилки тренувань у невеликій кількості навчальних епох, тобто ми не можемо тренувати мережу для великої кількості проходів через набір даних. Такий прийом, як Dropout, методика стохастичної регуляризації, дозволяє нам тренувати дуже глибокі мережі протягом більш тривалих періодів часу. Це фактично дозволяє нам вивчити кращі функції та підвищити точність класифікації, оскільки ми отримуємо більше проходів через дані тренувань.
Що стосується вашого першого питання:
Чому ви можете не просто зменшити кількість шарів / вузлів на один шар у глибокій нейронній мережі, а змусити його працювати з меншою кількістю даних?
Якщо ми зменшимо розмір навчального набору, як це впливає на ефективність узагальнення? Якщо ми використовуємо менший розмір навчального набору, це може призвести до вивчення меншого розподіленого представлення можливостей, і це може зашкодити нашій здатності до генералізації. Зрештою, ми хочемо вміти добре узагальнити. Наявність більшого навчального набору дозволяє нам вивчити більш різноманітну ієрархію розподілених функцій.
Що стосується вашого другого питання:
Чи існує фундаментальна "мінімальна кількість параметрів", якої потрібна нейронна мережа, поки вона не "запуститься"? Знизу певна кількість шарів нейронні мережі виглядають не так добре, як ручно кодовані функції.
Тепер додамо трохи нюансів до вищезгаданої дискусії щодо проблеми глибини. Здається, з огляду на те, де ми зараз перебуваємо з сучасним сучасним рівнем, для того, щоб навчити високоефективну конвертну мережу з нуля, використовується якась глибока архітектура.
Але є ряд результатів, орієнтованих на стиснення моделі . Отже, це не пряма відповідь на ваше запитання, але це пов'язано. Стиснення моделі цікавить наступне запитання: Враховуючи модель високої продуктивності (у нашому випадку скажімо, мережа з глибокою конвекцією), чи можемо ми стиснути модель, зменшивши глибину чи навіть кількість параметрів, і зберегти таку ж продуктивність?
Ми можемо бачити як викладач високої продуктивності, високої продуктивності . Чи можемо ми використати вчителя для підготовки більш компактної моделі учнів ?
Дивно відповідь: так . Була низка результатів, хорошою статтею для чистої перспективи конвеєра є стаття Річака Каруана та Джиммі Ба
Do Deep Nets дійсно потрібно бути глибоким? . Вони здатні навчити дрібну модель, щоб імітувати більш глибоку модель, з дуже невеликими втратами продуктивності. На цю тему було також ще кілька робіт, наприклад:
серед інших творів. Я впевнений, що я пропускаю деякі інші хороші статті.
Мені такі результати піддають сумніву, наскільки насправді мають ці мілководні моделі. У статті Каруана, Ба, вони заявляють про таку можливість:
"Результати говорять про те, що сила глибокого навчання може виникати частково від хорошої відповідності між глибокими архітектурами та поточними тренувальними процедурами, і що можливо, можна розробити кращі алгоритми навчання для підготовки більш точних неглибоких мереж подачі вперед. Для даної задачі кількість параметрів, глибина можуть полегшити навчання, але не завжди можуть бути істотними "
Важливо бути зрозумілим: у статті Caruana, Ba вони не готують дрібну модель з нуля, тобто тренують лише етикетки класу, щоб отримати найсучасніші показники. Швидше вони тренують високоефективну глибоку модель, і з цієї моделі отримують ймовірності журналу для кожної точки даних. Потім ми готуємо неглибоку модель, щоб передбачити ці ймовірності журналу. Таким чином, ми не тренуємо дрібну модель на мітках класу, а скоріше використовуючи ці ймовірності журналу.
Тим не менш, це все ще досить цікавий результат. Хоча це не дає прямої відповіді на ваше запитання, тут є кілька цікавих ідей, які є дуже актуальними.
Принципово: завжди важливо пам’ятати, що існує різниця між теоретичною «місткістю» моделі та знаходженням гарної конфігурації вашої моделі. Останнє залежить від ваших методів оптимізації.