了解TensorFlow中MNIST的学习重量

时间:2016-11-01 17:42:11

标签: image-processing tensorflow artificial-intelligence deep-learning mnist

我想了解使用MNIST的TensorFlow tutorial

我想引用以下部分:

  

为了计算某个特定图像在特定类中的证据,   我们对像素强度进行加权求和。体重是负面的   如果具有高强度的像素是针对图像的证据   在那个班级里,如果有证据支持,那就是积极的。

     

下图显示了每个模型学习的权重   这些课程。红色代表负重量,蓝色代表负重量   正重量。

     

enter image description here

我的问题:

让我们来看看0级的情况。那么,蓝环意味着什么?该教程称蓝色意味着如果它是有利的证据则是正面的。我们在谈论什么形象?训练集中的全部或特定部分?而且,中心的红色斑点是什么意思?这是给定的图像吗?我不明白哪种代码会为0生成此图像。

1 个答案:

答案 0 :(得分:2)

如果您在本教程中进一步阅读,您可以看到该等式以矩阵格式写出。

y (the label) = softmax (W^T x + b)

W表示应用于每个像素的权重矩阵,b表示我们添加到每个W ^ T x的数字,因此它是元素和。所以一旦我们有一个训练有素的模型W和b是固定的。

我们可以解决什么样的输入(x)将为我们提供特定标签的最高价值。所以让y = [1,0,0,0,0,0,0,0,0,0,0](即代表数字0的标签)。

softmax^(-1)(y) = W^T x + b

softmax^(-1)(y) - b =  W^T x

W^-T(softmax^(-1)(y) - b) = x

其中softmax ^( - 1)表示softmax函数的倒数。

此x是在这种情况下为特定类提供最高值的输入。我们可以通过适当地更改向量y来重复其他数字的过程。

我们也可以绘制这个x(因为它与我们的输入图像具有相同的尺寸,并且如您的问题所示)。我们绘制阴影值为红色,接近0的值为黑色,正值为蓝色。