Timedelaynet output calculation principle
1 次查看(过去 30 天)
显示 更早的评论
I have built a focused time-delay NN (two delays, 2 layers, hidden layer size of 2) and changed all the inputweights and layerweights to be zero (no bias is used). I would expect all zero output, but why the code give me nonzero values. Is there anybody can give suggestions on what's wrong? The simple code is shown as following:
clear;
numtaps = 2;
hiddenLayerSize = 2;
dyn_net = timedelaynet(1:numtaps,hiddenLayerSize);
dyn_net.trainFcn = 'trainlm';
dyn_net.layers{1}.transferFcn = 'tansig';
dyn_net.initFcn = 'initlay';
dyn_net.performFcn = 'mse';
dyn_net.biasConnect = [0;0];
dyn_net.trainParam.epochs = 1;
inputs = 0:0.1:1;
targets= 0:0.1:1;
inputs_1c = num2cell(inputs,1);
targets_1c = num2cell(targets,1);
[p,Pi,Ai,t] = preparets(dyn_net,inputs_1c,targets_1c);
[dyn_net,dyn_tr] = train(dyn_net,p,t,Pi,Ai);
dyn_net.IW{1,1} =[0 0;0 0];
dyn_net.LW{2,1} =[0 0];
output = dyn_net(p,Pi);
outputs1 = cell2mat(output); % I should expect zero, but the outputs are all 0.6.
dyn_net.LW{2,1}*tansig(dyn_net.IW{1,1}*(inputs(6:7)).') % This calculation gives me zero
0 个评论
回答(1 个)
Greg Heath
2019-9-9
You did not include tHe 2 biases.
Hope this helps.
Greg
THANK YOU FOR FORMALLY ACCEPTING MY ANSWER
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!