Deep learning with Imbalanced classes
If you are using TensorFlow to write your architecture,

You can create 3 training datasets( one for one class) using tf.data and then you can use tf.data.experimental.sample_from_datasets with the same weightage to generate the batch data. Check weights parameter in the documentation.

You can initialize well in the final layer. Please check this blog from Andrej Karpathy.

You can add the class_weight parameter while training.