Чому вихід softmax не є хорошим показником невизначеності для моделей Deep Learning?


22

Я деякий час працюю з конволюційними нейронними мережами (CNN), в основному над даними зображень для семантичної сегментації / сегментації екземплярів. Я часто візуалізував софтмакс мережевого виходу як "теплову карту", щоб побачити, наскільки високі активації пікселя для певного класу. Я інтерпретував низькі активації як "невизначені" / "невпевнені", а високі - як "певні" / "впевнені" прогнози. В основному це означає інтерпретувати вихід програмного забезпечення (значення в межах ) як міру ймовірності або (не) визначеності моделі.(0,1)

( Наприклад, я інтерпретував об'єкт / область з низькою активацією softmax, усередненою за його пікселями, для CNN важко виявити, отже, CNN "не впевнений" у прогнозуванні такого типу об'єкта. )

На мій погляд, це часто працювало, і додавання додаткових зразків "невизначених" областей до результатів тренінгу покращило їх результати. Однак зараз я досить часто чую з різних сторін, що використання / інтерпретація програмного забезпечення softmax як міра (не) визначеності не є хорошою ідеєю і, як правило, не рекомендується. Чому?


EDIT: Щоб уточнити, про що я тут прошу, я детально розробив свої уявлення, відповідаючи на це питання. Однак жоден із наведених нижче аргументів не пояснив мені **, чому це взагалі погана ідея **, про що мені неодноразово говорили колеги, наглядові органи, і це також викладено, наприклад, тут, у розділі "1.5"

У класифікаційних моделях вектор ймовірності, отриманий в кінці трубопроводу (вихід softmax), часто помилково трактується як достовірність моделі

або тут у розділі "Фон" :

Хоча може бути заманливо інтерпретувати значення, задані останнім шаром softmax конволюційної нейронної мережі, як оцінки довіри, нам потрібно бути обережними, щоб не читати занадто багато цього.


Вищенаведені джерела пояснюють, що використання вихідного програмного забезпечення як міри невизначеності є поганим, оскільки:

непомітні збурення реального зображення можуть змінити вихідний програмний код глибокої мережі на довільні значення

Це означає, що вихід softmax не є надійним для "непомітних збурень", а значить, його вихід не є корисним як імовірність.

Інший папір підходить до ідеї "softmax output = trust" і стверджує, що за допомогою цієї інтуїції мережі можна легко обдурити, створюючи "результати з високою впевненістю для невпізнаваних зображень".

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

Це означає, що дані, далекі від даних про навчання, ніколи не повинні мати високу впевненість, оскільки модель "не може" бути впевнена в цьому (як ніколи не бачила).

Однак: Хіба це, як правило, не викликає сумнівів узагальнюючі властивості NN в цілому? Тобто, що мережеві мережі з втратою softmax не добре узагальнюють (1) "непомітні збурення" або (2) зразки вхідних даних, що знаходяться далеко від даних тренувань, наприклад, невпізнаваних зображень.

Дотримуючись цього міркування, я все ще не розумію, чому на практиці з даними, які не є абстрактно та штучно зміненими порівняно з навчальними даними (тобто більшістю "реальних" додатків), трактування виводу softmax як "псевдоімовірності" є поганим ідея. Зрештою, вони, здається, добре відображають те, у чому впевнена моя модель, навіть якщо вона неправильна (в такому випадку мені потрібно виправити свою модель). І чи не завжди невизначеність моделі "лише" наближення?


4
(,)(0,1)

2
(0,1)(0,1)

Мені подобається, як ви це фразували: "Зрештою, вони, здається, добре відображають те, в чому впевнена моя модель, навіть якщо вона
невірна

Відповіді:


14

На це питання можна відповісти точніше, ніж на поточні відповіді. Фіксація відхилення між передбачуваними ймовірностями (вихід рівня softmax шару нейронної мережі) та їх справжніми ймовірностями (які являють собою поняття впевненості) відоме як калібрування або криві надійності.

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

Чуан Го та ін. співавтори, працюючи з Кіліаном Вайнбергером, розробили ефективне рішення для калібрування прогнозованих ймовірностей нейронних мереж у цій статті: https://arxiv.org/pdf/1706.04599.pdf

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


1
Дякую @cgnorthcutt, я чув, як люди згадують про це багато разів, і шукали цей документ з тих пір, дуже приємна довідка
Теофіл Пейс

Красиво, дякую. Ось посилання на реферат (замість статті) для зацікавлених: arxiv.org/abs/1706.04599
Waylon

3

Те, що називається softmax в ML, має таке ж рівняння, як і мультиноміальне логістичне рівняння. Останнє можна використовувати для обчислення ймовірностей. На практиці він широко використовується для оцінки ймовірностей за замовчуванням у конкуруючих рамках ризику іпотечних кредитів, наприклад, див. Урівнювання. 4 у цій роботі .

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

Чим це відрізняється від машинного навчання? Це залежить. Я міг би вирішити застосувати це до дефолтів за іпотекою, тоді це зовсім не відрізнятиметься. З іншого боку, у різних програмах це може не спрацювати. Якщо ви не моделюєте ймовірність явно, як у моєму прикладі, то вихідна модель може не відображати ймовірність належним чином.


Дякую за відповідь. Отже, це зводиться до: У деяких випадках це насправді був би правильним підходом, однак це, як правило, не дуже гарна ідея, оскільки він не є надійним, і ніхто (легко) не знає, чи застосовний він у певній задачі?
Honeybear

Я б не кидався навколо таких термінів, як "надійний", оскільки вони мають дуже специфічне значення в статистиці, але ви отримали суть мого аргументу. Якщо ви конкретно моделюєте ймовірності, ви можете в якийсь момент використовувати рівняння softmax, і було б нормально трактувати вихід як ймовірність. У загальному випадку вихід softmax не відповідає ймовірності.
Аксакал

1

Softmax розподіляє 'ймовірність' 0-1 між доступними класами. Це не виражає добродушності, це не функція PDF. Якщо ви хочете висловити свою непохитність, вам слід заглянути в байєсові нейронні мережі. Погляньте на цей документ: Невпевненість у глибокому навчанні Деякі досить недавні рамки вірогідності:

Цікава основна бесіда Зубіна Гахрамані (Кембриджський університет)

Подивіться на цей документ: Мережі щільності суміші :

Я думаю, ви можете це реалізувати і додати як завершальний шар до CONVNET. Якщо ви це зробите, не забудьте, щоб спільний доступ був турботливим ;-) Удачі


1

У статті Відпадання як байєсівське наближення: Представляючи модель невизначеності в глибокому навчанні , Ярін Гал та Зубін Гахрамані стверджують наступне

У класифікації прогнозні ймовірності, отримані в кінці трубопроводу ( вихід softmax ), часто помилково трактуються як достовірність моделі. Модель може бути невизначеною у своїх прогнозах навіть при високому випуску програмного забезпечення (рис. 1). Проходження бальної оцінки функції (суцільна лінія 1а) через софтмакс (суцільна лінія 1b) призводить до екстраполяцій з невиправдано високою впевненістю для очок, далеких від даних тренувань.х наприклад, було б класифіковано як клас 1 з вірогідністю 1.

Ось малюнок 1.

введіть тут опис зображення

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

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