Text this: Mitigating the effects of non-IID data in federated learning with a self-adversarial balancing method