transposedConv3dLayer
转置三维卷积层
语法
描述
转置的三维卷积层向上采样三维特征图。
这一层有时被错误地称为“反褶积”或“反褶积”层。这一层执行卷积的转置,不执行反褶积。
返回一个三维转置卷积层,并设置层
= transposedConv3dLayer (filterSize
,numFilters
)FilterSize
而且NumFilters
属性。
返回一个三维转置卷积层,并使用一个或多个名称-值对参数指定附加选项。层
= transposedConv3dLayer (filterSize
,numFilters
,名称,值
)
例子
创建转置3-D卷积层
创建一个带有32个过滤器的转置3-D卷积层,每个过滤器的高度、宽度和深度为11。在水平和垂直方向上使用4的步幅,在深度上使用2的步幅。
层=转置conv3dlayer (11,32,“步”,[4 4 2])
layer = TransposedConvolution3DLayer with properties: Name: " Hyperparameters FilterSize: [11 11 11] NumChannels: 'auto' NumFilters: 32 Stride: [4 4 2] CroppingMode: 'manual' CroppingSize: [2x3 double] Learnable Parameters Weights: [] Bias:[]显示所有属性
输入参数
filterSize
- - - - - -过滤器的高度、宽度和深度
正整数|三个正整数的向量
过滤器的高度、宽度和深度,指定为正整数或由三个正整数组成的向量[h w d]
,在那里h
是高度,w
是宽度,和d
是深度。过滤器大小定义了神经元在输入中连接的局部区域的大小。
如果filterSize
为标量,则软件对所有三个维度使用相同的值。
例子:[5 6 7]
指定高度、宽度和深度为的筛选器5
,6
,7
分别。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
numFilters
- - - - - -过滤器数量
正整数
筛选器的数目,指定为正整数。这个数字对应于该层中连接到输入中相同区域的神经元数量。这个参数决定了层输出中的通道(特征映射)的数量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:transposedConv3dLayer(11, 96,“步”,4)
创建一个3-D转置卷积层,96个大小为11的滤波器,步幅为4。
步
- - - - - -遍历输入的步长
[1 1 1]
(默认)|三个正整数的向量
在三维中遍历输入的步长,指定为向量[a b c]
三个正整数,其中一个
是竖直步长,b
水平步长,和c
是沿深度的步长。在创建层时,您可以指定步
作为一个标量,在三个方向上对步长使用相同的值。
例子:[2 3 1]
指定垂直步长为2,水平步长为3,以及深度为1的步长。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
裁剪
- - - - - -输出尺寸减小
0
(默认)|“相同”
|非负整数的向量|非负整数矩阵
输出大小减小,指定为以下之一:
“相同”
-设置裁剪,使输出大小等于inputSize。*步
,在那里inputSize
是输入层的高度、宽度和深度。如果你设置裁剪
选项“相同”
,然后软件自动设置CroppingMode
属性“相同”
.如果可能的话,软件会从顶部和底部、左边和右边,以及前面和后面修剪等量的头发。如果垂直裁剪量为奇数,则软件将从底部裁剪额外一行。如果水平裁剪量为奇数,则软件将从右侧裁剪额外的一列。如果深度裁剪量为奇数,则软件将从后面裁剪一个额外的平面。
正整数-从所有边中裁剪指定数量的数据。
非负整数向量
[a b c]
——作物一个
从上到下裁剪b
从左到右,然后裁剪c
从前面和后面。一个非负整数的矩阵
[t l f;B r bk]
非负整数-裁剪t
,l
,f
,b
,r
,汉堡王
分别从输入的上、左、前、下、右和后。
如果你设置裁剪
选项设置为数值,然后软件自动设置CroppingMode
属性“手动”
.
例子:[1 2 2]
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
NumChannels
- - - - - -输入通道数
“汽车”
(默认)|正整数
输入通道的数量,指定为下列之一:
“汽车”
-在训练时自动确定输入通道数。正整数-为指定的输入通道数量配置层。
NumChannels
并且层中输入数据的通道数量必须匹配。例如,如果输入是RGB图像,则NumChannels
一定是3。如果输入是带有16个滤波器的卷积层的输出,则NumChannels
必须是16岁。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
WeightsInitializer
- - - - - -函数初始化权重
“glorot”
(默认)|“他”
|“narrow-normal”
|“零”
|“的”
|函数处理
函数初始化权重,指定为以下之一:
“glorot”
-使用Glorot初始化器初始化权重[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中采样2/(numIn + numOut)
,在那里numIn = FilterSize(1)*FilterSize(2)*FilterSize(3)*NumChannels
而且numOut = FilterSize(1)*FilterSize(2)*FilterSize(3)*NumFilters
.“他”
-使用He初始化式初始化权重[2].He初始化器样本来自均值和方差为零的正态分布2 / numIn
,在那里numIn = FilterSize(1)*FilterSize(2)*FilterSize(3)*NumChannels
.“narrow-normal”
-通过从均值为0,标准差为0.01的正态分布中独立抽样来初始化权重。“零”
-用0初始化权重。“的”
-用1初始化权重。函数句柄——使用自定义函数初始化权重。如果指定了函数句柄,则该函数必须为
权重= func(sz)
,在那里深圳
就是权重的大小。有关示例,请参见指定自定义权重初始化函数.
时,层才初始化权重权重
属性为空。
数据类型:字符
|字符串
|function_handle
BiasInitializer
- - - - - -函数初始化偏置
“零”
(默认)|“narrow-normal”
|“的”
|函数处理
函数初始化偏差,指定为以下之一:
“零”
-用0初始化偏差。“的”
-用1初始化偏差。“narrow-normal”
-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化偏差。函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为
偏差= func(sz)
,在那里深圳
是偏差的大小。
时,层才初始化偏差偏见
属性为空。
数据类型:字符
|字符串
|function_handle
权重
- - - - - -层的重量
[]
(默认)|数字数组
转置卷积运算的层权值,指定为aFilterSize (1)
——- - - - - -FilterSize (2)
——- - - - - -FilterSize (3)
——- - - - - -numFilters
——- - - - - -NumChannels
数字数组或[]
.
层权值是可学习的参数。属性可以直接指定权重的初始值权重
层的属性。当你训练一个网络时,如果权重
属性为非空,则trainNetwork
使用权重
属性作为初始值。如果权重
那么,属性是空的trainNetwork
属性指定的初始化式WeightsInitializer
层的属性。
数据类型:单
|双
偏见
- - - - - -层的偏见
[]
(默认)|数字数组
转置卷积运算的层偏差,指定为1-by-1-by-numFilters
数字数组或[]
.
层偏差是可学习参数。当你训练一个网络时,如果偏见
非空吗trainNetwork
使用偏见
属性作为初始值。如果偏见
那么是空的trainNetwork
所指定的初始化式BiasInitializer
.
数据类型:单
|双
WeightLearnRateFactor
- - - - - -学习率因子的权重
1
(默认)|负的标量
权重的学习率因子,指定为非负标量。
该软件将该因子乘以全局学习率,以确定该层权重的学习率。例如,如果WeightLearnRateFactor
是2
,则该层权重的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
BiasLearnRateFactor
- - - - - -学习率因素偏差
1
(默认)|负的标量
偏差的学习率因子,指定为非负标量。
该软件将该因子乘以全局学习率,以确定该层偏差的学习率。例如,如果BiasLearnRateFactor
是2
,则该层中偏差的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
WeightL2Factor
- - - - - -l2权重的正则化因子
1(默认)|负的标量
l2权重的正则化因子,指定为非负标量。
软件将这个因子乘以全局l2正则化因子的确定l2这一层权重的正则化。例如,如果WeightL2Factor
是2
,则l2这一层权重的正则化是全局的两倍l2正则化因子。可以指定全局变量l2正则化因子使用trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
BiasL2Factor
- - - - - -l2偏差的正则化因子
0
(默认)|负的标量
l2偏差的正则化因子,指定为非负标量。
软件将这个因子乘以全局l2正则化因子的确定l2这一层偏差的正则化。例如,如果BiasL2Factor
是2
,则l2这一层偏差的正则化是全局偏差的两倍l2正则化因子。可以指定全局变量l2正则化因子使用trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
层名,指定为字符向量或字符串标量。为层
数组输入时,trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动为具有name的层分配名称”
.
数据类型:字符
|字符串
输出参数
层
-转置三维卷积层
TransposedConvolution3DLayer
对象
转置的三维卷积层,返回为TransposedConvolution3dLayer
对象。
算法
三维转置卷积层
转置的三维卷积层向上采样三维特征图。
的标准卷积操作downsamples通过对输入应用滑动卷积滤波器得到的输入。通过将输入和输出扁平化,可以将卷积运算表示为 对于卷积矩阵C和偏见B这可以从层权重和偏差中推导出来。
类似地,转置卷积操作upsamples通过对输入应用滑动卷积滤波器得到的输入。为了对输入进行上采样,而不是使用滑动滤波器进行下采样,层零填充输入的每个边,其大小为对应的滤波器边大小- 1。
通过将输入和输出扁平化,转置卷积运算等价于 ,在那里C而且B分别表示由层权值和偏差导出的标准卷积的卷积矩阵和偏差矩阵。这个操作相当于一个标准卷积层的后向函数。
参考文献
格洛洛特,泽维尔,还有约书亚·本吉奥。《理解深度前馈神经网络训练的难度》在第十三届人工智能与统计国际会议论文集, 249 - 356。撒丁岛,意大利:AISTATS, 2010。
[2]何开明,张翔宇,任少卿,孙健。“深入研究整流器:在ImageNet分类上超越人类水平的性能。”在2015年IEEE计算机视觉国际会议论文集, 1026 - 1034。华盛顿:IEEE计算机视觉学会,2015。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。