Quão significativa é a conexão entre MLE e entropia cruzada na aprendizagem profunda?

12

Eu entendo que, dado um conjunto de observações independentes o Estimador de Máxima Verossimilhança (ou, equivalentemente, o MAP com flat / uniform anterior) que identifica os parâmetros \ mathbf {θ} que produzem a distribuição do modelo p_ {model} \ esquerda (\, \ cdot \,; \ mathbf {θ} \ right) que melhor corresponder a essas observações seráS = { o ( 1 ) , . . . , o ( m ) }mO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

ou, mais convenientemente

θML(O)=argminθi=1mlogpmodel(o(i);θ)

e veja o papel que θML pode desempenhar na definição de uma função de perda para redes neurais profundas de várias classes, na qual θ corresponde aos parâmetros treináveis ​​da rede (por exemplo, θ={W,b}) e as observações são os pares de ativações de entrada x e os rótulos de classe corretos correspondentes y[1,k] , o(i) = { x(i),y(i) }, usando

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


O que não entendo é como isso se relaciona à chamada "entropia cruzada" da saída correta (vetorizada), , e às ativações de saída correspondentes da rede, que é usado na prática, quando a medição de erro / perda durante o treinamento . Existem vários problemas relacionados:y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


Ativações "como probabilidades"

Uma das etapas para estabelecer o relacionamento entre o MLE e a entropia cruzada é usar as ativações de saída "como se" fossem probabilidades. Mas não está claro para mim que eles são, ou pelo menos que eles são.all

Ao calcular o erro de treinamento - especificamente, ao chamá-lo de "perda de entropia cruzada" - presume-se que (após normalizar as ativações para somar 1)

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

ou

logpmodel(o(i);θ)=logay(i)(x(i);θ)

para que possamos escrever

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

e assim

θML(O)=argminθi=1mH(o(i);θ)

Mas, embora isso certamente torne uma probabilidade (na medida em que algo existe), ele não impõe restrições às outras ativações.ay(i)(x(i);θML)

O realmente ser considerado PMF nesse caso? Existe algo que faça com que não seja de fato probabilidades (e apenas "goste" delas) )?ay(i)(x(i);θML)ay(i)(x(i);θML)


Limitação à categorização

O passo crucial acima para equiparar o MLE à entropia cruzada se baseia inteiramente na estrutura "quente" de que caracteriza um problema de aprendizado de classe múltipla (etiqueta única). Qualquer outra estrutura para o tornaria impossível passar de para .y(i)y(i)(1)(3)

A equação de MLE e a minimização de entropia cruzada estão limitadas aos casos em que são "quentes"? y(i)


Diferentes probabilidades de treinamento e previsão

Durante a previsão, quase sempre é o caso de

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

que resulta em probabilidades de previsão corretas diferentes das probabilidades aprendidas durante o treinamento, a menos que seja confiável que

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

Isso é sempre confiável? É provável que seja pelo menos aproximadamente verdade? Ou existe algum outro argumento que justifique essa equação do valor da ativação aprendida na posição do rótulo com a probabilidade de que o valor máximo das ativações aprendidas ocorra lá?


Entropia e teoria da informação

Mesmo assumindo que as preocupações acima são abordadas e as ativações são PMFs válidas (ou podem ser tratadas de maneira significativa como tal), de modo que o papel desempenhado pela entropia cruzada na computação seja sem problemas, não está claro para por que é útil ou significativo falar sobre a entropia do , já que a entropia de Shanon se aplica a uma tipo de codificação , que não é a que está sendo usada no treinamento da rede.θMLa(x(i);θML)

Qual o papel da entropia teórica da informação na interpretação da função de custo, em vez de simplesmente fornecer uma ferramenta (na forma de entropia cruzada) para calcular uma (que corresponde ao MLE)?

orome
fonte

Respostas:

5

As redes neurais não necessariamente fornecem probabilidades como saídas, mas podem ser projetadas para fazer isso. Para ser interpretado como probabilidades, um conjunto de valores deve ser não negativo e somar um. Projetar uma rede para obter probabilidades de saída normalmente equivale a escolher uma camada de saída que impõe essas restrições. Por exemplo, em um problema de classificação com classes, uma escolha comum é uma camada de saída softmax com unidades. A função softmax força as saídas a serem não-negativas e somadas a uma. A ésima unidade de saída fornece a probabilidade de que a classe seja . Para problemas de classificação binária, outra opção popular é usar uma única unidade de saída com logística.kkjjfunção de ativação. A saída da função logística está entre zero e um e fornece a probabilidade de que a classe seja 1. A probabilidade de que a classe seja 0 é implicitamente um menos esse valor. Se a rede não contiver camadas ocultas, esses dois exemplos serão equivalentes a regressão logística multinomial e regressão logística , respectivamente.

Cruz entropia mede a diferença entre as distribuições de probabilidade dois e . Quando a entropia cruzada é usada como uma função de perda para classificadores discriminativos, e são distribuições por rótulos de classe, dada a entrada (isto é, um ponto de dados específico). é a distribuição 'verdadeira' e é a distribuição prevista pelo modelo. Em problemas típicos de classificação, cada entrada no conjunto de dados é associada a um rótulo inteiro que representa a classe verdadeira. Nesse caso, usamos a distribuição empírica paraH(p,q)pqpqpqp. Isso simplesmente atribui a probabilidade 1 à verdadeira classe de um ponto de dados e a probabilidade 0 a todas as outras classes. é a distribuição das probabilidades de classe previstas pela rede (por exemplo, como descrito acima).q

Dizem que os dados são iid, é a distribuição empírica, e é a distribuição prevista (para o th ponto de dados). Então, minimizar a perda de entropia cruzada (isto é, calculada sobre a média dos pontos de dados) é equivalente a maximizar a probabilidade dos dados. A prova é relativamente direta. A idéia básica é mostrar que a perda de entropia cruzada é proporcional à soma das probabilidades previstas de log negativo dos pontos de dados. Isso ocorre nitidamente por causa da forma da distribuição empírica.piqiiH(pi,qi)

A perda de entropia cruzada também pode ser aplicada de maneira mais geral. Por exemplo, em problemas de 'classificação leve', recebemos distribuições por rótulos de classe em vez de rótulos de classe rígida (portanto, não usamos a distribuição empírica). Descrevo como usar a perda de entropia cruzada nesse caso aqui .

Para abordar outras especificidades em sua pergunta:

Diferentes probabilidades de treinamento e previsão

Parece que você está encontrando a unidade de saída com ativação máxima e comparando-a com o rótulo da classe. Isso não é feito para o treinamento usando a perda de entropia cruzada. Em vez disso, as probabilidades geradas pelo modelo são comparadas às probabilidades 'verdadeiras' (normalmente consideradas como a distribuição empírica).

A entropia Shanon se aplica a um tipo específico de codificação, que não é o que está sendo usado no treinamento da rede.

A entropia cruzada pode ser interpretada como o número de bits por mensagem necessário (em média) para codificar eventos extraídos da distribuição verdadeira , se estiver usando um código ideal para a distribuição . A entropia cruzada assume um valor mínimo de (a entropia de Shannon de ) quando . Quanto melhor a correspondência entre eH(p,q)pqH(p)pq=pqp, menor é o tamanho da mensagem. Treinar um modelo para minimizar a entropia cruzada pode ser visto como treiná-lo para melhor aproximar a verdadeira distribuição. Em problemas de aprendizado supervisionado, como discutimos, o modelo fornece uma distribuição de probabilidade entre os possíveis resultados, considerando a entrada. Encontrar explicitamente códigos ideais para a distribuição não faz parte do processo.

user20160
fonte
"Isso não é feito para treinamento usando a perda de entropia cruzada." É exatamente isso que APIs como o TensorFlow softmax_cross_entropy_with_logitsfazem: calculam e, portanto, que define uma rede "projetada para" produzir probabilidades (pelo menos no local do rótulo). Não? argminθi=1mH(o(i);θ)θML(O)
Orome 14/08/19
Sim, a entropia cruzada é minimizada e a probabilidade é maximizada (pelo menos localmente). Nessa frase, eu estava me referindo às equações na seção "diferentes probabilidades de treinamento e previsão". Olhando novamente, não está claro para mim exatamente o que você quer dizer com essas equações, então vou apenas dizer o seguinte: se você estiver usando uma camada de saída em que cada unidade fornece uma probabilidade de classe (por exemplo, softmax). As probabilidades do modelo são as mesmas durante o treinamento e a previsão. pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160
Entendo que os mesmos valores são usados - ou seja, os aprendidos são usados ​​na previsão - mas são usados ​​de maneiras diferentes. A probabilidade de o modelo aprender para é de fato , mas a probabilidade de que seja prevista pelo modelo treinado em resposta à mesma entrada, é . Estes não são os mesmos, a menos que (2) seja verdadeiro. apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
Orome
E (primeira pergunta) eu entendo isso por causa do papel, definido na eq. (1), desempenhado pelo na maximização de , o valores são probabilidades (não porque do softmax, que apenas garante que eles serão adicionados a 1). Mas isso não impõe restrições ao outro ; (exceto aqueles que somam ). Portanto, não vejo como como um furo pode ser considerado um PMF. ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
Orome
Outra maneira de enfatizar a primeira pergunta é que apenas os participam do processo de ML e, portanto, somente eles podem ser considerados probabilidades. E embora uma função de ativação adequada (por exemplo, softmax) garanta que a soma das ativações restantes seja uma probabilidade, as relações entre elas não têm significado. ay(i)
orome 17/08/19
3

Responderei de uma perspectiva um pouco mais geral, sobre a natureza de como, quando e por que podemos considerar as saídas NN como distribuições de probabilidade.

No sentido de que o softmax impõe que as saídas somam 1 e também não sejam negativas, a saída da rede é uma distribuição de probabilidade discreta nas classes, ou pelo menos pode ser interpretada como tal. Portanto, é perfeitamente razoável falar sobre entropias cruzadas e verossimilhanças máximas.

No entanto, o que eu acho que você está vendo (e está correto), é que as "probabilidades" de saída podem não ter nada a ver com a probabilidade real de correção . Esse é um problema conhecido no ML, chamado calibração . Por exemplo, se o seu classificador dos cães e gatos diz , então você esperaria que, se desse um conjunto de exemplos todos com ; aproximadamente 30% das entradas seriam classificadas que possuíam apenas 70% de confiança).fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

No entanto, verifica-se que os métodos modernos de treinamento não impõem isso! Veja Guo et al., Sobre a calibração de redes neurais modernas, para ver algumas discussões sobre isso.

Em outras palavras, a "probabilidade" da saída do softmax pode muito bem não ter nada a ver com a confiança real do modelo. E isso não é surpresa: queremos apenas maximizar nossa precisão, e todo exemplo de entrada tem uma probabilidade de 1 de ser sua classe-alvo. Há pouco incentivo ao modelo para que isso aconteça. Se não precisa estimar a incerteza, por que deveria? A entropia cruzada não corrige esse problema; na verdade, você está dizendo para ele ir para uma função delta toda vez!

Muitos trabalhos recentes sobre redes neurais bayesianas se esforçam para corrigir esse problema. Tais modelos empregam uma distribuição sobre parâmetros, dados os dados , que podem ser integrados para obter uma distribuição de probabilidade real . Isso ajuda a garantir medições úteis de incerteza e melhor calibração. No entanto, é mais problemático computacionalmente.P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

Espero que não tenha entendido mal sua pergunta!

user3658307
fonte
Um bom trabalho relacionado: arxiv.org/abs/1711.01297
user3658307
0

As redes neurais feed-forward aproximam as verdadeiras probabilidades de classe quando treinadas adequadamente.

Em 1991, Richard & Lippmann provaram que as redes neurais feed-forward abordam as probabilidades da classe posterior, quando treinadas com {0,1} padrões de alvo de indicador de classe [ Richard MD, & Lippmann RP (1991). Classificadores de redes neurais estimam probabilidades bayesianas a posteriori. Computação Neural, 3, 461-483 .]. Em sua linha de prova, eles usam redes neurais de avanço de camada oculta.

Na anotação matemática de Duda & Hart [ Classificação de padrões e análise de cenas de Duda RO & Hart PE (1973), Wiley ], defina as distribuições de recursos fornecidas como vetor de entrada para a rede neural de feed-forward como , onde por exemplo o vetor de dados é igual a , para uma tarefa de classificação com 4 variáveis ​​de recurso. O índice indica as possíveis classes, .P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

O classificador de rede neural feed-forward aprende as probabilidades posteriores, , quando treinado por descida gradiente. O padrão de saída desejado deve, por exemplo, ser , para um problema de classificação de duas classes. A rede neural de feed-forward possui um nó de saída por classe. O vetor indica que o vetor de característica observado pertence à 2ª classe.P^(ωix)o=(0,1)(0,1)

Match Maker EE
fonte
Essa não é a questão.
Orome 10/04
0

A probabilidade de log não está diretamente vinculada à entropia no contexto da sua pergunta. A semelhança é superficial: ambos têm somas de logaritmos de quantidades semelhantes à probabilidade.

O logaritmo em log-verossimilhança (MLE) é feito exclusivamente por razões de cálculo numérico. O produto das probabilidades pode ser um número muito pequeno, especialmente se sua amostra for grande. Em seguida, o intervalo de probabilidades varia de 1 a um valor cada vez menor de um produto. Quando você obtém o log, o produto se torna uma soma e a função de log compacta o intervalo de valores para um domínio menor e mais gerenciável. O logaritmo é uma função monótona; portanto, o máximo (min) de probabilidade de log produzirá a mesma resposta da própria probabilidade. Portanto, a presença do log na expressão MLE não é importante no sentido matemático e é simplesmente uma questão de conveniência.

A presença de uma função de logaritmo na entropia é mais substancial e tem suas raízes na mecânica estatística, um ramo da física. Está ligado à distribuição de Boltzmann , que é usada na teoria dos gases. Você pode derivar a pressão do ar em função da altitude que a utiliza, por exemplo.

Aksakal
fonte
Você pode destacar qual parte da pergunta isso aborda?
Orome
Como eu disse no OP, é claro que o uso do log na segunda maneira de expressar o MLE é mera conveniência (seus dois primeiros parágrafos). E seu último parágrafo parece apenas dizer que a presença do log na expressão para entropia é significativa - no contexto da entropia (notavelmente física). Mas o que falta (e essa é a questão) é uma justificativa para vincular essas duas observações distintas (e verdadeiras). Não vejo uma, além da equação após (3), uma maneira útil de expressar a segunda equação para o MLE. Talvez seja isso que você está dizendo?
Orome
@ orome, você pode fazer o NN calcular a entropia, é claro, mas não é assim que a função de entropia cruzada é realmente usada na maioria dos casos. Você pode pensar nisso como outro tipo de função de custo, só isso aqui. Parece ter as propriedades desejadas e é bem simétrico.
Aksakal
Sim, chamando-a de entropia ou sugerindo que são significativas distribuições (para as quais a "entropia" fornece qualquer insight) são enganosas . ay(i)(x(i);θML)
Orome
@ orome, eu não ficaria obcecado com o nome. É como se a função "perda de dobradiça" tivesse pouco a ver com dobradiças. Eles chamam isso de "perda de entropia" porque sua forma funcional é exatamente como uma equação de entropia de informação.
Aksakal