1

J'essaie de comprendre le TensorFlow tutorial qui utilise MNIST.Comprendre le poids appris pour MNIST dans TensorFlow

Je voudrais citer la section suivante:

Pour additionnez la preuve qu'une image donnée est dans une classe particulière, nous une somme pondérée des intensités des pixels. Le poids est négatif si ce pixel ayant une intensité élevée est la preuve que l'image est dans cette classe, et positive si elle est la preuve en faveur. Le diagramme suivant montre les poids qu'un modèle a appris pour chacune des classes . Le rouge représente les poids négatifs, tandis que le bleu représente les poids positifs.

enter image description here

Ma question:

Prenons le cas de la classe 0. Alors, qu'est-ce que l'anneau bleu signifie? Le tutoriel dit bleu signifie «positif si c'est la preuve en faveur». De quelle image parlons-nous? Tout ou un particulier de l'ensemble de formation? De plus, que signifie la tache rouge au centre? Est-ce une image donnée? Je ne comprends pas quel type de code générerait cette image pour 0.

Répondre

2

Si vous lisez plus loin dans le tutoriel, vous pouvez voir que l'équation est écrite en format matriciel.

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

W représente une matrice de pondération appliquée à chaque pixel, et b représente un nombre on ajoute à chacun des W^T x de sorte qu'il est une somme d'élément par élément. Donc, une fois que nous avons un modèle formé W et b sont fixés.

Nous pouvons les résoudre pour quel type d'entrée (x) nous donnera la valeur la plus élevée pour une étiquette spécifique. So let y = [1,0,0,0,0,0,0,0,0,0,0] (c'est-à-dire l'étiquette représentant le nombre 0). Où softmax^(-1) représente l'inverse de la fonction softmax.

Cette x est l'entrée qui nous donnerait la valeur la plus élevée pour une classe particulière dans ce cas 0. Nous pouvons répéter le processus pour l'autre nombre en changeant le vecteur y de manière appropriée.

Nous pouvons également tracer ce x (car il a les mêmes dimensions que notre image d'entrée et comme indiqué dans votre question). Nous le tracons de telle sorte que les valeurs négatives sont en rouge, les valeurs proches de 0 sont en noir et les valeurs positives en bleu.

+0

De quelle quantité parlez-vous lorsque vous avez dit «valeur la plus élevée pour une étiquette spécifique»? De plus, d'où tire-t-on la valeur de W^T? –

+1

Par valeur la plus élevée, j'entends l'image telle que si elle est passée, vous obtiendrez le y que j'ai défini. W^T est juste une matrice de poids (c'est-à-dire une matrice de nombres) qui est habituellement initialisée aléatoirement. Si vous continuez à lire le tutoriel, vous verrez comment "entraîner" W et b de telle sorte qu'après un certain temps, il convergera vers un ensemble de valeurs fixes. – Steven

+0

J'essaie de comprendre l'équation pour la preuve pour la classe i donné une entrée x. evidence_i = sum_j W_ {i, j} x_j + b_i. Alors, cela signifie-t-il comme suit? Nous avons un réseau de neurones formés. Les poids du réseau sont codés comme la matrice W. De plus, qu'est-ce que l'entrée x? Lequel des ensembles d'entraînement, de test ou de validation, appartient à x? –