Это зависит от того, как выглядит структура этих дефектов.
Учитывая, что у вас есть одномерный сигнал, я ожидаю, что ваши примеры представляют собой последовательность данных, которая фактически является окном над вашим непрерывным сигналом.
Существует несколько способов моделирования этой проблемы:
Раздвижное окно
Это работает, если все ваши примеры имеют одинаковую длину. В этом случае вы можете создать обычную сеть с прямой связью, которая просто принимает фиксированное количество шагов в качестве входных данных и возвращает единственную классификацию.
Если у ваших реальных данных недостаточно данных, вы можете дополнить их и если в нем больше данных, чем длина примера, вы скользите по последовательности (например, при размере окна 2 последовательность abcd превращается в [ab], [bc], [cd] и вы получаете 3 классификации).
Насколько я знаю, в DL4J нет ничего такого, что могло бы реализовать это решение. Но с другой стороны не должно быть слишком сложно реализовать это самостоятельно, используя RecordConverter.toRecord
и RecordConverter.toArray
для преобразования ваших реальных данных в NDArrays.
Рекуррентная сеть
Использование периодической сети Вы можете применить нейронную сеть к любой длине данных последовательности. Вероятно, это будет ваш выбор, если искомые ошибки могут иметь разную длину сигнала.
Периодическая сеть может иметь внутреннее состояние, которое обновляется при каждом вызове во время вывода, и она будет производить классификацию после каждого шага вашего сигнала.
Какое для вас правильное решение будет полностью зависеть от вашего конкретного конкретного варианта использования.