当前位置: 首页 > news >正文

自己做网站建设方案怎么做做新零售这些注册网站和找货源6

自己做网站建设方案怎么做,做新零售这些注册网站和找货源6,百度信息,寻找移动网站建设前言 最近读一个代码发现用了一个梯度更新方法, 刚开始还以为是什么奇奇怪怪的梯度下降法, 最后分析一下是用一阶梯度及其二次幂做的梯度更新。网上搜了一下, 果然就是称为Adam的梯度更新算法, 全称是:自适应矩估计(adaptive moment estimation) 国际惯例, 参考博文: 一文看…前言 最近读一个代码发现用了一个梯度更新方法, 刚开始还以为是什么奇奇怪怪的梯度下降法, 最后分析一下是用一阶梯度及其二次幂做的梯度更新。网上搜了一下, 果然就是称为Adam的梯度更新算法, 全称是:自适应矩估计(adaptive moment estimation) 国际惯例, 参考博文: 一文看懂各种神经网络优化算法从梯度下降到Adam方法 Adam一种随机优化方法 An overview of gradient descent optimization algorithms 梯度下降优化算法综述 Hinton的神经网络课程第六课 理论 由于参考博客介绍的很清晰, 我就直接撸公式了: 假设tt时刻, 目标函数对于参数的一阶导数是gtg_t,那么我们可以先计算 mtvtβ1mt−1(1−β1)gtβ2vt−1(1−β2)g2t\begin{aligned} m_tmt1−βt1vt^vt1−βt2\hat{m_t}=\frac{m_t}{1-\beta_1^t}\\ \hat{v_t}=\frac{v_t}{1-\beta_2^t}最后我们的梯度更新方法就是 θt1θt−η⋅mt^vt^−−√ϵ\theta_{t+1}=\theta_t-\eta\cdot\frac{\hat{m_t}}{\sqrt{\hat{v_t}}+\epsilon}注意几个量, η\eta是学习步长, 剩下的三个参数取值的建议是β10.9,β20.999,ϵ10−8\beta_1=0.9,\beta_2=0.999,\epsilon=10^{-8}, 分母中的ϵ\epsilon是为了防止除零. 其实这个步长的话,一般来说是建议选η0.001\eta=0.001之类的, 注意βt1,βt2\beta_1^t,\beta_2^t中的tt是参与指数运算的 其实再看一下公式,其实就是当前时刻的梯度更新利用了上一时刻的平方梯度vtv_t的指数衰减均值vt^\hat{v_t}和上一时刻的梯度mtm_t的指数衰减均值mt^\hat{m_t}代码实现 以下非一个神经网络的完整实现, 主要在于看看定义网络参数以后怎么去使用Adam去更新每一时刻的梯度, 在theano中的实现方法如下: 先看看神经网络的参数 self.layers [self.W0, self.W1, self.W2,self.b0, self.b1, self.b2]self.params sum([layer.params for layer in self.layers], []) 然后初始化一开始时候的mt,vtm_t,v_t,分别对应代码中的m0params,m1paramsm0params,m1params self.params network.params self.m0params [theano.shared(np.zeros(p.shape.eval(), dtypetheano.config.floatX), borrowTrue) for p in self.params] self.m1params [theano.shared(np.zeros(p.shape.eval(), dtypetheano.config.floatX), borrowTrue) for p in self.params] self.t theano.shared(np.array([1], dtypetheano.config.floatX)) 定义目标函数损失函数正则项: cost self.cost(network, input, output) network.cost(input) 计算当前梯度 gparams T.grad(cost, self.params) 计算m0params,m1paramsm0params,m1params m0params [self.beta1 * m0p (1-self.beta1) * gp for m0p, gp in zip(self.m0params, gparams)]m1params [self.beta2 * m1p (1-self.beta2) * (gp*gp) for m1p, gp in zip(self.m1params, gparams)] 使用Adam梯度更新 params [p - self.alpha * ((m0p/(1-(self.beta1**self.t[0]))) /(T.sqrt(m1p/(1-(self.beta2**self.t[0]))) self.eps))for p, m0p, m1p in zip(self.params, m0params, m1params)] 然后更新下一时刻网络中的梯度值,m0paramsm0params,m1paramsm1params,tscript typemath/tex idMathJax-Element-20t/script updates ([( p, pn) for p, pn in zip(self.params, params)] [(m0, m0n) for m0, m0n in zip(self.m0params, m0params)] [(m1, m1n) for m1, m1n in zip(self.m1params, m1params)] [(self.t, self.t1)])
http://www.pierceye.com/news/599878/

相关文章:

  • 外贸网站模板制作微营销推广方案
  • 网站开发体系用node.js可以做网站吗
  • 一个vps建两个网站怎么弄数据库网络营销应用方式
  • 网站开发快递c 网站开发入门视频教程
  • 阿里巴巴国际站介绍深圳网站建设 猴王网络
  • 扬中网站建设哪家好五百丁简历官网
  • 素马设计顾问讲解价格短视频seo什么意思
  • 注册域名查询网站智慧团建网站登陆平台
  • 网站建设和搜索引擎优化技术有哪些
  • 网站创建的基本流程seo网站排名全选
  • 乐山网站公众号建设wordpress微电影模板
  • 天津专门做网站长春市网站制作
  • 怎样用php做网站英文网站建设580
  • 凡客登录入口网站优化垂直化好还是扁平化好
  • 网站诊断高端网站建设 杭州
  • 营销网站案例北京公司建设网站
  • 网站建设全域云网店美工的职责有哪些
  • seo优化网站的手段亚洲国产中文域名查询
  • 网络营销网站源码学校网站建设评审会议通知
  • 品牌网站升级创意设计椅子
  • 海口网站制作公司商标注册网上查询
  • 世界上前端做的最好的网站2345浏览器官网网址
  • 做模板网站赚钱吗网站建设需要多少内存
  • C语言网站开发pdf专科网站开发简历
  • 静态网站怎么做优化网站建设用什么软件
  • 如何建设移动端网站物联网设计
  • 赣州网站设计哪里好天河网站建设多少钱
  • 做lol直播网站设计一个公司网站多少钱
  • 电商网站 投诉百度录入网站
  • 如何做产品网站网页论坛的网站开发项目