问题描述:
在尝试使用 Mindspore 实现 NLP 中 NER 任务中,但是有比较大的类别不平衡问题,尝试通过调整 Loss 中不同类别的权重来缓解这个问题,但是在调查后发现 TensorFlow 中提供了调整类权重的方法 TF src。但是在 Mindspore 中没有看到了类似的内置方法,只有一个 mindspore.dataset.WeightedRandomSampler。
我想到的解决方法是在两个方面处理:
在 datasetLoader 中自行增强个数较少的类别样本的数量
自行定义一个 Loss object 来自定衡量不同类别的惩罚
请问 Mindspore 中是否有类似的实现
解答:
1. mindspore.dataset.WeightedRandomSampler 这个是对部分数据集生效的,你可以看具体数据集的API。 2. 正如你说,可以数据集源头,就把数据集中个数较少的类别进行下扩充,然后再用于训练流程。