Update. The reason may be that the dataset is too small. 6000 images, 15 classes, multi-label, may be too difficult.
I’ve tried to build a smaller dataset, with 3000 images, 5 classes, multi-label. The training result, though not good enough, is better. The model can identify some easy labels.
But I’m new to multi label recognition. I hope there is other hint on this problem.