深度学习数组自定义训练循环
深度学习数组存储自定义训练循环的可选数据格式标签,并使函数能够通过自动微分计算和使用导数。
提示
对于大多数深度学习任务,您可以使用预先训练的网络,并使其适应您自己的数据。有关如何使用迁移学习来重新训练卷积神经网络来对一组新图像进行分类的示例,请参见训练深度学习网络对新图像进行分类.或者,您可以使用从头开始创建和培训网络layerGraph
的对象trainNetwork
和trainingOptions
功能。
如果trainingOptions
函数不提供任务所需的训练选项,则可以使用自动区分创建自定义训练循环。想要了解更多,请看为自定义训练循环定义深度学习网络.
dlarray
标签使您能够使用该表中的函数来执行,并确保数据具有适当的格式。
函数 | 操作 | 验证输入维度 | 影响输入维度的大小 |
---|---|---|---|
avgpool |
计算移动矩形(或长方体)空间上输入数据的平均值(“年代” )区域由池大小参数定义。 |
“年代” |
“年代” |
batchnorm |
将每个通道中包含的值归一化(“C” )的输入数据。 |
“C” |
|
crossentropy |
计算估计值和目标值之间的交叉熵,按批的大小平均(“B” )维度。 |
“年代” ,“C” ,“B” ,“T” ,“U” (估计值和目标数组必须具有相同的大小。) |
“年代” ,“C” ,“B” ,“T” ,“U” (输出是一个未标记的标量。) |
dlconv |
使用一个过滤器数组,匹配空间(“年代” )和通道的(一个函数)(“C” )输入的尺寸,并添加一个恒定的偏置。 |
“年代” ,“C” |
“年代” ,“C” |
dltranspconv |
使用一组滤波器,匹配空间(“年代” )和通道的(一个函数)(“C” )输入的尺寸,并添加一个恒定的偏置。 |
“年代” ,“C” |
“年代” ,“C” |
fullyconnect |
计算输入数据的加权和,并对每批应用一个偏差(“B” )和时间(“T” )维度。 |
“年代” ,“C” ,“U” |
“年代” ,“C” ,“B” ,“T” ,“U” (输出总是有标签“CB” ,“CT” ,或“施” .) |
格勒乌 |
对输入数据应用门控循环单元计算。 |
“年代” ,“C” ,“T” |
“C” |
lstm |
对输入数据应用长短期记忆计算。 |
“年代” ,“C” ,“T” |
“C” |
maxpool |
计算移动矩形空间上的最大输入数据(“年代” )区域由池大小参数定义。 |
“年代” |
“年代” |
maxunpool |
计算空间(“年代” )维度。 |
“年代” |
“年代” |
均方误差 |
计算估计值与目标值之间的一半均方误差,按批次的大小取平均值(“B” )维度。 |
“年代” ,“C” ,“B” ,“T” ,“U” (估计值和目标数组必须具有相同的大小。) |
“年代” ,“C” ,“B” ,“T” ,“U” (输出是一个未标记的标量。) |
softmax |
对每个通道应用softmax激活(“C” )的输入数据。 |
“C” |
这些函数要求每个维度都有一个标签,可以指定为第一个维度的标签dlarray
输入,或作为“DataFormat”
包含维度标号的名称-值对参数。
dlarray
强制标签的顺序“SCBTU”
.这种强制消除了操作中的不明确语义,这种语义隐式地匹配输入之间的标签。dlarray
还强制标签“C”
,“B”
,“T”
每个最多只能出现一次。使用这些标签的函数对每个标签最多接受一个维度。
dlarray
提供删除标签的函数(stripdims
),获取与标签相关联的维度(finddim
),并列出与dlarray
(会变暗
).
要了解更多关于如何dlarray
与标签的行为,参见著名的dlarray行为.
avgpool |
将数据集合到空间维度上的平均值 |
batchnorm |
对每个通道独立的所有观测值进行归一化 |
crossentropy |
交叉熵损失的分类任务 |
会变暗 |
尺寸的标签dlarray |
dlconv |
深度学习卷积 |
dlgradient |
使用自动微分为自定义训练循环计算梯度 |
dltranspconv |
深度学习转置卷积 |
extractdata |
从中提取数据dlarray |
finddim |
查找带有指定标签的尺寸 |
fullyconnect |
对所有加权输入数据求和并应用一个偏置 |
格勒乌 |
封闭的复发性单元 |
leakyrelu |
应用泄漏整流线性单元激活 |
lstm |
长时间的短期记忆 |
maxpool |
将数据池设置为最大值 |
maxunpool |
取消最大池操作的输出 |
均方误差 |
半均方误差 |
线性整流函数(Rectified Linear Unit) |
应用整流线性单元激活 |
乙状结肠 |
应用乙状结肠激活 |
softmax |
对通道维度应用softmax激活 |
stripdims |
删除dlarray 标签 |
一个dlarray
也允许函数的数字,矩阵,和其他操作。查看完整的列表支持dlarray的函数列表万博1manbetx.
一个dlgradient
调用必须在函数内部。要获得梯度的数值,必须使用dlfeval
,函数的实参必须是dlarray
.看到在深度学习工具箱中使用自动区分.
为了正确评估梯度,dlfeval
必须调用只使用支持函数的函数万博1manbetxdlarray
.看到支持dlarray的函数列表万博1manbetx.