машинно обучениедълбоко обучениефункции на загубитеоткриване на обектикласификацияизкуствен интелект
Унгарска функция на загубата срещу загуба на кръстосана ентропия
Унгарската функция на загуба и загубата на кръстосана ентропия служат за различни цели в машинното обучение. Унгарската функция на загуба се отличава в задачи за прогнозиране на зададени задачи, като например откриване на обекти, докато загубата на кръстосана ентропия остава предпочитаният избор за задачи за класификация. Разбирането на техните силни страни помага на практикуващите да изберат правилния инструмент за работата.
Акценти
Унгарската загуба позволява истинско предсказване на множества с пермутационна инвариантност, докато кръстосаната ентропия изисква фиксирани изходни структури.
Cross-Entropy има десетилетия широко разпространение и вградена поддръжка на рамки във всички основни библиотеки за машинно обучение.
Hungarian Loss захранва съвременни модели за цялостно откриване, като DETR, елиминирайки ръчно проектираните стъпки за последваща обработка.
Крос-ентропията предлага по-бърза конвергенция и по-лесно внедряване за стандартни задачи за класификация.
Какво е Унгарска функция на загубите?
Функция за загуба, базирана на присвояване, предназначена за задачи за прогнозиране на множества, съпоставяща прогнозите с истинската стойност, използвайки оптимално двучастно съвпадение.
Въведен от Карион и др. през 2020 г. като част от модела за откриване на обекти DETR.
Използва унгарския алгоритъм, за да намери оптималното едно-към-едно присвояване между прогнозирани и базови обекти.
Комбинира множество компоненти на загубата, обикновено класификация и регресия с ограничаваща кутия, в една съвпадаща загуба.
Позволява откриване на обекти от край до край, без да е необходимо ръчно проектирани компоненти, като например немаксимално потискане.
Пермутационно-инвариантно, което означава, че редът на прогнозите не влияе на изчислената загуба.
Какво е Загуба на кръстосана ентропия?
Широко използвана функция на загуба, която измерва разликата между прогнозираните вероятностни разпределения и истинските етикети.
Има корени в теорията на информацията, разработена първоначално от Клод Шанън през 1948 г.
Става основополагащ в обучението на невронни мрежи, след като популяризира през 80-те и 90-те години на миналия век.
Бинарната кръстосана ентропия обработва проблеми с два класа, докато категоричната кръстосана ентропия обработва сценарии с множество класове.
Работи изключително добре със softmax изходи за задачи за класификация в модели на дълбоко обучение.
Остава една от най-често използваните функции за загуба в съвременните рамки за машинно обучение като PyTorch и TensorFlow.
Сравнителна таблица
Функция
Унгарска функция на загубите
Загуба на кръстосана ентропия
Основен случай на употреба
Предсказване на множества (откриване на обекти, задачи с множество етикети)
Класификация (бинарна и многокласова)
Година на въвеждане
2020 г. (документ на DETR)
1948 г. (произход на информационната теория)
Основен механизъм
Оптимално двучастично съвпадение чрез унгарски алгоритъм
Сравнение на разпределението на вероятностите с помощта на логаритмична вероятностна функция
Пермутационна инвариантност
Да, по своята същност инвариантно спрямо пермутациите
Не, зависи от фиксираните позиции на етикетите
Обработва променливи изходи
Да, съпоставя променлив брой прогнози с истината
Не, изисква фиксирани изходни размери
Изчислителна сложност
По-високо поради натоварването на алгоритъма за съвпадение
Долни, прости логаритмични изчисления
Стабилност при тренировки
Първоначално може да е по-бавно за сближаване
Като цяло стабилен и добре разбран
Поддръжка на рамката
Обикновено се изисква персонализирано внедряване
Вграден във всички основни ML рамки
Подробно сравнение
Основна цел и философия на дизайна
Унгарската загуба е специално разработена за задачи с прогнозиране на множества, при които моделът извежда колекция от прогнози, които трябва да бъдат съпоставени с обекти, съответстващи на истината. Загубата на кръстосана ентропия, от друга страна, е проектирана за задачи за класификация, при които всеки вход се съпоставя с фиксиран набор от възможни категории. Основната разлика се състои в начина, по който се третират изходите: Унгарската загуба третира прогнозите като неподредено множество, докато кръстосаната ентропия приема структуриран, зависим от позицията изход.
Стратегия за съвпадение и присвояване
Унгарският алгоритъм е в основата на Унгарската загуба, решавайки проблема с присвояването, като намира най-евтиното съвпадение между прогнозите и истинската стойност. Това гарантира, че всеки обект с истинска стойност съответства точно на една прогноза. Кръстосаната ентропия използва съвсем различен подход, като просто сравнява прогнозираната вероятност за всеки клас с истинската стойност без никаква стъпка на съвпадение. Това прави кръстосаната ентропия ясна, но я ограничава до проблеми с фиксирани изходни структури.
Производителност в съвременни приложения
Унгарската загуба блести в рамки за откриване на обекти като DETR, където е позволила пълноценно обучение от край до край без котвени кутии или немаксимално потискане. Крос-ентропията остава доминираща в класификацията на изображения, езиковото моделиране и всяка задача с ясни категорични изходи. За многокласови проблеми с известен брой категории, крос-ентропията обикновено е по-бърза за обучение и по-лесна за внедряване. Унгарската загуба изисква повече изчисления на стъпка, но отключва възможности, с които крос-ентропията просто не може да се справи.
Практическо приложение
Внедряването на Hungarian Loss от нулата изисква кодиране или импортиране на унгарския алгоритъм, което добавя сложност към проектите. Cross-Entropy е достъпна като едноредово извикване на функция в почти всяка библиотека за дълбоко обучение. Допълнителната сложност на Hungarian Loss обаче се отплаща, когато се работи с прогнози с променлива дължина или когато се нуждаете от инвариантност на пермутациите. За повечето задачи за класификация, простотата и надеждността на Cross-Entropy я правят практичният избор по подразбиране.
Динамика и конвергенция на обучението
Моделите, обучени с Hungarian Loss, често се нуждаят от повече епохи, за да се сближат, защото стъпката на съвпадение добавя сложност към градиентния поток. Cross-Entropy осигурява по-плавни и по-предсказуеми криви на обучение, чиято настройка практикуващите имат десетилетия опит. Въпреки това, след като моделите Hungarian Loss се сближат, те често постигат конкурентни или превъзходни резултати по отношение на критериите за откриване. Изборът между тях често се свежда до това дали вашата задача изисква предсказване на множество данни или стандартна класификация.
Предимства и Недостатъци
Унгарска функция на загубите
Предимства
+Пермутационно-инвариантно съвпадение
+Обработва променливи изходи
+Позволява цялостно обучение
+Елиминира последващата обработка на NMS
+Унифицирана загуба при много задачи
Потребителски профил
−По-високи изчислителни разходи
−По-бавна конвергенция
−Сложно внедряване
−Ограничена поддръжка на рамката
Загуба на кръстосана ентропия
Предимства
+Лесен за изпълнение
+Бърза конвергенция
+Поддръжка на универсална рамка
+Добре разбрано поведение
+Изчислително ефективен
Потребителски профил
−Фиксирани изходни размери
−Няма инвариантност спрямо пермутациите
−Ограничено до класификация
−Проблеми с прогнозирането на сетовете
Често срещани заблуди
Миф
Унгарските загуби и загубите от кръстосана ентропия могат да се използват взаимозаменяемо за всяка задача.
Реалност
Тези функции на загуба служат на коренно различни цели. Унгарската функция на загуба е предназначена за предсказване на множества, където изходите трябва да бъдат съпоставени с истинската стойност, докато кръстосаната ентропия е изградена за класификация с фиксирани категории изходи. Използването на грешна категория води до лоша производителност или неуспехи в обучението.
Миф
Унгарската загуба винаги е по-точна от загубата на кръстосана ентропия.
Реалност
Точността зависи изцяло от задачата. За задачи с класификация, Cross-Entropy често дава еднакво добри или по-добри резултати с по-малко време за обучение. Hungarian Loss се представя по-добре само в сценарии за прогнозиране на множества, където способността му за съвпадение предоставя реално предимство.
Миф
Загубата на кръстосана ентропия е остаряла и е заменена от по-нови алтернативи.
Реалност
Кръстосаната ентропия остава една от най-широко използваните функции за загуба в дълбокото обучение. Тя е в основата на най-съвременни езикови модели, класификатори на изображения и безброй производствени системи. Нейната простота и ефективност я поддържат актуална въпреки разработването на по-нови функции за загуба.
Миф
Унгарската загуба изисква унгарският алгоритъм да е диференцируем.
Реалност
Самият унгарски алгоритъм не е диференцируем, но се прилага към стъпката на съпоставяне преди изчисляване на загубата. Градиентите преминават само през съвпадащите прогнози, което е достатъчно за обратно разпространение. Съпоставянето се третира като дискретна задача за присвояване, отделна от изчисляването на градиента.
Миф
Трябва сами да имплементирате унгарския алгоритъм, за да използвате унгарската загуба.
Реалност
Ефективни имплементации на унгарския алгоритъм съществуват в библиотеки като SciPy и могат да бъдат извиквани директно. Много имплементации с отворен код на DETR и подобни модели предоставят готов за употреба унгарски код за загуба, който специалистите могат да адаптират за собствените си проекти.
Често задавани въпроси
Каква е основната разлика между унгарската загуба и загубата от кръстосана ентропия?
Основната разлика се състои в тяхното предназначение и механизъм. Унгарската загуба използва оптимално съвпадение, за да сдвои прогнозите с истинската стойност в задачи за прогнозиране на множества, което го прави инвариантно спрямо пермутациите. Крос-ентропийната загуба сравнява прогнозираните вероятности с истинските етикети за задачи за класификация, приемайки фиксирана структура на изхода. Те решават фундаментално различни проблеми в машинното обучение.
Кога трябва да използвам унгарска загуба вместо загуба на кръстосана ентропия?
Използвайте унгарската загуба, когато задачата ви включва прогнозиране на набор от обекти, като например откриване на обекти, сегментиране на екземпляри или проследяване на множество обекти. Тези задачи изискват съпоставяне на променлив брой прогнози с действителните данни. За стандартна класификация с фиксиран брой класове, кръстосаната ентропия остава по-добрият и по-лесен избор.
Унгарската загуба само в DETR ли се използва?
Въпреки че DETR популяризира унгарската концепция за загуба през 2020 г., оттогава тя е възприета в различни други модели и задачи. Изследователите са я приложили за класификация с множество етикети, оценка на позата и други проблеми с прогнозирането на множества. Основната концепция за унгарско съвпадение се е превърнала в ценен инструмент, който надхвърля самото откриване на обекти.
Мога ли да комбинирам унгарска загуба със загуба от кръстосана ентропия?
Да, това всъщност е често срещана практика. В DETR и подобни модели, Hungarian Loss комбинира компонент за класификация (по същество кръстосана ентропия) с компонент за регресия с ограничаваща кутия. Унгарският алгоритъм съпоставя прогнозите с истинската основа, след което кръстосаната ентропия се изчислява върху съвпадащите прогнози за класификация.
Защо тренировките на Hungarian Loss отнемат повече време?
Унгарската загуба изисква решаване на задача за присвояване за всяка стъпка на обучение, което добавя изчислителни разходи. Освен това стъпката на съпоставяне създава по-сложен пейзаж на загубите, който може да забави конвергенцията. Моделите, използващи Унгарската загуба, често се нуждаят от повече епохи на обучение, за да достигнат оптимална производителност в сравнение с по-простите загуби за класификация.
Работи ли кръстосаната загуба на ентропия с невронни мрежи?
Абсолютно. Загубата на кръстосана ентропия е една от най-често използваните функции за загуба за обучение на невронни мрежи, особено за задачи за класификация. Тя се съчетава естествено със softmax активирането в изходния слой и осигурява силни градиенти, които помагат на мрежите да учат ефективно в широк спектър от архитектури.
Какво е пермутационна инвариантност и защо е важна?
Инвариантността спрямо пермутациите означава, че стойността на загубата не се променя въз основа на реда на прогнозите. За задачи за прогнозиране на множества, моделът не трябва да бъде наказван за извеждане на обекти в различен ред от базовия истински. Унгарският модел на загуба осигурява това свойство по естествен път, докато кръстосаната ентропия не го прави, защото приема фиксирани позиции за всеки клас.
Как да имплементирам Hungarian Loss в PyTorch?
Можете да имплементирате Hungarian Loss, използвайки Hungarian алгоритъма от SciPy, комбиниран с тензори на PyTorch. Няколко имплементации с отворен код съществуват в GitHub, включително официалното хранилище на DETR. Ключовите стъпки включват изчисляване на матрици на разходите, стартиране на Hungarian алгоритъма за намиране на оптимални присвоявания и след това изчисляване на загубите само върху съвпадащи двойки.
Подходяща ли е кръстосаната загуба на ентропия за многокласови проблеми?
Да, категоричната кръстосана ентропия е специално разработена за многокласова класификация. Тя работи със softmax изходи, за да изчисли загубата в множество класове едновременно. За бинарни проблеми се използва бинарна кръстосана ентропия, която обработва сценарии с два класа със сигмоидно активиране.
Какви са алтернативите на загубата на кръстосана ентропия за класификация?
Съществуват няколко алтернативи, включително фокална загуба за небалансирани набори от данни, изглаждане на етикети с кръстосана ентропия за по-добро обобщение и загуба на панти за машини с опорни вектори. Всяка от тях има специфични предимства, но кръстосаната ентропия остава изборът по подразбиране за повечето задачи за класификация поради своята простота и ефективност.
Решение
Изберете Hungarian Loss (Унгарска загуба), когато работите върху задачи за прогнозиране на множество обекти, като откриване на обекти, проследяване на множество обекти или друг проблем, изискващ пермутационно-инвариантно съпоставяне между прогнозите и реалността. Придържайте се към Cross-Entropy Loss (Крос-ентропийна загуба) за традиционни проблеми с класификацията, езиково моделиране и сценарии, където простотата и бързата конвергенция са от най-голямо значение. И двете функции за загуба са ценни инструменти, а разбирането на техните различни силни страни ви помага да приложите правилната към вашето конкретно предизвикателство в машинното обучение.