主要内容

可视化LSTM网络的激活

这个例子展示了如何通过提取激活来调查和可视化LSTM网络学习到的特征。

负载预训练网络。JapaneseVowelsNet是在日语元音数据集上训练的预训练LSTM网络,如[1]和[2]所述。它在按序列长度排序的序列上进行训练,小批大小为27。

负载JapaneseVowelsNet

查看网络架构。

网层
ans = 5x1层阵列层:1' sequenceinput' Sequence Input序列输入序列输入12维2 'lstm' lstm lstm有100个隐藏单元3 'fc'全连接9全连接层4 'softmax' softmax 5 'classoutput'分类输出与'1'和8个其他类交叉

加载测试数据。

[XTest,YTest] = japevowelstestdata;

想象一个图中的第一个时间序列。每条线对应一个特征。

X = XTest{1};figure plot(XTest{1}') xlabel(“时间步”)标题(“试验观察1”) numFeatures = size(XTest{1},1);传奇(“特性”+字符串(1:numFeatures),“位置”“northeastoutside”

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

sequenceLength = size(X,2);idxLayer = 2;outputSize = net.Layers(idxLayer).NumHiddenUnits;i = 1:sequenceLength features(:,i) = activated (net,X(:,i),idxLayer);[net, YPred(i)] = classifyAndUpdateState(net,X(:,i));结束

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

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

热图显示了每个隐藏单元激活的强度,并突出显示了激活随时间的变化情况。

参考文献

[10]工藤,富山,新波。“使用穿越区域的多维曲线分类。”模式识别字母.第20卷,第11-13期,1103-1111页。

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

另请参阅

|||||

相关的话题