Баггінг проти випадання в глибоких нейронних мережах


17

Баггінг - це покоління декількох предикторів, яке працює так само симпатично, як і єдиний провісник. Випадання - це техніка, яка привчає нейронні мережі до порівняння всіх можливих підмереж. Дивлячись на найважливіші змагання Kaggle, здається, що ці дві техніки використовуються разом дуже часто. Я не бачу жодної теоретичної різниці, окрім реальної реалізації. Хто може мені пояснити, чому ми повинні використовувати їх обох у будь-якому реальному застосуванні? і чому ефективність покращується, коли ми використовуємо їх обох?

Відповіді:


21

Бегство та випадання не досягають зовсім одного, хоча обидва є типом усереднення моделі.

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

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


+1 для приємного пояснення. Чи знаєте ви про якісь посилання, де виконується реалізація Python? Будь-який блог чи, можливо, Github?
Зорі33

Тут є гідний: deeplearning.net/tutorial/lenet.html , хоча я віддаю перевагу стилю цього: neuralnetworksanddeeplearning.com/chap6.html . Для впровадження та чудових демонстрацій мені подобаються keras (досить легко встановити файл
jamesmf

2

Я знайшов порівняння двох видів мереж у Max Out Networks, де сказано:

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

Сподіваюся, це стане в нагоді.


0

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

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

див. це питання

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