Por que a entropia cruzada é uma boa função de perda para pré-treinamento de linguagem? aviso: tudo isso é conhecido, a propósito; curiosamente, embora haja muitos pontos de vista e intuições sobre "por que x-ent", todos podem ser alcançados a partir de um único ponto de partida. Aqui está uma derivação simples de primeiros princípios que não assume nada sobre a distribuição dos dados. Ela vem de um requisito operacional muito razoável :) "Eu quero que meu modelo soe inteligente" mas não podemos medir isso, então perguntamos "Eu quero que meu modelo soe como um humano" Embora tenhamos acesso a todos os textos já escritos, não conseguimos medir isso também, então, em vez disso, perguntamos "Eu quero que meu modelo seja o mais provável possível de gerar um dos textos já escritos" Ou, mais diretamente: "Eu quero que meu modelo memorize os dados de treinamento." Considere este experimento mental: Dada uma base de dados S de todo texto já escrito por humanos, realizamos tentativas independentes para cada "texto" em S: Amostra: "texto de amostra" do nosso modelo Pr( ;W) Verifique: o "texto de amostra" corresponde exatamente ao original? Nota: não condicionamos nada! apenas perguntamos, de todas as coisas que o modelo poderia gerar, conseguimos obter "texto". Defina sucesso como o evento E = "todas as verificações por amostra têm sucesso" A probabilidade de E é o produto das probabilidades atribuídas à verdade correta pelo seu modelo W Pr(E) = Π_{texto em S} Pr(texto; W) Maximizar log Pr(E) sobre W lhe dá o objetivo de entropia cruzada. Como você otimiza isso com SGD? texto de amostra do corpus calcule grad log Pr(token|prefixo) para cada prefixo de texto atualize o modelo O que é elegante é que isso mesmo simultaneamente: 1) Minimiza o comprimento da descrição dos dados sob o modelo P( ;W) (visão de compressão) 2) Minimiza a divergência KL em relação à verdadeira distribuição—se uma existir (embora nunca tenhamos assumido uma) 3) Implementa a estimativa de máxima verossimilhança A derivação é direta e bem conhecida, mas destaca algo importante: a entropia cruzada emerge naturalmente do desejo de reprodução exata dos dados de treinamento. P.S. você poderia ter perguntado em vez disso para maximizar Pr(texto gerado pelo modelo está na verdade) curiosamente, otimizar isso pode levar ao colapso de modo, uma vez que uma solução ótima é sempre prever um único pedaço de texto do corpus. No entanto, os gradientes novamente se parecem com x-entropia, mas com um fator multiplicador i.e., Pr(texto;W) grad log Pr(texto;W)
64,24K