主要内容

transposedConv2dLayer

转置的二维卷积层

描述

一个转置的2-D卷积层上采样特征图。

这一层有时被错误地称为“反卷积”或“反卷积”层。这一层是卷积的转置,不进行反卷积。

= transposedConv2dlayer(filterSizenumFilters返回一个转置的二维卷积层,并设置filterSizenumFilters属性。

例子

= transposedConv2dlayer(filterSizenumFilters名称,值返回一个转置的2-D卷积层,并使用一个或多个名称-值对参数指定其他选项。

例子

全部折叠

创建一个有96个滤镜的转置卷积层,每个滤镜的高度和宽度都是11。在水平和垂直方向上使用4步幅。

96年层= transposedConv2dLayer(11日“步”4);

输入参数

全部折叠

滤波器的高度和宽度,指定为两个正整数的向量[w h], 在哪里h是高度和w是宽度。FilterSize定义输入中神经元连接到的局部区域的大小。

如果你设置FilterSize使用输入参数,然后您可以指定FilterSize作为标量,对两个维度使用相同的值。

例子:5 [5]指定高度为5和宽度为5的过滤器。

过滤器的数量,指定为一个正整数。这个数字对应于该层中连接输入区域的神经元的数量。该参数决定了卷积层输出中通道(feature maps)的数量。

例子:96.

名称-值对的观点

指定可选的逗号分隔对名称,值论点。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按如下顺序指定几个名称和值对参数name1,value1,...,namen,valuen

例子:“裁剪”,1
转置卷积

全部折叠

输入的上采样系数,指定为下列之一:

  • 两个正整数的矢量[b], 在哪里一个是垂直跨步和b是水平步幅。

  • 一个正整数对应着垂直和水平步幅。

例子:'走吧',[2 1]

输出大小减少,指定为以下之一:

  • “相同”-设置裁剪,使输出大小等于inputSize。*步, 在哪里输入是层输入的高度和宽度。如果你设置'裁剪'选择“相同”,则软件自动设置CroppingMode属性设置为“相同”

    如果可能的话,软件从顶部和底部和左右修剪相同的量。如果垂直裁剪量有奇数值,则软件从底部修剪额外的行。如果水平裁剪量具有奇数值,则软件将从右侧修剪额外的列。

  • 正整数 - 从所有边缘裁剪指定数量的数据。

  • 非负整数的向量[b]——作物一个从上到下,从头到尾b从左到右。

  • 一个向量[t b l r]——作物tblr分别从输入的上、下、左、右。

如果你设置'裁剪'选项为数值,则软件自动设置CroppingMode属性设置为“手动”

例子:(1 2)

每个过滤器的通道数,指定为“NumChannels”,“汽车”或正整数。

该参数必须等于输入该卷积层的输入的通道数。例如,如果输入是彩色图像,则输入的通道数必须为3.如果在电流层之前的卷积层的滤波器的数量为16,则该图层的通道数必须是16。

参数和初始化

全部折叠

初始化权重的功能,指定为以下内容之一:

  • “glorot”-初始化权重与gloria初始化器[1](也称为Xavier初始化器)。格洛洛特初始化器独立地从均值和方差为零的均匀分布中取样2 / (numIn + numOut), 在哪里numIn = filterSize (1) * filterSize (2) * NumChannelsnumOut = filterSize (1) * filterSize (2) * numFilters,NumChannels是输入通道的数量。

  • “他”—使用He初始化器初始化权重[2].初始化器样本来自均值和方差为零的正态分布2 / numIn, 在哪里numIn = filterSize (1) * filterSize (2) * NumChannelsNumChannels是输入通道的数量。

  • “narrow-normal”- 通过独立从正常分布采样,零平均值和标准偏差0.01来初始化权重。

  • “零”—初始化权值为0。

  • '那些'—权重值初始化为1。

  • 函数句柄——使用自定义函数初始化权重。如果你指定一个函数句柄,那么该函数必须是这种形式重量= func(深圳), 在哪里深圳是重量的大小。例如,看到指定自定义权重初始化函数

属性时,该层只初始化权重权重属性是空的。

数据类型:char|字符串|function_handle

初始化偏差的函数,指定为以下之一:

  • “零”- 用零初始化偏差。

  • '那些'—用1初始化偏移量。

  • “narrow-normal”- 通过从正常分布的自主分布采样,零平均值和标准偏差0.01,初始化偏差。

  • 函数句柄-使用自定义函数初始化偏差。如果你指定一个函数句柄,那么该函数必须是这种形式偏见= func(深圳), 在哪里深圳是偏差的大小。

该层仅初始化偏差时偏见属性是空的。

数据类型:char|字符串|function_handle

卷积层的层权值,指定为数字数组。

层权值是可学习的参数。属性可以直接指定权重的初始值权重属性。当培训网络时,如果权重属性是非空的trainNetwork使用权重属性作为初始值。如果权重属性为空trainNetwork控件指定的初始化器WeightsInitializer属性。

在培训时,权重是一个filterSize (1)-经过-filterSize (2)-经过-numFilters-经过-NumChannels数组中。

数据类型:|双倍的

层偏差为卷积层,指定为数字数组。

层偏差是可学习的参数。当培训一个网络时,如果偏见非空的,那么trainNetwork使用偏见属性作为初始值。如果偏见是空的,然后trainNetwork指定的初始化器BiasInitializer

在培训时,偏见是一个1-by-1-by——numFilters数组中。

数据类型:|双倍的

学习率和正则化

全部折叠

权重的学习率因子,指定为非负标量。

该软件通过全局学习速率乘以此因素来确定该层中权重的学习率。例如,如果WeightLearnRateFactor为2,则该层权值的学习速率是当前全局学习速率的两倍。软件根据设置确定全局学习速率trainingOptions函数。

例子:2

偏差的学习速率因子,指定为一个非负标量。

软件将这个因素乘以全局学习速率,以确定这一层的偏差的学习速率。例如,如果BiasLearnRateFactor为2,则该层中偏差的学习速率是当前全局学习速率的两倍。软件根据设置确定全局学习速率trainingOptions函数。

例子:2

L2正则化因子的权重,指定为一个非负标量。

该软件将该因子乘以全局L2正则化因子,以确定该层中权重的L2正则化。例如,如果WeightL2Factor是2,那么L2正则化在这一层的权值是全局L2正则化因子的两倍。属性指定全局L2正则化因子trainingOptions函数。

例子:2

L2偏差的正则化因子,指定为非负标量。

软件将这个因子乘以全局L2正则化因子,以确定这一层的偏差的L2正则化。例如,如果BiasL2Factor是2,那么L2正则化对于这一层的偏差是L2正则化因子的两倍。属性指定全局L2正则化因子trainingOptions函数。

例子:2

全部折叠

层名,指定为字符向量或字符串标量。要在层图中包含层,必须指定一个非空的、唯一的层名。如果你训练一个系列网络层和的名字设定为'',然后该软件在训练时自动为该层指定一个名称。

数据类型:char|字符串

输出参数

全部折叠

转置的二维卷积层,返回为TransposedConvolution2DLayer对象。

兼容性的考虑

展开全部

R2019a行为改变

参考

[1] Glorot,Xavier和Yoshua Bengio。“了解训练深馈神经网络的难度。”在第十三届人工智能和统计国际会议论文集, 249 - 356。撒丁岛,意大利:AISTATS, 2010。

何凯明,张向宇,任少清,孙健。《深入研究整流器:在ImageNet分类上超越人类水平的表现》在2015 IEEE计算机视觉国际会议论文集,1026-1034。华盛顿特区:IEEE计算机视觉协会,2015年。

扩展功能

GPU的代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

介绍了R2017b