Я деякий час працюю з конволюційними нейронними мережами (CNN), в основному над даними зображень для семантичної сегментації / сегментації екземплярів. Я часто візуалізував софтмакс мережевого виходу як "теплову карту", щоб побачити, наскільки високі активації пікселя для певного класу. Я інтерпретував низькі активації як "невизначені" / "невпевнені", а високі - як "певні" / "впевнені" прогнози. В основному це означає інтерпретувати вихід програмного забезпечення (значення в межах ) як міру ймовірності або (не) визначеності моделі.
( Наприклад, я інтерпретував об'єкт / область з низькою активацією softmax, усередненою за його пікселями, для CNN важко виявити, отже, CNN "не впевнений" у прогнозуванні такого типу об'єкта. )
На мій погляд, це часто працювало, і додавання додаткових зразків "невизначених" областей до результатів тренінгу покращило їх результати. Однак зараз я досить часто чую з різних сторін, що використання / інтерпретація програмного забезпечення softmax як міра (не) визначеності не є хорошою ідеєю і, як правило, не рекомендується. Чому?
EDIT: Щоб уточнити, про що я тут прошу, я детально розробив свої уявлення, відповідаючи на це питання. Однак жоден із наведених нижче аргументів не пояснив мені **, чому це взагалі погана ідея **, про що мені неодноразово говорили колеги, наглядові органи, і це також викладено, наприклад, тут, у розділі "1.5"
У класифікаційних моделях вектор ймовірності, отриманий в кінці трубопроводу (вихід softmax), часто помилково трактується як достовірність моделі
або тут у розділі "Фон" :
Хоча може бути заманливо інтерпретувати значення, задані останнім шаром softmax конволюційної нейронної мережі, як оцінки довіри, нам потрібно бути обережними, щоб не читати занадто багато цього.
Вищенаведені джерела пояснюють, що використання вихідного програмного забезпечення як міри невизначеності є поганим, оскільки:
непомітні збурення реального зображення можуть змінити вихідний програмний код глибокої мережі на довільні значення
Це означає, що вихід softmax не є надійним для "непомітних збурень", а значить, його вихід не є корисним як імовірність.
Інший папір підходить до ідеї "softmax output = trust" і стверджує, що за допомогою цієї інтуїції мережі можна легко обдурити, створюючи "результати з високою впевненістю для невпізнаваних зображень".
(...) область (у вхідній області), що відповідає певному класу, може бути значно більшою, ніж простір у цьому регіоні, займаний прикладами навчання з цього класу. Результатом цього є те, що зображення може лежати в регіоні, призначеному для класу, і таким чином класифікуватися з великим піком у програмі виведення програмного забезпечення, при цьому все ще далеко від зображень, які природним чином зустрічаються в цьому класі в навчальному наборі.
Це означає, що дані, далекі від даних про навчання, ніколи не повинні мати високу впевненість, оскільки модель "не може" бути впевнена в цьому (як ніколи не бачила).
Однак: Хіба це, як правило, не викликає сумнівів узагальнюючі властивості NN в цілому? Тобто, що мережеві мережі з втратою softmax не добре узагальнюють (1) "непомітні збурення" або (2) зразки вхідних даних, що знаходяться далеко від даних тренувань, наприклад, невпізнаваних зображень.
Дотримуючись цього міркування, я все ще не розумію, чому на практиці з даними, які не є абстрактно та штучно зміненими порівняно з навчальними даними (тобто більшістю "реальних" додатків), трактування виводу softmax як "псевдоімовірності" є поганим ідея. Зрештою, вони, здається, добре відображають те, у чому впевнена моя модель, навіть якщо вона неправильна (в такому випадку мені потрібно виправити свою модель). І чи не завжди невизначеність моделі "лише" наближення?