主要内容

convolution1dLayer

一维卷积层

    描述

    1-D卷积层对1-D输入应用滑动卷积滤波器。该层通过沿着输入移动滤波器和计算权重和输入的点积来卷积输入,然后添加一个偏置项。

    层卷积的维数取决于层输入:

    • 对于时间序列和向量序列输入(分别对应通道、观测值和时间步长三个维度的数据),该层在时间维度上进行卷积。

    • 对于一维图像输入(对应于空间像素、通道和观测值的三维数据),该层在空间维度上进行卷积。

    • 对于一维图像序列输入(四维数据,分别对应空间像素、通道、观测值和时间步长),该层在空间维度上进行卷积。

    创建

    描述

    例子

    = convolution1dLayer (filterSizenumFilters创建一个1-D卷积层并设置FilterSize而且NumFilters属性。

    = convolution1dLayer (filterSizenumFilters名称=值还设置了可选的DilationFactorNumChannels参数和初始化学习率和正则化,的名字使用一个或多个名称-值参数的属性。要指定输入填充,请使用填充名称-值参数。例如,convolution1dLayer(96填充= 1)创建一个具有96个大小为11的过滤器的1- d卷积层,并在层输入的左侧和右侧指定大小为1的填充。

    输入参数

    全部展开

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

    例子:convolution1dLayer(96填充= 1)创建一个具有96个大小为11的过滤器的1- d卷积层,并在层输入的左侧和右侧指定大小为1的填充。

    要应用于输入的填充,指定为以下之一:

    • “相同”-应用填充使输出大小为装天花板(inputSize /步),在那里inputSize是输入的长度。当1时,输出与输入大小相同。

    • “因果”-对输入应用左填充,等于(FilterSize - 1) .*膨胀因子.当1时,输出与输入大小相同。

    • 非负整数深圳-添加填充大小深圳输入的两端。

    • 向量(l r)的非负整数-添加填充大小l在左边r在输入的右边。

    例子:填充= (2 - 1)将大小为2的填充添加到输入的左侧,大小为1的填充添加到右侧。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

    属性

    全部展开

    卷积

    此属性是只读的。

    过滤器的宽度,指定为正整数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    此属性是只读的。

    筛选器的数目,指定为正整数。这个数字对应于该层中连接到输入中相同区域的神经元数量。这个参数决定了层输出中通道(特征映射)的数量。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    遍历输入的步长,指定为正整数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    展开卷积(也称为阿特劳斯卷积)的因子,指定为正整数。

    使用扩张卷积来增加层的接受域(层可以看到的输入区域),而不增加参数数量或计算量。

    该层通过在每个过滤器元素之间插入0来扩展过滤器。膨胀因子决定了对输入进行采样的步长,或者等价地,决定了滤波器的上采样因子。它对应的有效滤波器大小为(FilterSize - 1) .*膨胀因子+ 1.例如,膨胀系数为的1 × 3滤波器2相当于元素之间为0的1乘5过滤器。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    应用于输入的每一侧的填充大小,指定为一个向量(l r)两个非负整数,其中l填充适用于左侧和r是应用于右侧的填充。

    创建图层时,使用填充参数指定填充大小。

    数据类型:

    此属性是只读的。

    方法确定填充大小,指定为以下之一:

    • “手动”-使用指定的整数或向量进行填充填充

    • “相同”-应用填充使输出大小为装天花板(inputSize /步),在那里inputSize是输入的长度。当1时,输出与输入相同。

    • “因果”-应用因果填充。用填充大小填充输入的左侧(FilterSize - 1) .*膨胀因子

    要指定层填充,请使用填充名称-值参数。

    数据类型:字符

    此属性是只读的。

    值来填充数据,指定为以下之一:

    PaddingValue 描述 例子
    标量 使用指定的标量值填充。

    3. 1 4 0 0 3. 1 4 0 0

    “symmetric-include-edge” 垫使用输入的镜像值,包括边缘值。

    3. 1 3. 1 3. 3. 1 4 4 1

    “symmetric-exclude-edge” 使用输入的镜像值填充,不包括边缘值。

    3. 1 4 4 1 3. 1 4 1 3.

    “复制” 填充使用重复边框元素的输入。

    3. 1 3. 3. 3. 3. 1 4 4 4

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

    此属性是只读的。

    输入通道的数量,指定为下列之一:

    • “汽车”-在训练时自动确定输入通道数。

    • 正整数-为指定的输入通道数量配置层。NumChannels并且层中输入数据的通道数量必须匹配。例如,如果输入是RGB图像,则NumChannels一定是3。如果输入是带有16个滤波器的卷积层的输出,则NumChannels必须是16岁。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

    参数和初始化

    函数初始化权重,指定为以下之一:

    • “glorot”-使用Glorot初始化器初始化权重[1](也称为Xavier初始化式)。格洛洛特初始化器独立地从平均为零和方差为的均匀分布中采样2/(numIn + numOut),在那里numIn = FilterSize*NumChannels而且numOut = FilterSize*NumFilters

    • “他”-使用He初始化式初始化权重[2].He初始化式从均值为零,方差为的正态分布中抽样2 / numIn,在那里numIn = FilterSize*NumChannels

    • “narrow-normal”-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化权重。

    • “零”-用0初始化权重。

    • “的”-用1初始化权重。

    • 函数句柄——使用自定义函数初始化权重。如果指定了函数句柄,则该函数必须为权重= func(sz),在那里深圳就是权重的大小。有关示例,请参见指定自定义权重初始化函数

    时,层才初始化权重权重属性为空。

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

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

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

    • “的”-用1初始化偏差。

    • “narrow-normal”-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化偏差。

    • 函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为偏差= func(sz),在那里深圳是偏差的大小。

    时,层才初始化偏差偏见属性为空。

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

    转置卷积运算的层权值,指定为aFilterSize——- - - - - -NumChannels——- - - - - -numFilters数字数组或[]

    层权值是可学习的参数。属性可以直接指定权重的初始值权重层的属性。当你训练一个网络时,如果权重属性为非空,则trainNetwork使用权重属性作为初始值。如果权重那么,属性是空的trainNetwork属性指定的初始化式WeightsInitializer层的属性。

    数据类型:|

    转置卷积运算的层偏差,指定为1 × -NumFilters数字数组或[]

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

    数据类型:|

    学习率和正则化

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

    该软件将该因子乘以全局学习率,以确定该层权重的学习率。例如,如果WeightLearnRateFactor2,则该层权重的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

    该软件将该因子乘以全局学习率,以确定该层偏差的学习率。例如,如果BiasLearnRateFactor2,则该层中偏差的学习率为当前全局学习率的两倍。方法指定的设置,该软件根据设置确定全局学习率trainingOptions函数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

    软件将这个因子乘以全局l2正则化因子的确定l2这一层权重的正则化。例如,如果WeightL2Factor2,则l2这一层权重的正则化是全局的两倍l2正则化因子。可以指定全局变量l2正则化因子使用trainingOptions函数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

    软件将这个因子乘以全局l2正则化因子的确定l2这一层偏差的正则化。例如,如果BiasL2Factor2,则l2这一层偏差的正则化是全局偏差的两倍l2正则化因子。可以指定全局变量l2正则化因子使用trainingOptions函数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    层名,指定为字符向量或字符串标量。为数组输入时,trainNetworkassembleNetworklayerGraph,dlnetwork函数自动为具有name的层分配名称

    数据类型:字符|字符串

    此属性是只读的。

    该层的输入数量。该层只接受单个输入。

    数据类型:

    此属性是只读的。

    输入层的名称。该层只接受单个输入。

    数据类型:细胞

    此属性是只读的。

    层的输出数量。这个图层只有一个输出。

    数据类型:

    此属性是只读的。

    输出层的名称。这个图层只有一个输出。

    数据类型:细胞

    例子

    全部折叠

    创建一个1-D卷积层,96个宽度为11的过滤器。

    层=卷积1dlayer (11,96)
    layer = Convolution1DLayer with properties: Name: " Hyperparameters FilterSize: 11 NumChannels: 'auto' NumFilters: 96 Stride: 1 DilationFactor: 1 PaddingMode: 'manual' PaddingSize: [0 0] PaddingValue: 0 Learnable Parameters Weights: [] Bias:[]显示所有属性

    中包含1-D卷积层数组中。

    layers = [sequenceInputLayer(12) convolution1dLayer(11,96) reluLayer globalMaxPooling1dLayer fullyConnectedLayer(10) softmaxLayer classificationLayer]
    2 " Convolution 96 11 convoluwith stride 1 and padding [0 0] 3 " ReLU ReLU 4 " 1- d Global Max Pooling 1- d Global Max Pooling 5 " Fully Connected 10 Fully Connected Layer 6 " Softmax Softmax 7 " Classification Output crossentropyex

    算法

    全部展开

    参考文献

    格洛洛特,泽维尔,还有约书亚·本吉奥。《理解深度前馈神经网络训练的难度》在第十三届人工智能与统计国际会议论文集, 249 - 356。撒丁岛,意大利:AISTATS, 2010。

    [2]何开明,张翔宇,任少卿,孙健。“深入研究整流器:在ImageNet分类上超越人类水平的性能。”在2015年IEEE计算机视觉国际会议论文集, 1026 - 1034。华盛顿:IEEE计算机视觉学会,2015。

    版本历史

    R2021b中引入