Преобразуйте обратной связи разомкнутой нейронной сети в замкнутый цикл
net = closeloop(net)
[net,xi,ai] = closeloop(net,xi,ai)
net = closeloop(net)
принимает нейронную сеть и закрывает любой разомкнутый контур обратную связь. Для каждого выхода обратной связи i
свойство которого net.outputs{i}.feedbackMode
является 'open'
, он заменяет связанный с ним вход обратной связи и их входные веса весовыми соединениями слоя, исходящими от выхода. The net.outputs{i}.feedbackMode
для свойства задано значение 'closed'
, и net.outputs{i}.feedbackInput
для свойства задано значение пустой матрицы. Наконец, значение net.outputs{i}.feedbackDelays
добавляется к задержкам весов слоя обратной связи (т.е. к значениям задержек замененных входных весов).
[net,xi,ai] = closeloop(net,xi,ai)
преобразует сеть без разомкнутого контура и ее текущие входные состояния задержки xi
и состояния задержки слоя ai
в форму с обратной связью.
В этом примере показов, как спроектировать сеть NARX в разомкнутый контур форме, затем преобразовать ее в форму с обратной связью.
[X,T] = simplenarx_dataset; net = narxnet(1:2,1:2,10); [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); net = train(net,Xs,Ts,Xi,Ai); view(net) Yopen = net(Xs,Xi,Ai) net = closeloop(net) view(net) [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); Yclosed = net(Xs,Xi,Ai);
Для примеров по использованию closeloop
и openloop
для реализации многоступенчатого предсказания см. narxnet
и narnet
.