DropoutLayer
表示一个网络层,在训练期间按 0.5 的概率将其输入元素设为零.
DropoutLayer[p]
在训练期间按概率 p 将其输入元素设为零.
更多信息和选项
- DropoutLayer 通常用来作为神经网络正则化的一种形式.
- DropoutLayer 通常用在 NetChain、NetGraph 等函数内部.
- 可以包括以下可选参数:
-
Method "Dropout" 使用的丢掉网络层的方法 "OutputPorts" "Output" 输出端口 - Method 选项的可能的显式设置包括:
-
"AlphaDropout" 保持输入常数的均值和方差不变;旨在与 ElementwiseLayer["SELU"] activation 一起使用 "Dropout" 在训练期间按概率 p 把输入元素设为零,把剩下的元素乘以 1/(1-p) - "OutputPorts" 选项的可能设置包括:
-
"BinaryMask" 应用于输入数据的二进制掩码 "Output" dropout 的输出 {port1,…} 有效端口的列表 - DropoutLayer 开放下列端口,以便用于 NetGraph 等:
-
"Input" 任意阶的数组或数组序列 "Output" 任意阶的数组或数组序列 - DropoutLayer 通常会从 NetChain 等函数中的上下文推断出输入的维度. 要显式指定如 {n1,n2,…} 这样的维度,可以用 DropoutLayer["Input"->{n1,n2,…}].
- DropoutLayer[…][input] 显式计算应用网络层后的输出.
- DropoutLayer[…][{input1,input2,…}] 显式计算每个 inputi 的输出.
- 当 NumericArray 作为输入时,输出将是 NumericArray.
- DropoutLayer 只是在训练中随机把输入元素置零. 在计算中 DropoutLayer 保持输入不变,除非在应用该层时指定了 NetEvaluationMode->"Train".
- Options[DropoutLayer] 给出构建网络层的默认选项的列表. Options[DropoutLayer[…]]给出在一些数据上运行网络层的默认选项列表.
- Information[DropoutLayer[…]] 给出关于该网络层的报告.
- Information[DropoutLayer[…],prop] 给出 DropoutLayer[…] 的属性 prop 的值. 可能的属性与 NetGraph 一样.
范例
打开所有单元关闭所有单元基本范例 (1)
范围 (2)
创建具有特定概率的 DropoutLayer:
创建一个 DropoutLayer,接受一幅 RGB 图像,返回一幅 RGB 图像:
通过把每个像素的颜色分量随机且独立的置零,DropoutLayer 对图像的 3 阶数组进行操作:
选项 (2)
Method (1)
用 "AlphaDropout" 作为丢掉网络层的方法,创建一个 DropoutLayer:
"OutputPorts" (1)
属性和关系 (1)
DropoutLayer 可被用在 NetChain 的循环层之间来进行正则化. 一个常见的用来对句子进行分类的网络可能会用以下形式采用 DropoutLayer:
可能存在的问题 (1)
默认情况下,由 NetEvaluationMode->"Train" 产生的任何随机性不受 SeedRandom 和 BlockRandom 的影响:
通过选项 RandomSeedingInherited 改变行为:
用选项 RandomSeeding 控制随机性:
文本
Wolfram Research (2016),DropoutLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DropoutLayer.html (更新于 2020 年).
CMS
Wolfram 语言. 2016. "DropoutLayer." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/DropoutLayer.html.
APA
Wolfram 语言. (2016). DropoutLayer. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DropoutLayer.html 年