Contenido principal

openloop

Convertir la retroalimentación de lazo cerrado de una red neuronal a una de lazo abierto

Sintaxis

net = openloop(net)
[net,xi,ai] = openloop(net,xi,ai)

Descripción

net = openloop(net) toma una red neuronal y abre cualquier retroalimentación de lazo cerrado. Por cada salida de retroalimentación i cuya propiedad net.outputs{i}.feedbackMode sea 'closed', sustituye los pesos de la capa de retroalimentación asociada con una nueva entrada y conexiones de pesos de entrada. La propiedad net.outputs{i}.feedbackMode se establece en 'open' y la propiedad net.outputs{i}.feedbackInput se establece en el índice de la nueva entrada. Por último, el valor de net.outputs{i}.feedbackDelays se resta de los retardos de los pesos de entrada de retroalimentación (es decir, de los valores de los retardos de los pesos de la capa sustituidos).

[net,xi,ai] = openloop(net,xi,ai) convierte una red de lazo cerrado y sus estados de retardo de entrada xi y de retardo de capa ai actuales a una de lazo abierto.

Ejemplos

Convertir una red NARX en una de lazo abierto

En este ejemplo se muestra cómo crear una red NARX de lazo abierto, convertirla a una de lazo cerrado y, después, convertirla de nuevo en una de lazo abierto.

[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);

Figure Neural Network Training (09-Aug-2025 13:49:22) contains an object of type uigridlayout.

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);
net = openloop(net);
view(net)

[Xs,Xi,Ai,Ts] = preparets(net,X,{},T);
Yopen = net(Xs,Xi,Ai);

Convertir estados de retardo

Para ver ejemplos sobre el uso de closeloop y openloop para implementar la predicción de pasos múltiples, consulte narxnet y narnet.

Historial de versiones

Introducido en R2010b

Consulte también

| | |