主要内容

使用Deep Network Designer创建简单的序列分类网络

此示例演示如何使用Deep network Designer创建简单的长短时记忆(LSTM)分类网络。

要训练深层神经网络对序列数据进行分类,可以使用LSTM网络。LSTM网络是一种递归神经网络(RNN),用于学习序列数据时间步长之间的长期相关性。

该示例演示了如何:

  • 加载序列数据。

  • 构建网络体系结构。

  • 指定培训选项。

  • 培训网络。

  • 预测新数据的标签并计算分类精度。

加载数据

加载日语元音数据集,如中所述[1][2].预测器是包含不同长度序列的单元阵列,特征维数为12。标签是标签1,2,…,9的分类向量。

[XTrain,YTrain]=日本全球应变数据;[XValidation,YValidation]=日本世界最新数据;

查看前几个训练序列的大小。序列是具有12行(每个特征一行)和不同列数(每个时间步一列)的矩阵。

XTrain (1:5)
ans=5×1单元阵列{12×20-double}{12×26-double}{12×22-double}{12×20-double}{12×21-double}

定义网络架构

打开深层网络设计器。

deepNetworkDesigner

暂停上要标记的序列点击打开. 这打开了一个适合序列分类问题的预构建网络。

深度网络设计器显示预构建的网络。

您可以轻松地为日语元音数据集调整此序列网络。

选择序列输入层和检查InputSize设置为12以匹配特征维度。

选择第一层设定努米登单位到100年。

选择完全连接层和检查输出大小设置为9,即类的数量。

检查网络架构

要检查网络并检查图层的更多详细信息,请单击分析

出口网络体系结构

要将网络架构导出到工作区,请在设计师选项卡,单击出口.深度网络设计器将网络保存为变量第1层

您还可以通过选择生成代码来构建网络体系结构出口>生成代码

列车网络

指定培训选项并培训网络。

因为小批量小,序列短,所以CPU更适合于训练“执行环境”“cpu”。若要在GPU上进行训练,请设置“执行环境”“自动”(默认值)。

最小批量大小=27;选项=培训选项(“亚当”,...“执行环境”,“cpu”,...“MaxEpochs”,100,...“MiniBatchSize”,小批量,...“ValidationData”{XValidation, YValidation},...“梯度阈值”,2,...“洗牌”,“every-epoch”,...“冗长”假的,...“情节”,“培训进度”);

培训网络。

net=列车网络(XTrain、YTrain、层1、选项);

测试网络

对测试数据进行分类,并计算分类精度。指定与培训相同的小批量大小。

YPred=分类(净、验证、,“MiniBatchSize”,小批量);acc=平均值(YPred==YValidation)
acc=0.9432

对于下一步,您可以尝试使用双向LSTM(BiLSTM)层或创建更深的网络来提高精度。有关更多信息,请参阅长短时记忆网络

有关如何使用卷积网络对序列数据进行分类的示例,请参见基于深度学习的语音命令识别

参考文献

[1] 工藤、Mineichi、富山君和Masaru Shimbo。“使用通过区域的多维曲线分类”,《模式识别字母20》,第11-13期(1999年11月):1103-11。https://doi.org/10.1016/S0167-8655(99)00077-X。

工藤、民一、富山俊和《新报》。日语元音数据集。由UCI机器学习知识库分发。https://archive.ics.uci.edu/ml/datasets/Japanese+元音

另见

相关的话题