How to get Gradient from Network Created by Neural Network Toolbox?
显示 更早的评论
How can the gradient of the performance function with respect to the weights and biases of a neural network created by the Neural Network Toolbox be obtained? I am looking for a function analogous to "getwb".
[x,t] = simplefit_dataset;
net = feedforwardnet(10);
net = train(net,x,t);
wb = getwb(net);
gwb = ????; % something analogous to getwb(net)
% resulting in a 31x1 vector
Thanks, Ahmed
采纳的回答
更多回答(1 个)
Greg Heath
2013-6-3
1 个投票
[x,t] = simplefit_dataset;
net = fitnet; % No need for feedforwardnet
rng(0) % Convenient for duplicating the run
[ net tr ] = train(net,x,t);
wb = getwb(net);
tr = tr % No semicolon...Look at all of the goodies!
stopcrit = tr.stop
bestepoch = tr.best_epoch
gradient = tr.gradient; %complete history
Hope this helps
Thank you for formally accepting my answer
Greg ;
7 个评论
Ahmed
2013-6-4
Greg Heath
2013-6-4
Either output wb every epoch or dig into the source code of trainlm.
Ahmed
2013-6-6
Greg Heath
2013-6-8
Yes. Then approximate the derivatives with finite differences. {Novel idea!)
Zheng Chai
2017-12-19
Hi Greg, sorry to bother you but do you know how to get the weights and biases after each epoch? I mean record the w&b within training. You mentioned dig into the source code of trainlm, can you help me with where to insert my command in trainlm? I am a beginner and know little about matlab. Many thanks.
Greg Heath
2017-12-19
编辑:Greg Heath
2017-12-19
Sorry, Each year it seems that MATLAB modifies code, presumably to make it better in some esoteric way.
However an annoying result is that the code has become more and more difficult for the average user to understand.
Greg
PS Try contacting MATLAB directly.
Zheng Chai
2017-12-20
Thank you so much Greg. Indeed Matlab modified its code. I could not find a proper helper function in my R2013b, but after updating it to R2017b, I found it. Thank you again for your kind help.
类别
在 帮助中心 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!