I am currently working on a project focused on lip reading using neural networks and have encountered a peculiar issue that has left me scratching my head. Despite my best efforts, I am consistently getting the same training and validation accuracy. I believe there might be something wrong with my model architecture or training process.
I have designed a neural network for lip reading, and the architecture is as follows:
input_shape = (22, 80, 112, 3)
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Conv3D(8, (3, 3, 3), activation='relu', input_shape=input_shape, kernel_regularizer=regularizers.l2(0.001)))
model.add(tf.keras.layers.MaxPooling3D((2, 2, 2)))
model.add(tf.keras.layers.Conv3D(32, (3, 3, 3), activation='relu', kernel_regularizer=regularizers.l2(0.001)))
model.add(tf.keras.layers.MaxPooling3D((2, 2, 2)))
model.add(tf.keras.layers.Reshape((16, 3744), input_shape=input_shape))
model.add(tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(256, return_sequences=True)))
model.add(tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(128)))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(1024, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(256, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(50, activation='softmax'))
model.compile(optimizer=Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy'])
The issue I am facing is that both training and validation accuracy seem to plateau at the same level beyond 6th
epoch, indicating a potential problem. I have tried tweaking hyperparameters, adjusting layers, and even modifying the architecture, but the problem persists. I have low training and validation accuracy of 30%
Questions:
- Is there anything wrong with my model architecture?
- Are there specific hyperparameters that I should focus on adjusting for better convergence?
I appreciate your time and expertise in advance.Looking forward to your responses!