【发布时间】:2019-02-03 10:52:47
【问题描述】:
我正在尝试使用 TensorFlow 进行语音识别。
我将输入作为波形,将字作为输出。
波形应该是这样的
[0,0,0,-2,3,-4,-1,7,0,0,0...0,0,0,20,-11,4,0,0,1,...]
单词将是一个数字数组,而每个数字代表一个单词:
[12,4,2,3]
训练后我还想找出每个输出标签的输入和输出之间的相关性。
例如我想知道哪些输入神经元 |样本负责第一个标签(这里是 12 个)。
[0,0.01,0.10,0.99,0.77,0.89,0.99,0.79,0.22,0.11,0...0,0,0,0,0,0,0,0,0,...]
输入的原始值将被相关性替换,而 0 表示无相关性,1 表示完全相关性。
目标是获取单词开始时的位置。
张量流中是否有函数可以得到这种相关性?
【问题讨论】:
-
我认为没有开箱即用的功能可以为您做到这一点。这可能取决于您使用的模型以及如何从中提取“意义”(听起来很抽象)
-
我正在考虑一些方法来遍历信息从输入神经元到输出神经元的方式,看看每个神经元对每个输出值的参与程度有多“强”。我什至不知道如何称呼这个。那已经有名字了吗?
-
1) 这是一个非常抽象的讨论,我认为没有人可以在没有看到您在做什么的情况下给您任何建议,并且 2) 这完全取决于您的网络结构。如果您正在做某种 RNN,那么您可能想要研究注意力,如果您正在做某种形式的卷积时间模型,您可能想要研究反卷积层或其他东西
-
也许这张图片有助于理解,我的意思是:imgur.com/a/lKUliXK
-
您也许可以使用
tf.gradients(即tf.gradients(output,input))。它不会为您提供介于 0 和 1 之间的值,但特定位置的梯度幅度会为您提供有关输入向量的哪些部分对输出影响最大的信息。
标签: tensorflow deep-learning correlation tensor