hyperconnect / LADE

This repository contains code for the paper "Disentangling Label Distribution for Long-tailed Visual Recognition", published at CVPR' 2021
https://arxiv.org/abs/2012.00321
Other
96 stars 11 forks source link

Understanding formula in paper with codes #10

Closed Joonsun-Hwang closed 3 years ago

Joonsun-Hwang commented 3 years ago

Hello. I was impressed with your work. Your code helped me to experiment with my toy dataset, and it actually outperformed a normal Softmax and Focal loss. However, I'm a bit confused about matching your paper and code to understand.

I understood that equations (11) and (12) in the paper correspond to the "first_term" and "second_term" in "loss/LADELoss.py", respectively. Then, it is questionable whether the forward() function of LADELoss only returns LADE Regularizer (equation (16) in the paper). I am curious how the LADE-CE term, which is the equation (19) in paper, is implemented in the code. If I misunderstood, I euphemistically ask for help.

Thank you.

juice500ml commented 3 years ago

Hi! Huge thanks for your attention to our paper.

As you correctly pointed out, (16) is implemented in loss/LADELoss.py but (19) is not implemented in the loss/LADELoss.py, but implemented in loss/PriorCELoss.py. https://github.com/hyperconnect/LADE/blob/150181e/loss/PriorCELoss.py#L18-L21

We add the LADE-CE (19) and LADER (16) in run_networks.py https://github.com/hyperconnect/LADE/blob/150181e/run_networks.py#L266-L277

where we define the PerformanceLoss and RouteWeightLoss here: https://github.com/hyperconnect/LADE/blob/150181e/config/CIFAR100_LT/lade.yaml#L2-L11