此示例显示如何通过提取激活来调查和可视化LSTM网络学习的功能。
加载净化网络。Japanesevowelsnet.
是在日本元音数据集上培训的预磨削的LSTM网络,如[1]和[2]中所述。它训练在序列长度排序的序列中,含有迷你批量大小为27。
加载Japanesevowelsnet.
查看网络架构。
net.layers.
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,ytest] =日本韦沃尔斯特迪塔
在绘图中可视化第一次序列。每行对应于特征。
x = xtest {1};图绘制(xtest {1}')xlabel(“时间步骤”) 标题(“测试观察1”)numfeatures = size(xtest {1},1);传奇(“特征 ”+字符串(1:numfeatures),'地点'那“东北朝”)
对于序列的每个时间步骤,在该时间步骤中获取LSTM层(第2层)输出的激活并更新网络状态。
sequencelength = size(x,2);idxlayer = 2;outputsize = net.layers(idxlayer).numhidendents;为了i = 1:Sequencelength功能(:,i)=激活(net,x(:,i),idxlayer);[net,ypred(i)] = classifyandupdatestate(net,x(:,i));结尾
使用Heatmap可视化前10个隐藏单元。
图热图(特征(1:10,:));Xlabel(“时间步骤”)ylabel(“隐藏的单位”) 标题(“LSTM激活”)
Heatmap显示每个隐藏的单元激活强烈的强效,并突出显示激活如何随时间变化。
[1] M. Kudo,J. Toyama和M. Shimbo。“使用过度区域的多维曲线分类。”模式识别字母。卷。20,第11-13页,第1103-1111页。
[2]UCI机器学习存储库:日语元音数据集。https://archive.ics.uci.edu/ml/datasets/japanese+vowels.
激活
|Bilstmlayer.
|lstmlayer.
|sequenceInputlayer.
|培训选项
|Trainnetwork.