У меня есть набор данных изображения лица с ограниченным количеством данных, где более 70% его классов имеют только одно изображение, другие в диапазоне от 2 до 100 изображений. Я построил модель CNN и использовал увеличение данных, отсев, нормализацию L2, пакетную нормализацию, но точность очень низкая. Когда я применяю одну и ту же модель только для классов с большим количеством изображений, точность повышается и получается очень хороший результат распознавания. Что я могу сделать, чтобы повысить точность данных ограниченного обучения и улучшить их, есть ли какая-либо модель, которую я могу реализовать для достижения требуемого результата, или есть какой-либо процесс, добавленный в мою модель для его улучшения. Моя модель выглядит следующим образом:
Layer (type) Output Shape Param #
=================================================================
conv2d_1 (Conv2D) (None, 80, 80, 32) 896
_________________________________________________________________
activation_1 (Activation) (None, 80, 80, 32) 0
_________________________________________________________________
batch_normalization_1 (Batch (None, 80, 80, 32) 128
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 40, 40, 32) 0
_________________________________________________________________
dropout_1 (Dropout) (None, 40, 40, 32) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None, 40, 40, 64) 18496
_________________________________________________________________
activation_2 (Activation) (None, 40, 40, 64) 0
_________________________________________________________________
batch_normalization_2 (Batch (None, 40, 40, 64) 256
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 20, 20, 64) 0
_________________________________________________________________
dropout_2 (Dropout) (None, 20, 20, 64) 0
_________________________________________________________________
conv2d_3 (Conv2D) (None, 20, 20, 128) 73856
_________________________________________________________________
activation_3 (Activation) (None, 20, 20, 128) 0
_________________________________________________________________
batch_normalization_3 (Batch (None, 20, 20, 128) 512
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 10, 10, 128) 0
_________________________________________________________________
dropout_3 (Dropout) (None, 10, 10, 128) 0
_________________________________________________________________
conv2d_4 (Conv2D) (None, 10, 10, 256) 295168
_________________________________________________________________
activation_4 (Activation) (None, 10, 10, 256) 0
_________________________________________________________________
batch_normalization_4 (Batch (None, 10, 10, 256) 1024
_________________________________________________________________
max_pooling2d_4 (MaxPooling2 (None, 5, 5, 256) 0
_________________________________________________________________
dropout_4 (Dropout) (None, 5, 5, 256) 0
_________________________________________________________________
conv2d_5 (Conv2D) (None, 5, 5, 512) 1180160
_________________________________________________________________
activation_5 (Activation) (None, 5, 5, 512) 0
_________________________________________________________________
batch_normalization_5 (Batch (None, 5, 5, 512) 2048
_________________________________________________________________
max_pooling2d_5 (MaxPooling2 (None, 2, 2, 512) 0
_________________________________________________________________
dropout_5 (Dropout) (None, 2, 2, 512) 0
_________________________________________________________________
flatten_1 (Flatten) (None, 2048) 0
_________________________________________________________________
dense_1 (Dense) (None, 128) 262272
_________________________________________________________________
activation_6 (Activation) (None, 128) 0
_________________________________________________________________
batch_normalization_6 (Batch (None, 128) 512
_________________________________________________________________
dropout_6 (Dropout) (None, 128) 0
_________________________________________________________________
dense_2 (Dense) (None, 135) 17415
_________________________________________________________________
activation_7 (Activation) (None, 135) 0
=================================================================
Total params: 1,852,743
Trainable params: 1,850,503
Non-trainable params: 2,240