convolution2dLayer
二维卷积层
描述
一个二维卷积层滑动卷积过滤器适用于二维输入。可变输入层的垂直、水平移动的过滤器输入,计算权重的点积和输入,然后添加一个偏见。
层的尺寸可变取决于层输入:
对二维图像的输入(数据与在两维空间,四维空间对应像素的渠道,和观察),层可变空间维度。
为二维图像序列输入(数据与五个维度对应像素在两维空间的通道,观察,和时间步长),可变层在两个空间维度。
对于一维图像序列输入(数据与四维对应像素在一个空间维度,通道,观察,和时间步长),可变层在空间和时间维度。
创建
描述
创建一个二维卷积层和设置层
= convolution2dLayer (filterSize
,numFilters
)FilterSize
和NumFilters
属性。
设置可选层
= convolution2dLayer (filterSize
,numFilters
,名称,值
)步
,DilationFactor
,NumChannels
,参数和初始化,学习速率、正规化,的名字
属性使用名称-值对。指定输入填充,使用“填充”
名称-值对的论点。例如,convolution2dLayer(11, 96,“大步”4“填充”,1)
创建一个二维卷积层96过滤器的大小(11 11)
的步伐(4 - 4)
,大小为1的填充层边缘的所有输入。您可以指定多个名称-值对。在单引号附上每个属性的名字。
输入参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:convolution2dLayer(16日“填充”,“相同”)
创建一个二维卷积与16层过滤器的大小[3 3]
和“相同”
填充。在训练时,软件计算和设置垫层的输出的大小具有相同的大小作为输入。
填充
- - - - - -输入边缘填充
[0 0 0 0]
(默认)|向量的非负整数|“相同”
输入边缘填充,指定为逗号分隔组成的“填充”
这些值之一:
“相同”
——添加填充大小计算软件的培训或预测时间,输出具有相同的大小作为输入时,步幅等于1。如果跨越大于1,那么输出大小装天花板(inputSize /步)
,在那里inputSize
的高度或宽度输入和步
在相应的维度是进步。软件增加了相同数量的顶部和底部填充,和左和右,如果可能的话。如果必须添加垂直的填充一个奇怪的价值,那么软件添加额外的衬垫底部。如果必须添加的填充水平有一个奇怪的价值,然后软件添加额外的填充。非负整数
p
——添加填充的大小p
所有输入的边缘。向量
[b]
非负整数的加衬垫的大小一个
顶部和底部的输入和衬垫的大小b
左和右。向量
[t b l r]
非负整数的加衬垫的大小t
前,b
底部,l
向左,r
右边的输入。
例子:“填充”,1
添加一行的顶部和底部填充,和一列填充左边和右边的输入。
例子:“填充”,“相同”
添加填充,这样输出具有相同的大小作为输入(如果步幅等于1)。
属性
二维卷积
FilterSize
- - - - - -高度和宽度的过滤器
向量的两个正整数
高度和宽度的过滤器,指定为一个向量[w h]
两个正整数的h
是身高和w
是宽度。FilterSize
定义了局部区域的大小的神经元连接的输入。
创建层时,您可以指定FilterSize
作为标量使用相同的高度和宽度值。
例子:5 [5]
指定过滤器5的高度和宽度的5。
NumFilters
- - - - - -数量的过滤器
正整数
这个属性是只读的。
的过滤器,指定为一个正整数。这个号码对应的层神经元数量输入连接到同一个地区。这个参数决定渠道的数量(特征图)层的输出。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
步
- - - - - -步长为遍历输入
[1]
(默认)|向量的两个正整数
步长为遍历输入垂直和水平,指定为一个向量[b]
两个正整数的一个
垂直步长和吗b
是水平的步长。创建层时,您可以指定步
作为标量为两步使用相同的价值大小。
例子:3 [2]
指定一个垂直的步长2和3的水平步长。
DilationFactor
- - - - - -因素扩张卷积
[1]
(默认)|向量的两个正整数
因素扩张卷积(也称为深黑色的卷积),指定为一个向量[w h]
两个正整数的h
垂直扩张和吗w
是横向的扩张。创建层时,您可以指定DilationFactor
作为一个标量使用相同的值为水平和垂直相呼应。
使用扩张增加接受域的卷积(该区域的输入层可以看到)的层不增加参数的数量或计算。
层扩展每个滤芯过滤器插入0之间。膨胀系数确定的步长采样滤波器的输入或等同于upsampling因素。它对应于一个有效的过滤的大小(过滤器的大小- 1)*膨胀系数+ 1。例如,一个3×3过滤器与扩张的因素(2 - 2)
相当于5-by-5过滤与0之间的元素。
例子:3 [2]
PaddingSize
- - - - - -大小的填充
[0 0 0 0]
(默认)|向量的四个非负整数
大小的衬垫适用于输入边界,指定为一个向量[t b l r]
四个非负整数,t
填充应用于顶部,b
填充应用于底部,l
是填充应用到左边,r
向右填充应用。
当您创建一个层,使用“填充”
名称-值对参数来指定填充大小。
例子:[1 1 2 2]
添加一行的顶部和底部填充,和两列填充左边和右边的输入。
PaddingMode
- - - - - -方法来确定填充大小
“手动”
(默认)|“相同”
方法来确定填充大小,指定为“手动”
或“相同”
。
软件自动设置的值PaddingMode
基于“填充”
值指定在创建一个层。
如果你设置
“填充”
选择一个标量或矢量的非负整数,那么软件自动设置PaddingMode
来“手动”
。如果你设置
“填充”
选项“相同”
,那么软件自动设置PaddingMode
来“相同”
和计算填充在训练时间的大小,输出具有相同的大小作为输入时,步幅等于1。如果跨越大于1,那么输出大小装天花板(inputSize /步)
,在那里inputSize
的高度或宽度输入和步
在相应的维度是进步。软件增加了相同数量的顶部和底部填充,和左和右,如果可能的话。如果必须添加垂直的填充一个奇怪的价值,那么软件添加额外的衬垫底部。如果必须添加的填充水平有一个奇怪的价值,然后软件添加额外的填充。
填充
- - - - - -大小的填充
[0 0]
(默认)|向量的两个非负整数
请注意
填充
财产将在未来的版本中被删除。使用PaddingSize
代替。当创建一个层,使用“填充”
名称-值对参数来指定填充大小。
大小的衬垫适用于输入垂直和水平边界,指定为一个向量[b]
两个非负整数,一个
填充应用于输入数据和顶部和底部b
填充用于左和右。
例子:[1]
添加一行的顶部和底部填充,和一列填充左边和右边的输入。
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初始值设定项[4](也称为Xavier初始化)。Glorot初始化样本独立均匀分布与零均值和方差2 / (numIn + numOut)
,在那里numIn = FilterSize (1) * FilterSize (2) * NumChannels
和numOut = FilterSize (1) * FilterSize (2) * NumFilters
。“他”
——初始化权重的初始值设定项[5]。他初始化样本正态分布与零均值和方差2 / numIn
,在那里numIn = FilterSize (1) * FilterSize (2) * NumChannels
。“narrow-normal”
——初始化权重独立抽样从正态分布与零均值和标准偏差0.01。“零”
——初始化权重为零。“的”
——初始化权重的。函数处理——使用一个自定义函数初始化权重。如果你指定一个函数处理,那么必须表单的功能
重量= func(深圳)
,在那里深圳
权重的大小。例如,看到的指定自定义权重的初始化函数。
层只初始化时的重量权重
属性是空的。
数据类型:字符
|字符串
|function_handle
BiasInitializer
- - - - - -函数来初始化倾向
“零”
(默认)|“narrow-normal”
|“的”
|函数处理
函数初始化倾向,指定为以下之一:
“零”
——初始化与零偏差。“的”
——初始化倾向。“narrow-normal”
——初始化倾向独立抽样从正态分布的均值为零,标准差为0.01。函数处理与自定义函数——初始化倾向。如果你指定一个函数处理,那么必须表单的功能
偏见= func(深圳)
,在那里深圳
偏差的大小。
层时才初始化倾向偏见
属性是空的。
数据类型:字符
|字符串
|function_handle
权重
- - - - - -层的重量
[]
(默认)|数字数组
层权重卷积层,指定为数字数组。
层权重可学的参数。您可以指定权重的初始值直接使用权重
层的属性。当你训练一个网络,如果权重
属性层的非空的trainNetwork
使用权重
属性的初始值。如果权重
属性是空的,那么trainNetwork
使用指定的初始化程序WeightsInitializer
层的属性。
在培训时,权重
是一个FilterSize (1)
——- - - - - -FilterSize (2)
——- - - - - -NumChannels
——- - - - - -NumFilters
数组中。
数据类型:单
|双
偏见
- - - - - -层的偏见
[]
(默认)|数字数组
一层一层偏见的卷积,指定为一个数字数组。
层偏差是可学的参数。当你训练一个网络,如果偏见
非空的,那么trainNetwork
使用偏见
属性的初始值。如果偏见
是空的,然后trainNetwork
使用指定的初始化程序BiasInitializer
。
在培训时,偏见
是一个1-by-1-by——NumFilters
数组中。
数据类型:单
|双
学习速率、正规化
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
函数自动分配名字与名字层”
。
数据类型:字符
|字符串
NumInputs
- - - - - -输入数量
1
(默认)
这个属性是只读的。
输入层的数量。这一层只接受一个输入。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
(默认)
这个属性是只读的。
输入层的名称。这一层只接受一个输入。
数据类型:细胞
NumOutputs
- - - - - -数量的输出
1
(默认)
这个属性是只读的。
输出层的数量。这一层只有一个输出。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)
这个属性是只读的。
输出层的名称。这一层只有一个输出。
数据类型:细胞
例子
创建回旋的层
与96年创建一个卷积层过滤器,每个11的高度和宽度。使用一个跨步(步长)4在水平和垂直方向。
96年层= convolution2dLayer(11日“步”4)
层= Convolution2DLayer属性:名称:“Hyperparameters FilterSize: 11 [11] NumChannels:“汽车”NumFilters: 96步:4 [4]DilationFactor: [1] PaddingMode:“手动”PaddingSize: [0 0 0 0] PaddingValue: 0可学的参数权重:[]偏见:[]显示所有属性
包括一个回旋的层中层
数组中。
层= [imageInputLayer ([28 28 1]) convolution2dLayer (5、20) reluLayer maxPooling2dLayer (2“步”,2)fullyConnectedLayer (10) softmaxLayer classificationLayer]
层= 7 x1层与层:数组1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”马克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]5“完全连接10完全连接层6”Softmax Softmax crossentropyex 7”分类输出
在卷积层指定初始重量和偏见
指定重量和偏见初始化函数,使用WeightsInitializer
和BiasInitializer
属性分别。直接指定重量和偏见,使用权重
和偏见
属性分别。
指定初始化函数
创建一个卷积与32层过滤器,每个5的高度和宽度和指定要他初始化权值初始化。
filterSize = 5;numFilters = 32;层= convolution2dLayer (filterSize numFilters,…“WeightsInitializer”,“他”)
层= Convolution2DLayer属性:名称:“Hyperparameters FilterSize: 5 [5] NumChannels:“汽车”NumFilters: 32步:[1]DilationFactor: [1] PaddingMode:“手动”PaddingSize: [0 0 0 0] PaddingValue: 0可学的参数权重:[]偏见:[]显示所有属性
请注意,权重
和偏见
属性是空的。在训练时,软件初始化这些属性使用指定的初始化函数。
指定自定义初始化函数
指定自己的初始化函数的重量和偏见,设置WeightsInitializer
和BiasInitializer
属性函数处理。对于这些属性,指定函数句柄将重量和偏见的大小作为输入和输出初始化值。
创建一个卷积与32层过滤器,每个5的高度和宽度和指定初始化样本权重和偏见从高斯分布的标准偏差为0.0001。
filterSize = 5;numFilters = 32;层= convolution2dLayer (filterSize numFilters,…“WeightsInitializer”@兰德(深圳)* 0.0001(深圳),…“BiasInitializer”@(深圳)兰德(深圳)* 0.0001)
层= Convolution2DLayer属性:名称:“Hyperparameters FilterSize: 5 [5] NumChannels:“汽车”NumFilters: 32步:[1]DilationFactor: [1] PaddingMode:“手动”PaddingSize: [0 0 0 0] PaddingValue: 0可学的参数权重:[]偏见:[]显示所有属性
再一次,权重
和偏见
属性是空的。在训练时,软件初始化这些属性使用指定的初始化函数。
直接指定重量和偏见
创建一个完全连接层和一个输出大小为10和设置权重和偏见W
和b
在垫子上文件Conv2dWeights.mat
分别。
filterSize = 5;numFilters = 32;负载Conv2dWeights层= convolution2dLayer (filterSize numFilters,…“重量”W,…“偏见”,b)
层= Convolution2DLayer属性:名称:“Hyperparameters FilterSize: 5 [5] NumChannels: 3 NumFilters: 32步:[1]DilationFactor: [1] PaddingMode:“手动”PaddingSize: [0 0 0 0] PaddingValue: 0可学的参数权重:[5 x5x3x32双)偏见:[1 x1x32双]显示所有属性
在这里,权重
和偏见
属性包含指定值。在训练时,如果这些属性非空,则软件使用指定的值作为初始重量和偏见。在这种情况下,软件不使用初始化功能。
创建卷积层完全覆盖输入
假设输入的大小是28-by-28-by-1。创建一个卷积层16过滤器,每个6高度和宽度为4。将水平和垂直步设置为4。
确定卷积完全覆盖输入。对卷积完全覆盖输入,水平和垂直输出尺寸必须是整数。水平输出尺寸的整数,一行需要填充的顶部和底部的形象:(28 - 6 + 2 * 1)/ 4 + 1 = 7。垂直输出尺寸的整数,不需要补零:(28 - 4 + 2 * 0)/ 4 + 1 = 7。
构造卷积层。
4层= convolution2dLayer([6], 16日“步”4“填充”1,[0])
层= Convolution2DLayer属性:名称:“Hyperparameters FilterSize: [6 4] NumChannels:“汽车”NumFilters: 16步:4 [4]DilationFactor: [1] PaddingMode:“手动”PaddingSize: [1 1 0 0] PaddingValue: 0可学的参数权重:[]偏见:[]显示所有属性
算法
二维卷积层
一个二维卷积层滑动卷积过滤器适用于二维输入。层可变输入通过移动沿着垂直和水平输入过滤器,计算权重的点积和输入,然后添加一个偏差项。
层的尺寸可变取决于层输入:
对二维图像的输入(数据与在两维空间,四维空间对应像素的渠道,和观察),层可变空间维度。
为二维图像序列输入(数据与五个维度对应像素在两维空间的通道,观察,和时间步长),可变层在两个空间维度。
对于一维图像序列输入(数据与四维对应像素在一个空间维度,通道,观察,和时间步长),可变层在空间和时间维度。
卷积层包含各种组件。1
卷积层由神经元连接到输入图像的条件或前一层的输出。层学习这些地区本地化的特性,通过图像扫描。当创建一个层使用convolution2dLayer
功能,您可以指定这些地区使用的大小filterSize
输入参数。
对于每个区域,trainNetwork
函数计算一个点的产品重量和输入,然后添加一个偏差项。一组权重,应用于图像中一个地区被称为过滤器。过滤器沿着输入图像垂直和水平移动,重复相同的计算为每个地区。换句话说,过滤器可变输入。
这张图片显示了一个3×3过滤器通过输入扫描。较低的地图代表输入和上面的地图代表输出。
的步长过滤器被称为移动步。您可以指定的步长步
名称-值对的论点。当地区域的神经元连接可以根据重叠filterSize
和“步”
值。
这张图片显示了一个3×3过滤器扫描通过输入2的步伐。较低的地图代表输入和上面的地图代表输出。
权重的数量在一个过滤器h*w*c,在那里h是高度,w分别是滤波器的宽度,然后呢c在输入通道的数量。例如,如果输入是一个彩色图像,颜色通道的数量是3。过滤器的数量决定了卷积的输出层的通道数量。指定过滤器使用的数量numFilters
参数与convolution2dLayer
函数。
扩张卷积是一种卷积的过滤器是扩大了空间之间插入的元素过滤器。指定使用的膨胀因素“DilationFactor”
财产。
使用扩张增加接受域的卷积(该区域的输入层可以看到)的层不增加参数的数量或计算。
层扩展每个滤芯过滤器插入0之间。膨胀系数确定的步长采样滤波器的输入或等同于upsampling因素。它对应于一个有效的过滤的大小(过滤器的大小- 1)*膨胀系数+ 1。例如,一个3×3过滤器与扩张的因素(2 - 2)
相当于5-by-5过滤与0之间的元素。
这张图片显示了一个3×3过滤器扩张通过输入两个扫描的因素。较低的地图代表输入和上面的地图代表输出。
作为一个过滤器沿着输入,它使用相同的权重集和卷积的偏见,形成一个特征映射。每个特性映射是一个卷积的结果使用一组不同的重量和一个不同的偏见。因此,特征图谱的数量等于过滤器的数量。参数的数量在一个回旋的层(h*w*c+ 1)*数量的过滤器),1是偏见。
你也可以填充应用到输入图像边界垂直和水平使用“填充”
名称-值对的论点。填充值附加到边界的输入增加它的大小。通过调整垫,你可以控制输出层的大小。
这张图片显示了一个3×3过滤器扫描通过填充的输入尺寸1。较低的地图代表输入和上面的地图代表输出。
输出卷积层的高度和宽度(输入的大小- ((过滤器的大小- 1)*膨胀系数+ 1)+ 2 *填充)/步+ 1。这个值必须是一个整数为整个图像完全覆盖。如果这些选项的组合不引起图像完全覆盖,软件默认情况下忽略了图像的其余部分在右边和底部边缘的卷积。
输出的产品高度和宽度给神经元功能的总数地图,说地图大小。神经元的总数(输出大小)卷积层地图大小*数量的过滤器。
例如,假设输入图像32-by-32-by-3彩色图像。卷积和八层过滤器和过滤器5-by-5大小,每个滤波器权重的数量是5 * 5 * 3 = 75,和参数层的总数(75 + 1)* 8 = 608。如果跨越2在每个方向和填充指定大小为2,则16 x16每个特性图。这是因为(32 - 5 + 2 * 2)/ 2 + 1 = 16.5,和一些最外层填充图像的右侧和底部就会被丢弃。最后,神经元层的总数是16 * 16 * 8 = 2048。
通常,这些神经元的结果通过某种形式的非线性,如纠正线性单元(ReLU)。
你可以调整层的学习速率和正则化选项时使用名称-值对参数定义卷积层。如果你选择不指定这些选项,然后trainNetwork
使用全球培训选项的定义trainingOptions
函数。在全球和层培训选项的详细信息,请参见设置参数和卷积神经网络训练。
一个卷积神经网络可以包含一个或多个卷积层。卷积层的数量取决于数据的数量和复杂性。
层的输入和输出格式
层一层一层数组或图传递数据指定为格式化dlarray
对象。
你可以与这些交互dlarray
等自动分化工作流对象在开发一个自定义图层,使用functionLayer
对象,或使用向前
和预测
功能与dlnetwork
对象。
此表显示了支持输入格式万博1manbetxConvolution2DLayer
对象和相应的输出格式。如果输出层的传递给一个定制的层不继承nnet.layer.Formattable
类,或FunctionLayer
对象的Formattable
选项设置为假
,然后层收到一个未格式化dlarray
对象的尺寸要求相应的表中列出的格式。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
引用
[1]LeCun (Y。,B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. "Handwritten Digit Recognition with a Back-Propagation Network." In先进的神经信息处理系统2 (d . Touretzky ed)。旧金山:摩根考夫曼,1990。
[2]LeCun (Y。,l。Bottou, Y. Bengio, and P. Haffner. ''Gradient-Based Learning Applied to Document Recognition.''IEEE学报》。11号卷。86年,1998年,页2278 - 2324。
[3]墨菲,k . P。机器学习:概率的角度来看。剑桥,麻州:麻省理工学院出版社,2012年。
[4]Glorot,泽维尔,Yoshua Bengio。“理解的难度训练前馈神经网络。”In《十三人工智能国际会议上和统计,249 - 356。意大利撒丁岛:AISTATS, 2010。
[5],他开明、象屿张任Shaoqing,剑太阳。“深深入整流器:超越人类表现ImageNet分类。”In学报2015年IEEE计算机视觉国际会议,1026 - 1034。华盛顿特区:IEEE计算机视觉的社会,2015年。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
对于代码生成,
PaddingValue
参数必须等于0
,这是默认值。
GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
使用笔记和限制:
对于代码生成,
PaddingValue
参数必须等于0
,这是默认值。
版本历史
介绍了R2016aGlorot R2019a:默认初始化权重
行为改变R2019a
从R2019a开始,软件,默认情况下,初始化层使用Glorot初始化这一层的权重。这种行为可以帮助稳定培训和通常减少深层网络的训练时间。
在以前的版本中,软件,默认情况下,初始化层的抽样权重0.01零均值和方差的正态分布。复制这种行为,设置“WeightsInitializer”
层的选项“narrow-normal”
。
另请参阅
trainNetwork
|reluLayer
|batchNormalizationLayer
|maxPooling2dLayer
|fullyConnectedLayer
|groupedConvolution2dLayer
|深层网络设计师
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。