Добавьте задержку в ответ нейронной сети
net = adddelay(net,n)
net = adddelay(net,n)
принимает эти аргументы,
net | Нейронная сеть |
n | Количество задержек |
и возвращает сети с увеличением входных задержек и уменьшением задержек обратной связи на заданное количество задержек n
. Результатом является сеть, которая ведет себя идентично, за исключением того, что выходы получаются n
timesteps позже.
Если количество задержек n
не задан, используется значение по умолчанию одной задержки.
Этот пример создает, обучает и симулирует сеть задержки времени в ее исходном виде на входных временных рядах X
и целевые последовательные T
. Затем задержка удаляется и позже добавляется назад. Первый и третий выходы будут идентичными, второй результат будет включать новое предсказание для следующего шага.
[X,T] = simpleseries_dataset; net1 = timedelaynet(1:2,20); [Xs,Xi,Ai,Ts] = preparets(net1,X,T); net1 = train(net1,Xs,Ts,Xi); y1 = net1(Xs,Xi); view(net1)
net2 = removedelay(net1); [Xs,Xi,Ai,Ts] = preparets(net2,X,T); y2 = net2(Xs,Xi); view(net2)
net3 = adddelay(net2); [Xs,Xi,Ai,Ts] = preparets(net3,X,T); y3 = net3(Xs,Xi); view(net3)