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

绞铜机 东莞网站建设wordpress 文章采集

绞铜机 东莞网站建设,wordpress 文章采集,免费下载官方百度,北京高端网站制作Optimization 1.Adaptive Learning Rate2.不同的参数需要不同的学习率3.Root Mean Square4.RMSProp5.Adam6.learning rate scheduling7.warm up总结 critical point不一定是你在训练一个network时候遇到的最大的障碍。 1.Adaptive Learning Rate 也就是我们要给每个参数不同的… Optimization 1.Adaptive Learning Rate2.不同的参数需要不同的学习率3.Root Mean Square4.RMSProp5.Adam6.learning rate scheduling7.warm up总结 critical point不一定是你在训练一个network时候遇到的最大的障碍。 1.Adaptive Learning Rate 也就是我们要给每个参数不同的Learning rate 往往在训练一个network的时候,你会把他的loss记录下来,随着你参数不断的update,你的loss呢不再下降了,就卡住了。。那多数时候这个时候大家就会猜说诶,那是不是走到了critical point因为gradient等于零的关系所以我们没有办法再更新参数。 当我们说走到critical point的时候意味着gradient非常的小但是你有确认过当你的loss不再下降的时候gradient真的很小吗其实并不然。 下面这个例子当我们的loss不再下降的时候gradient的这个向量并没有真的变得很小在最后训练的最终结的时候loss几乎没有在减少了但是gradient却突然还上升了一下。这个是我们的error surface现在的gradient在error surface的两个谷壁间不断的来回的震荡这个时候你的loss不会再下降所以你会觉得看到这样子的状况但是实际上他真的卡到了critical point、卡到了settle point、卡到了local minima吗不是的。它的gradient仍然很大只是loss不见得在减小了。 所以当你今天你训练个network后来发现loss不再下降的时候可能只是单纯的loss没有办法在下降而不是卡在了那些点上。 我们在训练的时候其实很少卡到settle point或者是local minima多数时候training在还没有走到critical point的时候就已经停止了但这并不代表说critical point不是一个问题我们真正当你用gradient descent来做optimization的时候你真正应该怪罪的对象往往不是critical point而是其他的原因。 那为什么如果今天critical point不是问题的话为什么我们的training会卡住呢我这边举一个非常简单的例子。 你会发现说就连这种convex的error surface形状这么简单的error surface你用gradient descent都不见得能把它做好 学习率 1 0 − 2 10^-2 10−2,时候在震荡没有办法慢慢的滑到山谷里面这时试着去调整了这个learning rate 学习率 1 0 − 7 10^-7 10−7终于不再震荡了终于从这个地方滑滑滑滑滑滑到山谷底然后终于左转了但是你发现说这个训练永远走不到终点因为我的learning rate已经太小了在这个很斜的地方这个坡度很陡gradient的值很大所以还能够前进一点左转后的这个地方坡度已经非常的平滑了这么小的learning rate根本没有办法再让我们的训练前进 gradient descent这个工具连这么简单的error surface都做不好那如果难的问题他又怎么有可能做好呢 那怎么把gradient descent做得更好呢在之前我们的gradient descent里面所有的参数都是设同样的learning rate这显然是不够的learning rate应该要为每一个参数特制化。 2.不同的参数需要不同的学习率 大原则如果在某一个方向上gradient的值很小在某一个方向上非常的平坦那我们会希望learning rate调大一点如果在某一个方向上非常的陡峭某一个方向上坡度很大那我learning rate可以设的小一点。 之前在讲gradient descent的时候往往是讲所有参数update的式子为了简化问题我们现在只看一个参数你完全可以把这个方法推广到所有参数的状况。 不同的参数我们要给它不同的sigma同时他也是iteration dependent的不同的iteration我们也会有不同的sigma。 如何计算这个sigma呢 一个常见的类型是算gradient的Root Mean Square 3.Root Mean Square 这样的话坡度比较大的时候learning rate就减小坡度比较小的时候learning rate就放大。 坡度比较小的时候如 θ 1 \theta_1 θ1​,g小– σ \sigma σ小—learning rate就大你在update的时候的量啊就比较大 坡度比较大的时候如 θ 2 \theta_2 θ2​,g大– σ \sigma σ大—learning rate就小 所以有了 σ \sigma σ这一项以后你就可以随着gradient的不同每个参数gradient的不同来自动的调整learning rate的大小 上面的这个参数不会随时间改变我们刚才的假设是同一个参数它的gradient的大小就会固定是差不多的值如果来看这个新月型的error surface考虑横轴的话有的地方地方坡度比较平滑有的地方地方坡度比较陡峭所以就算是同个参数同一个方向我们也期待说learning rate是可以动态的调整的。 所以就有了RMSProp 4.RMSProp 这个方法没有论文。 这个方法的第一步跟刚才讲的算Root Mean Square一模一样 第二步算 σ 1 \sigma_1 σ1​的方法和算Root Mean Square的时候不一样上一个的每一个gradient都有同等的重要性但在RMSProp你可以自己调整现在的这个gradient的重要性 如果我 α \alpha α设很小趋近于零就代表说我觉得g1相较于之前所算出来的gradient而言比较重要;如果我 α \alpha α设很大趋近于1那就代表说我觉得现在算出来的g1比较不重要。 这个 α \alpha α就会决定现在刚算出来的 g t g_t gt​它有多重要 如果你用RMSProp的话,你就可以动态调整 σ 1 \sigma_1 σ1​这一项. 比如下面的黑线是我们的error surface开始小球一路平坦说明G算出来很小G算出来很小就代表说这个 σ \sigma σ算出来很小 σ \sigma σ算出来很小就代表说现在update参数的时候我们会走比较大的步伐 当滚到斜坡时候我们gradient变大了如果是Adam的话,它反应比较慢;但如果你用RMSProp,把 α \alpha α设小就是让新看到的gradient影响比较大那你就可以很快的让 σ \sigma σ的值变大然后很快让你的步伐呢变小。 又走到平滑的地方时候调整 α \alpha α让他比较看重于最近算出来的gradient所以你gradient变小它的这个 σ \sigma σ的值变大值呢就变小了然后呢你走的步伐呢就变大了。 5.Adam 最常用optimization的策略就是AdamRMSPropMomentum 我们再看开始的例子用了第二个的方法后做起来是这个样子的。这个gradient都取平方再平均再开根号然后接下来在左转的时候刚才我们update了10万次卡住了现在可以继续走下去因为这个左右的方向的这个gradient很小所以learning rate会自动调整左右这个方向learning rate会自动变大所以这个步伐呢就可以变大。 但走着走着突然爆炸了为什么走到这边突然爆炸了呢因为我们在算这个 σ \sigma σ的时候是把过去所有看到的gradient都拿来做平均所以这个纵轴的这个方向这个纵轴的方向虽然在初始的这个地方感觉gradient很大但是这边走了很长一段路以后这个纵轴的方向gradient算出来都很小所以纵轴的这个方向就累积了小的 σ \sigma σ累积到一个地步以后这个step就变很大然后就暴走就喷出去了 不过喷出去后走到gradient比较大的地方以后 σ \sigma σ又慢慢的变大 σ \sigma σ变大以后这个参数update的距离update的这个步伐大小又慢慢的变小所以就发现说诶走着走着突然往左右喷了一下但是这个喷这个喷了一下不会永远就是震荡不会做简谐运动他这个左这个这个力道会慢慢变小让它慢慢的慢慢的又回到中间这个峡谷了。 这样怎么办呢有一个方法也许可以解决这个问题这个叫做learning rate schedule 6.learning rate scheduling 我们这个式子还有个参数 η \eta η,他要是跟时间有关的我们不要把它当成一个常数。 最常见的策略啊叫做learning rate decay也就是说随着时间不断的进行随着参数不断的update我们这个 η \eta η让它越来越小让这个learning rate越来越小。 为什么要让这个learning rate越来越小呢因为一开始我们距离终点很远随着参数不断update我们距离终点越来越近我们参数的更新要能够慢慢的慢下来。 所以刚才那个状况如果加上learning rate decay的话我们就可以很平顺的走到终点。因为在后面这个 η \eta η已经变得非常的小了虽然说他本来想要左右乱喷但是会乘上这个非常小的 η \eta η那就停下来了就可以慢慢的走到终点。 除了learning rate decay以外还有另外一个经典非常常用的learning rate schedule的方式叫做warm up。 7.warm up 这个warm up的方法是说我们这个learning rate要先变大后变小 Residual Network这边特别注明它反其道而行,一开始要设0.01,接下来设0.1,还特别加个注解 同时warm up在transformer里面也用一个式子提了它好你实际上把它的把这个方程画出来就会发现它就2learning rate会先增加然后接下来再递减。 所以发现说warm up这个技术在很多知名的network里面都有被当做一个黑科技就论文里面不解释说为什么要用这个但就偷偷在一个小地方你没有注意到。 那为什么需要warm up呢这个仍然是今天一个可以研究的问题了。 这边有一个可能的解释是说当我们在用Adam、RMSProp时候我们要计算 σ \sigma σ这个sigma它是一个统计的结果告诉我们说某一个方向他到底有多陡或者是多平滑那这个统计的结果要看了够多笔数据以后这个统计才精准所以我们一开始呢 σ \sigma σ不精准所以开始不要让我们的参数走离初始的地方太远一开始让learning rate比较小是让他探索搜集一些有关error surface的情报等sigma统计比较精准以后再把让learning ray呢慢慢的爬升这是一个解释为什么我们需要warm up的可能性。 如果你想要学更多有关warm up的东西的话可以看RAdam。 总结 有关optimization的部分我们从最原始的gradient descent进化到下面这个版本 这个版本我们有momentum也就是说我们现在不是完全顺着这个时间点算出来gradient的方向来更新参数的而是把过去所有算出来的规定的方向做一个加总当做update方向这个是momentum。 那接下来到底应该要update多大的步伐呢我们要除掉gradient的root mean square。 疑问这个momentum是考虑过去所有的gradient这个 σ \sigma σ也是考虑过去所有的gradient一个放在分子一个放在分母都考虑过去所有的gradient不就是正好抵消了吗 其实这个momentum和 σ \sigma σ他们在使用过去所有gradient的方式是不一样的。 momentum是直接把所有的gradient通通都加起来他有考虑方向考虑gradient的正负号考虑gradient是往左走还是往右走。 但是root mean square它不考虑gradient的方向了它只考虑gradient的大小我们在算 σ \sigma σ时候都要取平方向把gradient取一个平方向是把平方的结果加起来所以我们只考虑gradient的大小不考虑它的方。 所以momentum跟这个 σ \sigma σ算出来的结果并不会互相抵消掉。 最后我们还会加上一个learning rate的schedule。 这种optimizer除了Adam以外还有各式各样的变形.
http://www.pierceye.com/news/41302/

相关文章:

  • 点击未来网站建设超市如何建立网站
  • 做网站的相关协议昌乐网站制作
  • 海淘网站建设网页游戏传奇图片
  • 南昌网站建设模板网络公司企业网站 优秀
  • 北京互联网网站建设网站论坛怎么建设
  • 网络公司做的网站被告图片侵权网站建设重要新
  • ftp网站服务器百度西安分公司地址
  • 湖州房产网站建设wordpress程序安装包
  • 做海报的素材哪个网站wordpress主机模板
  • 新闻类网站开发dedecms建设慕课网站
  • 太原百度网站排名优化域名服务器如何申请
  • 做外贸方面的网站hao123网址之家官网
  • 外贸网站个性设计想学网络运营怎么开始
  • 做网站的服务器带宽一般多少怎么对一个网站做优化
  • 在家建设一个网站需要什么品牌策划费用预算
  • 宜兴做网站的公司制作视频剪辑
  • 北京建网站的公司哪个比较好广告推广软件
  • php下载站源码网站导航设计技巧
  • 餐饮 网站模板seo网站关键词优化工具
  • 社团网站开发模板中国建筑今天最新消息
  • 空壳网站查询优化大师手机版
  • 深圳网站设计go专门做毕业设计的网站
  • 做竞猜网站犯法吗农资销售网站建设方案
  • 中山网站建设文化平台广告设计公司设计收费标准
  • 成都网站建设价格wordpress 手机 登陆不了
  • 迎中国建设银行网站一键做网站
  • 石家庄城乡建设局网站6网站备案 厦门
  • 建筑学院网站网页界面设计历史
  • 国内哪家网站建设公司好快三直播app下载平台
  • 网站备案号不存在广州工程公司有哪些