При задълбочено обучение обучението с една задача в компютърното зрение има голям успех. Много проблеми от реалния свят обаче са по своята същност мултимодални. Например, за да предостави индивидуализирано съдържание, една интелигентна система за реклама трябва да може да разпознава присъствието на хора в нейния изглед, да определя техния пол и възрастова група, да оценява външния им вид, да проследява къде гледат и т.н. Многозадачното обучение (MTL), при което един модел разпределя тежести между много задачи и произвежда множество изводи с едно преминаване напред, може да активира такава система.

Оптимизация при многозадачно обучение

В този раздел ще обсъдим процедурата за оптимизиране на MTL. За да избегнем една или повече задачи с доминиращо влияние върху теглата на мрежата, трябва внимателно да балансираме съвместното обучение на всички задачи. Тук представяме няколко метода, които разглеждат проблема с балансирането на задачите.

Целта на оптимизацията в MTL проблем може да се формулира като

(където ‘wi’ е специфичните за задачата тегла, а ‘Li’ е специфичната функция на загубата)

Използвайки стохастичен градиентен низход за минимизиране на целта по-горе, мрежовите тегла в споделените слоеве „Wsh“ се актуализират от

Когато градиентите на задачата се сблъскват или когато величината на градиента на една задача е значително по-висока от тази на другите задачи, актуализацията на теглото на мрежата може да бъде неоптимална. Това накара изследователите да зададат специфични за задачата тегла в загубата, за да балансират величините на градиента. Нещо повече, няколко проучвания са разгледали въздействието на посоката на градиентите на задачата.

Нормализация на градиента

Тук се фокусираме върху един метод за оптимизация, наречен Нормализиране на градиента (GradNorm)[1]. GradNorm е метод за контролиране на многозадачното мрежово обучение, като кара специфичните за задачата градиенти да бъдат с подобен размер. Това насърчава мрежата да научи всички задачи с еднаква скорост. Ще въведем съответните обозначения, преди да покажем този подход.

И ние също определяме различни нива на обучение за всяка задача:

GradNorm има за цел да балансира две свойства по време на обучението на многозадачна мрежа. Първото е да се балансират величините на градиента. За да направите това, средният градиент се използва като базова линия, спрямо която могат да се изчислят относителните размери на градиента в работните места. Второ, намиране на добър баланс между скоростта, с която се учат различните задачи. За да направите това, се използва относителната обратна скорост на обучение. Големината на градиента за задача i трябва да се увеличи с увеличаване на относителната обратна скорост на обучение, стимулирайки задачата да се обучава по-бързо. GradNorm постига тези цели чрез намаляване на последващите загуби.

където α е допълнителен хиперпараметър, който е добавен към уравнението. α задава силата на възстановителната сила, която връща задачите към обичайната скорост на обучение. Трябва да се използва по-висока стойност на α, за да се осигури по-добър баланс на скоростта на обучение при обстоятелства, при които задачите са значително различни по своята сложност, което води до драматично различна динамика на обучение между задачите. По-ниска стойност на алфа е желателна, когато проблемите са по-симетрични.

Експериментирайте

Като наши основни набори от данни ние използваме два варианта на NYUv2. Добавяме обръщане и допълнителни кадри от всеки видеоклип към стандартния набор от данни за дълбочина NYUv2. Добавихме 90 000 снимки, всяка с дълбочина пиксел по пиксел, нормали на повърхността и анотации на ключови точки. Тези допълнителни рамки обаче нямат етикети за сегментиране. В резултат на това ще получим два набора от данни: NYUv2+seg и NYUv2+kpts. Ние използваме кръстосана ентропия за сегментиране, квадратна загуба за дълбочина и косинусово подобие за нормали като типични функции за загуба на пиксели за всяка работа.

Виждаме, че GradNorm α = 1,5 подобрява производителността и на трите задачи по отношение на базовата линия с равни тегла и надминава или съвпада (в рамките на статистически шум) най-добрата производителност на единични мрежи за всяка задача.

За да покажем как GradNorm може да работи в присъствието на по-голям набор от данни, ние също извършваме обширни експерименти с набора от данни NYUv2+kpts. Като първи експеримент мрежите GradNorm превъзхождат други многозадачни методи и или съответстват (в рамките на шума), или надминават производителността на мрежите с една задача.

GradNorm подобрява грешката на дълбочината по време на теста с ~ 5%, въпреки сближаването до много по-висока загуба при обучение. GradNorm постига това чрез агресивно балансиране на скоростта на мрежата и в крайна сметка потиска теглото на дълбочината до по-ниско от 0,10. Същата тенденция съществува за регресия на ключови точки и е ясен сигнал за регулиране на мрежата.

Ние показваме, че за различни мрежови архитектури, както за задачи за регресия, така и за класификация, GradNorm подобрява точността и намалява пренастройването на множество задачи в сравнение с мрежи с една задача, статични базови линии и други адаптивни многозадачни техники за балансиране на загубите.

GradNorm подобрява точността и намалява пренастройването на множество задачи в сравнение с мрежи с една задача, статични базови линии и други адаптивни многозадачни стратегии за балансиране на загубите в различни мрежови дизайни, както за задачи за регресия, така и за класификация.

Дълбоки многозадачни архитектури

В този раздел ще обсъдим изграждането на мрежови архитектури, които са в състояние да учат множество задачи едновременно[2]. Ще се съсредоточим върху два типа дълбоки многозадачни архитектури: архитектури, фокусирани върху енкодер и архитектури, фокусирани върху декодер.

Архитектурите, фокусирани върху енкодера, споделят характеристиките на задачата в етапа на кодиране, преди да ги обработят с набор от независими глави, специфични за задачата. Те директно предвиждат всички изходи на задачите от един и същ вход в един цикъл на обработка.

Фокусираните върху енкодер архитектури обаче не успяват да уловят общи черти и разлики между задачите, няколко скорошни разработки първо използваха многозадачна мрежа, за да направят първоначални прогнози за задачи, и след това използваха функции от тези първоначални прогнози, за да подобрят допълнително изхода на всяка задача. Тези MTL подходи също споделят или обменят информация по време на етапа на декодиране, ние ги наричаме архитектури, фокусирани върху декодера.

Експериментирайте

Използваме два набора от данни (набор от данни NYUD-v2 и набор от данни PASCAL), за да направим експеримент относно производителността на различни многозадачни архитектури.

Наборът от данни NYUD-v2 взема предвид разбирането на сцената на закрито. Ние се фокусираме върху семантичното сегментиране и задачите за оценка на дълбочината. Използваме средното пресичане на обединението (mIoU) и средната квадратична грешка (rmse), за да оценим съответно семантичното сегментиране и задачата за оценка на дълбочината.

Наборът от данни PASCAL е популярен показател за задачи за гъсто прогнозиране. Оптималната F-мярка за набор от данни (odsF) се използва за оценка на задачата за откриване на ръбове. Семантичното сегментиране, оценката на значимостта и задачите за сегментиране на човешката част се оценяват с помощта на средно пресичане върху обединение (mIoU). Използваме средната грешка (mErr) в предвидените ъгли, за да оценим нормалите на повърхността.

Ние определяме многозадачната производителност ∆MTL като средния спад на производителността за всяка задача:

li = 1, ако по-ниска стойност означава по-добра производителност за показателя Mi.

Резултат

Еднозадачен срещу многозадачен.Първо,сравняваме фокусираните върху енкодер и декодер MTL модели с техните еднозадачни аналози на NYUD-v2 и PASCAL. MTL може да предложи няколко предимства спрямо обучението с една задача, тоест по-малък отпечатък на паметта, намален брой изчисления и подобрена производителност.

На NYUD-v2 MTL доказва ефективна стратегия за съвместно справяне със сегментирането и оценката на дълбочината. По-специално, повечето MTL модели превъзхождат набора от мрежи с една задача.

За разлика от PASCAL, обработката се извършва по-ефективно, когато се използва MTL базовата линия, но производителността също намалява. повечето модели не успяват да надминат своите еднозадачни еквиваленти на PASCAL.

Това се дължи на влиянието на Речника на задачите. На NYUD-v2 разглеждаме задачите за семантична сегментация и оценка на дълбочината. Тази двойка задачи е тясно свързана. Както семантичното сегментиране, така и оценката на дълбочината разкриват подобни характеристики за сцена, като оформлението и формите или границите на обекта. За разлика от тях PASCAL включва по-голям и по-разнообразен речник на задачите.

Модели, фокусирани върху енкодер срещу модели, фокусирани върху декодер. Когато сравняваме моделите, фокусирани върху енкодера и декодера, откриваме, че фокусираните върху декодера архитектури като цяло превъзхождат тези, фокусирани върху енкодера. Смятаме, че това е така, защото всяка архитектурна парадигма служи за различни цели.

Фокусираните върху енкодера архитектури имат за цел да научат по-богати характеристики на представяне на изображението чрез споделяне на информация по време на процеса на кодиране.

По различен начин фокусираните върху декодера се съсредоточават върху подобряване на задачите за плътно прогнозиране чрез многократно прецизиране на прогнозите чрез взаимодействия между задачи. Тъй като взаимодействията се извършват близо до изхода на мрежата, те позволяват по-добро подравняване на общи модели на кръстосани задачи. И значително повишава производителността.

Фокусираният върху енкодера и фокусираният върху декодера имат предимства. Така че в бъдеще можем да опитаме да интегрираме и двете парадигми заедно.

Прозрения и наблюдения

Първият документ говори за използването на GradNorm за адаптивно балансиране на загубите за подобряване на производителността в дълбоки многозадачни мрежи. Различните задачи имат различна скорост на обучение и мащаб на данните. Нормалният метод може да причини небалансирани градиенти и автоматично фокусиране върху една определена задача и игнориране на други задачи. Този документ предоставя нормализиране на градиента за адаптивно балансиране на загубите в дълбоки многозадачни мрежи за решаване на този проблем.

Вторият документ сравнява производителността на архитектурите на енкодер и декодер в различни набори от данни. Резултатът показа, че корелираните задачи се представят по-добре от некорелираните, използвайки многозадачно обучение и фокусираните върху декодер архитектури като цяло превъзхождат тези, фокусирани върху енкодер.

От тези два документа можем да забележим, че: корелираните задачи се представят по-добре от некорелираните, използвайки многозадачно обучение; фокусираните върху декодер архитектури като цяло превъзхождат тези, фокусирани върху енкодер; тези документи се фокусират върху оптимизатора на MTL моделите, а не върху дефиницията на функцията на загубата.

В заключение, многозадачното обучение помага да се подобри представянето на AUC резултата и да се намалят загубите. Докато при оптимизацията като разпределено изчисление времето за изчисление е приемливо. Създадени са много MTL модели, но за различни видове задачи специфичните MTL модели ще се представят по-добре. Следователно изборът или конструирането на модел за специфичен сценарий на задача може да бъде най-добрият избор в момента.

справка

[1] GradNorm: Нормализация на градиента за адаптивно балансиране на загубите в дълбоки многозадачни мрежи, https://arxiv.org/pdf/1711.02257.pdf

[2] Многозадачно обучение за задачи с плътно прогнозиране: Проучване, https://arxiv.org/pdf/2004.13379.pdf