Я работаю с Convolutional Neural Networks (CNNs) в течение некоторого времени, в основном над данными изображений для семантической сегментации / сегментации экземпляров. Я часто представлял softmax выхода сети как «тепловую карту», чтобы увидеть, насколько высоки активации на пиксель для определенного класса. Я интерпретировал низкие активации как «неопределенные» / «неуверенные» и высокие активации как «определенные» / «уверенные» предсказания. В основном это означает интерпретацию выхода softmax (значений в пределах ) как вероятности или (не) достоверности измерения модели.
( Например, я интерпретировал объект / область с низкой активацией softmax, усредненной по его пикселям, чтобы CNN было трудно его обнаружить, поэтому CNN "неуверен" в прогнозировании такого типа объекта. )
По моему мнению, это часто срабатывало, и добавление дополнительных образцов «неопределенных» областей к результатам обучения улучшало результаты по ним. Однако сейчас я часто слышал от разных сторон, что использование / интерпретация вывода softmax в качестве (не) меры уверенности не является хорошей идеей и, как правило, не рекомендуется. Почему?
РЕДАКТИРОВАТЬ: Чтобы уточнить то, что я спрашиваю здесь, я уточню мои идеи до сих пор, отвечая на этот вопрос. Однако ни один из следующих аргументов не объяснил мне **, почему это вообще плохая идея **, как мне неоднократно говорили коллеги, руководители, и это также указано, например, здесь, в разделе "1.5"
В классификационных моделях вектор вероятности, полученный в конце конвейера (вывод softmax), часто ошибочно интерпретируется как достоверность модели
или здесь, в разделе «Фон» :
Хотя может быть заманчиво интерпретировать значения, заданные конечным слоем softmax сверточной нейронной сети, как доверительные оценки, мы должны быть осторожны, чтобы не вдаваться в подробности.
Приведенные выше источники считают, что использование вывода softmax в качестве меры неопределенности является плохим, потому что:
незаметные возмущения реального изображения могут изменить выход softmax глубокой сети на произвольные значения
Это означает, что вывод softmax не устойчив к «незаметным возмущениям» и, следовательно, его вывод не пригоден для использования в качестве вероятности.
В другой статье рассматривается идея «softmax output = trust» и утверждается, что с этой интуицией сети можно легко одурачить, создавая «высоконадежные выходы для неузнаваемых изображений».
(...) область (во входной области), соответствующая определенному классу, может быть намного больше, чем пространство в этой области, занимаемое примерами обучения из этого класса. Результатом этого является то, что изображение может лежать в пределах области, назначенной для класса, и, таким образом, классифицироваться с большим пиком в выводе softmax, оставаясь в то же время далеко от изображений, которые естественным образом встречаются в этом классе в обучающем наборе.
Это означает, что данные, которые находятся далеко от обучающих данных, никогда не должны получить высокую достоверность, поскольку модель «не может» быть в этом уверенной (как она никогда не видела).
Тем не менее: не является ли это, в общем, просто вопросом обобщения свойств NN в целом? То есть, что NN с потерей softmax плохо обобщаются на (1) «незаметные возмущения» или (2) выборки входных данных, которые находятся далеко от обучающих данных, например, неузнаваемые изображения.
Следуя этим рассуждениям, я до сих пор не понимаю, почему на практике с данными, которые не подвергаются абстрактному и искусственному изменению, по сравнению с данными обучения (т. Е. Большинством «реальных» приложений), интерпретация вывода softmax как «псевдоверенности» является плохой идея. В конце концов, они, похоже, хорошо отражают то, в чем уверена моя модель, даже если она не верна (в этом случае мне нужно исправить свою модель). И разве неопределенность модели не всегда "только" приближение?