учитывая, что точность везде ровно 0.5, это значит, что нейросеть всегда предсказывает один класс из двух. возможно у вас слишком большой/слишком маленький шаг обучения в адаме. попробуйте шаги от 10^-3 до 10^-10 в цикле, на первых 10-20 эпохах. если не поможет, ищите проблему в данных.
for i in range(3, 10+1):
model.compile(optimizer=Adam(math.pow(10, -i)), ...)
model.fit(...)
также такое переобучение может быть из-за непосредственно данных, в моем проекте все веса моментально разгонялись до единицы, потому что я неправильно скейлил фото, и оно было не [0, 1], а [0,255]
у lrs кстати сигнатура другая, может он у вас не срабатывает даже.