"Um erro comum que eu cometeria é adicionar uma não linearidade à minha saída de logits."
O que o termo "logit" significa aqui ou o que representa?
"Um erro comum que eu cometeria é adicionar uma não linearidade à minha saída de logits."
O que o termo "logit" significa aqui ou o que representa?
Logits interpretados como previsões (ou saídas) não normalizadas (ou ainda não normalizadas ) de um modelo. Isso pode dar resultados, mas normalmente não paramos com os logits, porque interpretar seus valores brutos não é fácil.
Veja a definição deles para ajudar a entender como os logits são produzidos.
Queremos treinar um modelo que aprenda a classificar cães e gatos, usando fotos que contenham um gato ou um cachorro. Você constrói um modelo e fornece alguns dos dados necessários para aproximar um mapeamento entre imagens e previsões. Em seguida, você fornece ao modelo algumas das fotos invisíveis para testar sua precisão preditiva em novos dados. Como temos um problema de classificação (estamos tentando colocar cada foto em uma das duas classes), o modelo nos dará duas pontuações para cada imagem de entrada. Uma pontuação pela probabilidade de acreditar que a imagem contém um gato e, em seguida, uma pontuação por acreditar que a imagem contém um cachorro.
Talvez para a primeira nova imagem, você obtenha valores de logit 16.917
para um gato e depois 0.772
para um cachorro. Maior significa melhor, ou ('mais provável'), então você diria que um gato é a resposta. A resposta correta é um gato, então o modelo funcionou!
Para a segunda imagem, o modelo pode dizer que os valores do logit são 1,004 para um gato e 0,709 para um cachorro. Então, mais uma vez, nosso modelo diz que a imagem contém um gato. A resposta correta é mais uma vez um gato, então o modelo funcionou novamente!
Agora queremos comparar os dois resultados. Uma maneira de fazer isso é normalizar as pontuações. Ou seja, normalizamos os logits ! Fazendo isso, obtemos algumas dicas sobre a confiança de nosso modelo.
Vamos usar o softmax , onde todos os resultados somam 1
e, portanto, permitem pensar neles como probabilidades:
Para a primeira imagem de teste, obtemos
Se fizermos o mesmo para a segunda imagem, obteremos os resultados:
O modelo não tinha muita certeza da segunda imagem, pois estava muito perto de 50-50 - um palpite!
A última parte da citação da sua pergunta provavelmente se refere a uma rede neural como modelo. As camadas de uma rede neural geralmente recebem dados de entrada, multiplicam por alguns parâmetros (pesos) que queremos aprender e depois aplicam uma não linearidade, que fornece ao modelo o poder de aprender relacionamentos não lineares. Sem essa não linearidade, uma rede neural seria simplesmente uma lista de operações lineares, executadas em alguns dados de entrada, o que significa que somente seria capaz de aprender relacionamentos lineares. Isso seria uma restrição massiva, significando que o modelo sempre poderia ser reduzido a um modelo linear básico. Dito isto, não é considerado útil aplicar uma não linearidade às saídas de logit de um modelo, pois geralmente você cortará algumas informações imediatamente antes de fazer uma previsão final. Dê uma olhada nos comentários relacionados neste tópico .
Logits são as pontuações finais não normalizadas do seu modelo. Você aplica o softmax a ele para obter uma distribuição de probabilidade em suas classes.