I am using google colab to train a model for sign language recognition using this dataset: https://www.kaggle.com/feronial/turkish-sign-languagefinger-spelling
I tried different architecture for my CNN model but this one gives me the best results so far:
l2 = regularizers.l2(0.001) model = Sequential([ Conv2D(16, 3, padding='same', activation='relu',kernel_regularizer=l2, input_shape=(224, 224 ,3)), MaxPooling2D(), Dropout(0.35), Conv2D(32, 3, padding='same', activation='relu',kernel_regularizer=l2), MaxPooling2D(), Dropout(0.35), Conv2D(64, 3, padding='same', activation='relu',kernel_regularizer=l2), MaxPooling2D(), Dropout(0.35), Conv2D(128, 3, padding='same', activation='relu',kernel_regularizer=l2), MaxPooling2D(), Dropout(0.35), Flatten(), Dense(1024, activation='relu',kernel_regularizer=l2), Dropout(0.35), Dense(512, activation='relu',kernel_regularizer=l2), Dropout(0.35), Dense(23,activation="softmax") ])
i am using an ADAM optimizer with lr=0.001 and batch size of 32
i tried training for 50,100,200 epochs but the results weren't so much different.
I am getting 99-100% accuracy on training,
but only 70-75% accuracy on validation,
and a very low 30-40% accuracy on test.
can anyone point in a direction to improve these numbers?