深度学习Matlab工具箱代码注释——cnnapplygrads.m

来源:互联网 发布:parent:: php 编辑:程序博客网 时间:2024/06/05 06:06
%%=========================================================================%函数名称:cnnapplygrads(),权值更新函数%输入参数:net,权值待更新的卷积神经网络;opts,神经网络训练的相关参数%输出参数:%算法流程:先更新卷积层的参数,再更新全连接层参数%注意事项:%%=========================================================================function net = cnnapplygrads(net, opts)for l = 2 : numel(net.layers)    if strcmp(net.layers{l}.type, 'c')        for j = 1 : numel(net.layers{l}.a)            for ii = 1 : numel(net.layers{l - 1}.a)                                %这里没什么好说的,就是普通的权值更新的公式:W_new = W_old - alpha * de/dW(误差对权值导数)                net.layers{l}.k{ii}{j} = net.layers{l}.k{ii}{j} - opts.alpha * net.layers{l}.dk{ii}{j};            end            net.layers{l}.b{j} = net.layers{l}.b{j} - opts.alpha * net.layers{l}.db{j};        end    endendnet.ffW = net.ffW - opts.alpha * net.dffW;net.ffb = net.ffb - opts.alpha * net.dffb;end

1 0
原创粉丝点击