Коротка відповідь: Глибокі архітектури та конкретно GoogLeNet (22 шари) загрожують проблемою зниклих градієнтів під час тренування (алгоритм зворотного розповсюдження). Інженери GoogLeNet вирішили це питання, додавши також класифікатори в проміжні шари, так що остаточна втрата є поєднанням проміжних втрат і кінцевих втрат. Ось чому ви бачите загалом три шари втрат, на відміну від звичайного одного шару як останнього шару мережі.
Більш довга відповідь: У класичному машинному навчанні зазвичай існує розмежування між інженерними характеристиками та класифікацією. Нейронні мережі найбільш відомі своєю здатністю вирішувати задачі "від кінця до кінця", тобто вони поєднують етапи вивчення уявлення для даних та навчання класифікатора. Таким чином, ви можете вважати нейронну мережу зі стандартною архітектурою (наприклад, AlexNet) як складену фазу "уявлення про представлення" (шари до попереднього до останнього) та фазу "класифікації", яка, як передбачається, включає функція втрат.
Під час створення глибших мереж виникає проблема, складена як проблема "зникаючих градієнтів". Це насправді не характерно для нейронних мереж; скоріше до будь-яких методів навчання, заснованих на градієнті. Це не так банально і тому заслуговує на власне пояснення; дивіться тут для хорошої довідки. Інтуїтивно ви можете думати про градієнти, що несуть все менше інформації, чим глибше ми заходимо всередину мережі, що, звичайно, є головним питанням, оскільки ми налаштовуємо параметри мережі (ваги), засновані виключно на градієнтах, використовуючи "back-prop "алгоритм.
Як розробники GoogLeNet вирішили цю проблему? Вони визнали той факт, що не тільки особливості кінцевих шарів несуть всю дискримінаційну інформацію: проміжні ознаки також здатні дискримінувати різні мітки; і, що найголовніше, їх значення є більш "надійними", оскільки вони витягнуті з попередніх шарів, в яких градієнт несе більше інформації. Спираючись на цю інтуїцію, вони додали «допоміжні класифікатори» у два проміжні шари. Це причина шарів втрат "раннього втечі" посеред мережі, на які ви посилалися у своєму запитанні.
Тоді загальна втрата - це комбінація цих трьох шарів втрат. Цитую з оригінальної статті:
Ці класифікатори мають форму менших згорткових мереж, поставлених поверх виходів модулів Inception (4a) та (4d). Під час навчання їх втрати додаються до загальних втрат мережі із зниженою вагою (втрати допоміжних класифікаторів зважилися на 0,3). У момент виведення ці допоміжні мережі відкидаються.
Візуально: