私はまだtensorflow
の初心者です。私のモデルの訓練が進行している間、何が起こっているのかを理解しようとしています。簡単に言えば、モデルをImageNet
にあらかじめ用意して、私のデータセットにfinetuning
を実行しています。ここではいくつかのプロットは、2つの別々のモデルにtensorboardから抽出されています テンターボードプロットの解釈
Model_1 (InceptionResnet_V2)
Model_2 (InceptionV4)
これまでのところ、両方のモデルが悪いの検証セットの結果(平均アリゾナ(エリアの下に持っていますROC曲線)=
Model_1
& 0.79
Model_2
については0.7)。これらのプロットへの私の解釈は、重量がミニバッチで変化していないということです。それは、ミニバッチ上で変化するバイアスだけであり、これが問題である可能性があります。しかし、私はこの点を確認するためにどこを探すべきか分からない。これは私が考えることができる唯一の解釈ですが、まだ私が初心者であるという事実を考えると間違っているかもしれません。あなたの考えを私に教えてください。必要に応じて、もっと多くのプロットを求めることをためらってください。
EDIT:あなたは下記のプロットで見ることができるように 、重みがかろうじて時間の経過とともに変化しているようです。これは、両方のネットワークの他のすべての重みに適用されます。これはどこかに問題があると思うようになりましたが、それをどのように解釈するのか分かりません。
InceptionResnetV2 weights
InceptionV4 weights
EDIT2: これらのモデルは、最初のImageNetに訓練されたとこれらのプロットは、私のデータセット上でそれらをfinetuningの結果です。私はそれに約800000のイメージを持つ19クラスのデータセットを使用しています。私はマルチラベル分類の問題を抱えており、私は損失関数としてsigmoid_crossentropyを使用しています。クラスは非常に不均衡です。
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 %
hyperparams値:
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
のスパース性について以下の表に、我々は、2つのサブセット(列車、バリデーション)内の各クラスの存在のパーセンテージを示していますここで層は、両方のネットワークのための層のスパース性のいくつかのサンプルです:
sparsity (InceptionResnet_V2)
sparsity (InceptionV4)
EDITED3:ここ は、両方のモデルのための損失のプロットである:
Losses and regularization loss (InceptionResnet_V2)
Losses and regularization loss (InceptionV4)
私はRMSpropに詳しくは分かりませんが、それらのハイパーパラメータは私にとってうまく見えます。また、かなりの量のデータを持っています...私はauROCがバイアスされた分類の良い指標だと知っていますが、好奇心の中からTop-1か - 好ましくは - ** Top-5の精度**がありますか?実際の**損失値**のプロットはどうですか? –
私の場合は、マルチラベルの分類であるため、1つの画像に19種類のクラスがあるため、Top-1またはTop-5として考えることはできません(マルチクラス分類)。私は損失プロットを追加しました – Maystro
私の間違い、私は問題を誤解しました。損失のプロットをありがとう。 –