O custo da entropia cruzada faz sentido no contexto da regressão?

13

O custo da entropia cruzada faz sentido no contexto da regressão (em oposição à classificação)? Se sim, você poderia dar um exemplo de brinquedo através do TensorFlow? Se não, por que não?

Eu estava lendo sobre entropia cruzada em Redes Neurais e Deep Learning, de Michael Nielsen, e parece que algo poderia ser usado naturalmente para regressão e classificação, mas não entendo como você a aplicaria com eficiência no TensorFlow desde o funções de perda recebem logits (que eu também não entendo muito) e estão listadas na classificação aqui

JacKeown
fonte
2
Eu encontrei aqui no Quora que afirma diferente do que é aceito como uma resposta para esta pergunta
Siddharth Shakya
Se você ler toda a resposta, verá que ele fornece uma "versão contínua" da entropia cruzada, o que é bem legal, mas acaba sendo apenas o Erro Quadrático Médio (MSE).
26418 JacKeown

Respostas:

11

Não, não faz sentido usar as funções do TensorFlow como tf.nn.sigmoid_cross_entropy_with_logitspara uma tarefa de regressão. No TensorFlow, "entropia cruzada" é uma abreviação (ou jargão) para "entropia cruzada categórica". A entropia cruzada categórica é uma operação de probabilidades. Um problema de regressão tenta prever resultados contínuos, em vez de classificações.

O jargão "entropia cruzada" é um pouco enganador, porque há inúmeras funções de perda de entropia cruzada; no entanto, é uma convenção no aprendizado de máquina referir-se a essa perda específica como perda de "entropia cruzada".

Se olharmos além das funções do TensorFlow às quais você se vincula, é claro que existem inúmeras funções possíveis de entropia cruzada. Isso ocorre porque o conceito geral de entropia cruzada é sobre a comparação de duas distribuições de probabilidade. Dependendo das duas distribuições de probabilidade que você deseja comparar, você pode obter uma perda diferente da perda típica de entropia cruzada categórica. Por exemplo, a entropia cruzada de um alvo gaussiano com alguma covariância média variável mas diagonal fixa reduz-se ao erro do quadrado da média. O conceito geral de entropia cruzada é descrito em mais detalhes nestas perguntas:

Sycorax diz restabelecer Monica
fonte
5
Entretanto, deve-se mencionar que usar a entropia cruzada binária como função de perda em uma tarefa de regressão em que os valores de saída são valores reais no intervalo [0,1] é uma coisa bastante razoável e válida a ser feita.
hoje
Hoje, acho que é uma prática que algumas pessoas adotam por razões práticas (por exemplo, a rede neural converge mais rapidamente), mas não tenho certeza de que esse modelo tenha relação com a comparação de duas distribuições de probabilidade. Talvez você possa mostrar que existe uma relação entre um alvo continuamente valorizado em e a entropia cruzada binária? [0,1]
Sycorax diz Restabelecer Monica
5

A resposta dada por @Sycorax está correta. No entanto, vale ressaltar que o uso de entropia cruzada (binária) em uma tarefa de regressão em que os valores de saída estão no intervalo [0,1] é uma coisa válida e razoável a se fazer. Na verdade, é usado em auto-codificadores de imagens (por exemplo, aqui e neste documento ). Você pode estar interessado em ver uma prova matemática simples de por que funciona neste caso nesta resposta .

hoje
fonte
As funções de perda podem ser vistas como probabilidades / posteriores ou alguma transformação monotônica delas. Portanto, embora seja verdade que em alguns modelos de regressão uma perda semelhante à entropia cruzada possa fazer sentido, talvez não seja uma abordagem razoável lidar com qualquer regressão em que as saídas estejam em um intervalo . [0,1]
InfProbSciX
@InfProbSciX "pode ​​não ser uma abordagem razoável para lidar com qualquer regressão em que as saídas estejam em um intervalo [0,1]". Tão "razoável" em que sentido? Ou como você define a função de razoabilidade da perda para uma tarefa específica? Eu suspeito que essa afirmação possa ser verdadeira para qualquer função de perda. Existe alguma função de perda que seria razoável usar para todos os tipos de tarefas de regressão, é claro depois de definir o "razoável"?
hoje
A maneira como eu definiria razoável é construindo uma lei modelo. Por exemplo, em uma estrutura de regressão como onde são seus erros - digamos normalmente distribuídos, a probabilidade logarítmica negativa é exatamente a perda ao quadrado. Em um cenário em que a lei modelo se parece com , a probabilidade de log negativa é exatamente a entropia cruzada binária. Onde a lei é uma regressão linear com um normal anterior nos coefs, a perda corresponde à penalidade de L2 e assim por diante. Sempre que possível, eu construía uma lei e depois derivava uma perda. £ Y ~ B e r n o u l l i ( p θ )Y=fθ(X)+ϵϵYBernoulli(pθ)
InfProbSciX
@InfProbSciX Obrigado pela sua resposta. Portanto, como você mencionou, dependendo da tarefa de regressão (e das suposições sobre a distribuição de dados, erros etc.), uma função de perda pode não ser razoável para ser usada. E, como mencionei, isso é verdade para todas as funções de perda, incluindo a crossentropy. Obviamente, entendo que apenas porque os valores de saída estão na faixa [0,1] não garante que a entropia cruzada seja a função ideal de perda de escolha e eu não estava tentando transmitir o contrário na minha resposta.
hoje
5

As estruturas de aprendizado profundo muitas vezes misturam modelos e perdas e se referem à entropia cruzada de um modelo multinomial com não-linearidade softmax por cross_entropy, o que é enganoso. Em geral, você pode definir entropia cruzada para modelos arbitrários .

Para um modelo gaussiano com média de covariância diagonal fixa, mas fixa, é equivalente a MSE. Para uma covariância geral, a entropia cruzada corresponderia a uma distância quadrada de Mahalanobis . Para uma distribuição exponencial, a perda de entropia cruzada seria semelhante a onde é contínuo, mas não negativo. Então , sim , a entropia cruzada pode ser usada para regressão.

fθ(x)ylogfθ(x),
y

Lucas
fonte
2

Infelizmente, a resposta agora aceita por @Sycorax, embora detalhada, está incorreta.

Na verdade, um excelente exemplo de regressão através da entropia cruzada categórica - Wavenet - foi implementado no TensorFlow .

O princípio é que você discretiza seu espaço de saída e, em seguida, seu modelo prevê apenas o respectivo compartimento; consulte a Seção 2.2 do documento para obter um exemplo no domínio da modelagem de som. Portanto, embora tecnicamente o modelo execute a classificação, a tarefa final resolvida é a regressão.

Uma desvantagem óbvia é que você perde a resolução de saída. No entanto, isso pode não ser um problema (pelo menos eu acho que o assistente artificial do Google falou com uma voz muito humana ) ou você pode brincar com algum pós-processamento, por exemplo, interpolar entre a lixeira mais provável e seus dois vizinhos.

Por outro lado, essa abordagem torna o modelo muito mais poderoso em comparação com a saída de unidade linear única usual, ou seja, permitindo expressar previsões multimodais ou avaliar sua confiança. Observe, porém, que o último pode ser alcançado naturalmente por outros meios, por exemplo, tendo uma saída de variação explícita (log) como nos Autoencodificadores Variacionais.

De qualquer forma, essa abordagem não se adapta bem a saídas mais dimensionais, porque o tamanho da camada de saída aumenta exponencialmente, tornando-o um problema computacional e de modelagem.

dedObed
fonte
1
Entendo o que você está dizendo, mas eu pessoalmente não consideraria discretizar seu espaço de saída como executando "regressão" tanto quanto se aproxima de um problema de regressão usando classificação ... mas acho que é apenas uma questão de terminologia / convenção.
JacKeown 27/11/18
1
Acordado. O espaço flutuador 32-bit é de qualquer maneira discreta :-)
dedObed
-1

Revisitei esta questão, pois agora discordo da resposta que aceitei anteriormente. A perda de entropia cruzada PODE ser usada em regressão (embora não seja comum.)

Tudo se resume ao fato de a entropia cruzada ser um conceito que só faz sentido quando se compara duas distribuições de probabilidade. Você pode considerar uma rede neural que produz um desvio médio e padrão para uma distribuição normal como sua previsão. Seria então punido com mais severidade por ter mais confiança em previsões ruins. Então, sim, faz sentido, mas apenas se você estiver produzindo uma distribuição em algum sentido. O link de @SiddharthShakya em um comentário à minha pergunta original mostra isso.

JacKeown
fonte
1
Essa resposta parece responder à pergunta de uma maneira diferente da que é solicitada. As funções às quais você se vinculou na pergunta são sobre um tipo específico de perda de entropia cruzada, e sua pergunta parece perguntar se essas funções podem ser usadas na regressão, e minha resposta é escrita como se você estivesse perguntando como usar essas funções você vincula a. A resposta aqui parece responder à pergunta "A entropia cruzada pode ser generalizada além da classificação?" A edição do Q deixaria claro que o foco está em como os conceitos matemáticos são definidos, em vez de em como usar as funções do Tensorflow.
Sycorax diz Restabelecer Monica
Entendo sua objeção, mas pretendo deixar a pergunta como está, pois ela representa minha consulta original, que acho que poderia ajudar as pessoas com a mesma pergunta que eu tinha. De qualquer forma, a postagem inteira deve conter informações suficientes em geral.
JacKeown