NetPortGradient

NetPortGradient["port"]

表示一个网络的输出相对于指定输入端口的梯度.

NetPortGradient["param"]

表示输出相对于学到的名为 param 的参数的梯度.

NetPortGradient[{layer1,layer2,,"param"}]

表示相对于网络中特定位置的参数的梯度.

NetPortGradient[All]

表示相对于所有输入和参数的梯度.

更多信息

  • NetPortGradient 通常用于计算相对于网络的学到的参数的梯度和相对于网络输入的梯度.
  • 对于应用于指定数据的网络,可以用 net[data,NetPortGradient[iport]] 来获取相对于输入端口 iport 的梯度.
  • net[<|,NetPortGradient[oport]ograd|>,NetPortGradient[iport]] 可用于在输出端口 oport 强加梯度,它会被反向传递计算在 iport 的梯度.
  • 对于具有单一标量输出端口的网络,当使用 NetPortGradient 时,所返回的梯度是普通数学意义上的梯度:对于计算 的网络,其中 是一个数组,其梯度被计算,而 表示所有其他数组,梯度是与 同秩的数组,其分量通过 给出. 直观地说, 在某个特定值的梯度是影响 ,以使得 增加的最佳方向,其中梯度的幅值与 对于 变化的灵敏度成正比.
  • 对于带有向量或数组输出的网络,当使用 NetPortGradient 返回的梯度是所有输出的标量和的普通梯度. 使用语法 <|,NetPortGradient[oport]ograd|> 在输出强加梯度等价于用输出和 ograd 间的点积替代该标量和.
  • 使用 NetPortGradient 计算关于网络学习参数的梯度会返回输入批次上梯度之和.

范例

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

基本范例  (3)

创建元素网络层,返回输入相对于输出的导数:

负数的导数为零:

随机初始化一个 LinearLayer,返回对于特定输入值,输出相对于输入的导数:

与纯数值计算的结果相比较:

创建一个二元交叉熵损失层:

计算输入和目标的损失:

输入的导数是负的,因为输入低于目标(增大输入将会降低损失):

输入高于目标时,输入的导数是正的:

输入等于目标时,导数为零:

范围  (2)

随机初始化线性层链:

对于特定输入值,返回输出相对于第一层的权重和偏差的导数:

计算输入的梯度:

在输出强加梯度:

一次计算所有梯度:

PoolingLayer 连到提取红色通道的 PartLayer

计算测试图像的输入梯度:

可视化梯度,可以看出只有在把离现有红色区域较远的地方或白色区域染红的情况下,网络的总输出才会增加:

属性和关系  (1)

输出数组上假设的默认梯度是由 1 组成的数组.

随机初始化线性层的链:

计算输入的梯度:

这等同于在输出中强加由所有 1 组成的梯度:

在输出中强加不同的梯度:

可能存在的问题  (1)

任何网络学习参数的梯度会是一批输入范例的总和:

Wolfram Research (2017),NetPortGradient,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetPortGradient.html (更新于 2022 年).

文本

Wolfram Research (2017),NetPortGradient,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetPortGradient.html (更新于 2022 年).

CMS

Wolfram 语言. 2017. "NetPortGradient." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/NetPortGradient.html.

APA

Wolfram 语言. (2017). NetPortGradient. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetPortGradient.html 年

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_netportgradient, organization={Wolfram Research}, title={NetPortGradient}, year={2022}, url={https://reference.wolfram.com/language/ref/NetPortGradient.html}, note=[Accessed: 21-November-2024 ]}