主要内容

predictAndUpdateState

使用培训的经常性神经网络预测响应并更新网络状态

描述

你可以在CPU或GPU上使用训练有素的深度学习网络进行预测。使用GPU需要并行计算工具箱和CUDA®使英伟达®GPU具有计算能力3.0或更高。使用该硬件要求指定硬件要求'executionenvironment'名称值对参数。

例子

[UpdatedNet.伊普雷德) = predictAndUpdateState (雷克内特序列预测输入数据的响应序列使用培训的经常性神经网络雷克内特并更新网络状态。

此功能仅支持经常性的神经网络金宝app。输入雷克内特必须至少有一个复发层。

[UpdatedNet.伊普雷德) = predictAndUpdateState (___名称,价值使用先前语法中的任何参数和一个或多个指定的其他选项名称,价值对论点。例如,“MiniBatchSize”,27使用型号27进行预测。

提示

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

例子

全部收缩

使用经过训练的递归神经网络预测响应,并更新网络状态。

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

加载Japanesevowelsnet.

查看网络架构。

net.Layers
ans=5x1带层的层阵列:1“sequenceinput”带12维的序列输入序列输入2“lstm”带100个隐藏单元的lstm lstm 3“fc”完全连接9个完全连接的层4“softmax”softmax 5“classoutput”带“1”和8个其他类的分类输出crossentropyex

加载测试数据。

[XTest,YTest]=日本世界统计数据;

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

X=XTest{94};numTimeSteps=大小(X,2);为了i=1:numTimeSteps v=X(:,i)[净,得分]=PredictandUpdateEstate(净,v);分数(:,i)=分数;结尾

绘制预测分数。该曲线显示了如何在时间步长之间进行预测变化。

一会=字符串(net.Layers(结束). class);Figure lines = plot(scores');传说numTimeSteps xlim ([1]) (“类”+类名,“位置”“西北”)包含(“时间步长”) ylabel (“得分”)头衔(“随时间步长的预测分数”

突出显示正确类随时间步长的预测得分。

trueLabel =欧美(94)
trueLabel =绝对的3.
行(trueLabel)。线宽= 3;

在条形图中显示最终时间步长预测。

图酒吧(得分)标题(“最终预测分数”)包含(“类”) ylabel (“得分”

输入参数

全部收缩

训练的递归神经网络,指定为系列网络或者DAGNetwork对象您可以通过导入预训练网络或使用Trainnetwork.功能。

雷克内特是一种递归神经网络。它必须至少有一个循环层(例如,LSTM网络)。

序列或时间序列数据,指定为N-数字数组的by-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分别对应于三维图像的高度、宽度、深度和通道数,以及S.为序列长度。

对于数据存储输入,数据存储必须以序列单元格数组或第一列包含序列的表的形式返回数据。序列数据的维度必须与上表相对应。

名称值对参数

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

例子:[UpdatedNet,Ypred] = predictandanddateState(repnet,c,'minibatchsize',27)使用型号27进行预测。

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

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

例子:“MiniBatchSize”,256

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

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

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

默认选项是'汽车'

使用'加速'选项'汽车'可以提供性能优势,但以增加初始运行时为代价。使用兼容参数的后续调用速度更快。当您计划使用新输入数据多次调用函数时,请使用性能优化。

例子:“加速”,“自动”

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

  • '汽车'-使用GPU(如果有);否则,请使用CPU。

  • “gpu”- 使用GPU。使用GPU需要并行计算工具箱和支持CUDA的NVIDIA GPU,其计算能力为3.0或更高。如果并行计算工具箱或合适的GPU不可用,则软件返回错误。

  • “cpu”-使用CPU。

例子:“ExecutionEnvironment”、“cpu的

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

  • “最长的”-每个小批量中的Pad序列与最长序列具有相同的长度。此选项不会丢弃任何数据,但填充会给网络带来噪声。

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

  • 正整数—对于每个小批量,将序列填充到指定长度的最近倍数,该倍数大于最小批量中序列的最长长度,然后将序列分割成指定长度的更小的序列。如果发生分裂,则软件创建额外的小批量。如果完整序列无法装入内存,则使用此选项。或者,尝试通过设置来减少每个小批量的序列数量“MiniBatchSize”选择较低的值。

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

例子:“SequenceLength”、“最短的

填充或截断的方向,指定为下列任一种:

  • “对”—在右侧填充或截断序列。序列在同一时间步开始,软件截断或添加填充到序列的结束。

  • “左”-在左侧填充或截断序列。该软件截断或添加填充到序列的开始,以便序列在同一时间步结束。

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

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

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

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

例子:'sequencdpaddingsvalue', - 1

输出参数

全部收缩

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

预测得分或反应,以矩阵或矩阵单元格数组的形式返回。的格式伊普雷德这取决于问题的类型。

下表介绍了分类问题的格式。

任务 格式
序列到标签分类 N-借-K.矩阵,在哪里N是观察次数,以及K.是课程的数量。
序列到序列分类

N- 1个矩阵的单元阵列,其中N是观察人数。序列是矩阵K.行,在哪里K.是班级的数量。应用后,每个序列的时间步数与相应的输入序列的时间步数相同Sequencelength.每个小批量的选项都是独立的。

对于单次观测的序列到序列分类问题,序列可以是矩阵。在这种情况下,伊普雷德是一个K.-借-S.分数矩阵,其中K.是课程数量,也是S.为对应输入序列的时间步长总数。

下表描述了回归问题的格式。

任务 格式
序列到一个回归 N-借-R.矩阵,在哪里N观察的次数是多少R.为响应的数量。
序列到序列回归

N-数字序列的by-1单元格数组,其中N是观察人数。序列是矩阵R.行,在哪里R.为响应的数量。每个序列在应用后与相应的输入序列具有相同的时间步长Sequencelength.每个小批量的选项都是独立的。

对于一个观察的序列到序列问题,序列可以是矩阵。在这种情况下,伊普雷德是一种反应矩阵。

算法

deep learning Toolbox™中用于深度学习训练、预测和验证的所有函数使用单精度浮点算法执行计算。深度学习的函数包括Trainnetwork.预测分类,激活. 当同时使用CPU和GPU训练网络时,软件使用单精度算法。

工具书类

工藤、富山、新保。“使用通过区域的多维曲线分类”。模式识别字母. 第20卷,第11-13号,第1103-1111页。

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

扩展能力

在R2017B中介绍