Xuefei Ning, Matthew Blaschko, Zifu Wang
We lifted 1 functions out of this paper's own repositories and ran 1 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| zifuwanggg/jdtlosses | canonical | 1 of 1 |
| Function | Status | Where it lives |
|---|---|---|
| JDTLoss | Ran | zifuwanggg/jdtlosses/losses/jdt_loss.py pointer only (licence: NONE) · get_code("63374e70deb33268") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Intersection over Union (IoU) losses are surrogates that directly optimize the Jaccard index. Leveraging IoU losses as part of the loss function have demonstrated superior performance in semantic segmentation tasks compared to optimizing pixelwise losses such as the cross-entropy loss alone. However, we identify a lack of flexibility in these losses to support vital training techniques like label smoothing, knowledge distillation, and semi-supervised learning, mainly due to their inability to process soft labels. To address this, we introduce Jaccard Metric Losses (JMLs), which are identical to the soft Jaccard loss in standard settings with hard labels but are fully compatible with soft labels. We apply JMLs to three prominent use cases of soft labels: label smoothing, knowledge distillation and semi-supervised learning, and demonstrate their potential to enhance model accuracy and calibration. Our experiments show consistent improvements over the cross-entropy loss across 4 semantic segmentation datasets (Cityscapes, PASCAL VOC, ADE20K, DeepGlobe Land) and 13 architectures, including classic CNNs and recent vision transformers. Remarkably, our straightforward approach significantly outperforms state-of-theart knowledge distillation and semi-supervised learning methods. The code is available at https://github.com/zifuwanggg/JDTLosses.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2302.05666")
get_code_for_paper("2302.05666")
have("2302.05666")
Connect an agent — have() is free.