DeconvolutionLayer

DeconvolutionLayer[n,sz]

表示有 n 个输出通道并使用大小为 sz 的内核计算去卷积的可培训的去卷积网络层.

DeconvolutionLayer[n,{s}]

表示执行内核大小为 s 的一维去卷积的层.

DeconvolutionLayer[n,{h,w}]

表示执行内核大小为 h×w 的二维去卷积的层.

DeconvolutionLayer[n,kernel,opts]

包括初始内核和其他参数的选项.

更多信息和选项

  • DeconvolutionLayer[][input] 显式计算把网络层应用到 input 后所得的输出.
  • DeconvolutionLayer[][{input1,input2,}] 显式计算每个 inputi 的输出.
  • 可以包含下列可选参数:
  • "Biases" Automatic初始的核偏差向量
    "ChannelGroups"1通道组的数量
    "Dilation" 1膨胀因子
    Interleaving False通道维度的位置
    LearningRateMultipliersAutomatic内核权重和/或偏差的学习速率倍增器
    PaddingSize 0从输出去除的填充数
    "Stride" 1使用的卷积步长大小
    "Weights" Automatic初始的核权重矩阵
  • PaddingSize 的设置可以是以下格式:
  • n在每个维度的首尾各裁剪 n 个元素
    {n1,n2,}用 n 个元素裁剪第 i 个维度的开头和结尾
    {{n1,m1},{n2,m2},}用开头的 ni 元素和结尾的 mi 元素裁剪第 i 个维度
    "Same"裁剪每个维度,使输出大小等于输入大小乘以步幅
  • "Dilation""Stride" 的设置可以是以下格式:
  • n对所有维度使用值 n
    {,ni,}对第 i 维使用值 ni
  • 通过设置 "ChannelGroups"g,将 m 个输入通道和 n 个输出通道分别划分为 g 个由 m/g 个和 n/g 个通道形成的组,其中 mn 要能被 g 整除. 分别执行连接第 i 组输入通道和第 i 组输出通道的反卷积,并在结果中将结果顺连起来. 每个输入/输出通道组合由 n/g×m/g 反卷积相连,所以设置 "ChannelGroups"g 有效地将不同反卷积的数量从 n×m 减少到 n×m/g.
  • Automatic 设置下,当使用 NetInitializeNetTrain 时会自动添加权重和偏差.
  • 设置 "Biases"->None 指定不使用偏差.
  • 当设置为 InterleavingFalse,通道维度是输入和输出数组的第一维.
  • 当设置为 InterleavingTrue,通道维度是输入和输出数组的最后一维.
  • 如果添加了权重和偏差,DeconvolutionLayer[][input] 会通过应用层显式计算输出.
  • DeconvolutionLayer[][{input1,input2,}] 会为每个 inputi 显式计算输出.
  • NumericArray 作为输入时,输出将是 NumericArray.
  • NetExtract 可用于从一个 DeconvolutionLayer 对象中提取权重和偏差.
  • DeconvolutionLayer 通常用于 NetChainNetGraph 等的内部.
  • DeconvolutionLayer 暴露了下列接口以方便 NetGraph 等使用:
  • "Input"三阶数组
    "Output"三阶数组
  • 当不能从一个大型网络中的其它网络层推断出来时,选项 "Input"->{d1,d2,d3} 可被用于修正 DeconvolutionLayer 中输入的维度.
  • 给出维度大小为 d1×d2×d3 的输入数组,输出数组的维度大小为 ××,其中通道大小 =n 且大小 d2d3 是根据 =s(di-1)+df(k-1)+1-pb-pe 变换得到,其中,df 是膨胀因子,/ 是轴开始/结束时的填充尺寸,k 是内核尺寸,s 是每个维度的步幅尺寸.
  • Options[DeconvolutionLayer] 给出构建网络层的默认选项的列表. Options[DeconvolutionLayer[]] 给出在一些数据上运行网络层的默认选项列表.
  • Information[DeconvolutionLayer[]] 给出关于该网络层的报告.
  • Information[DeconvolutionLayer[],prop] 给出 DeconvolutionLayer[] 的属性 prop 的值. 可能的属性NetGraph 一样.

范例

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

基本范例  (3)

创建一个有五个输出通道和核的大小为 2×2 的 DeconvolutionLayer

创建一个随机初始化的 DeconvolutionLayer,同时指定输入维度:

把这个层应用于一个输入数组以产生一个输出数组:

创建一个随机初始化的 DeconvolutionLayer,接受一幅图像,产生一幅图像:

对图像应用该层:

将该层逐项作用于一批输入:

选项  (10)

Interleaving  (1)

创建一个带有 InterleavingFalse 和一个输入通道的 DeconvolutionLayer

创建一个带有 InterleavingTrue 和一个输入通道的 DeconvolutionLayer

PaddingSize  (4)

默认情况下,输出不会进行裁剪:

使用 PaddingSizen 按固定值裁剪:

按特定数量裁剪每个维度:

使用填充让输出维度等于输入维度:

这与 PaddingSize "Same" 等价:

一般来说,PaddingSize "Same" 给出的输出大小等于输入大小乘以步幅:

"Stride"  (1)

使用较大的步长来增大输出的维度:

"Dilation"  (2)

对给定维度应用大小为 n 的膨胀因子实际上是将内核应用于输出数组的相隔距离为 n 的元素.

创建一个一维的膨胀因子为 2 的 DeconvolutionLayer

对输入应用网络层:

创建一个二维的膨胀因子为 5 的随机 DeconvolutionLayer

对图像应用该膨胀卷积层:

"Weights"  (1)

创建带有指定权重且无偏差的反卷积层:

在数据上执行该层:

"Biases"  (1)

创建一个没有偏差的随机初始化的 DeconvolutionLayer

没有偏差:

属性和关系  (1)

下列函数计算了非通道维度 的大小,在给定输入大小和参数的情况下:

对应大小为 {256,120} 输入的输出的大小,核大小为 3,步长为 2,而填充大小为 2:

Wolfram Research (2016),DeconvolutionLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DeconvolutionLayer.html (更新于 2020 年).

文本

Wolfram Research (2016),DeconvolutionLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DeconvolutionLayer.html (更新于 2020 年).

CMS

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

APA

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

BibTeX

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

BibLaTeX

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