CNTK C# API中TrainingParameterScheduleDouble工作原理咨询
确认CNTK C# API中TrainingParameterScheduleDouble的行为逻辑
我最近在研究CNTK的C# API,卡在了TrainingParameterScheduleDouble的工作机制上——官方完全没有相关的文档说明,之前查Stack Overflow的旧线程,要么内容有误要么信息不全,没办法只能自己逆向推导它的行为逻辑。想请各位有经验的大佬帮忙确认我的结论是否正确,同时解答我还没搞明白的疑问:
重载#1:TrainingParameterScheduleDouble(value, minibatchSize)
我目前推导出来的结论是:这个重载会将学习率设置为每minibatchSize个样本对应value,而且这个规则不受实际训练时使用的小批量样本数量影响——哪怕实际每次喂入模型的小批量样本数和这里传入的minibatchSize不一致,学习率的计算依然严格遵循这个参数设定。
不过这里我还有个疑问:比如如果我传入value=0.1、minibatchSize=32,是说每累计处理32个样本就应用一次0.1的学习率?还是说实际生效的学习率是value / minibatchSize(也就是把学习率按样本数做了归一化)?这部分我始终没完全搞清楚,希望能得到明确的解释。
内容的提问来源于stack exchange,提问作者Brian Berns
相关产品推荐
相关产品推荐

