Trabalho com redes neurais convolucionais (CNNs) há algum tempo, principalmente em dados de imagem para segmentação semântica / segmentação de instância. Eu muitas vezes visualizei o softmax da saída de rede como um "mapa de calor" para ver o quão alto são as ativações por pixel para uma determinada classe. Interpretei baixas ativações como "incertas" / "não confiáveis" e altas ativações como previsões "certas" / "confiantes". Basicamente, isso significa interpretar a saída softmax (valores dentro de ) como uma medida de probabilidade ou (não) certeza do modelo.
( Por exemplo, eu interpretei um objeto / área com uma baixa ativação de softmax média sobre seus pixels para ser difícil para a CNN detectar, portanto, a CNN é "incerta" em prever esse tipo de objeto. )
Na minha percepção, isso geralmente funcionava, e adicionar amostras adicionais de áreas "incertas" aos resultados do treinamento melhorou os resultados. No entanto , já ouvi muitas vezes agora de lados diferentes que usar / interpretar a saída softmax como uma medida de (des) certeza não é uma boa idéia e geralmente é desencorajado. Por quê?
Edição: Para esclarecer o que estou perguntando aqui, vou elaborar minhas idéias até agora em responder a esta pergunta. No entanto, nenhum dos argumentos a seguir me esclareceu ** por que geralmente é uma má idéia **, como me disseram repetidamente por colegas, supervisores e também é afirmado, por exemplo, aqui na seção "1.5"
Nos modelos de classificação, o vetor de probabilidade obtido no final do pipeline (a saída softmax) é frequentemente interpretado erroneamente como confiança do modelo
ou aqui na seção "Histórico" :
Embora possa ser tentador interpretar os valores dados pela camada final de softmax de uma rede neural convolucional como escores de confiança, precisamos ter cuidado para não ler muito sobre isso.
As fontes acima raciocinam que o uso da saída softmax como medida de incerteza é ruim porque:
perturbações imperceptíveis a uma imagem real podem alterar a saída de softmax de uma rede profunda para valores arbitrários
Isso significa que a saída softmax não é robusta para "perturbações imperceptíveis" e, portanto, sua saída não é utilizável como probabilidade.
Outro artigo retoma a idéia "softmax output = confidence" e argumenta que, com essa intuição, as redes podem ser facilmente enganadas, produzindo "resultados de alta confiança para imagens irreconhecíveis".
(...) a região (no domínio de entrada) correspondente a uma classe específica pode ser muito maior que o espaço naquela região ocupado por exemplos de treinamento dessa classe. O resultado disso é que uma imagem pode estar dentro da região atribuída a uma classe e, portanto, ser classificada com um grande pico na saída do softmax, enquanto ainda está longe das imagens que ocorrem naturalmente nessa classe no conjunto de treinamento.
Isso significa que os dados que estão longe dos dados de treinamento nunca devem ter uma alta confiança, pois o modelo "não pode" ter certeza (como nunca o viu).
No entanto: isso geralmente não está simplesmente questionando as propriedades de generalização das NNs como um todo? Ou seja, que os RNs com perda de softmax não generalizam bem para (1) "perturbações imperceptíveis" ou (2) amostras de dados de entrada que estão distantes dos dados de treinamento, por exemplo, imagens irreconhecíveis.
Seguindo esse raciocínio que ainda não entendo, por que, na prática, com dados que não são abstrata e artificialmente alterados em relação aos dados de treinamento (ou seja, a maioria das aplicações "reais"), interpretar a saída do softmax como uma "pseudo-probabilidade" é ruim idéia. Afinal, eles parecem representar bem o que meu modelo tem certeza, mesmo que não esteja correto (nesse caso, preciso corrigir meu modelo). E a incerteza do modelo nem sempre é "apenas" uma aproximação?