convolution1dLayer
一维卷积层
描述
1-D卷积层对1-D输入应用滑动卷积滤波器。该层通过沿着输入移动滤波器和计算权重和输入的点积来卷积输入,然后添加一个偏置项。
层卷积的维数取决于层输入:
对于时间序列和向量序列输入(分别对应通道、观测值和时间步长三个维度的数据),该层在时间维度上进行卷积。
对于一维图像输入(对应于空间像素、通道和观测值的三维数据),该层在空间维度上进行卷积。
对于一维图像序列输入(四维数据,分别对应空间像素、通道、观测值和时间步长),该层在空间维度上进行卷积。
创建
语法
描述
创建一个1-D卷积层并设置层
= convolution1dLayer (filterSize
,numFilters
)FilterSize
而且NumFilters
属性。
还设置了可选的层
= convolution1dLayer (filterSize
,numFilters
,名称=值
)步
,DilationFactor
,NumChannels
,参数和初始化,学习率和正则化,的名字
使用一个或多个名称-值参数的属性。要指定输入填充,请使用填充
名称-值参数。例如,convolution1dLayer(96填充= 1)
创建一个具有96个大小为11的过滤器的1- d卷积层,并在层输入的左侧和右侧指定大小为1的填充。
输入参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
例子:convolution1dLayer(96填充= 1)
创建一个具有96个大小为11的过滤器的1- d卷积层,并在层输入的左侧和右侧指定大小为1的填充。
填充
- - - - - -要应用于输入的填充
[0 0]
(默认)|“相同”
|“因果”
|非负整数|非负整数的向量
要应用于输入的填充,指定为以下之一:
“相同”
-应用填充使输出大小为装天花板(inputSize /步)
,在那里inputSize
是输入的长度。当步
是1
时,输出与输入大小相同。“因果”
-对输入应用左填充,等于(FilterSize - 1) .*膨胀因子
.当步
是1
时,输出与输入大小相同。非负整数
深圳
-添加填充大小深圳
输入的两端。向量
(l r)
的非负整数-添加填充大小l
在左边r
在输入的右边。
例子:填充= (2 - 1)
将大小为2的填充添加到输入的左侧,大小为1的填充添加到右侧。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
属性
卷积
FilterSize
- - - - - -滤波器宽度
正整数
此属性是只读的。
过滤器的宽度,指定为正整数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
NumFilters
- - - - - -过滤器数量
正整数
此属性是只读的。
筛选器的数目,指定为正整数。这个数字对应于该层中连接到输入中相同区域的神经元数量。这个参数决定了层输出中通道(特征映射)的数量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
步
- - - - - -遍历输入的步长
1
(默认)|正整数
遍历输入的步长,指定为正整数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
DilationFactor
- - - - - -扩张卷积因子
1
(默认)|正整数
展开卷积(也称为阿特劳斯卷积)的因子,指定为正整数。
使用扩张卷积来增加层的接受域(层可以看到的输入区域),而不增加参数数量或计算量。
该层通过在每个过滤器元素之间插入0来扩展过滤器。膨胀因子决定了对输入进行采样的步长,或者等价地,决定了滤波器的上采样因子。它对应的有效滤波器大小为(FilterSize - 1) .*膨胀因子+ 1
.例如,膨胀系数为的1 × 3滤波器2
相当于元素之间为0的1乘5过滤器。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
PaddingSize
- - - - - -填充尺寸
[0 0]
(默认)|两个非负整数的向量
PaddingValue
- - - - - -填充数据的值
0
(默认)|标量|“symmetric-include-edge”
|“symmetric-exclude-edge”
|“复制”
此属性是只读的。
值来填充数据,指定为以下之一:
PaddingValue |
描述 | 例子 |
---|---|---|
标量 | 使用指定的标量值填充。 |
|
“symmetric-include-edge” |
垫使用输入的镜像值,包括边缘值。 |
|
“symmetric-exclude-edge” |
使用输入的镜像值填充,不包括边缘值。 |
|
“复制” |
填充使用重复边框元素的输入。 |
|
数据类型:单
|双
|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*NumChannels
而且numOut = FilterSize*NumFilters
.“他”
-使用He初始化式初始化权重[2].He初始化式从均值为零,方差为的正态分布中抽样2 / numIn
,在那里numIn = FilterSize*NumChannels
.“narrow-normal”
-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化权重。“零”
-用0初始化权重。“的”
-用1初始化权重。函数句柄——使用自定义函数初始化权重。如果指定了函数句柄,则该函数必须为
权重= func(sz)
,在那里深圳
就是权重的大小。有关示例,请参见指定自定义权重初始化函数.
时,层才初始化权重权重
属性为空。
数据类型:字符
|字符串
|function_handle
BiasInitializer
- - - - - -函数初始化偏置
“零”
(默认)|“narrow-normal”
|“的”
|函数处理
函数初始化偏差,指定为以下之一:
“零”
-用0初始化偏差。“的”
-用1初始化偏差。“narrow-normal”
-通过从均值为零、标准差为0.01的正态分布中独立抽样来初始化偏差。函数句柄-使用自定义函数初始化偏置。如果指定了函数句柄,则该函数必须为
偏差= func(sz)
,在那里深圳
是偏差的大小。
时,层才初始化偏差偏见
属性为空。
数据类型:字符
|字符串
|function_handle
权重
- - - - - -层的重量
[]
(默认)|数字数组
转置卷积运算的层权值,指定为aFilterSize
——- - - - - -NumChannels
——- - - - - -numFilters
数字数组或[]
.
层权值是可学习的参数。属性可以直接指定权重的初始值权重
层的属性。当你训练一个网络时,如果权重
属性为非空,则trainNetwork
使用权重
属性作为初始值。如果权重
那么,属性是空的trainNetwork
属性指定的初始化式WeightsInitializer
层的属性。
数据类型:单
|双
偏见
- - - - - -层的偏见
[]
(默认)|数字数组
转置卷积运算的层偏差,指定为1 × -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的层分配名称”
.
数据类型:字符
|字符串
NumInputs
- - - - - -输入数量
1
(默认)
此属性是只读的。
该层的输入数量。该层只接受单个输入。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
(默认)
此属性是只读的。
输入层的名称。该层只接受单个输入。
数据类型:细胞
NumOutputs
- - - - - -输出数
1
(默认)
此属性是只读的。
层的输出数量。这个图层只有一个输出。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)
此属性是只读的。
输出层的名称。这个图层只有一个输出。
数据类型:细胞
例子
创建1-D卷积层
创建一个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
算法
一维卷积层
1-D卷积层对1-D输入应用滑动卷积滤波器。该层通过沿着输入移动滤波器和计算权重和输入的点积来卷积输入,然后添加一个偏置项。
层卷积的维数取决于层输入:
对于时间序列和向量序列输入(分别对应通道、观测值和时间步长三个维度的数据),该层在时间维度上进行卷积。
对于一维图像输入(对应于空间像素、通道和观测值的三维数据),该层在空间维度上进行卷积。
对于一维图像序列输入(四维数据,分别对应空间像素、通道、观测值和时间步长),该层在空间维度上进行卷积。
图层输入和输出格式
层数组或层图中的层传递指定为格式化的数据dlarray
对象。
你可以与它们交互dlarray
自动区分工作流中的对象,例如在开发自定义层时,使用functionLayer
对象,或使用向前
而且预测
功能与dlnetwork
对象。
的支持输入格式金宝appConvolution1DLayer
对象和相应的输出格式。类的自定义层,该自定义层不继承nnet.layer.Formattable
类,或FunctionLayer
对象的Formattable
选项设置为假
,则该层接收一个未格式化的dlarray
对象,其尺寸顺序对应于本表中概述的格式。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
参考文献
格洛洛特,泽维尔,还有约书亚·本吉奥。《理解深度前馈神经网络训练的难度》在第十三届人工智能与统计国际会议论文集, 249 - 356。撒丁岛,意大利:AISTATS, 2010。
[2]何开明,张翔宇,任少卿,孙健。“深入研究整流器:在ImageNet分类上超越人类水平的性能。”在2015年IEEE计算机视觉国际会议论文集, 1026 - 1034。华盛顿:IEEE计算机视觉学会,2015。
版本历史
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。