Neural Network Toolboxでバッ​クプロパゲーション(​Back-Propa​gation)型ネッ​トワークの中間層(隠​れ層)の値を確認する​ことはできますか?

1 view (last 30 days)
Neural Network Toolboxでバックプロパゲーション(Back-Propagation)型ネットワークの中間層(隠れ層)の値を確認することはできますか?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Oct 2013
生成されたnetworkオブジェクトのoutputConnectプロパティを編集することで中間層の値を出力することができます。
例えば、下記のような入力層2ユニット, 中間層3ユニット, 出力層1ユニットを持つ、3層バックプロパゲーション型ネットワークで確認してみます。
P = [0 1 0 1;0 0 1 1]; % 入力信号
T = [0 1 1 0]; % 教師信号
% バックプロパゲーション型ネットワークの作成
net = newff(minmax(P),[3 1],{'logsig' 'logsig'});
net = train(net,P,T); % ネットワークの学習
ここで、networkオブジェクトのoutputConnectプロパティを確認すると、下記実行例のように1x2のベクトルが出力されます。
>> net.outputConnect
ans =
0 1
1番目のインデックスは中間層のフラグを示し、2番目のインデックスは出力層のフラグを示します。デフォルトでは、出力層が出力するように設定されています。
中間層を出力する場合は、下記実行例のようにoutputConnectプロパティを編集した後、シミュレーションを行います。
>> net.outputConnect = [1 0]; % シミュレーションの実行結果の出力を中間層に設定
>> H = sim(net,P) % シミュレーション
H =
0.9589 0.7112 1.0000 1.0000
0.0000 0.0360 0.0036 0.9853
0.0058 0.9940 0.9977 1.0000

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!