LoginSignup
8
7

More than 5 years have passed since last update.

pix2pixの出現で「DLで大量データが必要」は伝説になった~検証編~

Last updated at Posted at 2018-02-18

前回、ちょっと言いすぎかな。。でも検証してみても、やはり1データで学習してしまう。。。

いやいや、言い方がちょっと違うかもしれません。
汎用性は全くない。。Trainデータをしっかり覚えてくれます。
つまり、普通の意味で言うと、完全に過学習!

いくつか改変したコードを以下に置きました
MuAuan/pix2pix

pix2pixの原理

pix2pixは、普通のGANと異なり、二つの画像の関連性の真偽から学習して、習得した関連に関しては再現よく表現するというものです。したがって、利用は2つの画像ペア(画像に表せれば何でもOKだし、二つである必要も無いらしい)間の変換や途中の補完などに利用するものであるようです。

pix2pixは原理として以下の工夫をしています。
(1)pix2pixは、cGANである
条件付きという意味は、今回はもともとの画像と加工先の画像等が必要で、どっちがどっちでもいいですが、この二つの画像ペアの一致度をDiscriminatorが判断しつつ学習します。
(2)Generatorにu-netを使っている
u-netは、encoder-decoderにおいて、対象的な構造としており、対応する(相似な)中間層のパラメーターをencoderから直接decoderに渡す構造を採用しています。
※一応、普通のencoder-decoderでもよさそうですが、論文中ではよい結果は得られていないようです
(3)patchGANを利用して、L1相関を強化
論文見るとL1相関強くして、全体的な変化を均一化してDiscriminatorを欺く戦略とのこと。確かに効果が表れている根拠図が示されています。

因みに、Generatorは、例えばGray画像や輪郭画像のみで目的の図を出力しています。

とにかく1dataChallengeを継続

今回、やってみたこと

準備として

TestとTrainのコンタミが怖いのと、どの画像がTestに採用されているのかがわかりにくいので、完全に分離して読み込むように改めました。

①1Train1Testで収束するのか

やってみました。
Trainはほんとに1個でも10分もかからず収束する。
けど、TestはCannyとGrayで試しましたが、どちらもいい結果は出ません。

②90%Train10%TestでTestはきれいな絵になるのか

③Grayの場合、顔でtrainして、ファッション絵に適用

汎用性の検証としてやってみました。

おまけ~出力専用AP作成

モデルの構造を見る意味でも、検証用に利用する意味でも、学習済のパラメータで出力専用アプリを作成しました。
※入力対応はhdf5ファイルです

結果

①各カテゴリ1Train1Testの結果

データは同じデータの右向きと左向きをTrainとTestに使っています。
Trainデータ
current_batch_training1000.png
Testデータ
(ひどいので掲載しません)
Grayの場合
Testデータは綺麗に塗れました
current_batch_validation200.png

②90%Train10%TestでTestはきれいな絵になるのか

これも、Cannyは汚れてしまって、何がなんだか
current_batch_validation390.png
Grayは一応、見られる程度の色を塗ってくれますが、以下の通りです
current_batch_validation170.png
でも、色合いとか完成度低い。。ということで不満足

この結果は、かなり危険です。汎用的な変換器を作ろうという目論見だと、破綻する兆候です。

③Grayの場合、顔でtrainして、ファッション絵に適用

これは、それなり。。。塗れてます
Testデータ
current_batch_validation160.png
まあ、植物も背景も学習していなから、塗れないのは当然ですが、ファッションのデータで学習しても上のレベルなので、ほぼ似たような感じです。

もちろん、どれもTrainデータの再現性はほぼ完ぺきです。

まとめ

・1データでも簡単に学習する
・過学習である

課題

・Generatorの過学習を回避するにはどうすればいいか
・過学習であることを利用すること

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7