Closed vitalwarley closed 11 months ago
Possível código, mas não necessariamente os autores originais -- nome diferente.
As curvas de treinamento e validação são ruins, mas os resultados são bons... estranho. A implementação da perda contrastiva é bem trivial, mas bem ineficiente também.
onde loss_fn
é a perda de entropia cruzada.
State-of-the-art for most existing natural language processing (NLP) classification tasks is achieved by models that are first pre-trained on auxiliary language modeling tasks and then fine-tuned on the task of interest with cross-entropy loss (Radford et al., 2019; Howard & Ruder, 2018; Liu et al., 2019; Devlin et al., 2019).
Cross entropy loss leads to poor generalization performance (Liu et al., 2016; Cao et al., 2019), and it lacks robustness to noisy labels (Zhang & Sabuncu, 2018; Sukhbaatar et al., 2015) or adversarial examples (Elsayed et al., 2018; Nar et al., 2019).
Possíveis causas da fraca generalização: overconfidence in predictions e sharp minima.
Possíveis causas da falta de robustez frente à amostras ruidosas: sensitivity e memorization.
Datasets desbalanceados não são apropriados à perda, dado a facilidade de se capturar atributos menos genéricos do que o ideal. A perda tem alta sensibilidade à distribuição das classes e ao ruído do dados (consequências de ser uma forma de MLE). Outros fatores incluem da dinâmica de otimização baseada no gradiente (podem exacerbar a convergência para mínimos acentuados / sharp minima), a falta de regularização (pode provocar overfitting), a complexidade da arquitetura do modelo (um parameter space vasto pode ter vários mínimos locais acentuados), a taxa de aprendizado e tamanho de batch, e a ausência de restrições nas representações.
Empirical observations show that both l2 normalization of the encoded embedding representations and an adjustable scalar temperature parameter τ improve performance. Lower temperature increases the influence of examples that are harder to separate, effectively creating harder negatives. Using hard negatives has been previously shown to improve performance in the context of margin-based loss formulations such as triplet loss (Schroff et al., 2015). The empirical behavior of the adjustable temperature parameter is consistent with the observations of previous work related to supervised contrastive learning. (Chen et al., 2020a; Khosla et al., 2020).
A temperatura ajuda a controlar a distribuição de probabilidade em um classificador. Valores maiores para temperatura resultam em probabilidades mais uniformes, por exemplo.
Usar hard negatives no treinamento ajuda no aprendizado de atributos mais "precisos" (em contraste com superciais e fáceis de aprender), o que pode ajudar a discriminar melhor tais amostras.
Dessa forma, temperature scaling direciona o modelo a se atentar mais aos exemplos negativos, tendo em vista que maiores valores de temperatura "uniformizam" a distribuição de probabilidade -- em outras palavras, fazem o modelo menos confiante em suas predições.
No contexto do aprendizado contrastivo, não há distribuição de probabilidade a ser controlada pela temperatura. Em vez disso, o modelo aprende a escalar as distâncias entre os atributos de cada exemplo; amostras similares ficam próximas, enquanto as diferentes se mantém razoavelmente distantes. O ideal é encontrar um valor equilibrado tal que o modelo não seja indiferente às diferenças, nem demasiadamente sensível.
Several works have analyzed the shortcomings of the widely adopted cross-entropy loss, demonstrating that it leads to poor generalization performance due to poor margins (Liu et al., 2016; Cao et al., 2019), and lack of robustness to noisy labels (Zhang & Sabuncu, 2018; Sukhbaatar et al., 2015) or adversarial examples (Elsayed et al., 2018; Nar et al., 2019).
In the context of contrastive learning, Saunshi et al. (2019) propose a theoretical framework for analyzing contrastive learning algorithms through hypothesizing that semantically similar points are sampled from the same latent class, which allows showing formal guarantees on the quality of learned representations.
Similarly, Khosla et al. (2020) propose a supervised contrastive loss that outperforms cross entropy loss and gets state-of-the-art results on ImageNet on both ResNet-50 and ResNet-200 (He et al., 2016) with AutoAugment (Cubuk et al., 2019) data augmentation. They also show increased robustness on the ImageNet-C dataset (Hendrycks & Dietterich, 2019), and demonstrate that supervised contrastive loss is less sensitive to different hyperparameter settings for optimizers or data augmentations compared to the cross-entropy loss.
A ideia do paper está sendo avaliada na #46.
Como podemos combinar entropia cruzada e perda contrastiva no contexto de reconhecimento de parentesco? É uma possível extensão a #26.