openloop
ニューラル ネットワークの閉ループ フィードバックから開ループへの変換
構文
net = openloop(net)
[net,xi,ai] = openloop(net,xi,ai)
説明
net = openloop(net) は、ニューラル ネットワークを受け取り、閉ループ フィードバックを開ループに変換します。これは、net.outputs{i}.feedbackMode プロパティが 'closed' である各フィードバック出力 i について、関連するフィードバック層の重みを、新しい入力と入力重みの接続に置き換えます。net.outputs{i}.feedbackMode プロパティが 'open' に設定され、net.outputs{i}.feedbackInput プロパティが新しい入力のインデックスに設定されます。最後に、フィードバック入力の重みの遅延 (置き換えられた層重みの遅延の値) から net.outputs{i}.feedbackDelays の値が減算されます。
[net,xi,ai] = openloop(net,xi,ai) は、閉ループ ネットワーク、およびその現在の入力遅延状態 xi と層遅延状態 ai を、開ループの形式に変換します。
例
NARX ネットワークから開ループ形式への変換
この例では、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);
net = openloop(net);
view(net)
[Xs,Xi,Ai,Ts] = preparets(net,X,{},T);
Yopen = net(Xs,Xi,Ai);バージョン履歴
R2010b で導入