나는 여전히 tensorflow
에 초보자이며 내 모델의 교육이 진행되는 동안 무엇이 일어나는지를 이해하려고 노력 중입니다. 간단히 말해서, 나는 모델을 ImageNet
에 미리 배치하여 finetuning
을 내 데이터 세트에 사용하고 있습니다. 여기에 몇 가지 플롯이 개 별도의 모델 tensorboard에서 추출됩니다 tensorboard plot 해석
Model_1 (InceptionResnet_V2)
Model_2 (InceptionV4)
지금까지 두 모델은 가난한 검증 세트에 결과 (평균 아즈 (지역에 따라이 ROC 곡선) =
Model_1
& 0.79에 대해
Model_2
에 대해 0.7). 이 플롯에 대한 나의 해석은 미니 배치를 통해 가중치가 변경되지 않는다는 것입니다. 미니 일괄 처리를 통해 변경되는 편향 사항 일 뿐이며 문제가 될 수 있습니다. 그러나 나는이 점을 확인하기 위해 어디를보아야할지 모른다. 이것은 내가 생각할 수있는 유일한 해석이지만, 아직 내가 초보자라는 사실을 고려할 때 잘못된 것일 수 있습니다. 당신의 생각을 나에게 나눌 수 있습니까? 필요한 경우 더 많은 플롯을달라고 주저하지 마십시오.
편집 : 아래 그림에서 알 수 있듯이 시간이 지나면 가중치가 거의 변하지 않는 것 같습니다. 이는 두 네트워크의 다른 모든 가중치에 적용됩니다. 이것은 어딘가에 문제가 있다고 생각하게 만들었지 만 해석 방법을 모른다.
InceptionResnetV2 weights
InceptionV4 weights
EDIT2 : 이 모델이 처음 ImageNet에 훈련을받은 이들 플롯 내 데이터 세트에 그들을 미세 조정의 결과입니다. 저는 약 800000 개의 이미지가있는 19 개 클래스의 데이터 세트를 사용하고 있습니다. 다중 레이블 분류 문제를 수행하고 있으며 손실 함수로 sigmoid_crossentropy를 사용하고 있습니다. 수업은 매우 불균형합니다.의 희소성에 관한
batch_size=32
weight_decay = 0.00004 #'The weight decay on the model weights.'
optimizer = rmsprop
rmsprop_momentum = 0.9
rmsprop_decay = 0.9 #'Decay term for RMSProp.'
learning_rate_decay_type = exponential #Specifies how the learning rate is decayed
learning_rate = 0.01 #Initial learning rate.
learning_rate_decay_factor = 0.94 #Learning rate decay factor
num_epochs_per_decay = 2.0 #'Number of epochs after which learning rate
다음 hyperparams의
Objects train validation
obj_1 3.9832 % 0.0000 %
obj_2 70.6678 % 33.3253 %
obj_3 89.9084 % 98.5371 %
obj_4 85.6781 % 81.4631 %
obj_5 92.7638 % 71.4327 %
obj_6 99.9690 % 100.0000 %
obj_7 90.5899 % 96.1605 %
obj_8 77.1223 % 91.8368 %
obj_9 94.6200 % 98.8323 %
obj_10 88.2051 % 95.0989 %
obj_11 3.8838 % 9.3670 %
obj_12 50.0131 % 24.8709 %
obj_13 0.0056 % 0.0000 %
obj_14 0.3237 % 0.0000 %
obj_15 61.3438 % 94.1573 %
obj_16 93.8729 % 98.1648 %
obj_17 93.8731 % 97.5094 %
obj_18 59.2404 % 70.1059 %
obj_19 8.5414 % 26.8762 %
값 : 아래 표에서, 우리는 2 개 개의 부분 집합의 각 클래스의 존재의 비율 (기차, 검증)를 표시하고 레이어, 여기에 두 네트워크를위한 레이어의 희소성의 일부 샘플은 다음과 같습니다
sparsity (InceptionResnet_V2)
sparsity (InceptionV4)
EDITED3 : 여기에 두 모델에 대한 손실의 플롯은 다음과 같습니다
Losses and regularization loss (InceptionResnet_V2)
Losses and regularization loss (InceptionV4)
나는 당신의 평가에 동의
저는 RMSprop에 익숙하지 않지만 그 hyperparameter는 저에게 잘 보입니다. 당신은 또한 상당한 양의 데이터를 가지고 있습니다 ... 나는 auROC가 편향된 분류에 대한 좋은 척도라는 것을 알고 있습니다. 그러나 호기심에서 Top-1 또는 - 바람직하게 - ** Top-5 정확도 **가 있습니까? 실제 ** 손실 값 **에 대한 도표는 어떻습니까? –
필자의 경우 다중 라벨 분류이므로 Top-1 또는 Top-5로 생각할 가능성은 없습니다. 하나의 이미지가 19 개의 다른 클래스 (멀티 클래스에 적용된 하나의 주요 클래스 일뿐만 아니라 분류). 나는 손실 플롯을 추가했다 – Maystro
나의 실수는, 나는 그 문제를 오해했다. 손실 도표를 가져 주셔서 감사합니다. –