Можно ли научить нейросеть определить, есть ли в последовательности из 10 чисел 3 подряд убывающих?

Здравствуйте
Я хочу составить 1d сеть, у которой на входе будут последовательности из 10 чисел, а на выходе - true / false в зависимости от того, есть ли в этом наборе чисел последовательность из ровно трёх убывающих ?

Я могу генерировать огромное количество таких последовательностей, где гарантированно есть или нет такой признак.
Входной слой по идее примерно такой

import torch.nn as nn
nn.Conv1d(in_channels=1, out_channels=5, kernel_size=(5,), stride=(1,))


(kernel_size 5 потому, что нужно 5 чисел, чтобы убедиться, что только 3 из них убывают)
И на этом мысль останавливается.

может ли сеть вообще обобщить такие признаки ?

Зарангее благодарен за подсказки
Спасибо !
  • Вопрос задан
  • 247 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
В теории может.
Чтобы это осознать, попробуй на упрощенном примере, вручную, создать нейронную сеть из минимального количества нейронов, которая бы сравнивала два числа. Каждый нейрон берет сумму ax+by от его входов,и коэффициенты могут быть отрицательными (т.е. может быть и разность) а значит результат, если одно число больше другого станет либо отрицательным либо положительным на выходе - вот уже четкий четкий сигнал для следующего.

Однослойный перцептрон однозначно на это не способен, один слой может только сравнивать два числа (при этом любые, соседние или нет, для этого количество нейронов в первом слое должно быть квадрат от количества входов, если надо три соседних то нейронов должно быть 3n), дальше нужен еще минимум один слой (а скорее больше) чтобы свести результаты в один выход
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы