主要内容

可视化LSTM网络的激活

此示例显示了如何通过提取激活来调查和可视化LSTM网络学到的功能。

负载预估计的网络。日本vOwelsnet如[1]和[2]中所述,是在日本元音数据集上训练的LSTM网络。它是按序列长度分类的序列训练,小批量大小为27。

加载日本vOwelsnet

查看网络体系结构。

net.layers
ANS = 5x1层阵列带有层:1'sequenceInput'序列输入序列输入,带12个维度2'lstm'lstm lstm,带有100个隐藏单元3'FC'完全连接的9个完全连接的层4'SoftMax'Softmax'Softmax'SoftMax Softmax 5'SoftMax 5'ClastOutput'分类'输出crossentropyex,具有“ 1”和其他8个类别

加载测试数据。

[xtest,ytest] = japanyvowelstestdata;

可视化图中的第一个时间序列。每行都对应于功能。

x = xtest {1};图图(xtest {1}')xlabel(“时间步长”) 标题(“测试观察1”)numFeatures = size(xtest {1},1);传奇(“特征 ”+字符串(1:数字),'地点',,,,“东北”

图包含一个轴。带有标题测试的轴1包含12个类型线的对象。这些对象表示功能1,功能2,功能3,功能4,功能5,功能6,功能7,功能8,功能9,功能10,功能11,功能11,功能12。

对于序列的每个时间步,请在该时间步中获得LSTM层(第2层)的激活输出,并更新网络状态。

sequenceLength = size(x,2);idxlayer = 2;outputsize = net.layers(idxlayer).numhidendunits;为了i = 1:sequenceLength特征(:,i)=激活(net,x(:,i),idxlayer);[net,ypred(i)] = classifyAndUpDateState(net,x(:,i));结尾

使用热图可视化前10个隐藏单元。

图热图(功能(1:10,:));Xlabel(“时间步长”)ylabel(“隐藏单位”) 标题(“ LSTM激活”

图包含一个类型热图的对象。Heatmap类型图表具有标题LSTM激活。

热图显示了每个隐藏单元的强烈激活和突出激活如何随时间变化的方式。

参考

[1] M. Kudo,J。Toyama和M. Shimbo。“使用传递区域的多维曲线分类。”图案识别字母。卷。20,编号11-13,第1103–1111页。

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

也可以看看

|||||

相关话题