By Luiz H. Buris, Fabio A. Faria.
UNIFESP SJC - Instituto de Ciência e Tecnologia
Propomos três novas abordagens no contexto da DML. Estamos particularmente interessados no NNGK devido à sua robustez e simplicidade. Como tal, apresentamos variantes que aproveitam o Mixup para lidar com o aprendizado de métrica em cenários de supervisão incompletos.
- https://github.com/LukeDitria/OpenGAN
- https://github.com/facebookresearch/mixup-cifar10
- https://kevinmusgrave.github.io/pytorch-metric-learning/
If you use this method or this code in your paper, then please cite it:
@article{buris2022mixup,
title={Mixup-based Deep Metric Learning Approaches for Incomplete Supervision},
author={Buris, Luiz H and Pedronette, Daniel CG and Papa, Joao P and Almeida, Jurandy and Carneiro, Gustavo and Faria, Fabio A},
journal={arXiv preprint arXiv:2204.13572},
year={2022},
url={https:https://arxiv.org/pdf/2204.13572.pdf},
}
-
train_MbDML1-NNGK_Mixup.py
: Esta abordagem chamada$MbDML-1$ é uma simples combinação entre as funções de perdas das abordagens originais (NNGK e Mixup para compor a função de perda final desta abordagem. -
train_MbDML2_MixupNNGK.py
: Esta abordagem chamada$MbDML-2$ , as imagens$x_i$ e$x_j$ do conjunto de dados de treinamento e seus respectivos rótulos$y_i$ e$y_j$ dentro do lote são interpoladas pelo método Mixup, são passadas pela rede CNN pré-treinada e classificadas pelo classificador$NNGK$ . -
train_MbDML3_MixupNNGK_NNGK.py
: Esta abordagem chamada$MbDML-3$ , é a simples combinação linear entre a função de perda$MbDML-2$ e a função de perda original$NNGK$ . -
train_MbDML4_MbDML3+NST.py
: Esta abordagem chamada \textit{MbDML} 4 é a combinação da estratégia supervisionada proposta neste trabalho \textit{MbDML} 3 com adição de uma técnica semi-supervisionada da literatura chamada \textit{Noisy Student Training} (NST). -
train_NNGK.py
: Esta abordagem$NNGK$ é a original do artigo que foi proposto a melhoria.
- Python version 3.6
- A PyTorch installation
- A Pytorch-Metric-Learning installation
- pip install -r requirements.txt
Comandos para executar os scrypt python de cada abordagenns
python3 train_MbDML1-NNGK_Mixup.py --max_epochs=200 --name "CIFAR10-MbDML1-NNGK_Mixup" --scale_mixup 2 --alpha 1 --beta 1 --data_dir datasets/CIFAR100K10/train --test datasets/CIFAR100K10/Test --save_dir results/neighbour=200 --num_classes 100 --tsne_graph False --im_ext png --gpu_id 0 --input_size 32
python3 train_MbDML2_MixupNNGK.py --max_epochs=200 --name "CIFAR10-MbDML2_MixupNNGK" --scale_mixup 2 --alpha 1 --alpha 0 --data_dir datasets/CIFAR100K10/train --test datasets/CIFAR100K10/Test --save_dir results/neighbour=200 --num_classes 100 --tsne_graph False --im_ext png --gpu_id 0 --input_size 32
python3 train_MbDML3_MixupNNGK_NNGK.py --max_epochs=200 --name "CIFAR10-MbDML3_MixupNNGK_NNGK" --scale_mixup 2 --alpha 1 --beta 1 --data_dir datasets/CIFAR100K10/train --test datasets/CIFAR100K10/Test --save_dir results/neighbour=200 --num_classes 100 --tsne_graph False --im_ext png --gpu_id 0 --input_size 32
As figuras mostram as curvas de precisão de cada uma das abordagens supervisionadas propostas
CIFAR10 - Train | CIFAR10 - Test |
---|---|
CIFAR100 - Train | CIFAR100 - Test |
---|---|
MNIST - Train | MNIST - Test |
---|---|
FLOWER17 - Train | FLOWER17 - Test |
---|---|
Diferentes embeddings definidos por cada abordagem: (a) amostras no espaço de características definido por uma CNN pré-treinada, (b) mesmas amostras projetadas em um kernel gaussiano, (c) amostras no espaço de características da CNN pré-treinada junto com o novo amostras criadas pelo Mixup e (d) amostras no espaço de recursos pela combinação de NNGK e Mixup. Observe que, neste No artigo, existem esses quatro tipos possíveis de espaços de características, portanto, as três abordagens propostas baseadas em Mixup (MbDML) são algumas combinações dos espaços de recursos existentes.
Como pode ser visto na figura, as classes são consistentemente muito melhor separadas pelo Mixup(NNGK)
CIFAR10 | CIFAR100 |
---|---|
Mean accuracies (%) and standard deviation (±) over ten runs using 10% of the training set. Similar and the most accurate results are highlighted.