アンビグラム自動生成
例えば、GANで人の顔を生成する時、そのまま版 & 上下逆版の両方を毎回Discriminatorに投げれば、人の顔写真のアンビグラム(?)が出来る
同じ事を、Conditional GANでやれば文字の生成も可能?
>@nbaji9: 文字と絵が連動するアナグラム「dear / read」
こういうやつの生成にも使える様なモデルがいいな
ログ 20220606
たぶんデータ変えてもDCGANじゃないと厳しいので、とりあえずMNISTでDCGANを成功させる
その後、notMNISTってのが良さそうなので試す
DCGAN
順転のみの時はうまくいく
アンビグラムすると、全然ダメなところで停滞してしまう
汎化できていないと言う事だと思うので、Dropout高めてみる
0とか1とか2みたいな簡単なのだとどうなる?
0は成功
1も2回中1回成功
MNISTと違って、常に右には傾いていないのはうまくいっている証拠
notMNIST + DCGAN
1000iter
まあ良い
5000iter
色々なスタイルが出ているのでnonMNISTを使った甲斐があった
これでアンビグラムをすると?
全然無理
何が問題なんだろう
Discriminatorの頭が良すぎて、Generatorが学べる勾配が消滅してしまっている感じ?
これっぽいな
Discriminatorをアホにすれば良いのかな
ログ 20220523
とりあえず、
MNISTで「9」を生成するGANを訓練してみる
400
できた✅
その上で、generaterの出力を半分上下反転でDiscriminatorに投げる様にしてみる
RandomFlipをGeneratorの最後に
あれ、おかしいな
1500
普通に一方向だけの9が出てる..?
両方でうまくいくのを諦めて、半分だけ9を出して50%で成功するところに落ち着いてしまった?
いや、そんなことはないわ
だとしても半分はひっくり返った9が出ているはず
>During inference time, the output will be identical to input. Call the layer with training=True to flip the input.
これっぽい
他のやり方を見つけた
3500
うーん...w
努力は認める
他の数字でも試す
5
普通の5:
まあ調整は必要そう
アンビグラム5:
全然ダメだw
RandomFlipをDiscriminatorの最初に
これは、つまり上下反転の9も9と認識する様になる
まあそうなるわな
どっちでも良いので、片方を出す様になる
これではだめ
とりあえずDCGANは放置して、普通のGANでデータセット増やす
ダメっぽい
これは文字画像ではなく、文字画像の特徴を抽出したデータセットっぽい