LearningRateMultipliers

LearningRateMultipliers

是网络层和 NetTrainNetChainNetGraph 的一个选项,用于指定在培训期间要应用的学习率乘子.

更多信息

  • 在缺省设置 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.
  • 为子网络(如嵌套的 NetChainNetGraph)指定的规则适用于该子网络内的所有层和数组.
  • LearningRateMultipliers->{part->None} 可用于冻结特定部分.
  • LearningRateMultipliers->{part->1,_->None} 可用于冻结特定部分之外的所有层.
  • LearningRateMultipliers 用来引用网络部分的层次结构规范 {part1,part2,} 等同于 NetExtractNetReplacePart.
  • Information[net,"ArraysLearningRateMultipliers"] 生成网络中所有数组的默认学习率乘子.
  • 可以通过属性 "ArraysLearningRateMultipliers"NetTrainResultsObject 获得在训练时真正使用的乘子.

范例

打开所有单元关闭所有单元

基本范例  (2)

创建并初始化一个有三个层的网络,但只训练最后一层:

在输入上运行训练过的网络:

开始时,初始网络的第一层的偏差为零:

训练过的网络中第一层的偏差依然为零:

第三层的偏差则是被训练过的:

创建具有给定数组值的冻结层:

将这一层嵌套在更大的网络中:

获取将在 NetTrain 中用于网络中所有的数组的默认使用的学习率乘子:

用网络进行训练:

检查训练时使用的学习率乘子:

训练期间被冻结的层的数组未发生变化:

范围  (1)

在网络中替换学习速率乘法器 LearningRateMultipliers  (1)

选取一个网络:

将该网络第一层的 LearningRateMultipliers 设为0:

程序化检验 LearningRateMultipliers 的选项值:

应用  (1)

训练一个现有网络来完成一个新任务. 获取一个在手写数字上预先训练过的卷积模型:

移除最后两层,添加上两个新的层,以便把图像分成 3 个类:

通过用不同的字体、大小和大小写栅格化字符 "x"、"y" 和 "z" 生成训练数据:

在新的任务上训练修改过的网络:

对未曾见过的字母进行分类:

在原有训练数据上测试性能,其中包括训练集和验证集:

属性和关系  (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 年

BibTeX

@misc{reference.wolfram_2024_learningratemultipliers, author="Wolfram Research", title="{LearningRateMultipliers}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/LearningRateMultipliers.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_learningratemultipliers, organization={Wolfram Research}, title={LearningRateMultipliers}, year={2020}, url={https://reference.wolfram.com/language/ref/LearningRateMultipliers.html}, note=[Accessed: 22-November-2024 ]}