1

MNIST를 사용하는 TensorFlow tutorial을 이해하려고합니다.TensorFlow에서 MNIST의 학습 된 무게 이해

나는 다음과 같은 부분을 인용하고 싶습니다 :

우리는 픽셀 강도의 가중 합을, 주어진 이미지가 특정 클래스에 있음을 을 증거를 집계하기. 가중치는 높은 강도를 갖는 픽셀이 해당 이미지에 대한 증거 인 경우 이고 이미지가 유리한 경우 긍정적입니다.

다음 다이어그램은 각 클래스에 대해 학습 한 모델의 가중치를 보여줍니다. 빨간색은 음수 가중치를 나타내며 파란색은 양수를 나타냅니다.

enter image description here

내 질문 :

이의 클래스 0 그래서의 경우를 보자, 파란색 링이 무엇을 의미합니까? 이 튜토리얼에서는 파란색은 '증거가 긍정적이면 긍정적'을 의미한다고 설명합니다. 우리가 어떤 이미지를 말하는거야? 교육 세트의 전체 또는 특정 하나? 또한, 중앙에있는 붉은 얼룩은 무엇을 의미합니까? 이것이 주어진 이미지입니까? 어떤 종류의 코드가 0에 대해이 이미지를 생성하는지 이해할 수 없습니다.

답변

2

튜토리얼을 더 읽으면 방정식이 매트릭스 형식으로 작성되었음을 알 수 있습니다.

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

W는 각 픽셀에 적용될 가중치 행렬을 나타내고, 그것이 elementwise 합 B 그래서 우리는 W^T (X)의 각각에 추가 할 수를 나타낸다. 그래서 일단 우리는 훈련 된 모델 W와 B가 고정되어 있습니다.

우리는 어떤 종류의 입력 (x)이 특정 레이블에 대해 가장 높은 값을 줄지를 해결할 수 있습니다. 따라서 y = [1,0000000000] (즉, 숫자 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에 가까운 값은 검정, 양수는 파란색입니다.

+0

'특정 라벨에 대해 가장 높은 가치'라고 말했을 때 어떤 양을 이야기하고 있습니까? 게다가, 우리는 W^T의 가치를 어디에서 얻을 수 있습니까? –

+1

가장 큰 가치는 내가 정의한 이미지를 의미합니다. 정의 된 y를 얻을 수 있습니다. W^T는 일반적으로 무작위로 초기화되는 가중치 행렬 (즉, 행렬)입니다. 튜토리얼을 계속 읽는다면 W와 B를 "훈련"하는 방법을 볼 수 있습니다. 잠시 후에 어떤 고정 된 값으로 수렴 할 것입니다. – Steven

+0

나는 입력 x가 주어진 클래스 i에 대한 증거의 방정식을 이해하려고합니다. evidence_i = sum_j W_ {i, j} x_j + b_i. 그렇다면 다음과 같은 의미입니까? 우리에게는 훈련 된 신경망이 있습니다. 네트워크의 가중치는 행렬 W로 인코딩됩니다. 또한 입력 x는 무엇입니까? x 중 어떤 것이 훈련, 시험 또는 검증 세트입니까? –