LearningRateMultipliers
更多信息
- 在缺省设置 LearningRateMultipliers->Automatic 的情况下,所有层以同样的速率进行学习.
- LearningRateMultipliers->{rule1,rule2,…} 指定一组规则,用来确定网络中每个可训练数组的学习率乘子.
- 在 LearningRateMultipliers->{rule1,rule2,…} 中,每个 rulei 可以为以下形式:
-
"part"r 对已命名的网络层、子网络或网络层中的数组应用乘子 r nr 对第 n 层使用乘子 r m;;nr 对第 m 层到第 n 层使用乘子 r {part1,part2,…}r 对嵌套网络层或数组应用乘子 r _r 对所有层使用乘子 r - LearningRateMultipliersr 指定对所有可训练数组使用相同的乘子 r.
- 如果 r 为零或 None,则指定不要对该层或数组进行训练,NetTrain 应保持其不变.
- 如果 r 为正数或负数,则将指定一个乘子,以应用于由训练方法选择的全局学习率,从而确定给定层或数组的学习率.
- 对于每个可训练数组,由第一个匹配的规则给定学习速率,如果没有匹配的规则,则速率为 1.
- 为子网络(如嵌套的 NetChain 或 NetGraph)指定的规则适用于该子网络内的所有层和数组.
- LearningRateMultipliers->{part->None} 可用于“冻结”特定部分.
- LearningRateMultipliers->{part->1,_->None} 可用于“冻结”特定部分之外的所有层.
- LearningRateMultipliers 用来引用网络部分的层次结构规范 {part1,part2,…} 等同于 NetExtract 和 NetReplacePart.
- Information[net,"ArraysLearningRateMultipliers"] 生成网络中所有数组的默认学习率乘子.
- 可以通过属性 "ArraysLearningRateMultipliers" 从 NetTrainResultsObject 获得在训练时真正使用的乘子.
范例
打开所有单元关闭所有单元基本范例 (2)
获取将在 NetTrain 中用于网络中所有的数组的默认使用的学习率乘子:
范围 (1)
在网络中替换学习速率乘法器 LearningRateMultipliers (1)
应用 (1)
属性和关系 (1)
用指定的学习速率倍数在 MNIST 数据集上训练 LeNet 网络,返回一个 NetTrainResultsObject:
可能存在的问题 (1)
当共享数组出现在网络中的多个位置时,唯一的学习率乘子将被应用于所有出现的共享数组.
为网络中的共享数组指定 LearningRateMultipliers 会将相同的乘子分配给所有位置:
如果 LearningRateMultipliers 是在构造网络时指定的,也会发生相同的情况:
Wolfram Research (2017),LearningRateMultipliers,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LearningRateMultipliers.html (更新于 2020 年).
文本
Wolfram Research (2017),LearningRateMultipliers,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LearningRateMultipliers.html (更新于 2020 年).
CMS
Wolfram 语言. 2017. "LearningRateMultipliers." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/LearningRateMultipliers.html.
APA
Wolfram 语言. (2017). LearningRateMultipliers. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LearningRateMultipliers.html 年