質問: お世話になります 機械(深層)学習 超初心者です こちらのサイトのpix2pixのコードを (無作為に 集めたイラスト画像の 学習を試みたところ 数エポック後に D logloss と G logloss が それぞれ一定に なってしまったので) 数値を変えて (Colab上で) 実行中です 以下 途中からの出力結果です 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7633 - G tot: 6.8954 - G L1: 0.6266 - G logloss: 0.6294 Epoch 31/180, Time: 200.99450063705444 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7603 - G tot: 6.8181 - G L1: 0.6171 - G logloss: 0.6473 Epoch 32/180, Time: 200.79291415214539 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7580 - G tot: 6.7807 - G L1: 0.6119 - G logloss: 0.6619 Epoch 33/180, Time: 200.87350392341614 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7551 - G tot: 6.6729 - G L1: 0.5991 - G logloss: 0.6818 Epoch 34/180, Time: 200.60674738883972 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7445 - G tot: 6.5915 - G L1: 0.5922 - G logloss: 0.6692 Epoch 35/180, Time: 200.41968870162964 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7431 - G tot: 6.5863 - G L1: 0.5885 - G logloss: 0.7012 Epoch 36/180, Time: 200.09507131576538 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7468 - G tot: 6.5437 - G L1: 0.5828 - G logloss: 0.7156 Epoch 37/180, Time: 200.42359519004822 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7385 - G tot: 6.5412 - G L1: 0.5835 - G logloss: 0.7062 Epoch 38/180, Time: 200.62738251686096 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7254 - G tot: 6.4251 - G L1: 0.5709 - G logloss: 0.7162 Epoch 39/180, Time: 200.82626819610596 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7417 - G tot: 6.3428 - G L1: 0.5615 - G logloss: 0.7279 Epoch 40/180, Time: 200.57073044776917 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7305 - G tot: 6.4459 - G L1: 0.5715 - G logloss: 0.7311 Epoch 41/180, Time: 200.6992690563202 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7293 - G tot: 6.2017 - G L1: 0.5472 - G logloss: 0.7299 Epoch 42/180, Time: 200.49965977668762 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7266 - G tot: 6.3782 - G L1: 0.5633 - G logloss: 0.7449 Epoch 43/180, Time: 200.52365827560425 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7146 - G tot: 6.2768 - G L1: 0.5524 - G logloss: 0.7526 Epoch 44/180, Time: 200.32023119926453 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7148 - G tot: 6.2152 - G L1: 0.5444 - G logloss: 0.7709 Epoch 45/180, Time: 200.79222965240479 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7141 - G tot: 6.1604 - G L1: 0.5394 - G logloss: 0.7659 Epoch 46/180, Time: 200.7552511692047 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7107 - G tot: 6.1789 - G L1: 0.5408 - G logloss: 0.7709 Epoch 47/180, Time: 200.77876567840576 1975/1975 [==============================] - 200s 101ms/step - D logloss: 0.7039 - G tot: 6.1207 - G L1: 0.5339 - G logloss: 0.7818 Epoch 48/180, Time: 200.60933804512024 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7008 - G tot: 6.1088 - G L1: 0.5329 - G logloss: 0.7800 Epoch 49/180, Time: 200.5249800682068 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.7071 - G tot: 6.0362 - G L1: 0.5243 - G logloss: 0.7930 Epoch 50/180, Time: 200.48646688461304 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.6978 - G tot: 6.0065 - G L1: 0.5202 - G logloss: 0.8041 Epoch 51/180, Time: 200.51794505119324 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.6977 - G tot: 6.0450 - G L1: 0.5244 - G logloss: 0.8010 Epoch 52/180, Time: 202.29511642456055 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.6952 - G tot: 6.0804 - G L1: 0.5258 - G logloss: 0.8229 Epoch 53/180, Time: 200.9009850025177 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.6987 - G tot: 6.0776 - G L1: 0.5253 - G logloss: 0.8251 Epoch 54/180, Time: 200.5104055404663 1975/1975 [==============================] - 199s 101ms/step - D logloss: 0.6931 - G tot: 5.9714 - G L1: 0.5136 - G logloss: 0.8355 Epoch 55/180, Time: 200.24306225776672 40エポックあたりから D logloss と G logloss の値が 逆転しています この場合 このまま 学習を続けていいのでしょうか? また、出力される数値の どれに注目すれば よいのでしょうか? それぞれの項目は どのような 意味合いを持っているのでしょうか? よろしく お願い致します 追記 数学の知識が 乏しいため ソースを 完全には 把握できませんが 機械(深層)学習に 興味を持って コードをいじりながら 学んでいきたいと思っております 自分なりに調べましたところ logloss というのは 予測値から 正解ラベルに近いほど小さいという事が わかりました G loglossは 生成画像と オリジナル画像が 近いほど良いので 小さな値の方が 良さそうで、 D loglossは 生成画像と オリジナル画像を 入力しているみたいですが こちらも 最小化されるのが 望ましいのでしょうか? 追記2: 今のところ、adamの値を 変えながら 実行しておりますが 他に 実行結果を 改善するには どのような手法が ありますでしょうか?
回答: こんにちは。 Loss(損失)はその名の通り、常にできるだけ小さくしたい対象です。 料理店なら廃棄される材料の割合、空き巣なら検挙されてしまた割合、 Generator(生成器)なら生成された偽物画像を偽物と見破られてしまった割合、 Discriminator(識別器)なら生成された偽物画像を本物と間違えしまった割合、といった案配です。 GANはGeneratorとDiscriminatorを**それぞれ鍛えながら競い合わせる**ことで 人間が生成画像の善し悪しをチェックしなくても自動的に生成力を伸ばせることにメリットがあります。 詳しくは今さら聞けないGAN(1) 基本構造の理解 - Qiitaなどをどうぞ。 またLogarithmic Lossについて知りたければ機械学習でLog Lossとは何か - Qiitaあたりをどうぞ。