Roche / BalancedLossNLP

Other
119 stars 23 forks source link

Map parameters in DB Loss #6

Closed Giovani-Merlin closed 1 year ago

Giovani-Merlin commented 1 year ago

Firstly thank you for the great paper and for providing the code, but to use it in other applications/datasets, I'm trying to understand better the mapping parameters. Checking the Reuters and the PubMed training code, I can see that we have the parameters for the first:

map_param=dict(alpha=0.1, beta=10.0, gamma=0.9) And for the second: map_param=dict(alpha=0.1, beta=10.0, gamma=0.05) Have you done hyper-parameter optimisation for choosing this gamma, or does it comes from an "exact" approach?

For CB-NTR, we don't have this parameter (so all the parameters are equal for both datasets); therefore, it seems a "safer" loss to use in other datasets. Can you explain the method of obtention of these loss parameters? Thank you

blessu commented 1 year ago

Thanks a lot for your interest.

The parameter gamma in the function map_param is used for the rebalancing weighting part - mainly for normalization. It is intuitively generated by estimating the "center" (mean or median). You can find the parameter estimation step at the end of dataset_prep.ipynb for Reuters and PubMed respectively.

Since CB-NTR has a different reweighting approach than rebalancing weighting, the function map_param is not used in the loss function. Most of the other (hyper-)parameters were the same as in the ECCV'20 paper.

Giovani-Merlin commented 1 year ago

Thank you, it's totally clear now!