Если точность обучения низкая, это означает, что вы выполняете недостаточное обучение (высокое смещение - hign bias).
Некоторые вещи, которые вы могли бы попробовать (возможно, по порядку):
Увеличьте мощность модели. Добавляйте больше слоев, добавляйте больше нейронов, экспериментируйте с лучшими архитектурами.
Проверьте свой код. Вы уверены, что делаете все правильно?
Поиграйте с гиперпараметрами. Используйте ReLU (если он сверточный), используйте пакетную норму,
Используйте продвинутый оптимизатор (например, Adam).
Тренируйтесь дольше.
Удалите все формы регуляризации (L2, отсев, увеличение данных)
Перенос обучения — если вы найдете ANN, обученную чему-то подобному, вы можете продолжить обучение на своих данных, а не обучать все с нуля.
Я не уверен, что добавление дополнительных обучающих данных (как упоминалось в другом постере) является хорошей идеей (на самом деле, скорее всего, это не с учетом того, что ваша модель изо всех сил пытается соответствовать вашему существующему обучающему набору, и добавление дополнительных данных будет усложнять процесс). Вы добавляете данные, чтобы уменьшить дисперсию модели (переобучение), но ваша проблема в другом.
Если у вас есть табличные данные, то, вероятно, лучших архитектур не так много. Я больше думал о CNN/RNN, но они используются, когда данные более структурированы (например, изображения).
=========================
Моя лучшая рекомендация - иметь 2 скрытых слоя и сделать сеть очень большой (например, 100-1000 нейронов для слоев) - отредактировано число нейронов на слой.
Если это не сработает, проверьте свой код. Вы могли что-то забыть. Кроме того, везде замените сигмоиды/tahn на ReLU.