O conjunto de dados desequilibrado é um problema comum em todas as áreas e não se refere especificamente à visão computacional e aos problemas tratados pelas Redes Neurais Convolucionais (CNNs).
Para resolver esse problema, você deve tentar equilibrar seu conjunto de dados, sobredimensionando as classes minoritárias ou sub-amostrando as classes majoritárias (ou ambas). Indiscutivelmente, uma boa escolha seria o algoritmo SMOTE (Técnica de Sobre-Amostragem de Minorias Sintéticas), como mencionado acima. Aqui você pode encontrar uma comparação de diferentes algoritmos de sobre-amostragem. Se você é usuário de Python, o desbalanced-learn é uma boa biblioteca que implementa muitas técnicas úteis para equilibrar conjuntos de dados.
Por outro lado, se você estiver tentando classificar imagens, uma boa maneira de aumentar o tamanho do seu conjunto de dados é aumentá- lo (por exemplo, criando exemplos sintéticos razoáveis, por exemplo, imagens semelhantes, mas girando / mudando um pouco em relação às originais). Às vezes, você pode achar útil aumentar as classes minoritárias para obter um melhor equilíbrio. A classe Keras ImageDataGenerator é uma boa ferramenta para esse fim.