首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

%%=========================================================================  
%函数名称: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  
    end  
end  
 
net.ffW = net.ffW - opts.alpha * net.dffW;  
net.ffb = net.ffb - opts.alpha * net.dffb;  
end  

量化投资与机器学习

知识、能力、深度、专业

勤奋、天赋、耐得住寂寞

举报
领券