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

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

 채택된 답변

MathWorks Support Team
MathWorks Support Team 2013년 10월 25일

0 개 추천

生成された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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!