在使用FTRL算法的时候,遇到了很多数值问题和稳定性问题,为了解决这些问题,设计了几个优化?
第一,引入正则防止奇异权重。在实践中,我们发现FTRL算法在运行中容易发生权重突然陡增的现象,通过在FTRL中引入变量z的二正则,可以有效抑制权重突然过大的现象;
第二,引入权重版本控制和梯度平均让更新更平滑。我们在更新梯度时,引入了Pull权重和Push梯度时的权重版本差打折机制,来减轻分布式下的梯度更新时worker和server的权重不一致的问题。我们进一步对minibatch下Server端的梯度和做平均,让模型权重更新过程更加平滑;
第三, 引入流式学习下的参数衰减机制。我们对FTRL算法中的w, z和n等变量在每次更新完之后,乘以一个衰减系数,让整个模型权重偏向最新数据,更好地捕获数据的时效性。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。