1

MNIST を使用する TensorFlow チュートリアルを理解しようとしています。

次の一節を引用したい。

特定の画像が特定のクラスにあるという証拠を集計するために、ピクセル強度の加重合計を行います。強度の高いピクセルがそのクラスにある画像に対する証拠である場合、重みは負であり、有利な証拠である場合は正です。

次の図は、これらのクラスごとに 1 つのモデルが学習した重みを示しています。赤は負の重みを表し、青は正の重みを表します。

ここに画像の説明を入力

私の質問:

クラス 0 の場合を考えてみましょう。では、青いリングは何を意味するのでしょうか。チュートリアルでは、青は「賛成の証拠である場合は肯定的」を意味すると述べています。私たちはどのようなイメージについて話しているのですか?トレーニング セットのすべてまたは特定の 1 つですか? また、中央の赤い塊は何を意味するのでしょうか? これは与えられたイメージですか?0 に対してこの画像を生成するコードの種類がわかりません。

4

1 に答える 1

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 は、この場合 0 の特定のクラスの最高値を与える入力です。ベクトル y を適切に変更することにより、他の数値に対してプロセスを繰り返すことができます。

この x をプロットすることもできます (入力画像と同じ寸法で、質問に示されているように)。負の値が赤、0 に近い値が黒、正の値が青になるようにプロットします。

于 2016-11-02T21:01:28.280 に答える