Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

closeloop

ニューラル ネットワークの開ループ フィードバックを閉ループ フィードバックに変換

構文

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 ネットワークから閉ループ形式への変換

この例では、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 (27-Jul-2023 15:29:39) 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);

遅延状態の変換

closeloopopenloop を使用して複数ステップの予測を実装する例については、narxnet および narnet を参照してください。

バージョン履歴

R2010b で導入