主要内容

classifyandupdateState.

使用经过培训的经常性神经网络对数据进行分类并更新网络状态

描述

您可以在CPU或GPU上使用培训的深度学习网络进行预测。使用GPU需要并行计算工具箱™和支持的GPU设备。万博1manbetx有关支持设备的信息,请参阅万博1manbetxGPU通万博1manbetx过发布支持(并行计算工具箱)使用该硬件要求指定硬件要求'executionenvironment'名称值对参数。

例子

[UpdatedNet.ypred.] = classiffandupdateState(regnet.序列分类数据序列使用培训的经常性神经网络regnet.并更新网络状态。

此功能仅支持经常性的神经网络万博1manbetx。输入regnet.必须至少有一个复发层。

[UpdatedNet.ypred.] = classiffandupdateState(___名称,价值使用先前语法中的任何参数和一个或多个指定的其他选项名称,价值对论点。例如,'minibatchsize',27使用少量批量进行分类数据27

分类和更新网络状态

例子

[UpdatedNet.ypred.得分] = classiffandupdateState(___使用先前语法中的任何参数,返回分类得分的矩阵,并更新网络状态。

小费

当用不同长度的序列进行预测时,迷你批量大小可以影响添加到的输入数据的填充量,这导致不同的预测值。尝试使用不同的值,以查看最适合您的网络。要指定小批量大小和填充选项,请使用'minibatchsize''sequencelength'选项分别。

例子

全部收缩

利用递归神经网络对数据进行分类,并更新网络状态。

加载Japanesevowelsnet.,如[1]和[2]中所述,在日本元音数据集上培训的预训练的长短期内存(LSTM)网络。该网络在序列上培训,序列长度与迷你批量大小为27。

加载Japanesevowelsnet.

查看网络架构。

网。层
ANS = 5x1层阵列具有图层:1'SENDUNINPUT'序列输入序列输入序列输入12尺寸2'LSTM'LSTM LSTM LSTM LSTM为100个隐藏单元3'FC'完全连接的9完全连接的第4层SoftMax'SoftMax SoftMax SoftMax 5'ClassOutput'分类输出Crossentropyex与“1”和其他8个类

加载测试数据。

[XTest,欧美]= japaneseVowelsTestData;

循环在序列中的时间步长。分类每次步骤并更新网络状态。

X = XTest {94};numTimeSteps =大小(X, 2);为了i = 1:numtimesteps v = x(:,i);[net,label,score] = classifyandupdattestate(net,v);标签(i)=标签;结尾

在楼梯绘图中绘制预测的标签。该曲线显示了预测如何在时间步骤之间发生变化。

图楼梯(标签,'-o')xlim([1 numtimesteps])xlabel(“时间步骤”)ylabel(“预测的课程”) 标题(“随着时间的推移分类”

图中包含一个坐标轴。标题为“随时间的分类步骤”的轴包含楼梯类型的对象。

将预测与真实标签进行比较。绘制一个水平线,显示观察的真实标签。

truelabel = ytest(94)
truilabel =分类3.
抓住线([1 numtimesteps],[Truilabel Truilabel],......'颜色''红色的'......“线型”' - ')传说([“预言”“真品”])

图中包含一个坐标轴。随着时间的步骤带有标题分类的轴包含2个阶段阶段的对象。这些对象代表预测,真实标签。

输入参数

全部收缩

经过培训的经常性神经网络,指定为a系列网络或者Dagnetwork.目的。您可以通过导入预磨损的网络或使用您自己的网络使用培训的网络来获得培训的网络Trainnetwork.功能。

regnet.是一种经常性的神经网络。它必须具有至少一个复发层(例如,LSTM网络)。

序列或时间序列数据,指定为一个N-1个数字阵列的1个单元阵列,其中N是观察的数量,表示单个序列或数据存储的数字数组。

对于单元格数组或数字数组输入,包含序列的数字数组的维数取决于数据类型。

输入 描述
矢量序列 C-经过-S.矩阵,其中C是序列的特征数量和S.是序列长度。
2-D图像序列 H-经过-W.-经过-C-经过-S.阵列,在哪里HW., 和C对应于图像的高度,宽度和数量,以及S.是序列长度。
3-D图像序列 H-经过-W.-经过-D.-经过-C-经过-S., 在哪里HW.D., 和C对应于3-D图像的高度,宽度,深度和数量,以及S.是序列长度。

对于数据存储区输入,数据存储必须将数据返回为序列的单元格数组或第一列包含序列的表。序列数据的尺寸必须对应于上表。

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:[UpdatedNet,Ypred] = ClassifyAndupDateState(repnet,c,'minibatchsize',27)使用较小的尺寸27进行分类数据。

用于预测的迷你批次的大小,指定为正整数。较大的迷你批量大小需要更多内存,但可以导致更快的预测。

当用不同长度的序列进行预测时,迷你批量大小可以影响添加到的输入数据的填充量,这导致不同的预测值。尝试使用不同的值,以查看最适合您的网络。要指定小批量大小和填充选项,请使用'minibatchsize''sequencelength'选项分别。

例子:'minibatchsize',256

性能优化,指定为逗号分隔对组成'加速'和以下之一:

  • '汽车'—自动应用一些适合输入网络和硬件资源的优化。

  • '没有任何'- 禁用所有加速度。

默认选项是'汽车'

使用'加速'选项'汽车'可以提供绩效福利,但牺牲了增加的初始运行时间。具有兼容参数的后续调用更快。使用新输入数据计划多次调用函数时,使用性能优化。

例子:'加速','auto'

硬件资源,指定为逗号分隔对组成'executionenvironment'和以下之一:

  • '汽车'- 如果有可用的话,请使用GPU;否则,使用CPU。

  • “图形”- 使用GPU。使用GPU需要并行计算工具箱和支持的GPU设备。万博1manbetx有关支持设备的信息,请参阅万博1manbetxGPU通万博1manbetx过发布支持(并行计算工具箱)如果不可用并行计算工具箱或合适的GPU,则软件返回错误。

  • '中央处理器'—使用CPU。

例子:'executionenvironment','cpu'

选项要填充,截断或拆分输入序列,指定为以下之一:

  • “最长”- 每个迷你批处理中的缝合序列具有与最长序列相同的长度。此选项不会丢弃任何数据,但填充可以向网络引入噪点。

  • “最短”- 截断每个小批处理中的序列与最短序列具有相同的长度。此选项可确保在丢弃数据的成本下添加填充。

  • 正整数 - 对于每个小批次,填充序列到最接近的指定长度的倍数大于小批次中最长的序列长度,然后将序列分成规定长度的较小序列。如果发生拆分,则软件会创建额外的百分之批处理。如果完整序列不适合内存,请使用此选项。或者,尝试通过设置序列减少每百分之批次的序列数'minibatchsize'值较低的值。

要了解有关填充,截断和拆分输入序列的影响,请参阅序列填充,截断和分裂

例子:'Sequencelength','最短'

填充或截断的方向,指定为以下之一:

  • “对”- 右侧的垫或截断序列。该序列在同一时间步骤开始,软件截断或将填充添加到序列的末尾。

  • '剩下'- 左侧或截断序列。该软件截断或将填充添加到序列的开始,使序列同时结束。

因为LSTM层次处理序列数据一次一次步骤,当图层时OutputMode.属性是'最后的',最终时间步骤中的任何填充都可以对图层输出产生负面影响。键入或截断左侧的序列数据,设置'sequencdpaddingdirection'选项'剩下'

用于序列到序列网络(当OutputMode.属性是'顺序'对于每个LSTM层),在第一次步骤中的任何填充都可以对较早时间步长的预测产生负面影响。键入或截断右侧序列数据,请设置'sequencdpaddingdirection'选项“对”

要了解有关填充,截断和拆分输入序列的影响,请参阅序列填充,截断和分裂

填充输入序列的值,指定为标量。该选项仅在何时有效Sequencelength.“最长”或正整数。不要用垫缝,因为这样做可以在整个网络中传播错误。

例子:'sequencdpaddingsvalue', - 1

输出参数

全部收缩

更新的网络。UpdatedNet.与输入网络相同类型的网络。

预测类标签,作为分类矢量返回,或分类向量的单元格数组。格式ypred.取决于问题的类型。

下表描述了格式ypred.

任务 格式
序列到标签分类 N-1标签的1个分类向量,在哪里N是观察人数。
序列到序列分类

N-1个标签的1个分类序列阵列,其中N是观察人数。在应用后,每个序列具有与相应的输入序列相同的时间步骤Sequencelength.每个迷你批处理的选项独立。

对于一个观察的序列到序列分类问题,序列可以是矩阵。在这种情况下,ypred.是一个分类的标签序列。

预测类别分数,作为矩阵或矩阵阵列返回。格式得分取决于问题的类型。

下表描述了格式得分

任务 格式
序列到标签分类 N-经过-K.矩阵,N是观察人数,和K.是课程的数量。
序列到序列分类

N- 1个矩阵的单元阵列,其中N是观察人数。序列是矩阵K.行,在哪里K.是课程的数量。在应用后,每个序列具有与相应的输入序列相同的时间步骤Sequencelength.每个迷你批处理的选项独立。

对于一个观察的序列到序列分类问题,序列可以是矩阵。在这种情况下,得分是预测类别分数的矩阵。

算法

当您使用该网络训练网络时Trainnetwork.功能,或使用预测或验证功能时Dagnetwork.系列网络对象,软件使用单精度浮点算术执行这些计算。培训,预测和验证的功能包括Trainnetwork.预测分类, 和激活.当您使用CPU和GPU培训网络时,该软件使用单精度算术。

参考文献

[1] M. Kudo,J. Toyama和M. Shimbo。“使用过度区域的多维曲线分类。”模式识别字母.第20卷,第11-13期,第1103-1111页。

[2]UCI机器学习知识库:日语元音数据集.https://archive.ics.uci.edu/ml/datasets/japanese+vowels.

扩展能力

在R2017B中介绍