メインコンテンツ

closeloop

(削除予定) ニューラル ネットワークの開ループ フィードバックの閉ループへの変換

closeloop は将来のリリースで削除される予定です。詳細については、Transition Legacy Neural Network Code to dlnetwork Workflowsを参照してください。

コードの更新に関するアドバイスについては、バージョン履歴を参照してください。

構文

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

説明

net = closeloop(net) は、ニューラル ネットワークを受け取り、開ループ フィードバックを閉ループ フィードバックに変換します。これは、net.outputs{i}.feedbackMode プロパティが 'open' である各フィードバック出力 i について、関連するフィードバック入力とその入力重みを、出力から伸びている層の重みの接続に置き換えます。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);

Figure Neural Network Training (24-Jan-2026 18:25:21) 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);

バージョン履歴

R2010b で導入

すべて折りたたむ