“让Keras更酷一些!”:分层的学习率和自由的梯度( 五 )
下面是一个封装好的实现:
使用示例:
几个注意事项:
1. 目前这种方式 , 只能用于自己动手写代码来构建模型的时候插入 , 无法对建立好的模型进行操作;
2. 如果有预训练权重 , 有两种加载方法 。 第一种是像刚才的使用示例一样 , 在定义层的时候通过 weights \n参数传入;第二种方法是建立好模型后(已经在相应的地方插入好 SetLearningRate) , 用 model.set_weights \n(weights) 来赋值 , 其中 weights 是“在 SetLearningRate 的位置已经被除以了 λ 或的原来模型的预训练权重”;
\n\t
3. 加载预训练权重的第二种方法看起来有点不知所云 , 但如果你已经理解了这一节的原理 , 那么应该能知道我在说什么 。 因为设置学习率是通过 weight * lamb 来实现的 , 所以 weight 的初始化要变为 weight / lamb;
4. 这个操作基本上不可逆 , 比如你一开始设置了 Embedding 层以总体的 1/10 比例的学习率来更新 , 那么很难在这个基础上 , 再将它改为\n 1/5 \n或者其他比例 。 (当然 , 如果你真的彻底搞懂了这一节的原理 , 并且也弄懂了加载预训练权重的第二种方法 , 那么还是有办法的 , 那时候相信你也能搞出来);
推荐阅读
- gen.g战队|转会流言板:截止11月9日的一些传言:尺帝留队,GEN在争取Canyon、Nuguri
- gt赛车7|三国杀:有关陆抗的一些冷门知识
- |米游社区能给你带来什么惊喜,玩家:一些热爱游戏的知己好友
- 剑三|纪念一些泰拉瑞亚手游当年玩的时候的趣事
- 旅行者|阴阳师:关于3000分以下炸盾流的一些心得
- fate grand order|Fate/Grand Order:关于妖兰五加成泛用队的一些简约数据
- 法术|《哈利波特:魔法觉醒》关于弗立维法术流派的一些经验和探讨
- 许攸|三国杀:一些标将技能的误解,快看看你中招没
- 魔兽世界|魔兽世界部分NPC被改名,全是女性,其中有一些甚至连性别都变了
- 三国杀|完美防御你可曾见过,三国杀只有她能做到,还带着一些暴力